Week 7/9

¡Supera tus tareas y exámenes ahora con Quizwiz!

Assuming that the congestion window size, cwnd, has not yet reached Wmax, TCP CUBIC will ... (check all that apply) ... always have a window size, cwnd, and hence a sending rate, higher than that of AIMD (assuming a given window size, Wmax, at which loss would occur). ... have a sending rate that always increases faster than that of AIMD. ... increase its sending rate faster than AIMD when cwnd is far away from Wmax, but increase slower than AIMD when cwnd is closer to Wmax

... always have a window size, cwnd, and hence a sending rate, higher than that of AIMD (assuming a given window size, Wmax, at which loss would occur). ... increase its sending rate faster than AIMD when cwnd is far away from Wmax, but increase slower than AIMD when cwnd is closer to Wmax

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.

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: 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: 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: The transport layer provides for host-to-host delivery service?

True

Which of the following best completes this sentence: "In the absence of loss, TCP slow start increases the sending rate ... "

" ... faster than AIMD. In fact, slowstart increases the sending rate exponentially fast per RTT."

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.

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

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

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.

Match the general *server-side* action stated with the specific *UDP* socket-related action that implements it. *Questions:* 1. create a socket 2. When sending to a client, this is how a specific client is identified. 3. Send to client, using this socket. 4. When sending to the client, this is how the server knows the client IP address and port number. *Answers:* 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. Use the call socket(AF_INET, SOCK_STREAM) E. As the result of an accept(), a new socket is created, which binds the client and server together via this new socket without the need to to explicitly specify the destination IP address and port # when sending F. Send using a socket not explicitly created via a call to socket() G. Send using the socket created using socket(AF_INET, SOCK_STREAM) H. The server determines the client IP address and port # from an earlier datagram sent by this client.

1. (A) Use the call socket(AF_INET, SOCK_DGRAM) 2. (B) The client explicitly includes the destination IP address and port #, when sending 3. (C) Send using the socket created using socket(AF_INET, SOCK_DGRAM) 4. (H) The server determines the client IP address and port # from an earlier datagram sent by this client.

Enter deep

A CDN approach that stores content in access networks, close to clients.

SYNACK message

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.

DNS root servers

Highest level of the DNS hierarchy, knows how to reach servers responsible for a given domain (e.g., *.com, *.edu).

How many RTTs are needed to establish an HTTP/3 connection (i.e., before data can begin to flow between client and server) using QUIC?

One RTT. Reliability, congestion control, flow control, and security parameters are established in the first two parts of the setup handshake, which takes one RTT.

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.

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.

Which of the following characteristics apply to SMTP only (and do not apply to HTTP)? Note: check one or more of the characteristics below. (A) Uses CRLF.CRLF to indicate end of message. (B) Has ASCII command/response interaction, status codes. (C) Is able to use a persistent TCP connection to transfer multiple objects. (D) Uses server port 25. (E) Uses server port 80. (F) Operates mostly as a "client pull" protocol. (E) Operates mostly as a "client push" protocol. (G) Uses a blank line (CRLF) to indicate end of request header.

(A) Uses CRLF.CRLF to indicate end of message. (D) Uses server port 25. (E) Operates mostly as a "client push" protocol.

Which of the following pieces of information will appear in a server's application-level HTTP reply message? (Check all that apply.) *Choices:* (A) The name of the Web server (e.g., gaia.cs.umass.edu) (B) A response phrase associated with a response code (C) A response code (D)The server's IP address (E) A sequence number (F) A checksum

(B) A response phrase associated with a response code (C) A response code

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 fields are in a UDP segment header?

- internet checksum - source port number - destination port number - length (of UDP header plus payload)

Pulls email to a mail client from a mail server

IMAP

Pulls mail from one mail server to another mail server

Neither SMTP nor IMAP does this

Local DNS server

Replies to DNS query by local host, by contacting other DNS servers to answer the query.

Top Level Domain (TLD) servers

Responsible for a domain (e.g., *.com, *.edu); knows how to contact authoritative name servers.

Pushes email from a mail client to a mail server

SMTP

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.

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.

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

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.

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.

Where is transport-layer functionality primarily implemented?

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

Which of the following characteristics apply to both HTTP and SMTP? Note: check one or more of the characteristics below. (A) Operates mostly as a "client push" protocol. (B) Has ASCII command/response interaction, status codes. (C) Operates mostly as a "client pull" protocol. (D) Uses a blank line (CRLF) to indicate end of request header. (E) Is able to use a persistent TCP connection to transfer multiple objects. (F) Uses CRLF.CRLF to indicate end of message.

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

Which of the following characteristics apply to HTTP only (and do not apply to SMTP)? Note: check one or more of the characteristics below. (A) Uses server port 25. (B) Has ASCII command/response interaction, status codes. (C) Uses CRLF.CRLF to indicate end of message. (D) Operates mostly as a "client push" protocol. (E) Uses server port 80. (F) Operates mostly as a "client pull" protocol. (G) Uses a blank line (CRLF) to indicate end of request header. (H) Is able to use a persistent TCP connection to transfer multiple objects.

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

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

*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. *Congestion control.* The service will control senders so that the senders do not collectively send more data than links in the network can handle. *Flow Control.* The provided service will ensure that the sender does not send so fast as to overflow receiver buffers.

What information does the type "A" resource record hold in the DNS database?

A hostname and an IP address

SYN mesage

A message from client to server initiating a connection request.

FINACK message

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

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.

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.

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.

Authoritative DNS server

Provides authoritative hostname to IP mappings for organization's named hosts.

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

What are some advantages of web cache?

1. 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. 2. Caching uses less bandwidth coming into an institutional network where the client is located, if the cache is also located in that institutional network.

What services are provided by the TCP protocol?

1. Reliable data delivery 2. In-order data delivery 3. A congestion control service to ensure that multiple senders do not overload network links. 4. A flow-control service that ensures that a sender will not send at such a high rate so as to overflow receiving host buffers. 5. A byte stream abstraction, that does not preserve boundaries between message data sent in different socket send calls at the sender.

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

Chunk

A unit of video, each of which may be encoded at multiple different rates, stored in different files.

DASH

An approach that allows a client to adapt the encoding rate of retrieved video to network congestion conditions.

Consider TCP use of an exponentially weighted moving average (EWMA) to compute the nth value of the estimated RTT: EstimatedRTTn = (1- a)*EstimatedRTTn-1 + a*SampleRTTn 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.

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

Checksum

This field contains the Internet checksum of the TCP segment and selected fields in the IP datagram header.

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

What are advantages of implementing transport-layer functionality in QUIC at the application layer?

As an application-layer protocol, QUIC can be updated/modified at "app frequency" rather than at the frequency of operating system updates. QUIC can establish all connection parameters (security, reliability, flow and congestion control)in just one handshake rather than separately in two.

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.

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

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 (i.e., in just one of the two numbers) will always result in a changed checksum.

True

What changes between HTTP 1.1 and HTTP/2?

- HTTP/2 allows objects in a persistent connection to be sent in a client-specified priority order. - 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.

Match the general *server-side* action stated with the specific *TCP* socket-related action that implements it. *Questions:* 1. Create a socket. 2. When sending to a client, this is how a specific client is identified 3. Send to server, using this socket. *Answers:* 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() D. Use the call socket(AF_INET, SOCK_DGRAM) E. 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. F. Send using the socket created using socket(AF_INET, SOCK_STREAM) G. Send using the socket created using socket(AF_INET, SOCK_DGRAM) H. The client must explicitly include the server's IP address, port #, when sending

1. (A) Use the call socket(AF_INET, SOCK_STREAM) 2. (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 3. (C) Send using a socket not explicitly created via a call to socket()

Match the general *client-side* action stated with the specific *TCP* socket-related action that implements it. *Questions:* 1. Create a socket. 2. When sending to a server, this is how a specific server is identified. 3. Send to server, using this socket. *Answers:* 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) D. Use the call socket(AF_INET, SOCK_DGRAM) E. As the result of an accept(), a new socket is created, which binds the client and server together via this new socket without the need to to explicitly specify the destination IP address and port # when sending F. Send using a socket not explicitly created via a call to socket() G. Send using the socket created using socket(AF_INET, SOCK_DGRAM) H. The client must explicitly include the server's IP address, port #, when sending

1. (A) Use the call socket(AF_INET, SOCK_STREAM) 2. (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. 3. (C) Send using the socket created using socket(AF_INET, SOCK_STREAM)

Match the general *client-side* action stated with the specific *UDP* socket-related action that implements it. *Questions:* 1. create a socket 2. when sending to the server, this is how a specific server is identified 3. send to server, using this socket *Answers:* 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. Use the call socket(AF_INET, SOCK_STREAM) E. As the result of an accept(), a new socket is created, which binds the client and server together via this new socket without the need to to explicitly specify the destination IP address and port # when sending F. Send using a socket not explicitly created via a call to socket() G. Send using the socket created using socket(AF_INET, SOCK_STREAM)

1. (A) use the call socket(AF_INET, SOCK_DGRAM) 2. (B) the client explicitly includes the destination IP address and port # when sending 3. (C) send using the socket created using socket(AF_INET, SOCKDGRAM)

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

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.

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.

Manifest

A file containing the location and encoding rate of files corresponding to video segments in a video.

RESET message

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.

Which of the following statements about TCP's Additive-increase-multiplicative-decrease (AIMD) algorithm are true? Check all that are true. AIMD is a network-assisted approach to congestion control. AIMD is a end-end approach to congestion control. AIMD always cuts the congestion window size, cwnd, in half whenever loss is detected. AIMD cuts the congestion window size, cwnd, in half whenever loss is detected by a triple duplicate ACK. AIMD cuts the congestion window size, cwnd, i to 1 whenever a timeout occurs. AIMD uses the measured RTT delay to detect congestion. AIMD uses observed packet loss to detect congestion.

AIMD is a end-end approach to congestion control. AIMD cuts the congestion window size, cwnd, in half whenever loss is detected by a triple duplicate ACK. AIMD cuts the congestion window size, cwnd, i to 1 whenever a timeout occurs.

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.

How is the sending rate typically regulated in a TCP implementation

By keeping a window of size cwnd over the sequence number space, and making sure that no more than cwnd bytes of data are outstanding (i.e, unACKnowledged). The size of cwnd is regulated by AIMD.

What is the value of caching in the local DNS name server? Check all that apply. DNS caching provides the ability to serve as authoritative name server for multiple organizations. DNS caching provides for faster replies, if the reply to the query is found in the cache. DNS caching provides prioritized access to the root servers, since the DNS request is from a local DNS cache. DNS caching results in less load elsewhere in DNS, when the reply to a query is found in the local cache.

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.

What is meant by transport-layer *de*multiplexing?

Receiving a transport-layer segment from the network layer, extracting the payload (data) and delivering the data to the correct socket.

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.

What are advantages of the streams concept in QUIC?

Streams allow concurrent retrieval of web objects, while avoiding Head of the Line (HOL) blocking. Since each stream has its own error control, if one stream experiences an error (e.g., lost or damaged segment), the other streams are unaffected.

Check all of the phrases below that state a true property of a *local* DNS server. The local DNS server is only contacted by a local host if that local host is unable to resolve a name via iterative or recursive queries 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. 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 holds hostname-to-IP translation records, but not other DNS records such as MX records.

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.

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.

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

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 segment

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

What services are provided by the UDP protocol?

A message abstraction, that preserves boundaries between message data sent in different socket send calls at the sender.


Conjuntos de estudio relacionados

Essay 1 Compare and contrast the Spanish, French, and British approaches to empire

View Set

chapter 4 - Health of individual family and community

View Set

Gastrointestinal Therapeutic Procedures

View Set

Intro to Ethical Hacking Chapter 2

View Set

Chapter 1 Business Communication in the Digital age

View Set

Organizational Management Midterm 2 - Chapter 5

View Set

Macgruder's American Gov't: Chapter 16 Section 3: Spending and the Budget

View Set

Lecture 5 Web Hacking 1: Client bypass, Tampering, Brute Forcing

View Set

5.00 Understand Business Technology

View Set

Spanish 3 Chp. 3 Pasajes de la vida (pt. 2)

View Set

CBF Quiz Questions: Maternal Adaptation During Pregnancy

View Set