Chapter 3 Transport Layer
What services are provided by the TCP protocol?
-A flow-control service that ensures that a sender will not send at such a high rate so as to overflow receiving host buffers. -A byte stream abstraction, that does not preserve boundaries between message data sent in different socket send calls at the sender. -A congestion control service to ensure that multiple senders do not overload network links. -Reliable data delivery. -In-order data delivery.
Which of the fields below are in a UDP segment header? [Hint: note the use of the word "header" in this question statement.]
-Destination port number -Source port number -Internet checksum -Length (of UDP) header plus payload)
What are some reasons for discarding received-but- out-of-sequence packets at the receiver in GBN? Indicate one or more of the following statements that are correct.
-The implementation at the receiver is simpler. -The sender will resend that packet in any case.
Which of the following statements about pipelining are true? One or more statements may be true. 1. A pipelined sender can have transmitted multiple packets for which the sender has yet to receive an ACK from the receiver. 2. With a pipelined sender, there may be transmitted packets "in flight" - propagating through the channel - packets that the sender has sent but that the receiver has not yet received. 3. With pipelining, a receiver will have to send fewer acknowledgments as the degree of pipelining increases 4. With pipelining, a packet is only retransmitted if that packet, or its ACK, has been lost.
1. A pipelined sender can have transmitted multiple packets for which the sender has yet to receive an ACK from the receiver. 2. With a pipelined sender, there may be transmitted packets "in flight" - propagating through the channel - packets that the sender has sent but that the receiver has not yet received.
What RDT mechanism is used that allows the receiver to eventually receive a packet that was corrupted or lost in an earlier transmission?
Retransmission
Over what set of bytes is the checksum field in the UDP header computed over?
The entire UDP segment, except the checksum field itself, and the IP sender and receiver address fields.
Data (or payload)
This field contains application data that was written into a socket by the sender of this TCP segment.
Header length field
This field contains the number of bytes in the TCP header.
Source port number
This field contains the port number associated with the sending socket for this TCP segment
True or False: It is possible for two TCP segments with source port 80 to be sent by the sending host to different clients.
True
True or False: It is possible for two UDP segments to be sent from the same socket with source port 5723 at a server to two different clients.
True
True or False: The transport layer provides for host-to-host delivery service?
True
True or False: When multiple UDP clients send UDP segments to the same destination port number at a receiving host, those segments (from different senders) will always be directed to the same socket at the receiving host.
True
True or False: with this EWMA algorithm the value of EstimatedRTTn has no dependence on the earlier sample, SampleRTTn-1
False
ACK bit
If set, this segment cumulatively ACKs all data bytes up to, but not including, the byte index in the ACK value field of this segment
Suppose a packet is 10K bits long, the channel transmission rate connecting a sender and receiver is 10 Mbps, and the round-trip propagation delay is 10 ms. What is the maximum channel utilization of a stop-and-wait protocol for this channel?
0.1
Compute the internet checksum value for these two 16-bit words: 11110101 11010011 and 10110011 01000100
01010110 11100111
)Which of the following statements are true about a checksum? Hint: more than one statement is true. 1. The sender-computed checksum value is often included in a checksum field within a packet header. 2. The receiver of a packet with a checksum will add up the received bytes, just as the sender did, and compare this locally-computed checksum with the checksum value in the packet header. If these two values are the same then the receiver knows that all of the bits in the received packet are correct, i.e., that no bits have been changed during transmission from sender to receiver. 3. The receiver of a packet with a checksum field will add up the received bytes, just as the sender did, and compare this locally-computed checksum with the checksum value in the packet header. If these two values are different then the receiver knows that one of the bits in the received packet has been changed during transmission from sender to receiver. 4. A checksum is computed at a sender by considering each byte within a packet as a number, and then adding these numbers (each number representing a bytes) together to compute a sum (which is known as a checksum).
1. The sender-computed checksum value is often included in a checksum field within a packet header. 3. The receiver of a packet with a checksum field will add up the received bytes, just as the sender did, and compare this locally-computed checksum with the checksum value in the packet header. If these two values are different then the receiver knows that one of the bits in the received packet has been changed during transmission from sender to receiver. 4. A checksum is computed at a sender by considering each byte within a packet as a number, and then adding these numbers (each number representing a bytes) together to compute a sum (which is known as a checksum).
Suppose a packet is 10K bits long, the channel transmission rate connecting a sender and receiver is 10 Mbps, and the round-trip propagation delay is 10 ms. What is the channel utilization of a pipelined protocol with an arbitrarily high level of pipelining for this channel?
1.0
Compute the internet checksum value for these two 16-bit words: 01000001 11000100 and 00100000 00101011
10011110 00010000
Why is the UDP header length field needed?
Because the payload section can be variable length, and this lets UDP know where the segment ends.
What RDT mechanism is used by the sender or receiver to detect bits flipped during a packet's transmission?
Checksum
What are some reasons for not discarding received-but- out-of-sequence packets at the receiver in GBN? Indicate one or more of the following statements that are correct.
Even though that packet will be retransmitted, its next retransmission could be corrupted, so don't discard a perfectly well-received packet, silly!
True or False: On the sending side, the TCP sender will take each application-layer chunk of data written into a TCP socket and send it in a distinct TCP segment. And then on the receiving side, TCP will deliver a segment's payload into the appropriate socket, preserving the application-defined message boundary.
False
True or False: When computing the Internet checksum for two numbers, a single flipped bit in each of the two numbers will always result in a changed checksum
False
True or False: When multiple TCP clients send TCP segments to the same destination port number at a receiving host, those segments (from different senders) will always be directed to the same socket at the receiving host.
False
What RDT mechanism is used to let the sender know that a packet was NOT received correctly at the receiver?
NACK
What is meant by transport-layer demultiplexing?
Receiving a transport-layer segment from the network layer, extracting the payload (data) and delivering the data to the correct socket.
What RDT mechanism is used that allows for duplicate detection at the receiver?
Sequence Number
What is meant by transport-layer multiplexing?
Taking data from one socket (one of possibly many sockets), encapsulating a data chuck with header information - thereby creating a transport layer segment - and eventually passing this segment to the network layer.
Checksum
This field contains the Internet checksum of the TCP segment and selected fields in the IP datagram header.
ACK number field
This field contains the index in the byte stream of the next in-order byte expected at the receiver
Sequence Number
This field contains the index in the sender-to-receiver byte stream of the first byte of that data in the payload carried in this segment.
Receiver advertised window
This field contains the number of available bytes in the TCP receiver's buffer.
Where is transport-layer functionality primarily implemented?
Transport Layer function are implemented primarily at the hosts at the "edge" of the network.
True or False: On the sending side, the UDP sender will take each application-layer chunk of data written into a UDP socket and send it in a distinct UDP datagram. And then on the receiving side, UDP will deliver a segment's payload into the appropriate socket, preserving the application-defined message boundary.
True
True or False: When computing the Internet checksum for two numbers, a single flipped bit (i.e., in just one of the two numbers) will always result in a changed checksum.
True
True or False: with TCP's flow control mechanism, where the receiver tells the sender how much free buffer space it has (and the sender always limits the amount of outstanding, unACKed, in-flight data to less than this amount), it is not possible for the sender to send more data than the receiver has room to buffer.
True
True or False: The network layer's best-effort delivery service means that IP makes its "best effort" to deliver segments between communicating hosts, but it makes no guarantees. In particular, it does not guarantee segment delivery, it does not guarantee orderly delivery of segments, and it does not guarantee the integrity of the data in the segments.
True. The network layer's best effort service doesn't really provide much service at all.
Suppose a packet is 10K bits long, the channel transmission rate connecting a sender and receiver is 10 Mbps, and the round-trip propagation delay is 10 ms. How many packets can the sender transmit before it starts receiving acknowledgments back?
10
What are the services that are provided by the UDP protocol?
A message abstraction, that preserves boundaries between message data sent in different socket send calls at the sender.
SYN Message
A message from client to server initiating a connection request.
SYNACK
A message from server to client ACKing receipt of a SYN message and indicating the willingness of the server to establish a TCP connection with the client.
FIN Message
A message indicating that the sending side is initiating the protocol to terminate a connection.
FINACK
A message sent in response to a request to terminate a connection, ACKing that the side receiving this message is also willing to terminate the connection
What RDT mechanism is used that lets the sender know that a packet was received correctly at the receiver?
ACK
What is meant by a cumulative acknowledgment, ACK(n)?
A cumulative ACK(n) acks all packets with a sequence number up to and including n as being received.
RESET Message, E
A general purpose error message used during connection set up or tear down to let the other side know that an error has occurred, and that the referenced connection should be shut down.