Chapter 1 Computer Network and the Internet
Review Questions Solution
R1. What is the difference between a host and end system? List several different types of end system. Is a Web server an end system?
There is no difference between a host and an end system. End systems include PCs, workstations, web servers, mail servers, game consoles. Web server is an end system for sure.
R2. Describe the protocol that might be used by two people having a telephonic conversation to initiate and end the conversation.
Two people may start the telephonic conversation by saying “hello” to each other first. To end the conversation, they have to say “bye” to each other.
R3. Why are standards important for protocols?
Standards are important for protocols so that people can create networking systems and products that interoperate.
R4. List six access technologies. Classify each one as home access, enterprise access, or wide-aree wireless access.
- Dial-up modem over telephone line - home
- DSL over telephone line - home
- Cable to HFC - homne
- 100 Mbps switched Ethernet - enterprise
- Wifi (802.11) - home and enterprise
- 4G and 5G - wide-are wireless
R5. 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.
R6. What access network technologies would be most suitable for providing Internet access in rural areas?
4G and 5G will be most suitable in rural areas. In rural areas, it is hard to use Dial-up modem, DSL, or Cable to HFC. The biggest difference between city and rural is homes in rural areas are much more sparse than city. 4G and 5G does not require any cable to access to internet.
R7. Dial-up modems and DSL both use the telephone line (a twisted-pair copper cable) as their transmission medium. Why then is DSL much faster than dial-up access?
Like dialup, DSL uses the phone line to transfer data. However, unlike dialup, DSL operates at a much higher frequency, so the data doesn’t interfere with the voice data, meaning that you can use the phone and internet at the same time. So, in most of the time, DSL is much faster than dial-up.
R8. 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.
R9. 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.
R10. Describe the different wireless technologies you use during the day and their characteristics. If you have a choice between multiple technologies, why do you prefer one over another?
There are two popular wireless Internet access technologies today:
- Wifi (802.11) In a wireless LAN, wireless users transmit/receive packets to/from an base station (i.e., wireless access point) 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.
- 4G and 5G wide-area wireless access networks. In these systems, packets are transmitted over the same wireless infrastructure used for cellular telephony, with the base station thus being managed by a telecommunications provider. This provides wireless access to users within a radius of tens of kilometers of the base station.
R11. 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, respec- tively. 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 queu- ing, propagation delay, and processing delay.)
At time t0 the 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.
R12. 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 theduration 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.
R13. 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. (See the discussion of statistical multiplexing in Section 1.3.)
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.
- 2 users can be supported because each user requires half of the link bandwidth.
- 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.
- Probability that a given user is transmitting = 0.2
- 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.
R14. Why will two ISPs at the same level of the hierarchy often peer with each other? How does an IXP earn money?
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 (intermediary), to 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 Points (IXP) (typically in a standalone building with its own switches) is a meeting point where multiple ISPs can connect and/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.
R15. Why is a content provider considered a different Internet entity today? How does a content provider connect to other ISPs? Why?
some content providers created their own network. For example, Google, Google’s private network connects together all its data centers, big and small. A content provider connect to other ISPs by using internet access provided by ISPs. For example, Google’s data center are close to lower tier ISPs. Therefore, when Google delivers content to a user, it often can bypass higher tier ISPs.
R16. 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.
R17. 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.
- Length 10 km, Rate 100 Mbps Packet size 100 bytes
- Length 10 km, Rate 1 Mbps Packet size 100 bytes
R18. A user can directly connect to a server through either long-range wireless or a twisted-pair cable for transmitting a 1500-bytes file. The transmission rates of the wireless and wired media are 2 and 100 Mbps, respectively. Assume that the propagation speed in air is 3 x 10^8 m/s, while the speed in the twisted pair is 2 x 10^8 m/s. If the user is located 1 km away from the server, what is the nodal delay when using each of the two technologies?
The nodal delay = process delay + transmission delay + queueing delay + proppagation delay. We assume that process delay and queueing delyis negligible here. Nodal delay for long-rang wireless is 1500/(2x125000) + 1000/(3x10^8) = 0.006 + 0.00000333 = 6.003 ms. Nodal delay for twisted-par cable is 1500/(100*125000) + 1000/(2x10^8) = 0.123 ms
R19. 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) 500kbs
- (b) 4x10^6 / (500*125) = 64 seconds
- © 100kps 4*10^6 / (100x125) = 320 seconds
R20. 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 packet switch, what information in the packet does the switch 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.
R21. 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?
The maximum emission rate is 500 packets/sec and the maximum transmission rate is 350 packets/sec. The corresponding traffic intensity is 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.
R22. If two end-systems are connected through multiple routers and the data-link level between them ensures reliable data delivery, is a transport protocol offer- ing reliable data delivery between these two end-systems necessary? Why?
Although the data-link level can ensures reliable data delivery, in some cases, transport protocl can provide error checking and correction recovery from erros.
R23. What are the five layers in the Internet protocol stack? What are the principal responsibilities of each of these layers?
The five layers in the Internet protocol stack are – from top to bottom – the application layer, the transport layer, the network layer, the link layer, and the physical layer.
R24. What do encapsulation and de-encapsulation mean? Why are they needed in
a layered protocol stack?
Data Encapsulation is the process in which some extra information is added to the data item to add some features to it. Data De-encapsulation is the reverse process of data encapsulation. The encapsulated information is removed from the received data to obtain the original data. The most important feature that it adds is the security and reliability of data transmission between two nodes in a network.
R25. 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.
Chapter 2 Application Layer
Review Questions Solution
R1. List five nonproprietary Internet applications and the application-layer protocols that they use.
- The Web: HTTP
- Remote login: Telnet
- Network News: NNTP
- e-mail: SMTP.
- File transfer: FTP
R2. What is the difference between network architecture and application architecture?
Network architecture: The process of organizing the communication process into the layers is called network architecture. Or it can be considered as the design of the communication network.
Application Architecture: The architecture which is designed by the application developer is called Application Architecture. This type of architecture dictates the complete or broad structure of an application.
R3. 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.
R4. Why are the terms client and server still used in peer-to-peer applications?
All communication sessions have a client side and a server side. In a P2P application, the peer that is receiving a file is typically the client and the peer that is sending the file is typically the server.
R5. 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 destination socket.
R6. What is the role of HTTP in a network application? What other components are needed to complete a Web application?
HTTP used to encode and transport information between client and the server in a network application. To complete a web application, we still need clients, servers and UI components.
R7. 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?
Network games, network multimedia applications
R8. 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) pro- vides such a service.
- Reliable data transfer:- TCP only
- A guarantee that a certain value for throughput will be maintained:-Neither TCP nor UDP.
- A guarantee that data will be delivered within a specified amount of time:- Neither TCP nor UDP.
- Security:- Neither TCP nor UDP.
R9. 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, he/she has to include the SSL code in the application.
R10. 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.
R11. What does a stateless protocol mean? Is IMAP stateless? What about SMTP?
HTTP is a stateless protocl. This means a HTTP server needs not keep track of any state information. IMAP is a state protocl. SMTP is a stateless protocol.
R12. How can websites keep track of users? Do they always need to use cookies?
Websites can track what each user does on their site and what pages they visit by their IP address. When the user first visits the site, the site returns 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.
R13. 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? Why?
Web caching can bring the desired content “closer” to the user, perhaps 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.
R14. 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.
Skipped
R15. 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.
There is no constraint on the format of the HTTP body, it can be any format. The message body of SMTP must be in 7-bit ASCII. SMTP can transimit arbitrary data because all the data can be encoded to ASCII. After this, SMTP will send out this message.
R16. 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.
Message is 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.
R17. 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.
Skipped
R18. Assume you have multiple devices, and you connect to your email provider
using POP3. You retrieve messages with the “download and keep” strategy from multiple devices. Can your email client tell if you have already read the message in this scenario?
My email client cannot tell if I have already read the message because we retrieve messages with the “download and keep” strategy. For each time we read the email from a new client, there is no way to know if the message has been download on other devices before.
R19. Why are MX records needed? Would it not be enough to use a CNAME record? (Assume the email client looks up email addresses through a Type A query and that the target host only runs an email server.)
Mail Exchange (MX) records are DNS records that are necessary for delivering email to your address. In simple DNS terms, an MX record is used to tell the world which mail servers accept incoming mail for your domain and where emails sent to your domain should be routed to. If your MX records are not pointed to the correct location, you will not receive email. CNAME cannot be used to delivery emails because it used to redirect from your domain’s subdomain to another domain/subdomain.
R20. What is the difference between recursive and iterative DNS queries?
Iterative DNS queries are ones in which a DNS server is queried and returns an answer without querying other DNS servers, even if it cannot provide a definitive answer. Iterative queries are also called non-recursive queries.
Recursive DNS queries occur when a DNS client requests information from a DNS server that is set to query subsequent DNS servers until a definitive answer is returned to the client. The queries made to subsequent DNS servers from the first DNS server are iterative queries.
R21. Under what circumstances is file downloading through P2P much faster than through a centralized client-server approach? Justify your answer using Equation 2.2.
When there are peers that near to the host and have the files that the host want to download.
R22. 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?
Alice will get her first chunk as a result of she being selected by one of her neighbors as a result of an “optimistic unchoke,” for sending out chunks to her.
R23. Assume a BitTorrent tracker suddenly becomes unavailable. What are its consequences? Can files still be downloaded?
If the tracker fails or is unreachable, the system becomes unavailable to new peers, so they can not obtain the file or contribute resources to the system. Fiels still can be downloaded for old peers.
R24. CDNs typically adopt one of two different server placement philosophies. Name and briefly describe them.
- Enter deep:
it is pioneered by Akamai. It deploys server clusters in access ISPs (ISPs direct accessing end users) all over the world.
The goal of Enter deep is to get close to end users, thereby improving user-perceived delay and throughput by decreasing the number of links.
Routers between the end user and then CDN cluster from which it receives content. Because of this highly distributed design, the task of maintaining and managing the clusters become challenging.- Bring home:
It can be taken by Limelight and other CDN companies; it brings the ISPs home by building large clusters at a smaller number of key locations and connecting these clusters using a private high-speed network.
Instead of getting inside the access ISPs, these CDNs typically place each cluster at a location that is simultaneously near the point of presence of many tier-1 ISPs.
Compared with the enter-deep design, the bring-home design typically results in lower maintenance and management overhead, possibly at the expense of higher delay and lower throughout to end users.
R25. 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?
There are many important additional factors available, form those few will be going to considered while designing the cluster selection strategy.
ISP delivery cost
Load on the clusters
The description of the important factors is The clusters may be chosen based on different cost structures, so that the ISP delivery cost is minimized. In Load on the clusters, we should be bothered when a client is to be directed to a cluster, so that the client is not directed to an overloaded cluster.
R26. 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?
The reason is that TCP has two different kinds of state that you want to control, whereas UDP has only one. Still two sockets are needed. The number of sockets needed by TCP does not rely on the number of simulataneous connections.
R27. 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?
In TCP, server program has to be executed because server needed to wait 3-way handshaking from the client. In UDP, there is not such 3-way handshaking, it does not matter either the server program or client program executed first.
Chapter 3 Computer Network and the Internet
Review Questions Solution
R1. 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 des- tination host address from the transport layer. The network layer then guaran- tees 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 applica- tion data to the desired process at the destination host. Assume the operat- ing 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 destina- tion process.
c. In your protocols, does the transport layer “have to do anything” in the core of the computer network?**
a The Simple Transport Protocol takes data not exceeding 1196 bytes at the sender side. It accepts four byte of destination port number and host address.The Simple Transport Protocol gives the destination host address and the resulting segment to the network layer.The network layer sends the segment to Simple Transport Protocol at the destination host.The Simple Transport Protocol observes the port number.Abstracts the data from the segment in the Simple Transport Protocol.Finally, send the data to the process recognized by the port number.
b Consider the two header fields in the segment:
Source port field
Destination port field
The Simple Transport Protocol creates application data, source and destination port numbers in the segment. It sends the destination host address to the network layer. Then, The Simple Transport Protocol is receiving host address and provides the process the source port number and the application data.
c No, the transport layer does not have to do anything in the core.The reason is that, the transport layer “lives” in the end systems.
R2. 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?
a Sender has to provide the address of the destination name. It is written by the delegate to the planet’s mail service.After receive the destination address, the envelop the written on the top details.
b No. The mail service ever have not to open the envelope and examine the letter in order to provide its service.
**R3. How is a UDP socket fully identified? What about a TCP socket? What is the difference between full identification of both sockets?
An UDP socket is fully identified by a two-tuple consisting of a destination IP address and a destination port number and a TCP socket is identified by a four-tuple: source IP address, source port number, destination IP address, destination port number.
R4. Describe why an application developer might choose to run an application over UDP rather than TCP?
The TCP’(transmission control protocol) can choke the application’s sending rate at times of bottleneck. The UDP( user datagram protocol) does not keep joining state and does not track any of the limits. Even though data transfer by TCP is dependable, some applications do not need dependable TCP data transfer. So, UDP (user datagram protocol) rather than TCP (transmission control protocol)
R5. Why is that voice and video traffic is often sent over TCP rather than UDP in today’s Internet?
Most firewalls are configured to block UDP traffic, using TCP for video and voice traffic lets the traffic though the firewalls. So, that voice and video traffic is often sent over TCP rather than UDP in today’s Internet.
R6. Is it possible for an application to enjoy reliable datra transfer even when the application runs over UDP? If so, how?
Yes.The application developer can put consistent data transfer into the application layer protocol. It contains a significant amount of work and debugging.
R7. Suppose a process in Host C has a UDP socket with port number 6789. Sup- pose both Host A and Host B each send a UDP segment to Host C with desti- nation 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.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.
R8. 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
R9. In our rdt protocols, why did we need to introduce sequence numbers?
Sequence numbers are necessary for a receiver to find out whether an arriving packet contains new data or is a retransmission in our rdt protocols.
R10. 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.
R11. 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.
Yes, a timer still is necessary in protocol rdt 3.0.Reason: Assume the packet is loss, the sender knows the round trip delay time. It is used for estimate the transfer packet time.
R12. 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.Have the source send five packets, and then pause the animation before and of the fivepacket reach the destination. Then kill the first packet and resume the animation. Describe what happens.-The packets were received out of order and no packets were acknowledged. The packets werethen retransmitted. Once they were retransmitted and received and ACK was sent to the sender.
B.Repeat the experiment, but now let the first packet reach the destination and kill the firstACK. Describe what happens.-The first ACK was lost but the others made it to the sender and their timers were stopped.
C.Finally, try sending six packets. What happens?-It only lets you send 5 packets out at once. Before the sixth packet can be sent you must wait forthe first packet to finish the ACK.
R13. Repeat R12, but now with the Selective Repeat Java applet. How are Selective Repeat and Go-Back-N different?
Selective Repeat java applet protocol:If sender sent more than one packet, it reaches the destionation might be one packet is killed and other packets stored in buffer at end receiver.The receiver send acknowldgement to sender, but the sender does not receiver acknowldgement.
Go-Bank-N protocol:If sender sent more than one packet, it reaches the destionation might be one packet is killed and other packets reached destination without buffering. The receiver does not send acknowldgement to sender, but the sender receive acknowldgement.
R14. True or False?
-
a. 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
-
b. The size of the TCP rwnd never changes throughout the duration of the connection. False
-
c. 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
-
d.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
-
e.The TCP segment has a field in its header for rwnd. True
-
f. Suppose that the last SampleRTT in a TCP connection is equal to 1 sec. The current value of TimeoutInterval for the connection will neces- sarily be ≥ 1 sec. False
-
g. 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
R15. 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. Consider sequence numbers, First segment = 90,Second segment = 110, data in the first segment = 110 - 90 = 20
b. Consider the first segment is lost but the second segment arrives at B. In the acknowledgment that Host B sends to Host A, then the acknowledgment number will be first segment of sequence number, that is 90.
R16. 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?
Segment | Sequence number | Acknowledgment field |
---|---|---|
First segment | seq=43 | ack=80 |
Second segment | seq=80 | ack=44 |
Third segment | seq=44 | ack=81 |
R17. Consider two hosts, Host A and Host
R18. 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. The slow start threshold(ssthresh) is set to one half of its previous value in the congestion window.