Exam 2 Flashcards
Consider the latency model for dynamic congestion windows. Which of the following components contribute to latency?
-round trip time, RTT
-the transmission time of the object, O/R
-the sum of all the stalled times
-all of the above
all of the above
When a TCP segment arrives to a host, the socket to which the segment is directed depends on
-the destination port number
-the source port number
-the source IP address of the datagram that encapsulated the segment
-all of the above
all of the above
UDP has which of the following characteristics
-three-way hand shake for connection establishment
-connection state at the server
-regulated send rate
-none of the above
none of the above
When a UDP segment arrives to a host, in order to direct the segment to the appropriate socket, the OS uses
the destination port number
The stop-and-wait protocol is highly inefficient when
when there is a large distance between the source and destination and the transmission rate is high
Pipelining requires which of the following
-transmitting many packets before receiving acknowledgements
-unique sequence numbers for each in-transit packet
-sender-side buffering of unacknowledged packets
-all of the above
all of the above
TF: Consider an HTTP Web server using persistent connections. Suppose the server spawns a separate process for each client that connects to the server. Then each of these spawned processes will have different server port numbers.
False
TF: Host A is sending host B a large file over a TCP connection. Assume host B has no data to send host A. Host B will not send acknowledgements to host A because host B cannot piggyback the acknowledgments on data.
False
TF: The size of the TCP RcvWindow never changes throughout the duration of the connection.
False
TF: Suppose host A is sending a large file to host B over a TCP connection. If the sequence number for a segment of this connection is m, then the sequence number for the subsequent segment will necessarily be m+1.
False
TF: The TCP segment has a field in its header for RcvWindow.
True
TF: Suppose that the last SampleRTT in a TCP connection is equal to 1 sec. Then Timeout for the connection will necessarily be set to a value >= 1 sec.
False
TF: Suppose host A sends hostB one segment with sequence number 38 and 4 bytes of data. Then in the same segment the acknowledgment number is necessarily 42.
False
TF: Suppose that host A wants to send data over TCP to host B, and host B wants to send data to host A over TCP. Two separate connections - one for each direction - are needed.
False
TF: The MSS is the maximum size of a TCP segment including headers.
False
TF: In TCP, the acknowledgment number that a host puts in a segment is the sequence number of the next byte the host is expecting from the sender.
True
Provides authoritative hostname to IP mappings for organizations named hosts.
Authoritative DNS server
Replies to DNS query by local host, by contacting other DNS servers to answer the query.
Local DNS server
Responsible for a domain (e.g. *.com, *.edu); knows how to contact authoritative name servers.
Top Level Domain (TLD) servers
Highest level of the DNS hierarchy, knows how to reach servers responsible for a given domain (e..g. *.com, *.edu)
DNS root servers
What is the value of caching in the local DNS name server? Check all that apply.
DNS caching results in less load elsewhere in DNS, when the reply to a query is found in the local cache.
DNS caching provides faster replies, if the reply to the query is found in the cache.
What information does the type “A” resource record hold in the DNS database? Check all that apply.
A hostname and an IP address
Check all of the phrases below that state a true property of a local DNS server.
The local DNS server record for a remote host is sometimes different from that of the authoritative server for that host.
The local DNS server can decrease the name-to-IP-address resolution time experienced by a querying local host over the case when a DNS is resolved via querying into the DNS hierarchy.
What is the role of an authoritative name server in the DNS. (Check all that apply)
It provides the definitive answer to the query with respect to a name in the authoritative name server’s domain.
We learned that in HTTP web browser caching, HTTP local web server caching, and in local DNS caching, that a user benefits (e.g. shorter delays over the case of no caching) from finding a local/nearby copy of a requested item. In which of the following forms of caching does a user benefit from its not only from its own recent requests (and cached replies) but also from recent requests made from other users?
Local DNS server caching
HTTP local web caching
Which of the requests require 8 time units to be resolved?
The request at t=30
The request at t=1
The request at t=0
Which of the requests require 6 time units to be resolved?
The request at t=5
The request at t=12
Which of the requests requires 2 time units to be resolved?
The request at t=10
Manifest file. What is the purpose of a manifest file in a streaming multimedia setting?
To let a client know where it can retrieve different video segments, encoded at different rates.
What approach is taken by a CDN to stream content to hundreds of thousands of simultaneous users?
Store/serve multiple copies of video at multiple geographically distributed sites.
A unit of video, each of which may be encoded at multiple different rates, stored in different files.
Chunk
A file containing the location and encoding rate of files corresponding to video segments in a video.
Manifest
An approach that allows a client to adapt the encoding rate of retrieved video to network congestion conditions.
DASH
A CDN approach that stores content in access networks, close to clients.
Enter deep
In DASH (Dynamic, Adaptive Streaming over HTTP), a server divides video into file chunks that… (pick best completion from below)
… are stored, each encoded at multiple rates (video quality). The client plays the video chunk-by-chunk, with each chunk requested at an encoding rate that fits the available bandwidth at the time.
Where is transport-layer functionality primarily implemented?
Transport layer functions are implemented primarily at the hosts at the “edge” of the network.
True or False: The transport layer provides for host-to-host delivery service?
True
Check all the services below that are provided by the TCP protocol.
A congestion control service to ensure that multiple sends do not overload network links.
In-order data delivery
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.
Reliable data delivery.
Check all the services below 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.
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
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 is meant by transport-layer multiplexing?
Taking data from one socket (one of possibly many sockets), encapsulating a data chunk with header information – thereby creating a transport layer segment – and eventually passing this segment to the network layer.
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: 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
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: 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: 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
Which of the fields below are in a UDP segment header? [Hint: not the use of the world “header” in this question statement.]
Destination port number
Length (of UDP header plus payload)
Source port number
Internet checksum
Why is the UDP header length field needed?
Because the payload section can be of variable length, and this lets UDP know where the segment ends.
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 receive address fields.
Which of the following statements are true about a checksum? Hint: more than one statement is true.
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 bytes) together to compute a sum (which is known as a checksum).
The sender-computed checksum value is often included in a checksum field within a packet header.
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.
Compute the Internet checksum value for these two 16-bit words: 11110101 11010011 and 10110011 01000100
01010110 11100111
Compute the Internet checksum value for these two 16-bit words: 01000001 11000100 and 00100000 00101011
10011110 00010000
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: 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
Let the sender know that a packet was NOT received correctly at the receiver.
NAK
Use by the sender or receiver to detect bits flipped during a packet’s transmission.
Checksum
Allows for duplicate detection at receiver.
Sequence number
Let the sender know that a packet was received correctly at the receiver.
ACK
Allows the receiver to eventually receive a packet that was corrupted or lost in an earlier transmission.
Retransmission
Consider the rdt 2.0 sender and receiver shown below, with FSM transitions at the sender labeled S1, S2, and S3; and receiver transitions labeled R1 and R2.
Which of the following sequences of transitions could possibly occur as a result of an initial rdt_send() call at the sender, and possible later message corruption and subsequent error recovery.
S1, R1, S2, R2, S3
S1, R2, S3
S1, R1, S2
What is meant by a cumulative acknowledgement, ACK(n)?
A cumulative ACK(n) acks all packets with a sequence number up to and including n as being received.
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 10ms. What is the maximum channel utilization of a stop-and-wait protocol for this channel?
1
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 10ms. What is the channel utilization of a pipelined protocol with an arbitrarily high level of pipelining for this channel?
1.0
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 10ms. How many packets can the sender transmit before it starts receiving acknowledgements back?
10
Which of the following statements about pipelining are true? One or more statements may be true.
A pipelined sender can have transmitted multiple packets for which the sender has yet to receive an ACK from the receiver.
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 are some reasons for discarding received-but-out-of-sequence packets at the receiver in GBN? Indicate one of more of the following statements that are correct.
The implementation a the receiver is simpler
The sender will resend that packet in any case.
What are some reasons for not discarding received-but-out-of-sequence packets at the receiver in GBN? Indicate one of 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!
In the SR receiver window (see diagram below, taken from PPT slides and video), why haven’t the red packets been delivered yet? Check the one or more reasons below that apply.
There is a packet with a lower sequence number than any of the red packets that has yet to be received, so in-order delivery of data in the red packets up to the application layer is not possible.
In SR, why does the receiver have to acknowledge packets with sequence numbers that are less than (and to the left of) those in its window, which starts at rcv_base
Because the sender may not have received an ACK for that packet yet.
True or False: On the sending side, the TCP sender will take each application-layer chunk of data written into a TCFP 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
This field contains the port number associated with the sending socket for this TCP segment.
Source port number
This field contains application data that was written into a socket by the sender of this TCP segment.
Data (or payload)
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.
Sequence number
This field contains the index in the byte stream of the next in-order byte expected at the receiver.
ACK number field
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.
ACK bit
This field contains the number of available bytes in the TCP receiver’s buffer.
Receiver advertised window
This field contains the Internet checksum of the TCP segment and selected fields in the IP datagram header.
Checksum
This field contains the number of bytes in the TCP header.
Header length field
Consider the TCP Telnet scenario below (from Fig. 3.31 in text). Why is it that the receiver sends an ACK that is one larger than the sequence number in the received datagram?
Because the send-to receiver segment carries only one byte of data, and after that segment is received, the next expected byte of data is just the next byte (i.e. has an index that is one larger) in the data stream.
Consider TCP use of an exponentially weighted moving average (EWMA) to compute the nth value of the estimated RTT:
Estimated RTT_n = (1-a)EstimatedRTT_n-1 + aSampleRTT_n
True or False: with this EWMA algorithm the value of EstimatedRTT_n has no dependence on the earlier sample, SampleRTT_n-1
False
Consider the TCP Telnet scenario (from Fig. 3.36 in text). What timer-related action does the sender take on the recipe of ACK 120?
Cancels any running timers
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
Consider the give images below. Indicate which of these images suggest the need for flow control (the others would suggest the need for congestion control).
A talking head
A glass overflowing
Consider the figure below, which shows the application-to-application throughput achieved when two senders are competing at a shared bottleneck link. Suppose that when the overall arrival rate, lambdain’ (for each sender) is close to R/2, the throughput to the application layer (at each receiver), lambda_out, is equal to 0.8 * lambda_in’.
0.20
Which of the following actions are used in network-assisted congestion control (say versus end-end congestion control) to signal congestion. Check all that apply.
A router sends an ICMP message to a host telling it to slow down its sending rate.
A router marks a field in the datagram header at a congested router.
Which of the following actions are associated with end-end congestion control (say versus network-assisted congestion control). Check all that apply.
A router drops a packet at a congested router, which causes the transport-layer sender to infer that there is congestion due to the missing ACK for the lost packet.
A datagram experiences delay at a congested network router, which is then measured by the sender and used to decrease the sending rate.
A sender decreases its sending rate in response to packet loss detected via its transport-layer ACKing.
The transport-layer sender decreases its sending rate in response to a measured increase in the RTT.
The sender infers segment loss from the absence of an ACK from the receiver.
end-end
Bits are set at a congested router in a sender-to-receiver datagram, and bits are returned to the sender in a receiver-to-sender ACK, to indicate congestion control.
network-assisted
The sender measures RTTs and uses the current RTT measurement to infer the level of congestion.
delay-based