Midterm Exam
Consider a sender and receiver that are connected over a link that with a bandwidth of 100 bytes per second. The propagation time is 1.3 seconds. What is the RTT for transmitting a packet and acknowledgment both of 100 bytes?
(1+1.3) x 2 = 4.6 seconds
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.
False, it is set to half of the current value of the congestion window
What is the difference between a virus and a worm?
Virus: Requires some form of human interaction to spread - ex: email viruses Worms: No user replication needed. Worm in infected host scans IP addresses and port numbers looking for a vulnerable processes to infect
What advantages does one circuit-switched network have over a packet-switched network?
guaranteed bandwidth & has lower queueing delays
Which of the following statements about an application that uses TCP are true or false:
reliable communication, provides congestion control, and data is delivered in order
HTTP uses _______ as a transport protocol.
TCP
Suppose the caravan has 20 cars, and that the tollbooth services (that is, transmits) a car at a rate of one car per 5 seconds. Once receiving serving a car proceeds to the next tool both, which is 500 kilometers away at a rate of 10 kilometers per second. Also assume that whenever the first car of the caravan arrives at a tollbooth, it must wait at the entrance to the tollbooth until all of the other cars in its caravan have arrived, and lined up behind it before being serviced at the toll booth. (That is, the entire caravan must be stored at the tollbooth before the first car in the caravan can pay its toll and begin driving towards the next tollbooth). Once the first car leaves the tollbooth, how long does it take until it arrives at the next tollbooth?
(500 km/sec)/ (10km/sec) = 50 seconds
Consider: - A circuit-switching scenario in which Ncs users, each requiring a bandwidth of 25 Mbps, must share a link of capacity 200 Mbps. - A packet-switching scenario with Nps users sharing a 200 Mbps link, where each user again requires 25 Mbps when transmitting, but only needs to transmit 10 percent of the time. Suppose packet switching is used. What is the probability that a given (specific) user is transmitting, and the remaining users are not transmitting?
0.023
What are the five layers in the Internet protocol stack? What are the principal responsibilities of each of these layers?
1. Application layer 2. Transport layer 3. Network layer 4. Link layer 5. Physical layer
List six access technologies. Classify each one as home access, enterprise access, or wide- area wireless access.
1. Dial up modem over telephone line (home) 2. DSL over telephone line (home OR small office) 3. Cable to HFC (home 4. 100 Mbps switched Ethernet (enterprise 5. Wifi (home AND enterprise) 6. 3G and 4G (wide area wireless)
List five tasks that a layer can perform. Is it possible that one (or more) of these tasks could be performed by two (or more) layers?
1. Error control 2. Flow control, 3. Segmentation and reassembly 4. Multiplexing 5. Connection setup Yes, these tasks can be duplicated at different layers. For example, error control is often provided at more than one layer.
List the four broad classes of services that a transport protocol can provide. For each of the service classes, indicate if either UDP or TCP (or both) provides such a service.
1. Reliable data transfer: TCP provides a reliable byte stream between client and server but UDP does not 2. A guarantee that a certain value for throughput will be maintained: neither UDP or TCP provides such a service 3. A guarantee that data will be delivered within a specified amount of time: neither UDP or TCP provides such a service 4. Confidentiality via encryption: neither UDP or TCP provides such a service
List five nonproprietary Internet applications and the application-layer protocols that they use.
1. The Web: HTTP 2. File transfer: FTP 3. Remote login: Telnet 4. Email: SMTP 5. BitTorrent file sharing: BitTorrent protocol
Consider: - A circuit-switching scenario in which Ncs users, each requiring a bandwidth of 25 Mbps, must share a link of capacity 200 Mbps. - A packet-switching scenario with Nps users sharing a 200 Mbps link, where each user again requires 25 Mbps when transmitting, but only needs to transmit 10 percent of the time. Suppose packet switching is used. If there are 15 packet-switching users, can this many users be supported under circuit-switching? Yes or No.
200/ 25 = 8 8 < 15 No, 15 users cannot be supported under circuit switching
Describe the most popular wireless Internet access technologies today. Compare and contrast them.
1. Wifi - wireless users transmit/ receive packets to and from a base station within a radius of few tens of meters. The base station is typically connected to the wired Internet and thus serves to connect wireless users to the wired network 2. 3G and 4G wide are wireless access networks - packets are transmitted over the same wireless infrastructure used for cellular telephony with the base station being managed by a telecommunications provider. This provides wireless access to users within a radius of tens of kilometers in the base station
Consider: - A circuit-switching scenario in which Ncs users, each requiring a bandwidth of 25 Mbps, must share a link of capacity 200 Mbps. - A packet-switching scenario with Nps users sharing a 200 Mbps link, where each user again requires 25 Mbps when transmitting, but only needs to transmit 10 percent of the time. When circuit switching is used, what is the maximum number of users that can be supported?
200/25 = 8
1. Calculate the latency (from first bit sent to last bit received) for the following: a. A 100-Mbps Ethernet with a single store-and-forward switch in the path, and a packet size of 12,000 bits. Assume that each link introduces a propagation delay of 10 μs, and that the switch begins retransmitting immediately after it has finished receiving the packet b. Same as (a) but with three switches.
1/108 = 10ns and 12,000 bits/ 100 Mbps = 120 us Since packet is delayed 10 us on both links: 120 + 120 + 10 + 10 = 260 us 3 switches and 4 links: 4 x 130 = 520 us
Consider the circuit-switched network shown in the figure below, with circuit switches A, B, C, and D. Suppose there are 10 circuits between A and B, 17 circuits between B and C, 16 circuits between C and D, and 13 circuits between D and A. What is the maximum number of connections that can be ongoing in the network at any one time?
10 + 13 + 17 + 16 = 56
Suppose that the packet length is L= 16000 bits, and that the link transmission rate along the link to router on the right is R = 100 Mbps. What is the maximum number of packets per second that can be transmitted by this link?
100000000/ 16000 = 6250
Suppose that the packet length is L= 4000 bits, and that the link transmission rate along the link to router on the right is R = 1000 Mbps. What is the maximum number of packets per second that can be transmitted by this link?
1000000000/4000 = 250000
Two end-systems are connected by a link with a bandwidth of 1 Mbps and a propagation speed of 1s. How long it takes to transmit a file of 200 Mbits?
201 seconds
Consider the circuit-switched network shown in the figure below, with circuit switches A, B, C, and D. Suppose there are 10 circuits between A and B, 17 circuits between B and C, 16 circuits between C and D, and 13 circuits between D and A. Suppose that 16 connections are needed from A to C, and 11 connections are needed from B to D. Can we route these calls through the four links to accommodate all 27 connections? Answer Yes or No
16 + 11 = 27 27 > 26 No, the sum of the two connections is greater than the maximum number of connections that can be ongoing in the network at any one time
Consider a sender and receiver that communicate using Go-Back-N. Thus far, the receiver has received packets 0, 1, 2, and 5. What will be the cumulative acknowledgment sent by the receiver when packet 6 arrives?
2
Suppose the caravan has 20 cars, and that the tollbooth services (that is, transmits) a car at a rate of one car per 5 seconds. Once receiving serving a car proceeds to the next tool both, which is 500 kilometers away at a rate of 10 kilometers per second. Also assume that whenever the first car of the caravan arrives at a tollbooth, it must wait at the entrance to the tollbooth until all of the other cars in its caravan have arrived, and lined up behind it before being serviced at the toll booth. (That is, the entire caravan must be stored at the tollbooth before the first car in the caravan can pay its toll and begin driving towards the next tollbooth). How long does it take for the entire caravan to receive service at the tollbooth (that is the time from when the first car enters service until the last car leaves the tollbooth)?
20 cars x 5 seconds = 100
After, receiving packet 6, the receiver has packets 0, 1, 2, 5, and 6. What will be the cumulative acknowledgment sent by the receiver when packet 3 arrives?
3
Consider the Telnet example discussed in Section 3.5 . A few seconds after the user types the letter 'C,' the user types the letter 'R.' After typing the letter 'R,' how many segments are sent, and what is put in the sequence number and acknowledgment fields of the segments?
3 segments are used 1. seq = 43, ack =80 2.seq = 80, ack = 44 3. seq = 44, ack = 81
After, receiving packet 3, the receiver has packets 0, 1, 2, 3, 5, and 6. What will be the cumulative acknowledgment sent by the receiver when packet 4 arrives?
4
Suppose the caravan has 20 cars, and that the tollbooth services (that is, transmits) a car at a rate of one car per 5 seconds. Once receiving serving a car proceeds to the next tool both, which is 500 kilometers away at a rate of 10 kilometers per second. Also assume that whenever the first car of the caravan arrives at a tollbooth, it must wait at the entrance to the tollbooth until all of the other cars in its caravan have arrived, and lined up behind it before being serviced at the toll booth. (That is, the entire caravan must be stored at the tollbooth before the first car in the caravan can pay its toll and begin driving towards the next tollbooth). Once a car enters service at the tollbooth, how long does it take until it leaves service?
5 seconds
Consider the figure below, for which there is an institutional network connected to the Internet. Suppose that the average object size is 850,000 bits and that the average request rate from the institution's browsers to the origin servers is 16 requests per second. Also suppose that the amount of time it takes from when the router on the Internet side of the access link forwards an HTTP request until it receives the response is three seconds on average. Model the total average response time as the sum of the average access delay (that is, the delay from Internet router to institution router) and the average Internet delay. For the average access delay, use Δ/(1 - Δβ), where Δ is the average time required to send an object over the access link and β is the arrival rate of objects to the access link. a. Find the total average response time. b. Now suppose a cache is installed in the institutional LAN. Suppose the miss rate is 0.4. Find the total response time
850,000 bits/ 15,000,000 bits/sec = 0.0567 16 requests/sec x 0.0567 sec/ request 0.0567/ 1 - 0.907 = 0.6 0.6 sec + 3 sec = 3.6 sec b. 0.0567/ 1- (0.4 x 0.907) = 0.089 sec 0.089 sec + 3 s3c = 3.089 sec (0.6 x 0) + (0.4 x 3.089) = 1.24 sec Reduced from 3.6 sec to 1.24 sec
Consider: - A circuit-switching scenario in which Ncs users, each requiring a bandwidth of 25 Mbps, must share a link of capacity 200 Mbps. - A packet-switching scenario with Nps users sharing a 200 Mbps link, where each user again requires 25 Mbps when transmitting, but only needs to transmit 10 percent of the time. What is the probability that any 6 users (of the total 15 users) are transmitting and the remaining users are not transmitting?
= 0.0019
Consider: - A circuit-switching scenario in which Ncs users, each requiring a bandwidth of 25 Mbps, must share a link of capacity 200 Mbps. - A packet-switching scenario with Nps users sharing a 200 Mbps link, where each user again requires 25 Mbps when transmitting, but only needs to transmit 10 percent of the time. When one user is transmitting, what fraction of the link capacity will be used by this user?
= 0.13
Consider: - A circuit-switching scenario in which Ncs users, each requiring a bandwidth of 25 Mbps, must share a link of capacity 200 Mbps. - A packet-switching scenario with Nps users sharing a 200 Mbps link, where each user again requires 25 Mbps when transmitting, but only needs to transmit 10 percent of the time. Suppose packet switching is used. What is the probability that one user (any one among the 15 users) is transmitting, and the remaining users are not transmitting?
= 0.34
Consider: - A circuit-switching scenario in which Ncs users, each requiring a bandwidth of 25 Mbps, must share a link of capacity 200 Mbps. - A packet-switching scenario with Nps users sharing a 200 Mbps link, where each user again requires 25 Mbps when transmitting, but only needs to transmit 10 percent of the time. What is the probability that more than 8 users are transmitting?
= 2.85 x 10^-6
What advantage does a circuit-switched network have over a packet-switched network? What advantages does TDM have over FDM in a circuit-switched network?
A circuit-switched network can guarantee a certain amount of end-to-end bandwidth for the duration of a call. Most packet-switched networks today (including the Internet) cannot make any end-to-end guarantees for bandwidth.FDM requires sophisticated analog hardware to shift signal into appropriate frequency bands
What is meant by a handshaking protocol?
A protocol uses handshaking if the two communicating entities first exchange control packets before sending data to each other. SMTP uses handshaking at the application layer whereas HTTP does not.
Suppose that the roundtrip delay between sender and receiver is constant and known to the sender. Would a timer still be necessary in protocol rdt 3.0, assuming that packets can be lost? Explain.
A timer would still be necessary in the protocol rdt 3.0. If the round trip time is known then the only advantage will be that, the sender knows for sure that either the packet or the ACK (or NACK) for the packet has been lost, as compared to the real scenario, where the ACK (or NACK) might still be on the way to the sender, after the timer expires. However, to detect the loss, for each packet, a timer of constant duration will still be necessary at the sender.
Consider the circuit-switched network shown in the figure below, with circuit switches A, B, C, and D. Suppose there are 10 circuits between A and B, 17 circuits between B and C, 16 circuits between C and D, and 13 circuits between D and A. Suppose that every connection requires 2 consecutive hops, and calls are connected clockwise. For example, a connection can go from A to C, from B to D, from C to A, and from D to B. With these constraints, what is the is the maximum number of connections that can be ongoing in the network at any one time?
A to C: min(10, 17) = 10 B to D: min(17, 16) = 16 C to A: min(16, 13) = 13 D to B: min(13, 10) = 10 (A to C) + (C to A): 10 + 13 = 23 (B to D) + (D to B): 16 + 10 = 26 max(23, 26) = 26
Describe what are the advantages and disadvantages of the Internet's layered architecture?
Advantages • Provides more of a modular design • Easy to troubleshoot because problems can be addressed to individual layers instead of deciphering an entire system • Entire layers can be replaced • Easier to update system components Disadvantages • It is difficult to provide clean separation between layers • High level layers might have to directly interact with lower layers instead of through the layer right below it • One layer may duplicate lower-layer functionality
Describe why an application developer might choose to run an application over UDP rather than TCP.
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 video conference 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.
Suppose there is exactly one packet switch between a sending host and a receiving host. The transmission rates between the sending host and the switch and between the switch and the receiving host are R1 and R2, respectively. Assuming that the switch uses store-and-forward packet switching, what is the total end-to-end delay to send a packet of length L? (Ignore queuing, propagation delay, and processing delay.)
At time t0the sending host begins to transmit. At time t1 = L/R1, the sending host completes transmission and the entire packet is received at the router (no propagation delay). Because the router has the entire packet at time t1, it can begin to transmit the packet to the receiving host at time t1. At time t2= t1+ L/R2, the router completes transmission and the entire packet is received at the receiving host (again, no propagation delay). Thus, the end-to-end delay is L/R1+ L/R2
Why will two ISPs at the same level of the hierarchy often peer with each other? How does an IXP earn money?
Because if the two ISPs do not peer with each other, then when they send traffic to each other they have to send the traffic through a provider ISP which they have to pay for carrying the traffic. By peering with each other directly, the two ISPs can reduce their payments to their provider ISPs. An internet exchange point (IXP) (typically in a standalone building with its own switched) is a meeting point where multiple ISPs can connect or peer together. An ISP earns its money by charging each of the the ISPs that connect to the IXP a relatively small fee, which may depend on the amount of traffic sent to or received from the IXP.
(T/F) 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
Consider the following simple network topology in which two end-systems A and B are connected via a router R. On both links, it takes 20 ms to transmit a packet and have a propagation delay of 1 ms. The router R spends 1 ms processing each packet. The application running on host A transmits 3 packets at time 0 ms and an additional packet at time 25 ms.
Completed table in photo
Describe how a botnet can be created and how it can be used for a DDoS attack.
Creation of a botnet requires an attacker to find vulnerability in some application or system (e.g. exploiting the buffer overflow vulnerability that might exist in an application). After finding the vulnerability, the attacker needs to scan for hosts that are vulnerable. The target is basically to compromise a series of systems by exploiting that particular vulnerability. Any system that is part of the botnet can automatically scan its environment and propagate by exploiting the vulnerability. An important property of such botnets is that the originator of the botnet can remotely control and issue commands to all the nodes in the botnet. Hence, it becomes possible for the attacker to issue a command to all the nodes, that target a single node(for example, all nodes in the botnet might be commanded by the attacker to send a TCP SYN message to the target, which might result in a TCP SYN flood attack at the target).
What is an application-layer message? A transport-layer segment? A network-layer datagram? A link-layer frame?
Data which an application wants to send and passed onto the transport layer; transport-layer segment: generated by the transport layer and encapsulates application-layer message with transport layer header; network-layer datagram: encapsulates transport-layer segment with a network-layer header; link-layer frame: encapsulates network-layer datagram with a link-layer header.
Dial-up modems, HFC, DSL and FTTH are all used for residential access. For each of these access technologies, provide a range of transmission rates and comment on whether the transmission rate is shared or dedicated.
Dial up modems: up to 56 Kbps, bandwidth is dedicated; ADSL: up to 24 Mbps downstream and 2.5 Mbps upstream, bandwidth is dedicated; HFC, rates up to 42.8 Mbps and upstream rates of up to 30.7 Mbps, bandwidth is shared. FTTH: 2-10Mbps upload; 10- 20 Mbps download; bandwidth is not shared
The word protocol is often used to describe diplomatic relations. How does Wikipedia describe diplomatic protocol?
Diplomatic protocol is commonly described as a set of international courtesy rules. These well- established and time -honored rules have made it easier for nations and people to live and work together. Part of protocol has always been the acknowledgment of the hierarchical standing of all present. Protocol rules are based on the principles of civility
(T/F) 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.
False
(T/F) 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.
False
(T/F) The size of the TCP rwnd never changes throughout the duration of the connection.
False
Suppose end system A wants to send a large file to end system B. At a very high level, describe how end system A creates packets from the file. When one of these packets arrives to a router, what information in the packet does the router use to determine the link onto which the packet is forwarded? Why is packet switching in the Internet analogous to driving from one city to another and asking directions along the way?
End system A breaks the large file into chunks. It adds header to each chunk, thereby generating multiple packets from the file. The header in each packet includes the IP address of the destination(end system B). The packet switch uses the destination IP address in the packet to determine the outgoing link. Asking which road to take is analogous to a packet asking which outgoing link it should be forwarded on, given the packet's destination address.
What is the transmission rate of Ethernet LANs?
Ethernet LANs have transmission rates of 10 Mbps, 100 Mbps, 1 Gbps and 10 Gbps
What are some of the physical media that Ethernet can run over?
Ethernet most commonly runs over twisted-pair copper wire. It also can run over fibers optic links
(T/F) 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.
False
Suppose that a Web server runs in Host C on port 80. Suppose this Web server uses persistent connections, and is currently receiving requests from two different Hosts, A and B. Are all of the requests being sent through the same socket at Host C? If they are being passed through different sockets, do both of the sockets have port 80? Discuss and explain.
For each persistent connection, the Web server creates a separate "connection socket". Each connection socket is identified with a four-tuple: (source IP address, source port number, destination IP address, destination port number). When host C receives and IP datagram, it examines these four fields in the datagram/segment to determine to which socket it should pass the payload of the TCP segment. Thus, the requests from A and B pass through different sockets. The identifier for both of these sockets has 80 for the destination port; however, the identifiers for these sockets have different values for source IP addresses. Unlike UDP, when the transport layer passes a TCP segment's payload to the application process, it does not specify the source IP address, as this is implicitly specified by the socket identifier
Consider a planet where everyone belongs to a family of six, every family lives in its own house, each house has a unique address, and each person in a given house has a unique name. Suppose this planet has a mail service that delivers letters from source house to destination house. The mail service requires that (1) the letter be in an envelope, and that (2) the address of the destination house (and nothing more) be clearly written on the envelope. Suppose each family has a delegate family member who collects and distributes letters for the other family members. The letters do not necessarily provide any indication of the recipients of the letters. a. Using the solution to Problem R1 above as inspiration, describe a protocol that the delegates can use to deliver letters from a sending family member to a receiving family member. b. In your protocol, does the mail service ever have to open the envelope and examine the letter in order to provide its service?
For sending a letter, the family member is required to give the delegate the letter itself, the address of the destination house, and the name of the recipient. The delegate clearly writes the recipient's name on the top of the letter. The delegate then puts the letter in an envelope and writes the address of the destination house on the envelope. The delegate then gives the letter to the planet's mail service. At the receiving side, the delegate receives the letter from the mail service, takes the letter out of the envelope, and takes note of the recipient name written at the top of the letter. The delegate then gives the letter to the family member with this name. No, the mail service does not have to open the envelope; it only examines the address on the envelope
For the client-server application over TCP described in Section 2.7 , why must the server program be executed before the client program? For the client-server application over UDP, why may the client program be executed before the server program?
For the TCP application, as soon as the client is executed, it attempts to initiate a TCP connection with the server. If the TCP server is not running, then the client will fail to make a connection. For the UDP application, the client does not initiate connections (or attempt to communicate with the UDP server) immediately upon execution
Some content providers have created their own networks. Describe Google's network. What motivates content providers to create these networks?
Google's private network connects together all its data centers, big and small. Traffic between the Google data centers passes over its private network rather than over the public Internet. Many of these data centers are located in, or close to, lower tier ISPs. Therefore, when Google delivers content to a user, it often can bypass higher tier ISPs. What motivates content providers to create these networks?First, the content provider has more control over the user experience, since it has to use few intermediary ISPs. Second, it can save money by sending less traffic into provider networks. Third, if ISPs decide to charge more money to highly profitable content providers (in countries where net neutrality doesn't apply), the content providers can avoid these extra payments.
Is HFC transmission rate dedicated or shared among users? Are collisions possible in a downstream HFC channel? Why or why not?
HFC bandwidth is shared among the users. On the downstream channel, all packets emanate from a single source, namely, the head end. Thus, there are no collisions in the downstream channel
Suppose that there is exactly one switch between sending host and a receiving host. The transmission rates between the host and the switch and between the switch and the receiving host are R1 and R2, respectively. Assuming the switch uses store-and-forward packet switching, what is the total end-to-end delay to send a packet of length L? (Ignore queueing, propagation delay, and processing delay)
L/R1 + L/R2
Visit the Queuing and Loss applet at the companion Web site. What is the maximum emission rate and the minimum transmission rate? With those rates, what is the traffic intensity? Run the applet with these rates and determine how long it takes for packet loss to occur. Then repeat the experiment a second time and determine again how long it takes for packet loss to occur. Are the values different? Why or why not?
Maximum emission rate: 500 packets/ sec Maximum transmission rate: 350 packets/ sec Traffic intensity: 500/ 350 = 1.43 > 1 Loss will eventually occur for each experiment;but the time when loss first occurs will be different from one experiment to the next due to the randomness in the emission process
List the available residential access technologies in your city. For each type of access, provide the advertised downstream rate, upstream rate, and monthly price.
Most possibilities: Dial-up, DSL, cable modem, fiber to the home
What is the difference between network architecture and application architecture?
Network architecture: The organization of the communication process into layers Application architecture: Designed by an application developer and dictates the broad structure of the application
Consider the circuit-switched network shown in the figure below, with circuit switches A, B, C, and D. Suppose there are 10 circuits between A and B, 17 circuits between B and C, 16 circuits between C and D, and 13 circuits between D and A. Suppose that these maximum number of connections are all ongoing. What happens when another call connection request arrives to the network, will it be accepted? Answer Yes or No
No
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?
No. In a P2P file-sharing application, the peer that is receiving a file is typically the client an d the peer that is sending the file is typically the server.
What is an overlay network? Does it include routers? What are the edges in the overlay network?
One server placement philosophy is called Enter Deep, which enter deep into the access networks of Internet Service Providers, by deploying server clusters in access ISPs all over the world. The goal is to reduce delays and increase throughput between end users and the CDN servers.Another philosophy is Bring Home, which bring the ISPs home by building large CDN server clusters at a smaller number of sites and typically placing these server clusters in IXPs (Internet Exchange Points). This Bring Home design typically results in lower maintenance and management cost, compared with the enter-deep design philosophy
Referring to Figure 2.4 , we see that none of the applications listed in Figure 2.4 requires both no data loss and timing. Can you conceive of an application that requires no data loss and that is also highly time-sensitive?
One such example is remote word processing, for example, with Google docs. However, because Google docs runs over the Internet (using TCP), timing guarantees are not provided.
CDNs typically adopt one of two different server placement philosophies. Name and briefly describe them.
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.Reference paper: Torres, Ruben, et al. "Dissecting video server selection strategies in the YouTube CDN." The 31st IEEE International Conference on. Distributed Computing Systems (ICDCS),2011.Another factor to consider is ISP delivery cost-the clusters may be chosen so that specific ISPs are used to carry CDN-to-client traffic, taking into account the different cost structures in the contractual relationships between ISPs and cluster operators.
On the Internet, we use ________ to send data between end-points.
Packet switching
Assume the length of a packet is 4000 bits. The speed of light propagation delay on each link is 3x10^8 m/sec What is the propagation delay of link 1?
Propagation delay = d/s
Assume a constant transmission rate of R = 1200000 bps, a constant packet-length L = 3800 bits, and a is the average rate of packets/second. Traffic intensity I = La/R, and the queuing delay is calculated as I(L/R)(1 - I) for I < 1. Assuming that a = 28, what is the queuing delay? Give your answer in milliseconds (ms)
Queuing Delay = I(L/R)(1 - I) * 1000 I = (3800 x 28)/1200000 = 0.0886 (0.0886) x (3800/1200000) x (1-0.0886) x 1000 = 0.2557
Assume a constant transmission rate of R = 1200000 bps, a constant packet-length L = 3800 bits, and a is the average rate of packets/second. Traffic intensity I = La/R, and the queuing delay is calculated as I(L/R)(1 - I) for I < 1. Assuming that a = 74, what is the queuing delay? Give your answer in milliseconds (ms)
Queuing Delay = I(L/R)(1 - I) * 1000 I = (3800 x 74)/1200000 = 0.2343 (0.2343) x (3800/1200000) x (1-0.2343) x 1000 = 0.5681
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?
R/2
Suppose a host A wants to send a large file to host B. The path from host A to be host B has three links with rates R1=500 kbps, R2= 2Mbps, R3 = 1Mbps. Assuming there is no other traffic, what is the throughput for the transfer.
R1 = 500 kbps R2 = 2 Mbps R3 = 1 Mbps Throughput for the file transfer = min{R1,R2,R3} min(500 kbps, 2 Mbps, 1Mbps) = 500 kbps
Suppose within your Web browser you click on a link to obtain a Web page. The IP address for the associated URL is not cached in your local host, so a DNS lookup is necessary to obtain the IP address. Suppose that n DNS servers are visited before your host receives the IP address from DNS; the successive visits incur an RTT of RTT1, . . ., RTTn. Further suppose that the Web page associated with the link contains exactly one object, consisting of a small amount of HTML text. Let RTT0 denote the RTT between the local host and the server containing the object. Assuming zero transmission time of the object, how much time elapses from when the client clicks on the link until the client receives the object?
RTT1 + RTT2 +...+ RTTn 2RTTo + RTT1 + RTT2 +...+ RTTn
In BitTorrent, suppose Alice provides chunks to Bob throughout a 30-second interval. Will Bob necessarily return the favor and provide chunks to Alice in this same interval? Why or why not?
Recall that in BitTorrent, a peer picks a random peer and optimistically unchokes the peer for a short period of time. Therefore, Alice will eventually be optimistically unchoked by one of her neighbors, during which time she will receive chunks from that neighbor.
Print out the header of an e-mail message you have recently received. How many Received: header lines are there? Analyze each of the header lines in the message. R18. From a user's perspective, what is the difference between the download-and-delete mode and the download-and-keep mode in POP3?
Received:from 65.54.246.203 (EHLO bay0-omc3-s3.bay0.hotmail.com) (65.54.246.203) by mta419.mail.mud.yahoo.com with SMTP; Sat, 19 May 2007 16:53:51 -0700Received:from hotmail.com ([65.55.135.106]) by bay0-omc3-s3.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2668); Sat, 19 May 2007 16:52:42 -0700Received:from mail pickup service by hotmail.com with Microsoft SMTPSVC; Sat, 19 May 2007 16:52:41 -0700Message-ID:<[email protected]>Received:from 65.55.135.123 by by130fd.bay130.hotmail.msn.com with HTTP; Sat, 19 May 2007 23:52:36 GMTFrom:"prithula dhungel" <[email protected]>To:[email protected]:Subject:Test mailDate:Sat, 19 May 2007 23:52:36 +0000Mime-Version:1.0Content-Type:Text/html; format=flowedReturn-Path:[email protected]: A sample mail message headerReceived: This header field indicates the sequence in which the SMTP servers send and receive the mail message including the respective timestamps.In this example there are 4 "Received:" header lines. This means the mail message passed through 5 different SMTP servers before being delivered to the receiver's mail box. The last (forth) "Received:" header indicates the mail message flow from the SMTP server of the sender to the second SMTP server in the chain of servers. The sender's SMTP server is at address 65.55.135.123 and the second SMTP server in the chain is by130fd.bay130.hotmail.msn.com.The third "Received:" header indicates the mail message flow from the second SMTP server in the chain to the third server, and so on.Finally, the first "Received:" header indicates the flow of the mail messagesfrom the forth SMTP server to the last SMTP server (i.e. the receiver's mail server) in the chain. Message-id: The message has been given this number [email protected] (by bay0-omc3-s3.bay0.hotmail.com. Message-id is a unique string assigned by the mail system when the message is first created.From: Thisindicates the email address of the sender of the mail. In the given example, the sender is "[email protected]"To: This field indicates the email address of the receiver of the mail. In the example, the receiver is "[email protected]"Subject: This gives the subject of the mail (if any specified by the sender). In the example, the subject specified by the sender is "Test mail"Date: The date and time when the mail was sent by the sender. In the example, the sender sent the mail on 19th May 2007, at time 23:52:36 GMT.Mime-version: MIME version used for the mail. In the example, it is 1.0.Content-type: The type of content in the body of the mail message. In the example, it is "text/html".Return-Path: This specifies the email address to which the mail will be sent if the receiver of this mail wants to reply to the sender. This is also used by the sender's mail server for bouncing back undeliverable mail messages of mailer-daemon error messages. In the example, the return path is "[email protected]".
Which layers in the Internet protocol stack does a router process? Which layers does a link-layer switch process? Which layers does a host process?
Routers process network, link and physical layers (layers 1 through 3). (This is a little bit of a white lie, as modern routers sometimes act as firewalls or caching components, and process Transport layer as well.) Link layer switches process link and physical layers (layers 1 through2). Hosts process all five layers
Recall that TCP can be enhanced with SSL to provide process-to-process security services, including encryption. Does SSL operate at the transport layer or the application layer? If the application developer wants TCP to be enhanced with SSL, what does the developer have to do?
SSL operates at the application layer. The SSL socket takes unencrypted data from the application layer, encrypts it and then passes it to the TCP socket. If the application developer wants TCP to be enhanced with SSL, she has to include the SSL code in the application.
In our rdt protocols, why did we need to introduce sequence numbers?
Sequence numbers are required for a receiver to find out whether an arriving packet contains new data or is a retransmission
Why is it that voice and video traffic is often sent over TCP rather than UDP in today's Internet?
Since most firewalls are configured to block UDP traffic, using TCP for video and voice traffic lets the traffic though the firewalls.
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?
Source port number y and destination port number x.
Why are standards important for protocols?
Standards are important for protocols so that people can create networking systems and products that interoperate.
Telnet into a Web server and send a multiline request message. Include in the request message the If-modified-since: header line to force a response message with the 304 Not Modified status code.
Telnet is not available in Windows 7 by default. to make it available,go to Control Panel, Programs and Features, Turn Windows Features On or Off, Check Telnet client. To start Telnet, in Windows command prompt, issue the following command > telnet webserverver80 where "webserver" is some webserver. After issuing the command, you have established a TCP connection between your client telnet program and the web server. Then type in an HTTP GET message. An example is given below: GET /index.html HTTP/1.1 Host: utopia.poly.edu If-modified-since: Fri, 18 May 2007 09:23:24 GMT HTTP/ 1.1 304 Not Modified Date: Mon, 21 May 2007 15:20:05 GMT Server: APache/ 1.3.9 (Unix) ETag: "1631-3a3-3c6d478b - Since the index.html page in this web server was not modified since Fri, 18 May 2007 09:23:34 GMT, and the above commands were issued on Sat, 19 May 2007, the server returned "304 Not Modified". Note that the first 4 lines are the GET message and header lines inputed by the user, and the next 4 lines (starting from HTTP/1.1 304 Not Modified) is the response from the web server.
Starting with a root DNS server (from one of the root servers [a-m].root- servers.net), initiate a sequence of queries for the IP address for your department's Web server by using dig. Show the list of the names of DNS servers in the delegation chain in answering your query. Repeat part a) for several popular Web sites, such as google.com, yahoo.com, or amazon.com.
Terminal input: dig @a.root-servers.net cs.uiowa.edu dig @a.root-servers.net google.com
What information is used by a process running on one host to identify a process running on another host?
The IP address of the destination host and the port number of the socket in the destination process.
Why do HTTP, SMTP, and POP3 run on top of TCP rather than on UDP?
The applications associated with those protocols require that all application data be received in the correct order and without gaps. TCP provides this service whereas UDP does not.
Consider sending a packet from a source host to a destination host over a fixed route. List the delay components in the end-to-end delay. Which of these delays are constant and which are variable?
The delay components are processing delays, transmission delays, propagation delays, and queuing delays. All of these delays are fixed, except for the queuing delays, which are variable.
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.
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
Assume a constant transmission rate of R = 1200000 bps, a constant packet-length L = 3800 bits, and a is the average rate of packets/second. Traffic intensity I = La/R, and the queuing delay is calculated as I(L/R)(1 - I) for I < 1. If the buffer has a maximum size of 695 packets, how many of the 1676 packets would be dropped upon arrival from the previous question?
The number of packets dropped can be calculated by: a - buffer size (no packets are loss if less than 0) 1676 - 695 = 981
Assume a constant transmission rate of R = 1200000 bps, a constant packet-length L = 3800 bits, and a is the average rate of packets/second. Traffic intensity I = La/R, and the queuing delay is calculated as I(L/R)(1 - I) for I < 1. Assuming the router's buffer is infinite, the queuing delay is 0.5681 ms, and 1676 packets arrive. How many packets will be in the buffer 1 second later?
The number of packets left in the buffer after 1 second can be calculated by: packets - (60/qdelay) = 0
Consider a new peer Alice that joins BitTorrent without possessing any chunks. Without any chunks, she cannot become a top-four uploader for any of the other peers, since she has nothing to upload. How then will Alice get her first chunk?
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. There is a logical link (an "edge" in graph theory terms) from node A to node B if there is a semi-permanent TCP connection between A and B. An overlay network does not include routers.
For a communication session between a pair of processes, which process is the client and which is the server?
The process which initiates the communication is the client; the process that waits to be contacted is the server.
What is the difference between a host and an end system? List several different types of end systems. Is a Web server an end system?
There is no difference. Throughout this text, the words "host" and "end system" are used interchangeably. End systems include PCs, workstations, Web servers, mail servers, PDAs, Internet - connected game consoles, etc
In our rdt protocols, why did we need to introduce timers?
To handle losses in the channel. If the ACK for a transmitted packet is not received within the duration of the timer for the packet, the packet (or its ACK or NACK) is assumed to have been lost. Hence, the packet is retransmitted.
Suppose that the packet length is L= 16000 bits, and that the link transmission rate along the link to router on the right is R = 100 Mbps. What is the transmission delay?
Transmission delay = L/R 100 Mbps x 1000000 = 100000000 16000/100000000 = 0.00016
Assume the length of a packet is 4000 bits. The speed of light propagation delay on each link is 3x10^8 m/sec What is the transmission delay of link 1?
Transmission delay = L/R = 0.0004
Suppose that the packet length is L= 4000 bits, and that the link transmission rate along the link to router on the right is R = 1000 Mbps. What is the transmission delay?
Transmission delay = L/R 1000 Mbps = 1000000000 bs 4000/ 1000000000 = 4 x 10^-6
Suppose Alice and Bob are sending packets to each other over a computer network. Suppose Trudy positions herself in the network so that she can capture all the packets sent by Alice and send whatever she wants to Bob; she can also capture all the packets sent by Bob and send whatever she wants to Alice. List some of the malicious things Trudy can do from this position.
Trudy can pretend to be Bob to Alice (and vice-versa) and partially or completely modify the message(s) being sent from Bob to Alice. For example, she can easily change the phrase "Alice, I owe you $1000" to "Alice, I owe you $10,000". Furthermore, Trudy can even drop the packets that are being sent by Bob to Alice (and vise-versa), even if the packets from Bob to Alice are encrypted.
(T/F) 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.
True
(T/F) The TCP segment has a field in its header for rwnd.
True
Describe how Web caching can reduce the delay in receiving a requested object. Will Web caching reduce the delay for all objects requested by a user or for only some of the objects?
Web caching can bring the desired content "closer" to the user, possibly to the same LAN to which the user's host is connected. Web caching can reduce the delay for all objects, even objects that are not cached, since caching reduces the traffic on links.
List several popular messaging apps. Do they use the same protocols as SMS?
WhatsApp, Facebook Messenger, WeChat, and Snapchat. These apps use the different protocols than SMS
Repeat R12, but now with the Selective Repeat Java applet. How are Selective Repeat and Go-Back-N different?
When a packet was lost, GO-Back-N retransmitted all the packets whereas Selective Repeat retransmitted the lost packet only. In case of lost acknowledgement, selective repeat sent a duplicate ACK and as GO-Back-N used cumulative acknowledgment, so that duplicate ACK was unnecessary.
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.
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
Is it possible for an organization's Web server and mail server to have exactly the same alias for a hostname (for example, foo.com)? What would be the type for the RR that contains the hostname of the mail server?
With download and delete, after a user retrieves its messages from a POP server, the messages are deleted. This poses a problem for the nomadic user, who may want to access the messages from many different machines (office PC, home PC, etc.). In the download and keep configuration, messages are not deleted after the user retrieves the messages. This can also be inconvenient, as each time the user retrieves the stored messages from a new machine, all of non-deleted messages will be transferred to the new machine (including very old messages)
In Section 2.7, the UDP server described needed only one socket, whereas the TCP server needed two sockets. Why? If the TCP server were to support n simultaneous connections, each from a different client host, how many sockets would the TCP server need?
With the UDP server, there is no welcoming socket, and all data from different clients enters the server through this one socket. With the TCP server, there is a welcoming socket, and each time a client initiates a connection to the server, a new socket is created. Thus, to support n simultaneous connections, the server would need n+1sockets
In the discussion of TCP splitting in the sidebar in Section 3.7 , it was claimed that the response time with TCP splitting is approximately 4⋅RTTFE+RTTBE+processing time. Justify this claim.
X = RTTFE Y = RTTBEand ST = Search time TCP packet exchange diagram between a client and a server (Back End) with a proxy (Front End) between them.From this diagram we see that the total time is (4X + Y+ ST = 4*RTTFE+ RTTBE+ Search time)
Assume a constant transmission rate of R = 1200000 bps, a constant packet-length L = 3800 bits, and a is the average rate of packets/second. Traffic intensity I = La/R, and the queuing delay is calculated as I(L/R)(1 - I) for I < 1. In practice, does the queuing delay tend to vary a lot?
Yes
Look over your received e-mails, and examine the header of a message sent from a user with a .edu e-mail address. Is it possible to determine from the header the IP address of the host from which the message was sent? Do the same for a message sent from a Gmail account.
Yes an organization's mail server and Web server can have the same alias for a host name. The MX record is used to map the mail server's host name to its IP address.
Suppose a process in Host C has a UDP socket with port number 6789. Suppose both Host A and Host B each send a UDP segment to Host C with destination port number 6789. Will both of these segments be directed to the same socket at Host C? If so, how will the process at Host C know that these two segments originated from two different hosts?
Yes, both segments will be directed to the same socket. For each received segment, at the socket interface, the operating system will provide the process with the IP addresses to determine the origins of the individual segments
Is it possible for an application to enjoy reliable data transfer even when the application runs over UDP? If so, how?
Yes. The application developer can put reliable data transfer into the application layer protocol. However, this would require a significant amount of work and debugging
Suppose you wanted to do a transaction from a remote client to a server as fast as possible. Would you use UDP or TCP? Why?
You would use UDP. With UDP, the transaction can be completed in one roundtrip time (RTT) -the client sends the transaction request into a UDP socket, and the server sends the reply back to the client's UDP socket. With TCP, a minimum of two RTTs are needed -one to set-up the TCP connection, and another for the client to send the request, and for the server to send back the reply
Suppose users share a 2 Mbps link. Also suppose each user transmits continuously at 1 Mbps when transmitting, but each user transmits only 20 percent of the time. a. When circuit switching is used, how many users can be supported? b. For the remainder of this problem, suppose packet switching is used. Why will there be essentially no queuing delay before the link if two or fewer users transmit at the same time? Why will there be a queuing delay if three users transmit at the same time? c. Find the probability that a given user is transmitting. d. Suppose now there are three users. Find the probability that at any given time, all three users are transmitting simultaneously. Find the fraction of time during which the queue grows.
a) 2 users can be supported because each user requires half of the link bandwidth.b) Since each user requires 1Mbps when transmitting, if two or fewer users transmit simultaneously, a maximum of 2Mbps will be required. Since the available bandwidth of the shared link is 2Mbps, there will be no queuing delay before the link. Whereas, if three users transmit simultaneously, the bandwidth required will be 3Mbps which is more than the available bandwidth of the shared link. In this case, there will be queuing delay before the link.c) Probability that a given user is transmitting = 0.2d) Probability that all three users are transmitting simultaneously 3/3 x p^3 x 1-p^3-3 = 0.2^3 = 0.008. Since the queue grows when all the users are transmitting, the fraction of time during which the queue grows (which is equal to the probability that all three users are transmitting simultaneously) is 0.008.
a. How long does it take a packet of length 1,000 bytes to propagate over a link of distance 2,500 km, propagation speed 2.5⋅108 m/s, and transmission rate 2 Mbps? b. More generally, how long does it take a packet of length L to propagate over a link of distance d, propagation speed s, and transmission rate R bps? c. Does this delay depend on packet length? d. Does this delay depend on transmission rate?
a. 10 msec b. d/s c. no d. no
Consider a point-to-point link connecting a sender and a receiver that has a bandwidth of 1 packet/ms and one-way delay of 5 ms. The link is perfect and packets are never dropped. Under this setup answer the following questions: a. How long it takes to transmit 100 packets using Stop-and-Wait? b. What is the size of the window (in packets) in the Go-Back-N necessary to achieve 100% utilization (when no packets are dropped). c. How long it takes to transmit 100 packets using Go-Back-N? d. How long it takes to transmit 100 packets using Selective Repeat? (Hint: 1000 ms = 1s)
a. 100 packets Tt + 2 x Tp 1 msec+ 2 x 5ms 11 msec 11 msec x 100 packets = 1100 msec or 1.1 sec b. 5/1 = 5 1 + 2a 1 + (2 x 5) = 11 c. 10 x tp 10 x 5 = 50 Transmission delay of 100 packets: 100 x 1 = 100 msec Propagation delay: 100(2 x tp) - 10 x tp 200 tp - 10tp 190tp = 950 ms 100 + 950 = 1050 msec or 1.05 sec d. 11 - 2 tp 99 - 2 x 9 tp = 18tp 20 tp - 20 x 5 = 100 msec so 100 x 1 + 100 msec = 200 msec or 0.2 sec
Visit the Transmission Versus Propagation Delay applet at the companion Web site. Among the rates, propagation delay, and packet sizes available, find a combination for which the sender finishes transmitting before the first bit of the packet reaches the receiver. Find another combination for which the first bit of the packet reaches the receiver before the sender finishes transmitting.
a. 1000 km, 1 Mbps, 100 bytes b. 100 km, 1 Mbps, 100 bytes
Suppose Host A sends two TCP segments back to back to Host B over a TCP connection. The first segment has sequence number 90; the second has sequence number 110. a. How much data is in the first segment? b. Suppose that the first segment is lost but the second segment arrives at B. In the acknowledgment that Host B sends to Host A, what will be the acknowledgment number?
a. 20 bytes b. ack number = 90
Suppose Host A wants to send a large file to Host B. The path from Host A to Host B has three links, of rates R1=500 kbps, R2=2 Mbps, and R3=1 Mbps. a. Assuming no other traffic in the network, what is the throughput for the file transfer? b. Suppose the file is 4 million bytes. Dividing the file size by the throughput, roughly how long will it take to transfer the file to Host B? c. Repeat (a) and (b), but now with R2 reduced to 100 kbps.
a. 500 kbps b. 64 seconds c. 100 kbps; 320 seconds
The internet is: a. A collection of billions of computing devices and packet switched interconnected by links b. A platform for building network applications c. A network of networks d. A place I go for information, entertainment, and to communication with people
a. A collection of billions of computing devices and packet switched interconnected by links
Suppose the network layer provides the following service. The network layer in the source host accepts a segment of maximum size 1,200 bytes and a destination host address from the transport layer. The network layer then guarantees to deliver the segment to the transport layer at the destination host. Suppose many network application processes can be running at the destination host. a. Design the simplest possible transport-layer protocol that will get application data to the desired process at the destination host. Assume the operating system in the destination host has assigned a 4-byte port number to each running application process. b. Modify this protocol so that it provides a "return address" to the destination process. c. In your protocols, does the transport layer "have to do anything" in the core of the computer network?
a. Call this protocol Simple Transport Protocol (STP). At the sender side, STP accepts from the sending process a chunk of data not exceeding 1196 bytes, a destination host address, and a destination port number. STP adds a four-byte header to each chunk and puts the port number of the destination process in this header. STP then gives the destination host address and the resulting segment to the network layer. The network layer delivers the segment to STP at the destination host. STP then examines the port number in the segment, extracts the data from the segment, and passes the data to the process identified by the port number. b.The segment now has two header fields: a source port field and destination port field. At the sender side, STP accepts a chunk of data not exceeding 1192 bytes,a destination host address, a source port number, and a destination port number. STPcreates a segment which contains the application data, source port number,and destination port number. It then gives the segment and the destination hostaddress to the network layer. After receiving the segment, STP at the receivinghost gives the application process the application data and the source port number. c. No, the transport layer does not have to do anything in the core; the transport layer "lives" in the end systems.
Suppose a very large website wants a mechanism by which clients' access whichever of multiple HTTP servers is "closest" by some suitable measure. a. Discuss developing a mechanism within HTTP for doing this. b. Discuss developing a mechanism within DNS for doing this. Compare the two. Can either approach be made to work without upgrading the browser?
a. HTTP redirecting is used where servers can redirect to a specific location. b. The developing mechanism within DNS is when the client service sends a name to servers and if there is no response it then sends it to servers on every adapter instead of just preferred ones. The time is increased after each wait and both approaches can be made to work without an upgrade.
Referring to the previous setup, suppose the HTML file references eight very small objects on the same server. Neglecting transmission times, how much time elapses with: a. Non-persistent HTTP with no parallel TCP connections? b. Non-persistent HTTP with the browser configured for 5 parallel connections? c. Persistent HTTP?
a. RTT1 + ... + RTTn + 2RTTo + 8 x 2RTTo = 18RTTo + RTT1 + ... + RTTn b. RTT1 + ... + RTTn + 2RTTo + 2 x 2RTTo = 6RTTo + RTT1 + ... + RTTn c. RTT1 + ... + RTTn + 2RTTo + RTTo = 3RTTo + RTT1 + ... + RTTn
Visit the Go-Back-N Java applet at the companion Web site. a. Have the source send five packets, and then pause the animation before any of the five packets reach the destination. Then kill the first packet and resume the animation. Describe what happens. b. Repeat the experiment, but now let the first packet reach the destination and kill the first acknowledgment. Describe again what happens. c. Finally, try sending six packets. What happens?
a. The packet loss caused a time out after which all the five packets were retransmitted b. Loss of an ACK didn't trigger any retransmission as Go-Back-N uses cumulative acknowledgements. c. The sender was unable to send sixth packet as the send window size is fixed to 5.
4. Consider the following code fragment that describes a generic implementation for a TCP server that uses sockets and select. serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #bind the socket to a public host, and a well-known port serversocket.bind(('localhost', '8080')) serversocket.listen(5) clients = [] while True: read_list = clients[:] read_list.extend(serversocket) read_list,__,__ = select.select(read_list, [], []) for ready_socket in read_list: if ready_socket == serversocket: (clientsocket, address) = serversocket.accept() clients.append(clientsocket) else: x = ready_socket.recv(10) process(x) Based on the above code answer the following questions: a. Assume that you started the server but no clients have yet opened any connection. How will the above code behave? b. Assume that prior to calling the select method, you have two clients A and B that have opened connections to your server. Additionally, assume that A has sent 20 bytes and B has sent 5 bytes. In this scenario, describe what is the behavior of the server until it blocks. Specifically, in your description focus on what is the input and the output to the select call and how many bytes are read in each iteration.
a. The server will continue to run until it's interrupted because of the line while True and the loop that follows, as it waits for a client connection b. Bnce the bytes are sent from both clients, the for loop would iterate through the else statement and receive the first 10 bytes from Client A and process that information. Next, it would loop back through to receive the next 10 bytes from Client A that it didn't receive the first time. Finally, the remaining 5 bytes from Client B would be received since the .recv command can receive a maximum of 10 bytes at a time.
The text below shows the reply sent from the server in response to the HTTP GET message in the question above. Answer the following questions, indicating where in the message below you and the answer. HTTP/1.1 200 OK<cr><lf> Date: Tue, 07 Mar 2008 12:39:45GMT<cr><lf> Server: Apache/2.0.52 (Fedora)<cr><lf> Last-Modified: Sat, 10 Dec2005 18:27:46 GMT<cr><lf> ETag: 526c3-f22-a88a4c80<cr><lf> Accept- Ranges: bytes<cr><lf> Content-Length: 3874<cr><lf> Keep-Alive: timeout=max=100<cr><lf> Connection: Keep-Alive<cr><lf> Content-Type: text/html; charset=ISO-8859-1<cr><lf><cr><lf> <html><lf><head><lf> <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1> <lf> <meta name=GENERATOR content=Mozilla/4.79 [en] (Windows NT 5.0; U) Netscape]><lf> <title>CMPSCI 453 / 591 / NTU-ST550A Spring 2005 homepage </title><lf></head> <lf> <much more document text following here (not shown)> a. Was the server able to successfully find the document or not? b. What time was the document reply provided? c. How many bytes are there in the document being returned? d. What are the first 5 bytes of the document being returned? e. Did the server agree to a persistent connection?
a. Yes the server was able to successfully find the document b. Tuesday, 07 Mar 2008 12:39:45 Greenwich Mean Time c. 3874 bytes d. <html e. The line "Connection: Keep-Alive<cr><lf>" indicates the server agreed to a persistent connection
A dropped packet may be determined using one of the following ways: a. sequence numbers alone b. both sequence numbers and packet latency are required c. packet latency alone d. checksum
b. both sequence numbers and packet latency are required
Which of the following statements about an application that uses UDP are true: a. provides congestion control b. reliable communication c. data may be lost d. data is delivered in order
c. data may be lost
A corrupted packet may be detected using which one of the following ways: a. sequence number b. packet latency c. when you get a "400 Bad Request" error d. checksum
d. checksum
Write a formula to calculate the time required to transmit x kB on a link rated at y Mbps
x KB / y Mbps = x(1024) B / y Mbps