TeleComm Exam II Review

Ace your homework & exams now with Quizwiz!

If-Modified-Since. What is the purpose of the If-Modified-Since field in a HTTP GET request message

To indicate to the server that the client has cached this object from a previous GET, and the time it was cached.

What is DASH? In DASH (Dynamic, Adaptive Streaming over HTTP), a server divides a video file into chunks that ...

.. are stored, each encoded at multiple rates (video quality). The client plays the video chunk-by-chunk, with each chunk requested at encoding rate that fits the available bandwidth at the time.

Consider again rdt3.0 and the diagram of messages exchanges above. What is the ACK number on the packet sent by the receiver at time t1? (Note: there is only one correct answer below).

0

Internet Checksum. Consider the two sixteen bit numbers: 10110100 01000110 01001000 01101111 Compute the Internet Checksum of these two values

00000011 01001010

Computing the Internet Checksum (1). Compute the Internet checksum value for these two 16-bit words: 11110101 11010011 and 10110011 01000100

01010110 11100111

TCP sequence and ACK numbers (a). Consider the figure below, where a TCP sender sends 8 TCP segments at t = 1, 2, 3, 4, 5, 6, 7, 8. Suppose the initial value of the sequence number is 0 and every segment sent to the receiver each contains 100 bytes. The delay between the sender and receiver is 5 time units, and so the first segment arrives at the receiver at t = 6. The ACKs sent by the receiver at t = 6, 7, 8, 10, 11, 12 are shown. The TCP segments (if any) sent by the sender at t = 11, 13, 15, 16, 17, 18 are not shown. The segment sent at t=4 is lost, as is the ACK segment sent at t=7. What is the sequence number of the segment sent at t=2?

100

Internet Checksum (b). Consider the two sixteen bit numbers: 10110100 01000110 11001000 01101110 Compute the Internet Checksum of these two values

10000011 01001010

Computing the Internet Checksum (2). Compute the Internet checksum value for these two 16-bit words: 01000001 11000100 and 00100000 00101011

10011110 00010000

TCP RTT estimation and timeout value (a). Suppose that TCP's current estimated values for the round trip time (estimatedRTT) and deviation in the RTT (DevRTT) are 300 msec and 13 msec, respectively. Suppose that the next two measured RTTs are 330 msec and 240 msec respectively. We want to calculate TCP's RTT estimate, and the value of TCP's timeout interval. Note that given a new measured RTT, you should first compute devRTT, then estimatedRTT (the textbook incorrectly reverses those computations), and then (lastly) the timeout interval. Use the values of α = 0.125, β = 0.25. Following the newly measured RTT of 330 msec, what is the new value for devRTT in msec?

17

TCP RTT estimation and timeout value (b). Suppose that TCP's current estimated values for the round trip time (estimatedRTT) and deviation in the RTT (DevRTT) are 300 msec and 13 msec, respectively. Suppose that the next two measured RTTs are 330 msec and 240 msec respectively. We want to calculate TCP's RTT estimate, and the value of TCP's timeout interval. Note that given a new measured RTT, you should first compute devRTT, then estimatedRTT (the textbook incorrectly reverses those computations), and then (lastly) the timeout interval. Use the values of α = 0.125, β = 0.25. Following the newly measured RTT of 330 msec, what is the new value for estimatedRTT in msec?

304

How many round trip times (RTTs) are needed from when the client first makes the request to when the base page is completely downloaded, assuming the time needed by the server to transmit the base file into the server's link is equal to 1/2 RTT and that the time needed to transmit the HTTP GET into the client's link is zero?

2.5 RTT

TCP RTT estimation and timeout value (f). Suppose that TCP's current estimated values for the round trip time (estimatedRTT) and deviation in the RTT (DevRTT) are 300 msec and 13 msec, respectively. Suppose that the next two measured RTTs are 330 msec and 240 msec respectively. We want to calculate TCP's RTT estimate, and the value of TCP's timeout interval. Note that given a new measured RTT, you should first compute devRTT, then estimatedRTT (the textbook incorrectly reverses those computations), and then (lastly) the timeout interval. Use the values of α = 0.125, β = 0.25. Following the newly measured RTT of 240 msec, what is the new value for TCP's timeout value in msec?

240

TCP RTT estimation and timeout value (d). Suppose that TCP's current estimated values for the round trip time (estimatedRTT) and deviation in the RTT (DevRTT) are 300 msec and 13 msec, respectively. Suppose that the next two measured RTTs are 330 msec and 240 msec respectively. We want to calculate TCP's RTT estimate, and the value of TCP's timeout interval. Note that given a new measured RTT, you should first compute devRTT, then estimatedRTT (the textbook incorrectly reverses those computations), and then (lastly) the timeout interval. Use the values of α = 0.125, β = 0.25. Following the second measured RTT of 240 msec, what is the new value for devRTT in msec?

29

TCP RTT estimation and timeout value (e). Suppose that TCP's current estimated values for the round trip time (estimatedRTT) and deviation in the RTT (DevRTT) are 300 msec and 13 msec, respectively. Suppose that the next two measured RTTs are 330 msec and 240 msec respectively. We want to calculate TCP's RTT estimate, and the value of TCP's timeout interval. Note that given a new measured RTT, you should first compute devRTT, then estimatedRTT (the textbook incorrectly reverses those computations), and then (lastly) the timeout interval. Use the values of α = 0.125, β = 0.25. Following the second measured RTT of 240 msec, what is the new value for estimatedRTT in msec?

296

E-mail delays. How many RTTs are there from when a client first contacts an email server (by initiating a TCP session) to when the client can begin sending the email message itself - that is following all initial TCP or SMTP handshaking required?

3

TCP multiplexing and demultiplexing (c). Which of the following datagram and segment header fields are used, when demultiplexing data up to a TCP socket?

Source and destination IP addresses, and source and destination port numbers.

TCP RTT estimation and timeout value (c). Suppose that TCP's current estimated values for the round trip time (estimatedRTT) and deviation in the RTT (DevRTT) are 300 msec and 13 msec, respectively. Suppose that the next two measured RTTs are 330 msec and 240 msec respectively. We want to calculate TCP's RTT estimate, and the value of TCP's timeout interval. Note that given a new measured RTT, you should first compute devRTT, then estimatedRTT (the textbook incorrectly reverses those computations), and then (lastly) the timeout interval. Use the values of α = 0.125, β = 0.25. Following the newly measured RTT of 330 msec, what is the new value for TCP's timeout value in msec?

373

Suppose also that after downloading the base file, the browser encounters a jpeg object in the base html file that is stored on gaia.cs.umass.edu, and therefore makes another GET request to gaia.cs.umass.edu for that referenced jpeg object. How many round trip times (RTTs) are needed from when the client first makes the request to when the base page and the jpeg file are completely downloaded, assuming the time needed by the server to transmit the base file, or the jpeg file into the server's link is (each) equal to 1/2 RTT and that the time needed to transmit the HTTP GET into the client's link is zero? You should assume that persistent HTTP 1.1 is being used.

4 RTT

What is a checksum? Which of the following statements are true about a checksum?

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). 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

HTTP cookies. What is an HTTP cookie used for?

A cookie is a code used by a server, carried on a client's HTTP request, to access information the server had earlier stored about an earlier interaction with this Web browser. [Think about the distinction between a browser and a person.]

Cumulative 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.

What's in the DNS type A resource record? What information does the type "A" resource record hold in the DNS database? Check all that apply.

A hostname and an IP address

D will receive an advertisement Bx. D will receive an advertisement Cx. D will forward an advertisement for a path that terminates at x to w. D will forward an advertisement for a path that terminates at x to z.

BGP: importing advertisements. Consider the network below, and assume that a provider network only wants to carry traffic to or from its customer networks. Which of the following statements are true (Hint: more than one statement is true)?

Transport-layer services using UDP. Check all of 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.

The peer-to-peer (P2P) paradigm. Which of the characteristics below are associated with a P2P approach to structuring network applications (as opposed to a client-server approach)?

A process requests service from those it contacts and will provide service to processes that contact it. There is not a server that is always on

What's in an HTTP reply? Which of the following pieces of information will appear in a server's application-level HTTP reply message? (Check all that apply.)

A response code A response phrase associated with a response code

"HTTP is stateless." What do we mean when we say "HTTP is stateless"? In answering this question, assume that cookies are not used. Check all answers that apply.

An HTTP server does not remember anything about what happened during earlier steps in interacting with this HTTP client.

21

At the end of which unit(s) of time does TCP detect a loss via timeout?

16 18

At the end of which units of time does TCP detect a triple-duplicate-ACK?

HTTP/2 versus HTTP/1.1: object download delays. Consider a client and a server, separated by an RTT of 4 time units. The client makes a request for 4 objects at t=0. O1 consists of 10 frames, O2 and O4 each consist of 1 frame, and O3 consists of 2 frames. In the HTTP/2 example shown below, the server is transmitting frames to the client in the order O1, O2, O3, O4 (as long as there are frames of type i to transmit, and when not the server just moves on to a frame from object i+1 mod 4). Each frame takes 1 time unit to transmit.

Average object download delay under HTTP/1.1: 16.0, under HTTP/2: 10.5

x will not advertise to provider networks B or C that it has a path to the other provider network

BGP advertisement policy. Suppose that a network that is a customer of two different provider networks will not relay traffic between its two provider networks. How can a customer network such as x in the figure below implement that policy.

UDP segment length field. 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

De(b) De(d) De(f) De(h)

Bellman Ford Algorithm (1, part 1). Consider the scenario shown below, where at t=1, node e receives distance vectors from neighboring nodes d, b, h and f. The (old) distance vector at e (the node at the center of the network) is also shown, before receiving the new distance vector from its neighbors. Indicate which of the components of new distance vector at e below have a value of 1 after e has received the distance vectors from its neighbors and updated its own distance vector.

De(a) De(c) De(g) De(i)

Bellman Ford Algorithm (1, part 2). Consider the scenario shown below, where at t=1, node e receives distance vectors from neighboring nodes d, b, h and f. The (old) distance vector at e (the node at the center of the network) is also shown, before receiving the new distance vector from its neighbors. Indicate which of the components of new distance vector at e below have a value of 2 after e has received the distance vectors from its neighbors and updated its own distance vector.

node h does not send out its distance vector, since none of the least costs have changed to any destination.

Bellman Ford Algorithm - a change in DV (1, part 3). Consider the network below, and suppose that at t=0, the link between nodes g and h goes down. And so at t=0, nodes g and h recompute their DVs. Following this recomputation, to which nodes will h send its new distance vector?

an essentially infinite amount of time; this is the count-to-infinity problem

Bellman Ford Algorithm - a change in DV (1, part 4). Consider the network below, and suppose that at t=0, the link between nodes b and c goes down. And so at t=0, node b recomputes its distance vector (DV) and sends out its new DV (as needed). At t=1 this new DV is received at b's neighbors, who then perform their calculation and send out their new DVs (as needed); these new DVs arrive at their neighbors at t=2, and so on. What is the last time in this network at which a DV calculation will take place as a result of the link change at t=0?

UDP service. When an application uses a UDP socket, what transport services are provided to the application by UDP? Check all that apply.

Best effort service. The service will make a best effort to deliver data to the destination but makes no guarantees that any particular segment of data will actually get there.

Why Web Caching? Which of the following are advantages of using a web cache?

Caching generally provides for a faster page load time at the client, if the web cache is in the client's institutional network, because the page is loaded from the nearby cache rather than from the distant server. Caching uses less bandwidth coming into an institutional network where the client is located, if the cache is also located in that institutional network

A) uvxwz B) 5, x C) 7, z D) 6, w

Consider the network shown below, and Dijkstra's link-state algorithm to find the least cost path from source node U to all other destinations. Using the algorithm statement and its visual representation used in the textbook, complete the fifth row in the table below showing the link state algorithm's execution by matching the table entries (a), (b), (c),and (d) with their values.

A) infinity B) 1, y C) 6, y D) 8, y

Consider the network shown below, and Dijkstra's link-state algorithm. Here, we are interested in computing the least cost path from node y (note: not node u!) to all other nodes using Dijkstra's algorithm. Using the algorithm statement used in the textbook and its visual representation, complete the first row in the table below showing the link state algorithm's execution by matching the table entries (a), (b), (c), and (d) with their values.

eBGP iBGP

Consider the network shown below. Suppose AS1, AS2, AS3, and AS4 are running OSPF for their intra-AS routing protocol. Suppose eBGP and iBGP are used for the inter-AS routing protocol. Initially suppose there is no link between AS2 and AS4. Indicate the protocol by which a router learns about the network prefix x, which is attached to AS4. Router 3c learns about prefix x from which protocol? Router 3a learns about prefix x from which protocol?

Network-layer functionality. The transport layer sits on top of the network layer, and provides its services using the services provided to it by the network layer. Thus it's important that we know what is meant by the network layer's "best effort" delivery service. 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.

Correct! The network layer's best effort service doesn't really provide much service at all, does it?

TCP congestion control example (d). Consider the figure below, where a TCP sender sends 8 TCP segments at t = 1, 2, 3, 4, 5, 6, 7, 8. Suppose the initial value of the sequence number is 0 and every segment sent to the receiver each contains 100 bytes. The delay between the sender and receiver is 5 time units, and so the first segment arrives at the receiver at t = 6. The ACKs sent by the receiver at t = 6, 7, 8, 10, 11, 12 are shown. The TCP segments (if any) sent by the sender at t = 11, 13, 15, 16, 17, 18 are not shown. The segment sent at t=4 is lost, as is the ACK segment sent at t=7. What does the sender do at t=17? You can assume for this question that no timeouts have occurred.

Cut its value of cwnd in half, and retransmit the segment with sequence number 300

Why does the DNS perform caching? What is the value of caching in the local DNS name server?

DNS caching provides for faster replies, if the reply to the query is found in the cache. DNS caching results in less load elsewhere in DNS, when the reply to a query is found in the local cache

Multiplexing/Demultiplexing: TCP port numbers. 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

A.) 2, u B.) 8, u C) 3, u D) infinity

Dijkstra's Algorithm (1, part 1). Consider the network shown below, and Dijkstra's link-state algorithm to find the least cost path from source node U to all other destinations. Using the algorithm statement and its visual representation used in the textbook, complete the first row in the table below showing the link state algorithm's execution by matching the table entries (a), (b), (c), and (d) with their values.

A) uv B) 2, u C) 6, v D) 3, u E) infinity

Dijkstra's Algorithm (1, part 2). Consider the network shown below, and Dijkstra's link-state algorithm to find the least cost path from source node U to all other destinations. Using the algorithm statement and its visual representation used in the textbook, complete the second row in the table below showing the link state algorithm's execution by matching the table entries (a), (b), (c), (d) and (e) with their values.

A) uvx B) 2, u C) 5, x D) 3, u E) 9, x

Dijkstra's Algorithm (1, part 3). Consider the network shown below, and Dijkstra's link-state algorithm to find the least cost path from source node U to all other destinations. Using the algorithm statement and its visual representation used in the textbook,complete the third row in the table below showing the link state algorithm's execution by matching the table entries (a), (b), (c), (d) and (e) with their values.

A) uvxw B) 5, x C) 8, w D) 6, w

Dijkstra's Algorithm (1, part 4). Consider the network shown below, and Dijkstra's link-state algorithm to find the least cost path from source node U to all other destinations. Using the algorithm statement and its visual representation used in the textbook, complete the fourth row in the table below showing the link state algorithm's execution by matching the table entries (a), (b), (c), and (d) with their values.

A) yw B) 9, w C) 6, w D) 3, w E) 5, w

Dijkstra's Algorithm (2, part 2). Consider the network shown below, and Dijkstra's link-state algorithm. Here, we are interested in computing the least cost path from node y (note: not node u!) to all other nodes using Dijkstra's algorithm. Using the algorithm statement used in the textbook and its visual representation, complete the first row in the table below showing the link state algorithm's execution by matching the table entries (a), (b), (c), (d) and (e) with their values.

A) ywx B) 6, x C) 5, x D) 3, w E) 4, x

Dijkstra's Algorithm (2, part 3). Consider the network shown below, and Dijkstra's link-state algorithm. Here, we are interested in computing the least cost path from node y (note: not node u!) to all other nodes using Dijkstra's algorithm. Using the algorithm statement used in the textbook and its visual representation, complete the first row in the table below showing the link state algorithm's execution by matching the table entries (a), (b), (c), (d), and (e) with their values.

A) ywxz B) 6, x C) 5, x D) 4, x

Dijkstra's Algorithm (2, part 4). Consider the network shown below, and Dijkstra's link-state algorithm. Here, we are interested in computing the least cost path from node y (note: not node u!) to all other nodes using Dijkstra's algorithm. Using the algorithm statement used in the textbook and its visual representation, complete the first row in the table below showing the link state algorithm's execution by matching the table entries (a), (b), (c), and (d) with their values.

[4,15] 17 [19,20]

During which of the following intervals of time is TCP performing congestion avoidance?

[1,3] [22,24]

During which of the following intervals of time is TCP performing slow start?

UDP Checksum: how good is it? 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

TCP service. When an application uses a TCP socket, what transport services are provided to the application by TCP? Check all that apply.

Flow Control. The provided service will ensure that the sender does not send so fast as to overflow receiver buffers Congestion control. The service will control senders so that the senders do not collectively send more data than links in the network can handle. Loss-free data transfer. The service will reliably transfer all data to the receiver, recovering from packets dropped in the network due to router buffer overflow.

The client-server paradigm. Which of the characteristics below are associated with a client-server approach to structuring network applications (as opposed to a P2P approach)?

HTTP uses this application structure. There is a server that is always on. There is a server with a well known server IP address

HTTP/2 versus HTTP/1.1. Which of the following are changes between HTTP 1.1 and HTTP/2?

HTTP/2 allows a large object to be broken down into smaller pieces, and the transmission of those pieces to be interleaved with transmission other smaller objects, thus preventing a large object from forcing many smaller objects to wait their turn for transmission. HTTP/2 allows objects in a persistent connection to be sent in a client-specified priority order.

Comparing and contrasting HTTP and SMTP (3). Which of the following characteristics apply to both HTTP and SMTP? Note: check one or more of the characteristics below.

Has ASCII command/response interaction, status codes. Is able to use a persistent TCP connection to transfer multiple objects.

1d will forward along z1 since OSPF has computed the path to 1c is via z1

How to forward to a border router? Consider the network shown below. Suppose AS1, AS2, AS3, and AS4 are running OSPF for their intra-AS routing protocol and that all links have a weight of 1. Initially suppose there is no link between AS2 and AS4. Once router 1d learns about destination x, it will need to install a forwarding table entry to x. Indicate which one of the statements below are true.

1d will forward along z2 since 1d has a shorter intra-domain path than border router 1b to border router 1c, and hot potato routing is used.

How to forward to a border router? Consider the network shown below. Suppose AS1, AS2, AS3, and AS4 are running OSPF for their intra-AS routing protocol and that all links have a weight of 1. Now suppose the link between 2a and 4a is up, and that paths to x via AS2 and AS4 are known with AS1. Hot potato routing is used in conjunction with iBGP within an AS for determining the outgoing border router to use. Indicate which one of the statements below are true.

Netflix Streaming. Which of the following (one or more) statements are true about Netflix streaming (check all that are true) or video streaming services in general.

In many video streaming services, the client requests chunks of video from a server using the HTTP protocol

TCP sequence and ACK numbers (b). Consider the figure below, where a TCP sender sends 8 TCP segments at t = 1, 2, 3, 4, 5, 6, 7, 8. Suppose the initial value of the sequence number is 0 and every segment sent to the receiver each contains 100 bytes. The delay between the sender and receiver is 5 time units, and so the first segment arrives at the receiver at t = 6. The ACKs sent by the receiver at t = 6, 7, 8, 10, 11, 12 are shown. The TCP segments (if any) sent by the sender at t = 11, 13, 15, 16, 17, 18 are not shown. The segment sent at t=4 is lost, as is the ACK segment sent at t=7. What is the sender action at t = 11 upon receipt of the ACK?

Increase the congestion window size, move the window base forward by 1, and send new segments, as available and as allowed by the congestion window

TCP congestion control example (b). Consider the figure below, where a TCP sender sends 8 TCP segments at t = 1, 2, 3, 4, 5, 6, 7, 8. Suppose the initial value of the sequence number is 0 and every segment sent to the receiver each contains 100 bytes. The delay between the sender and receiver is 5 time units, and so the first segment arrives at the receiver at t = 6. The ACKs sent by the receiver at t = 6, 7, 8, 10, 11, 12 are shown. The TCP segments (if any) sent by the sender at t = 11, 13, 15, 16, 17, 18 are not shown. The segment sent at t=4 is lost, as is the ACK segment sent at t=7. What is the sender action at t = 13 upon receipt of the ACK?

Increase the congestion window size, move the window base forward by 2, and send new segments, as available and as allowed by the congestion window

UDP header fields. Which of the fields below are in a UDP segment header?

Internet checksum Source port number Destination port number Length (of UDP header plus payload)

The DNS authoritative name server. What is the role of an authoritative name server in the DNS?

It provides the definitive answer to the query with respect to a name in the authoritative name server's domain.

DNS local caches. We saw that a local DNS cache will respond immediately to a client when the local DNS has the name-to-address translation in its local cache. There are millions of such local DNS caches across the Internet. For a given Internet name, will the name-to-address translation pair stored in these local caches always be the same (i.e., are the contents of the local caches synchronized)?

No. The caches are not always synchronized. An entry in a local cache will eventually time out, and the local cache will again eventually go to the DNS hierarchy to get the name-to-address translation pair for this name. So if the name-to-address mapping changes in the DNS hierarchy, the new mapping will eventually (but not immediately) make its way into the local cache. Therefore not all local caches may have the same value for name-to-address translation pair.

Comparing and contrasting HTTP and SMTP. Which of the following characteristics apply to HTTP only (and do not apply to SMTP)? Note: check one or more of the characteristics below.

Uses a blank line (CRLF) to indicate end of request header. Uses server port 80. Operates mostly as a "client pull" protocol.

3546 128.119.40.186 4829 60.54.75.24

Now consider the UDP datagram (and the IP datagram that will encapsulate it) sent in reply by the application on host 128.119.40.186 to the original sender host, labeled B in the figure above. Complete the sentences below ... What are the source and destination port numbers and IP addresses? (Enter the integer port number or the 4-part dotted decimal IP address, included the period) The source port number of the UDP segment (B) sent in reply is: The source IP address of the IP datagram containing the UDP segment (B) sent in reply is: The destination port number of the UDP segment (B) sent in reply is: The destination IP address of the IP datagram containing the UDP segment (B) sent in reply is:

Transport-layer demultiplexing. 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.

Transport-layer functionality. True or False: The transport layer provides for host-to-host delivery service?

Reliable data delivery. In-order data delivery A congestion control service to ensure that multiple senders do not overload network links. 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.

eBGP iBGP

Router 1c learns about prefix x from which protocol? Router 1d learns about prefix x from which protocol?

TCP congestion control example (e). Consider the figure below, where a TCP sender sends 8 TCP segments at t = 1, 2, 3, 4, 5, 6, 7, 8. Suppose the initial value of the sequence number is 0 and every segment sent to the receiver each contains 100 bytes. The delay between the sender and receiver is 5 time units, and so the first segment arrives at the receiver at t = 6. The ACKs sent by the receiver at t = 6, 7, 8, 10, 11, 12 are shown. The TCP segments (if any) sent by the sender at t = 11, 13, 15, 16, 17, 18 are not shown. The segment sent at t=4 is lost, as is the ACK segment sent at t=7. Suppose that the next event after t=17 is a timeout event. What does the sender do?

Sets it its cwnd window value to 1, and retransmit the segment with sequence number 300

CDNs. What approach is taken by a CDN to stream content to hundreds of thousands of simultaneous users?

Store/serve multiple copies of videos at multiple geographically distributed sites.

Segment A destination port # 3200 Segment A source port # 6515 Segment C source port # 5313 Segment D source port # 6287

TCP multiplexing and demultiplexing (a). Consider the figure below, with 6 sockets shown across the network, and the corresponding Python code at each host. There are four TCP segments in flight. Match the source and destination port numbers for each segment with a value below.

Transport-layer multiplexing. 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.

The HTTP GET. What is the purpose of the HTTP GET message?

The HTTP GET request message is used by a web client to request a web server to send the requested object from the server to the client.

Server reply (UDP). How does the networked application running on a server know the client IP address and the port number to reply to in response to a received datagram?

The application code at the server determines client IP address and port # from the initial segment sent by client, and must explicitly specify these values when sending into a socket back to that client.

Cookies. What is the purpose of a cookie value in the HTTP GET request?

The cookie value itself doesn't mean anything. It is just a value that was returned by a web server to this client during an earlier interaction.

Internet checksum and UDP. 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

The local DNS server. Check all of the phrases below that state a true property of a local DNS server

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. The local DNS server record for a remote host is sometimes different from that of the authoritative server for that host

How "good" are checksums? Suppose a sender computes a checksum (Internet checksum or some other checksum, which is essentially a sum of the bytes in a segment), puts the checksum in the segment header, and sends the segment to the receiver. The receiver receives the segment (with the checksum in the header). The receiver computes the checksum itself (i.e., performs the same calculation as the sender, but over the received data) and compares the checksum it has computed to the checksum it received in the header. It finds that its computed checksum and received checksum in the header are identical. Which of the following statements is true?

The receiver can't tell for certain whether errors (bit flips) have occurred in the received data in the segment, but can be relatively confident that no errors have occurred.

Conditional HTTP GET. What is the purpose of the conditional HTTP GET request message?

To allow a server to only send the requested object to the client if this object has changed since the server last sent this object to the client.

Comparing and contrasting HTTP and SMTP (2). Which of the following characteristics apply to SMTP only (and do not apply to HTTP)? Note: check one or more of the characteristics below.

Uses server port 25. Uses CRLF.CRLF to indicate end of message. Operates mostly as a "client push" protocol.

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

Location of transport-layer functionality. Where is transport-layer functionality primarily implemented?

Transport layer functions are implemented primarily at the hosts at the "edge" of the network.

Does UDP preserve application-layer message boundaries? 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

Multiplexing TCP with identical port numbers. 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

Multiplexing UDP with identical port numbers. 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

Multiplexing/Demultiplexing: UDP port numbers. 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

UDP Checksum: how good is it? 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

Segment A source port # 6515 Segment B source port # 3200 Segment C source port # 5313 Segment C destination port # 3201 Segment D source port # 6287 Segment D destination port # 3202

UDP multiplexing and demultiplexing. Consider the figure below, with 6 sockets shown across the network, and the corresponding Python code at each host. There are four UDP segments in flight. Match the source and destination port numbers for each segment with a value below.

SDN implementation of Dijkstra's algorithm. Consider the implementation of Dijkstra's algorithm in an SDN framework. Which of the following statements are true? (Hint: more than one statement is true.)

When executing, Dijkstra's algorithm will use the link-state database that is maintained within the SDN controller. When executing, Dijkstra's algorithm will run as a network control application "on top" on the SDN controller. If a router's forwarding table should be changed as a result of running Dijkstra's algorithm, the new flow table for that router will be updated by the SDN controller via the southbound API using the Openflow protocol.

UDP client-side socket actions. Match the general client-side action stated with the specific UDP socket-related action that implements it. a) Create a socket b)When sending to the server, this is how a specific server is IDd c) Send to server, using this socket

a) Use the call socket(AF_INET, SOCK_DGRAM) b)The client explicitly includes the destination IP address and port #, when sending c)Send using the socket created using socket(AF_INET, SOCK_DGRAM)

TCP client-side socket actions. Match the general client-side action stated with the specific TCP socket-related action that implements it. a)Create a socket. b)When sending to a server, this is how a specific server is identified. c)Send to server, using this socket.

a) Use the call socket(AF_INET, SOCK_STREAM) b)The client uses connect() to explicitly bind its socket to specific server, and so the server IP address and port number need not be explicitly stated in a send operation. c)Send using the socket created using socket(AF_INET, SOCK_STREAM)

Which e-mail protocol? Match the functionality of a protocol with the name of a the email protocol (if any) that implements that functionality. a)Pushes email from a mail client to a mail server b)Pulls mail from one mail server to another mail server. c)Pulls email to a mail client from a mail server.

a)AMTP b)Neither SMTP nor IMAP does this c) IMAP

DNS functions. Match the function of a server to a given type of DNS server in the DNS server hierarchy. a)Provides authoritative hostname to IP mappings for organization's named hosts. b)Replies to DNS query by local host, by contacting other DNS servers to answer the query. c)Responsible for a domain (e.g., *.com, *.edu); knows how to contact authoritative name servers. d)Highest level of the DNS hierarchy, knows how to reach servers responsible for a given domain (e.g., *.com, *.edu).

a)Authoritative DNS server b)Local DNS server c)Top Level Domain (TLD) servers d)DNS root servers

Streaming video definitions. Match the definition/function of an element or approach in a networked streaming video system, with its name. a)A unit of video, each of which may be encoded at multiple different rates, stored in different files b)A file containing the location and encoding rate of files corresponding to video segments in a video. c)An approach that allows a client to adapt the encoding rate of retrieved video to network congestion conditions. d)A CDN approach that stores content in access networks, close to clients.

a)Chunk b)Manifest c)DASH d)Enter deep

UDP server-side socket actions. Match the general server-side action stated with the specific UDP socket-related action that implements it. a)Create a socket. b)When sending to a client, this is how a specific client is identified. c)Send to client, using this socket. d)When sending to the client, this is how the server knows the client IP address and port number.

a)Use the call socket(AF_INET, SOCK_DGRAM) b)The client explicitly includes the destination IP address and port #, when sending c)Send using the socket created using socket(AF_INET, SOCK_DGRAM) d)The server determines the client IP address and port # from an earlier datagram sent by this client.

TCP server-side socket actions. Match the general server-side action stated with the specific TCP socket-related action that implements it. a)Create a socket b)When sending to a client, this is how a specific client is identified. c)Send to server, using this socket.

a)Use the call socket(AF_INET, SOCK_STREAM) b)As the result of an accept(), a new socket is created, which binds the client that made the corresponding connect() and server together via this new socket without the need to to explicitly specify the destination IP address and port # when sending. c)Send using a socket not explicitly created via a call to socket()


Related study sets

Examples of Assets, Liabilities and Equity

View Set

Passpoint - Immune and Hematologic Disorders

View Set

BLS MGMT Study Guide 3: Chapter's 9-12

View Set

EMT- Chapter 11- Airway Management

View Set