Computer networking kurose 6th edition pdf download






















For competitive exams, this book can not perform well, so choose this book if want to develop skill of networking. If you found this blog helpful to you then please feel free to tell us, and If you want any pdf which is not available here, unfortunately.

Social Plugin. Get this PDF into your mailbox Get all latest content delivered straight to your inbox. Most Recent. Random Posts. Popular Post. Menu Footer Widget. If you are looking for a reviewer in datacom topic. Kurose and K. Ross "Tell me and I forget. Show me and I remember. Chapter 1. There, she swam parallel to the shore for half a mile, and then back.

Instead of the pockets of families dotting the sand, there was only the occasional straggler. She bent for her sunglasses, slid them on, then straightened, coming face-to-face with Detective Jacob Madden. He looked great when he was smiling.

Computer Networking First-Step. Your first step into the world of computer networking No experience required Includes clear and easily understood explanations Makes learning easy Your first step to computer networking begins here! Learn basic networking terminology Understand how information is routed from place to place Explore Internet connectivity secrets Protect your computer from intrusion Build local-area networks LANs Welcome to the world of networking!

Networking and the Internet touch our lives in untold ways every day. From connecting our computers together at home and surfing the net at high speeds to editing and sharing digital music and video, computer networking has become both ubiquitous and indispensable. 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.

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.

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

Five generic tasks are error control, flow control, segmentation and reassembly, multiplexing, and connection setup. Yes, these tasks can be duplicated at different layers. For example, error control is often provided at more than one layer. 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.

The principal responsibilities are outlined in Section 1. Application-layer message: 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.

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. Classic example: E-mail viruses. Worm in infected host scans IP addresses and port numbers, looking for vulnerable processes to infect. Creation of a botnet requires an attacker to find vulnerability in some application or system e.

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.

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

Chapter 1 Problems Problem 1 There is no single right answer to this question. Many protocols would do the trick. Problem 3 a A circuit-switched network would be well suited to the application, because the application involves long sessions with predictable smooth bandwidth requirements. Since the transmission rate is known and not bursty, bandwidth can be reserved for each application session without significant waste. In addition, the overhead costs of setting up and tearing down connections are amortized over the lengthy duration of a typical application session.

However, since each link has sufficient bandwidth to handle the sum of all of the applications' data rates, no congestion very little queuing will occur. Given such generous link capacities, the network does not need congestion control mechanisms.

Problem 4 a Between the switch in the upper left and the switch in the upper right we can have 4 connections. Similarly we can have four connections between each of the 3 other pairs of adjacent switches.

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.

Each connection socket is identified with a four-tuple: source IP address, source port number, destination IP address, destination port number. 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. Sequence numbers are required for a receiver to find out whether an arriving packet contains new data or is a retransmission.

To handle losses in the channel. Hence, the packet is retransmitted. A timer would still be necessary in the protocol rdt 3. 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. After the timeout, sender retransmitted the lost packet and receiver delivered the buffered packets to application in correct order. False, it is set to half of the current value of the congestion window. Consider the following timing diagram.

Note that a, b, c are distinct. To detect errors, the receiver adds the four words the three original words and the checksum. If the sum contains a zero, the receiver knows there has been an error. All one-bit errors will be detected, but two-bit errors can be undetected e.

Problem 4 a Adding the two bytes gives Problem 5 No, the receiver cannot be absolutely certain that no bit errors have occurred.

This is because of the manner in which the checksum for the packet is calculated. If the corresponding bits that would be added together of two bit words in the packet were 0 and 1 then even if these get flipped to 1 and 0 respectively, the sum still remains the same. Hence, the 1s complement the receiver calculates will also be the same. This means the checksum will verify even if there was transmission error. However, the ACK is corrupted. When the rdt2.

However, the receiver is waiting for a packet with sequence number 0 and as shown in the home work problem always sends a NAK when it doesn't get a packet with sequence number 0. Hence the sender will always be sending a packet with sequence number 1, and the receiver will always be NAKing that packet. Neither will progress forward from that state. Problem 7 To best answer this question, consider why we needed sequence numbers in the first place.

We saw that the sender needs sequence numbers so that the receiver can tell if a data packet is a duplicate of an already received data packet. In the case of ACKs, the sender does not need this info i. A duplicate ACK is obvious to the rdt3. Problem 8 The sender side of protocol rdt3.

We have seen that the introduction of timeouts adds the possibility of duplicate packets into the sender-to-receiver data stream. However, the receiver in protocol rdt. Receiver-side duplicates in rdt 2. Hence the receiver in protocol rdt2. Problem 9 Suppose the protocol has been in operation for some time. The scenarios for corrupted data and corrupted ACK are shown in Figure 1. If the timeout event occurs, the most recently transmitted packet is retransmitted.

Let us see why this protocol will still work with the rdt2. Suppose now that an ACK is lost. The receiver will eventually retransmit the packet on a timeout. But a retransmission is exactly the same action that if an ACK is garbled. Thus the sender's reaction is the same with a loss, as with a garbled ACK. The rdt 2.

Problem 11 If the sending of this message were removed, the sending and receiving sides would deadlock, waiting for an event that would never occur. Now, the ender is awaiting an ACK of some sort from the receiver, and the receiver is waiting for a data packet form the sender — a deadlock! Problem 12 The protocol would still work, since a retransmission would be what would happen if the packet received with errors has actually been lost and from the receiver standpoint, it never knows which of these events, if either, will occur.

To get at the more subtle issue behind this question, one has to allow for premature timeouts to occur. In this case, if each extra copy of the packet is ACKed and each received extra ACK causes another extra copy of the current packet to be sent, the number of times packet n is sent will increase without bound as n approaches infinity. On the other hand, if data is being sent often, then recovery under a NAK-only scheme could happen quickly.

Problem 15 It takes 12 microseconds or 0. In order for the sender to be busy 98 percent of the time, we must have or n approximately packets. Problem 16 Yes.

This actually causes the sender to send a number of pipelined data into the channel. Here is one potential problem. If data segments are lost in the channel, then the sender of rdt 3. Data packets have a data field and carry a two-bit sequence number. That is, the valid sequence numbers are 0, 1, 2, and 3. Note: you should think about why a 1-bit sequence number space of 0, 1 only would not work in the solution below. ACK messages carry the sequence number of the data packet they are acknowledging.

The FSM for the sender and receiver are shown in Figure 2. A timeline trace for the sender and receiver recovering from a lost packet is shown below: Figure 2: Sender and receiver for Problem 3. Because the channel may lose messages and because the sender may resend a message that one of the receivers has already received either because of a premature timeout or because the other receiver has yet to receive the data correctly , sequence numbers are needed.

As in rdt3. The sender and receiver FSM are shown in Figure 3. The receiver state indicates which sequence number the receiver is waiting for. Figure 3. Sender and receiver for Problem 3. Because the channel delays are variable and unknown, it is possible that A will send duplicate requests i.

To be able to detect duplicate request messages, the protocol will use sequence numbers. Here the requestor is waiting for a D0 data message from B. A timer is always running in this state.

If the timer expires, A sends another R0 message, restarts the timer and remains in this state. If A receives a D1 data message while in this state, it is ignored. Here the requestor is waiting for a D1 data message from B. If the timer expires, A sends another R1 message, restarts the timer and remains in this state. If A receives a D0 data message while in this state, it is ignored. If B receives a R1 message, then it knows its D0 message has been received correctly.

Suppose the receiver has received packet k-1, and has ACKed that and all other preceding packets. Suppose next that none of the ACKs have been received at the sender. In this second case, the sender's window contains k-1 and the N packets up to and including k The sender's window is thus [k-N,k-1]. By these arguments, the senders window is of size 3 and begins somewhere in the range [k-N,k].

Because the sender has sent packets [k-N, k-1], it must be the case that the sender has already received an ACK for k-N Thus the range of in- flight ACK values can range from k-N-1 to k Problem 23 In order to avoid the scenario of Figure 3. That is, the sequence number space must be large enough to fit the entire receiver window and the entire sender window without this overlap condition.

So - we need to determine how large a range of sequence numbers can be covered at any given time by the receiver and sender windows. Suppose that the lowest-sequence number that the receiver is waiting for is packet m.

If none of those w ACKs have been yet received by the sender, then ACK messages with values of [m-w,m-1] may still be propagating back. Suppose the sender has a window size of 3 and sends packets 1, 2, 3 at t 0. At resends 1, 2, 3. At t 3 the receiver receives the duplicates and re-acknowledges 1, 2, 3. At t 4 the sender receives the ACKs that the receiver sent at t1 and advances its window to 4, 5, 6.

At t 5 the sender receives the ACKs 1, 2, 3 the receiver sent at t 2. These ACKs are outside its window. By essentially the same scenario as in a. Note that with a window size of 1, SR, GBN, and the alternating bit protocol are functionally equivalent. The window size of 1 precludes the possibility of out-of- order packets within the window. A cumulative ACK is just an ordinary ACK in this situation, since it can only refer to the single packet within the window.

Problem 25 a Consider sending an application message over a transport protocol. UDP, on the other hand, encapsulates in a segment whatever the application gives it; so that, if the application gives UDP an application message, this message will be the payload of the UDP segment. Thus, with UDP, an application has more control of what data is sent in a segment. UDP does not have delays due to flow control and congestion control. Rather, it increments by the number of bytes of data sent.

Problem 27 a In the second segment from Host A to B, the sequence number is , source port number is and destination port number is Still, host A sends data into the receive buffer faster than Host B can remove data from the buffer. The receive buffer fills up at a rate of roughly 40Mbps. On average, the long-term rate at which Host A sends data to Host B as part of this connection is no more than 60Mbps.

Half-open connections are not possible since a server using SYN cookies does not maintain connection variables and buffers for any connection before full connections are established. For establishing fully open connections, an attacker should know the special initial sequence number corresponding to the spoofed source IP address from the attacker. This sequence number requires the "secret" number that each server uses.

Since the attacker does not know this secret number, she cannot guess the initial sequence number. Problem 30 a If timeout values are fixed, then the senders may timeout prematurely.

Thus, some packets are re-transmitted even they are not lost. But there might be one potential problem. Queuing delay might be very large, similar to what is shown in Scenario 1.

Suppose the source sends packet P1, the timer for P1 expires, and the source then sends P2, a new copy of the same packet. Finally suppose that shortly after transmitting P2 an acknowledgment for P1 arrives. The source will mistakenly take this acknowledgment as an acknowledgment for P2 and calculate an incorrect value of SampleRTT. Problem 34 At any given time t, SendBase — 1 is the sequence number of the last byte that the sender knows has been received correctly, and in order, at the receiver.

The actually last byte received correctly and in order at the receiver at time t may be greater if there are acknowledgements in the pipe. The actual last byte SendBase or if there are other acknowledgements in the pipe. The designers of the triple duplicate ACK scheme probably felt that waiting for two packets rather than 1 was the right tradeoff between triggering a quick retransmission when needed, but not retransmitting prematurely in the face of packet reordering.

Problem 37 a GoBackN: A sends 9 segments in total. They are initially sent segments 1, 2, 3, 4, 5 and later re- sent segments 2, 3, 4, and 5.

B sends 8 ACKs. Selective Repeat: A sends 6 segments in total. They are initially sent segments 1, 2, 3, 4, 5 and later re- sent segments 2. B sends 5 ACKs. They are 4 ACKS with sequence number 1, 3, 4, 5.

And there is one ACK with sequence number 2. TCP: A sends 6 segments in total. They are 4 ACKS with sequence number 2. There is one ACK with sequence numbers 6. This is because TCP uses fast retransmit without waiting until time out. With increased loss, even a larger fraction of the packets leaving the queue will be retransmissions.

If there was a timeout, the congestion window size would have dropped to 1. When loss is detected during transmission round 16, the congestion windows size is Hence the threshold is 21 during the 18th transmission round.

When loss is detected during transmission round 22, the congestion windows size is Hence the threshold is 14 taking lower floor of Thus packet 70 is sent in the 7th transmission round. Thus the new values of the threshold and window will be 4 and 7 respectively. So, the total number is Problem 41 Refer to Figure 5. In Figure 5 a , the ratio of the linear decrease on loss between connection 1 and connection 2 is the same - as ratio of the linear increases: unity.

In this case, the throughputs never move off of the AB line segment. In Figure 5 b , the ratio of the linear decrease on loss between connection 1 and connection 2 is That is, whenever there is a loss, connection 1 decreases its window by twice the amount of connection 2.

We see that eventually, after enough losses, and subsequent increases, that connection 1's throughput will go to 0, and the full link bandwidth will be allocated to connection 2. Figure 5: Lack of TCP convergence with linear increase, linear decrease Problem 42 If TCP were a stop-and-wait protocol, then the doubling of the time out interval would suffice as a congestion control mechanism.

However, TCP uses pipelining and is therefore not a stop-and-wait protocol , which allows the sender to have multiple outstanding unacknowledged segments.

The doubling of the timeout interval does not prevent a TCP sender from sending a large number of first-time-transmitted packets into the network, even when the end-to-end path is highly congested.

Also, because there is no loss and acknowledgements are returned before timers expire, TCP congestion control does not throttle the sender. However, the process in host A will not continuously pass data to the socket because the send buffer will quickly fill up. Problem 45 a The loss rate, L , is the ratio of the number of packets lost over the number of packets sent. In a cycle, 1 packet is lost. Recall the window size increases by one in each RTT.

Problem 47 Let W denote max window size. Let S denote the buffer size. For simplicity, suppose TCP sender sends data packets in a round by round fashion, with each round corresponding to a RTT. If the window size reaches W, then a loss occurs. Let Tp denote the one-way propagation delay between the sender and the receiver. Problem 48 a Let W denote the max window size.

In order to speed up the window increase process, we can increase the window size by a much larger value, instead of increasing window size only by one in each RTT.

Problem 49 1. Thus C1 adjusts its window size after 50 msec, but C2 adjusts its window size after msec. Assume that whenever a loss event happens, C1 receives it after 50msec and C2 receives it after msec. We further have the following simplified model of TCP. After each RTT, a connection determines if it should increase window size or not. For C1, we compute the average total sending rate in the link in the previous 50 msec. If that rate exceeds the link capacity, then we assume that C1 detects loss and reduces its window size.

But for C2, we compute the average total sending rate in the link in the previous msec. If that rate exceeds the link capacity, then we assume that C2 detects loss and reduces its window size. Note that it is possible that the average sending rate in last 50msec is higher than the link capacity, but the average sending rate in last msec is smaller than or equal to the link capacity, then in this case, we assume that C1 will experience loss event but C2 will not.

The following table describes the evolution of window sizes and sending rates based on the above assumptions. If we look at the above table, we can see a cycle every msec, e. Problem 51 a Similarly as in last problem, we can compute their window sizes over time in the following table.

Both C1 and C2 have the same window size 2 after msec. Their max window size is 2. Thus, the link is not fully utilized recall we assume this link has no buffer. One possible way to break the synchronization is to add a finite buffer to the link and randomly drop packets in the buffer before buffer overflow. This will cause different connections cut their window sizes at different times.

Problem 52 Note that W represents the maximum window size. From the TCP throughput 1. A disadvantage of using these values is that they may be no longer accurate. Problem 55 a The server will send its response to Y. Even if the attacker were to send an appropriately timed TCP ACK segment, it would not know the correct server sequence number since the server uses random initial sequence numbers. A network-layer packet is a datagram. Datagram-based network layer: forwarding; routing. Additional function of VC-based network layer: call setup.

Routing is about determining the end-to-routes between sources and destinations. Yes, both use forwarding tables.

For descriptions of the tables, see Section 4. Single packet: guaranteed delivery; guaranteed delivery with guaranteed maximum delay. Flow of packets: in-order packet delivery; guaranteed minimal bandwidth; guaranteed maximum jitter. ABR does not provide any of these services. With the shadow copy, the forwarding lookup is made locally, at each input port, without invoking the centralized routing processor.

Such a decentralized approach avoids creating a lookup processing bottleneck at a single point within the router. Switching via memory; switching via a bus; switching via an interconnection network. An interconnection network can forward packets in parallel as long as all the packets are being forwarded to different output ports. If the rate at which packets arrive to the fabric exceeds switching fabric rate, then packets will need to queue at the input ports. If this rate mismatch persists, the queues will get larger and larger and eventually overflow the input port buffers, causing packet loss.

Packet loss can be eliminated if the switching fabric speed is at least n times as fast as the input line speed, where n is the number of input ports.

Assuming input and output line speeds are the same, packet loss can still occur if the rate at which packets arrive to a single output port exceeds the line speed. If this rate mismatch persists, the queues will get larger and larger and eventually overflow the output port buffers, causing packet loss.

Note that increasing switch fabric speed cannot prevent this problem from occurring. HOL blocking: Sometimes the a packet that is first in line at an input port queue must wait because there is no available buffer space at the output port to which it wants to be forwarded. When this occurs, all the packets behind the first packet are blocked, even if their output queues have room to accommodate them.

HOL blocking occurs at the input port. They have one address for each interface. Students will get different correct answers for this question. The 8-bit protocol field in the IP datagram contains information about which transport layer protocol the destination host should pass the segment to.

Typically the wireless router includes a DHCP server. IPv6 has a fixed length header, which does not include most of the options an IPv4 header can include. Even though the IPv6 header contains two bit addresses source and destination IP address the whole header has a fixed length of 40 bytes only. Several of the fields are similar in spirit. Traffic class, payload length, next header and hop limit in IPv6 are respectively similar to type of service, datagram length, upper-layer protocol and time to live in IPv4.

Yes, because the entire IPv6 datagram including header fields is encapsulated in an IPv4 datagram. Link state algorithms: Computes the least-cost path between source and destination using complete, global knowledge about the network.

Distance-vector routing: The calculation of the least-cost path is carried out in an iterative, distributed manner. A node only knows the neighbor to which it should forward a packet in order to reach given destination along the least-cost path, and the cost of that path from itself to the destination. Routers are organized into autonomous systems ASs.

Within an AS, all routers run the same intra-AS routing protocol. The problem of scale is solved since an router in an AS need only know about routers within its AS and the subnets that attach to the AS. To route across ASes, the inter-AS protocol is based on the AS graph and does not take individual routers into account. Each AS has administrative autonomy for routing within an AS.

The advertisement tells D that it can get to z in 11 hops by way of A. However, D can already get to z by way of B in 7 hops. Therefore, there is no need to modify the entry for z in the table. If, on the other hand, the advertisement said that A were only 4 hops away from z by way of C, then D would indeed modify its forwarding table. With OSPF, a router periodically broadcasts routing information to all other routers in the AS, not just to its neighboring routers.



0コメント

  • 1000 / 1000