Midterm 1 Flashcards

1
Q

Describe the internet best service model.

A

The best-effort model is the internet’s best service model, which means that the internet service provider (ISP) will make its best effort to deliver data packets from one point to another, but does not guarantee delivery or prioritize one type of data over another. All data packets are treated equally, regardless of their type or priority. This model is based on the principle that the internet is a public network, and as such, it cannot guarantee the quality of service or reliability that would be possible with a dedicated private network.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why is running over UDP an appropriate choice for the DNS application.

A

TCP services provides reliable transport, flow control, congestion control, and is connection-oriented. On the other hand, UDP provides unreliable data transfer, and does not provide flow control or congestion control. However, UDP allows for more versatile scalability, shorter delays, and easier rate control. The DNS being an application layer protocol uses a transport layer protocol. In specific, UDP is preferred over TCP. Although TCP is more reliable and DNS is supposed to be reliable, it utilizes UDP. This is because UDP is faster than TCP as TCP requires a 3-way handshake with is very ineffective for DNS. DNS requests often fit well in UDP segments as they are very small. Although UDP lacks reliability, it can be added on to the application layer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the dynamic adaptive streaming over HTTP (DASH) protocol?

A

Dynamic Adaptive Streaming over HTTP is an adaptive streaming protocol. Essentially, it allows a video stream to switch between bit rates based on network performance. Enabling high quality streaming from conventional HTTP web servers. This allows a video to continue playing regardless of network performance and connectivity. With recent video traffic increase being a major consumer of internet bandwidth, there needed to be a solution. Something scalable and adaptable. DASH has both a server and client side. On the server side, it works by dividing a video into multiple chunks. Each chunk is then stored and encoded at different rates. On the client side, it periodically measures the server-to-client bandwidth. There is a level of intelligence at the client side, where it can determine when to request a chunk so that overflow doesn’t occur. It also knows what encoding rate to request at, such as higher quality when there is more bandwidth available. Lastly, it determines where to request a chunk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

For a P2P file-sharing application, do you agree with the statement, “There is no notion of client and server sides of a communication session”? Why or why not?

A

No. In P2P file-sharing applications, the peer that is receiving the file is typically the client and the peer that is sending the file is typically the server.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What information is used by a process running on one host to identify a process running on another host?

A

The IP address of the destination host and the port number of the socket in the destination process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Consider an e-commerce site that wants to keep a purchase record for each of its
customers. Describe how this can be done with cookies.

A

When the user first visits the site, the server creates a unique identification number, creates an entry in its back-end database, and returns this identification number as a
cookie number. This cookie number is stored on the user’s host and is managed by the browser. During each subsequent visit (and purchase), the browser sends the cookie number back to the site. Thus the site knows when this user (more precisely,
this browser) is visiting the site.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe how Web caching can reduce the delay in receiving a requested object.

A

Web caching can bring the desired content “closer” to the user, possibly to the same LAN to which the user’s host is connected.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Will Web caching reduce the delay for all objects requested by a user or for only some of the objects?

A

Web caching can reduce the delay for all objects, even objects that are not cached, since caching reduces the traffic on links.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Suppose Alice, with a Web-based e-mail account (such as Hotmail or Gmail), sends a message to Bob, who accesses his mail from his mail server using POP3. Discuss how the message gets from Alice’s host to Bob’s host. Be sure to list the series of application-layer protocols that are used to move the message between the two hosts.

A

The message is first sent from Alice’s host to her mail server over HTTP. Alice’s mail server then sends the message to Bob’s mail server over SMTP. Bob then transfers the message from his mail server to his host over POP3.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is an overlay network? Does it include routers?

A

The overlay network in a P2P file-sharing system consists of the nodes participating in the file-sharing system and the logical links between the nodes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the edges in the overlay network?

A

There is a logical link (an “edge” in graph theory terms) from node A to node B if there is a semipermanent TCP connection between A and B. An overlay network does not include routers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Besides network-related considerations such as delay, loss, and bandwidth performance, there are other important factors that go into designing a CDN server selection strategy. What
are they?

A

Other than network-related factors, there are some important factors to consider, such as load-balancing (clients should not be directed to overload clusters), diurnal effects,
variations across DNS servers within a network, limited availability of rarely accessed video, and the need to alleviate hot-spots that may arise due to popular video
content.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

True or False. A user requests a Web page that consists of some text and three images. For this page,
the client will send one request message and receive four response messages.

A

False. When a user requests a web page that consists of text and images, the client will send one HTTP request message to the server. The server will respond with an HTTP response message that includes the HTML code for the text and the URLs for the three images.

The client will then send three separate HTTP requests for each image, and the server will respond with three separate HTTP response messages, each containing the image data.

Therefore, in total, the client will send one request message and receive four response messages: one for the HTML text and three for the images.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

True or False. Two distinct Web pages (for example, www.mit.edu/research.html and
www.mit.edu/students.html ) can be sent over the same persistent connection.

A

True. Persistent connections allow multiple requests and responses to be sent over the same TCP connection. Once the initial TCP connection is established, subsequent HTTP requests and responses can be sent and received without the need to establish a new TCP connection for each request/response pair.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

True or False. With nonpersistent connections between browser and origin server, it is possible for a
single TCP segment to carry two distinct HTTP request messages.

A

False. With nonpersistent connections between the browser and the origin server, each HTTP request and response pair is sent over a separate TCP connection. The connection is closed after the response is received, so the next request from the same client requires the establishment of a new TCP connection.

In this scenario, a single TCP segment can only carry a single HTTP request or response message, but not two distinct HTTP request messages. Each HTTP request message requires a separate TCP segment for its transmission, and there can only be one message in a segment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

True or False. The Date: header in the HTTP response message indicates when the object in the
response was last modified.

A

False. The Date: header in the HTTP response message indicates the date and time at which the response was generated by the server. It does not indicate when the object in the response was last modified.

To indicate the last modification time of the object, the HTTP response message should include a Last-Modified: header. The value of the Last-Modified: header is a date and time that indicates when the object was last modified on the server. This header can be used by the client to determine if a cached copy of the object is still valid, and whether a new request needs to be sent to the server to obtain an updated copy of the object.

17
Q

True or False. HTTP response messages never have an empty message body?

A

False. HTTP response messages can have an empty message body, depending on the status code of the response and the type of the request that generated it. For example, a response with a 204 No Content status code indicates that the server has successfully processed the request, but there is no data to return in the message body. Similarly, a response with a 304 Not Modified status code can have an empty message body if the client’s cached copy of the requested resource is still valid.

18
Q

Consider a TCP connection between Host A and Host B. Suppose that the TCP segments
traveling from Host A to Host B have source port number x and destination port number y. What
are the source and destination port numbers for the segments traveling from Host B to Host A?

A

Source port number y and destination port number x.

19
Q

Describe why an application developer might choose to run an application over UDP rather than TCP.

A

An application developer may not want its application to use TCP’s congestion control, which can throttle the application’s sending rate at times of congestion. Often, designers of IP telephony and IP videoconference applications choose to run
their applications over UDP because they want to avoid TCP’s congestion control. Also, some applications do not need the reliable data transfer provided by TCP.

20
Q

True or False. 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 acknowledgments to Host A because Host B cannot
piggyback the acknowledgments on data.

A

False. Host B will still send acknowledgements to Host A even if it has no data to send since TCP uses a cumulative acknowledgement scheme. This lets Host A know that its segments are being received correctly.

21
Q

True or False. The size of the TCP rwnd never changes throughout the duration of the connection.

A

False. The TCP rind can change dynamically throughout the duration of the connection based on available memory, network congestion, and advertised window size in incoming segments.

22
Q

True or False. Suppose Host A is sending Host B a large file over a TCP connection. The number of
unacknowledged bytes that A sends cannot exceed the size of the receive buffer.

A

True. TCP uses flow control to prevent a sender from overwhelming the receiver with too much data so the sender must limit unacknowledged data to avoid overflow.

23
Q

True or False. 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.

A

False. TCP segments are not necessarily sequential. Subsequent segments may have a different sequence number than the previous segment. The only requirement is that sequence numbers ensure the receiver can correctly order the data.

24
Q

True or False. The TCP segment has a field in its header for rwnd .

A

True. It specifies the amount of receive buffer space available on the receiving end of a TCP connection.

25
Q

True or False. Suppose that the last SampleRTT in a TCP connection is equal to 1 sec. The current
value of TimeoutInterval for the connection will necessarily be >1 sec.

A

False.

26
Q

True or False. Suppose Host A sends one segment with sequence number 38 and 4 bytes of data over
a TCP connection to Host B. In this same segment the acknowledgment number is
necessarily 42.

A

False. It depends on whether or not there is any missing data in the sequence. If there is missing data, the acknowledgment number will be set to the next expected sequence number after the missing data.

27
Q

Suppose two TCP connections are present over some bottleneck link of rate R bps. Both connections have a huge file to send (in the same direction over the bottleneck link). The transmissions of the files start at the same time. What transmission rate would TCP like to give
to each of the connections?

A

In this situation, TCP will allocate the available bandwidth equally between the connections, assuming they both have the same congestion control algorithm. It will then adjust the transmission rate based on feedback from the network to ensure fair sharing of the available bandwidth. Therefore, each connection will get a transmission rate of R/2 bps.

28
Q

True or false? Consider congestion control in TCP. When the timer expires at the sender, the value of ssthresh is set to one half of its previous value.

A

True. When a TCP detects congestion, it performs actions to reduce the congestion. One of the ways to do this is by reducing the congestion window size. The TCP sender maintains two variables, the congestion window size and the slow start threshold. When there is a packet loss detected through timeout, the sender reduces the congestion window size and sets the slow start threshold to one-half it’s previous value.

29
Q

Consider the GBN and SR protocols. Suppose the sequence number space is of size k. What is the largest allowable sender window that will avoid the occurrence of problems such as
that in Figure 3.27 for each of these protocols?

A

In order to avoid the scenario of Figure 3.27, we want to avoid having the leading edge of the receiver’s window (i.e., the one with the “highest” sequence number) wrap around in
the sequence number space and overlap with the trailing edge (the one with the “lowest” sequence number in the sender’s window). That is, the sequence number space must be
large enough to fit the entire receiver window and the entire sender window without this overlap condition. So - we need to determine how large a range of sequence numbers can
be covered at any given time by the receiver and sender windows. The largest allowable sender window size is k/2 since the sender cannot send more than half the sequence number space before receiving any acknowledgements.

30
Q

List the mechanisms that are important for designing a reliable communication protocol over an unreliable physical communication channel.

A

The mechanism important for designing a reliable communication protocol over an unreliable physical communication channel are the following: error detection, error correction, flow control, congestion control, packet sequencing, timeouts, and buffering. Error detection is the detection of errors that may occur during transmission. Error detection can be done through checksums, CRC, and or parity checks. Error correction is the procedure to correct detected errors. This can be done through retransmission, FEC, and ARQ. Flow control ensures that the data is sent at a pace that the receiving end can handle. This can be done through sliding window protocols. Congestion control prevents the channel from becoming overloaded. This can be done through packet dropping and throttling. Packet sequencing ensures that packets are received in the correct order. This can be achieved through sequence numbers and acknowledgments. Timeouts resend the packet after a packet is not acknowledge for a certain amount of time. Lastly, buffering buffers packets if the receiving end is not ready to process them.

31
Q

What is the difference between TCP RENO and TCP Tahoe?

A

TCP Reno and TCP Tahoe are both variants of the Transmission Control Protocol (TCP). The TCP is used for reliable data transmission over the internet. The main difference between TCP Reno and TCP Tahoe is how they deal with congestion control. TCP Tahoe is the first variant of TCP. It’s congestion control works by reducing the sending rate when a packet loss is detected due to network congestion. However, Tahoe is known to take a longer time to recover from a congestion event. TCP Reno was created as an improvement to Tahoe. Its congestion control algorithm is similar to Tahoe but includes an additional mechanism called fast recovery. This allows the sender to recover from packet loss by identifying the packets that were transmitted successfully and then re-transmitting only the packets that were lost. This solves the recovery time issue for TCP Tahoe.