chapter 6: the transport layer

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/75

76 Terms

1
New cards
what is the purpose of the transport layer
to deliver data across networks to processes with the desired reliability or quality, irrespective of lower layer technologies used for each hop
2
New cards
what is a transport entity
the software and/or hardware that does the bulk of the work
3
New cards
what are the two types of transport service

1. connection-oriented
2. connectionless
4
New cards
why aren’t the transport and network layer merged into one
the transport layer exists entirely on users’ machines but the network layer runs on routers operated by carriers

the existence of the transport layer allows its service to be more reliable than the underlying network
5
New cards
what is another name for the TPDU
segments
6
New cards
which layers are the transport service providers
layers 1-3
7
New cards
which layers are the transport service users
layers 4 + 5
8
New cards
what are the 5 primitives for a connection-oriented transport interface

1. LISTEN
2. CONNECT
3. SEND
4. RECIEVE
5. DISCONNECT
9
New cards
true or false: both data link and transport protocols deal with:

* error control
* sequencing
* flow control
true
10
New cards
true or false: in point-to-point links, the transport does not need to explicitly address the destination
false
11
New cards
what does TSAP stand for
Transport

Service

Access

Point
12
New cards
what are TSAPs
specific endpoints in the transport layer
13
New cards
true or false: IP addresses are an example of a TSAP
false: they are an example of an NSAP
14
New cards
true or false: application processes can attach themselves to a local TSAP to establish a connection to a remote TSAP
true
15
New cards
what is the purpose of a portmapper
user connects to the portmapper, which listens to a well-known TSAP, user then sends a message specifying the service name and the port mapper returns the TSAP address and the user releases the connection with the portmapper to establish one with the desired service
16
New cards
what happens in the portmapper when a new service is created
the new service must register itself with the portmapper giving both its:

* service name (usually ASCII string)
* TSAP

so portmapper can record this info in its internal database to be used later
17
New cards
what is the intial connection protocol
each machine that wishes to offer services to remote users has a special process server to act as a proxy for less heavily used servers

a set of ports are simultaneously listened to, waiting for a connection request
18
New cards
how do throwaway transport addresses work
each time a transport address is needed, a new one is generated

after connection release, the address is discarded and never used again
19
New cards
why are throwaway transport addresses be used
delayed duplicate packets never find their way to a transport process
20
New cards
what is one problem throwaway transport addresses introduce
harder to connect with a process in the first place
21
New cards
what are three ways packet lifetime can be restricted to a known maximum

1. restricted network design
2. putting a hop counter in each packet
3. time-stamping each packet
22
New cards
how does restricted network design restrict packet lifetime
packets are prevented from looping, combined with some way of bounding delay including congestion over the longest possible path
23
New cards
how does putting a hop counter in each packet restrict packet lifetime
count down from some value each time packet forwarded across a hop until counter reaches 0 and packet discarded
24
New cards
how does time-stamping each packet restrict packet lifetime
each packet shows the time it was created

routers agree to discard any packet that is time-stamped older than some agreed upon time
25
New cards
what are 3 things the transport protocol deals with

1. error control
2. sequencing
3. flow control

similar to link layer protocols
26
New cards
true or false: both buffering and flow control are required in the transport and data link layer
true
27
New cards
what is the name of the protocol used during connection establishment
the three-way handshake
28
New cards
how does the three way handshake work

1. CONNECTION REQUEST: host 1 sends a sequence number (x) as starting point for a counter to uniquely identify segments from host 1 to 2
2. CONNECTION ACCEPT: host 2 sends an ACK of seq no. (x) from H1 and also a seq number (y) used to count segments from H2 to H1
3. CONNECTION: H1 sends ACK for seq no. (y) from H2 and starts sending data as part of the connection with its seq. no. (x)
29
New cards
true or false: each new connection uses a different pair of sequence numbers
true: allows us to sport duplicate segments and delayed segments belonging to an old connection between the same 2 end points
30
New cards
what are the two types of connection release

1. asymmetric
2. symmetric
31
New cards
how does asymmetric connection release work
one of the hosts terminates the connection without notice to the other end point
32
New cards
what are the downsides of asymmetric connection release
one-sided abrupt connection termination could lead to loss of data if received after DR has been sent
33
New cards
how does symmetric connection release work

1. H1 sends a DR request to H2 and starts timer
2. H2 sends any remaining data then sends a DR and starts timer
3. H1 receives H2 DR, is certain H2 has no more to send and sends the final ACK so H2 can also release connection
34
New cards
what is a benefit of symmetric connection release
less probability of data loss
35
New cards
what is a problem with symmetric connection release
the two-army problem
36
New cards
how are error cases handled in symmetric connection release
through ACKs, timers and retransmissions
37
New cards
true or false: in symmetric connection release initiated by H1, H2 will never retransmit a DR
true: only releases connection after a timeout because it knows H1 has no more data to send
38
New cards
what is UDP
User Datagram Protocol is a ‘best effort’ connectionless service used without ACKs by the Internet in the transport layer
39
New cards
how big is a UDP header
8 bytes
40
New cards
what fields are in a UDP header

1. source port address
2. destination port address
3. UDP length
4. UDP checksum
41
New cards
true or false: UDP checksum is computed for the header, the data and the conceptual IP pseudo header
true
42
New cards
what fields are contained in the IPv4 psuedoheader for both UDP and TCP

1. source IP address
2. destination IP address
3. protocol number
4. UDP length
43
New cards
true or false: UDP deals with flow control, congestion control and retransmission upon receipt of a bad segment
false
44
New cards
when is UDP especially useful
client-server situations or for applications that require precise control over:

* packet flow
* error control
* timing
45
New cards
what is TCP
Transmission Control Protocol is a connection based protocol designed to provide a reliable byte stream between exactly 2 processes over an unreliable internetwork
46
New cards
what does TCP guarantee for a working network
delivery of ALL data (without any losses), without errors and in the correct order
47
New cards
true or false: it is required for TCP to send data fast enough to use capacity without causing congestion
true
48
New cards
what is a socket
end points connecting end points between sender and receiver using TCP service
49
New cards
what does each socket consist of
* host IP address
* 16-bit number local to host (port)
50
New cards
true or false: a socket may only be used for one connection at the same time
false
51
New cards
what is a well-known port
ports reserved for standard services that can only be started by privileged users
52
New cards
what is the range of numbers for well-known ports
ports with numbers below 1024
53
New cards
true or false: TCP does supports multicasting or broadcasting
true
54
New cards
true or false: all TCP connections are full duplex and point-to-point
true
55
New cards
is a TCP connection:

* a byte stream
* a message stream
a byte stream: message boundaries are not preserved end-to-end
56
New cards
true or false: every byte on a TCP connection has its own 32-bit sequence number
true
57
New cards
how many bytes is the fixed part of a TCP header:
20-bytes
58
New cards
what limits the size of a TCP segment
* each segment must fit in 65,515-byte IP payload
* the Maximum Transfer Unit (MTU) which each segment must fit into
59
New cards
what is path MTU discovery
ICMP error messages are used to find the smallest MTU for any link on the path in a VC in TCP so an upper bound on segment size can be set to avoid fragmentation
60
New cards
why is path MTU discovery used
some network paths may have small MTUs which may require a IP packets carrying TCP segments to be fragmented, which degrades performance

finding smaller MTU on a path allows this to be avoided
61
New cards
what basic protocol is used by TCP entities
sliding window protocol with a dynamic window size
62
New cards
what is included in the source and destination port in the TCP header
* TCP port
* host’s IP address

48-bit unique end point
63
New cards
what do the source and destination end points identify together in the TCP header
together they identify the connection
64
New cards
what information does the connection identifier contain and in what format is it in TCP
it is a 5 tuple containing:


1. the protocol (TCP)
2. source IP
3. source port
4. destination IP
5. destination port
65
New cards
what information does the sequence number field in the TCP header hold
counts bytes NOT segments, i.e. if segment seq no = 100 and it is 512 B long, next segment seq no. will be 612 to indicate position of payload’s 1st byte in stream
66
New cards
what information does the acknowledgement number field in the TCP header hold
indicates next in-order byte expected in a cumulative acknowledgement system because it summarises the received data with a single number
67
New cards
how long are the acknowledgement and sequence number fields in a TCP header
32 bits
68
New cards
true or false: TCP uses piggy-backed ACKs
true
69
New cards
what information does the TCP header length field contain
how many 32-bit words are contained in the header
70
New cards
what field is used to indicate that an ACK has been sent in the TCP header
ACK field: set to 1 when segment carries ACK, set to 0 otherwise
71
New cards
what is the purpose of the RST field in the TCP header
abruptly terminates connection due to an unrecoverable error (maybe due to host crash)

also rejects an invalid segment or refuses a connection request
72
New cards
what is the purpose of the SYN field in the TCP header
used to establish connections:

* CONNECTION REQUEST: SYN = 1 , ACK = 0
* CONNECTION ACCEPTED: SYN =1 , ACK = 1
73
New cards
what is the purpose of the FIN field in the TCP header
used to release connections: asserted to show when sender has no more data to transmit
74
New cards
what is the purpose of the window size field in the TCP header
FLOW CONTROL: specifies how many bytes may be sent, starting at the byte acknowledged
75
New cards
what does a window size field = 0 in the TCP header mean
bytes up to and including ACK no. -1 have been received but receiver has not had enough time to process, pauses data stream
76
New cards
what options may be used in the TCP header
* Max Segment Size (MSS)
* timestamp : carried by sender, echoed by receiver
* window scale : sender and receiver negotiate a window scale factor at start of connection
* Selective ACK (SACK) : allows receiver to send range of seq no.s that have been received (often used w congestion control