Module 15 Communication at Data Link and Transport Layer

Size: px
Start display at page:

Download "Module 15 Communication at Data Link and Transport Layer"

Transcription

1 Computer Networks and ITCP/IP Protocols 1 Module 15 Communication at Data Link and Transport Layer Introduction Communication at data link layer is very important as it is between two adjacent machines or rather two data link layer cards. The way communication between two peer entities takes place is also known as a protocol so we will be in a way talking about how protocols govern the process of communication at the data link layer. Though our concentration remains on data link layer, many issues that we discuss also affects transport layer. The reason is, what data link layer does for two adjacent machines, transport layer does almost the same for client and server (actual sender and recipient). That is why most of the issues that we discuss here will also be applicable to the transport layer protocols like TCP and UDP. We will mention about some typical cases which have more significance at the transport layer as and when there is a need. The word segment' is used to indicate transport layer data unit while word frame' is used to indicate a data link layer unit. Communication between two data link layer entities can happen in multiple ways and the process chosen to communicate depends on many things including the connection being operated upon is wired or wireless. The process of communication is also affected by the choice of data transfer, connectionoriented or connectionless. Connection-oriented transfer includes how sender sends a connection request and how it is honored or rejected by the receiver and how complexities of that process are managed. Let us begin our discussion with some fundamental concepts like sender, receiver, acknowledgment, timer, timeout etc. Sender and receiver Every communication process has one sender and one receiver. Most of our discussion will be based on considering one server and one receiver. However, there are cases where multiple senders or multiple receivers are present. Most of the things we discuss here will also be applicable to the multiple sender-receiver cases. Multiple sender-receiver cases have some additional issues like arbitration between multiple potential senders etc. which we will look at when we discuss the MAC layer in the next and few more subsequent modules. Sender and Receivers have many things to manage, for example, buffers for frames which are sent but not received by the sender, buffers for frames received out of order at the receiver, timers for sent frames and retransmit if need be at the sender, and responding back using an acknowledgment and so on. We will learn about those things in this module. Acknowledgement In the noisy channel, when the data is likely to be lost or corrupted, there has to be a mechanism for the sender to learn about such events. A simple method to do so is called acknowledgment or ack for short. It is an indicator that serves the purpose of confirming the delivery of the frame at the receiver's end. Both frames and their acks are numbered and thus

2 Computer Networks and ITCP/IP Protocols 2 help in unambiguously identifying the frame received. The CRC like mechanism is deployed by the communicating parties to determine if the frame is corrupted. Assigning sequence number is trickier than it seems at the first glance. The simplest method to number frames from 1 and increment it by one every time sender sends a new frame. There are two problems with this approach. First, a sequence number is a field (or variable) which is always of a fixed size. The number cannot go beyond and wraps around. For example, a 3-bit number cannot go beyond 7 (if starts from 0). The size of the number determines when it wraps around. Sequential numbering scheme has another problem when the segments are to be fragmented in transit. Let us try to understand. Suppose if we sent segments numbered as 1,2,3 when we have encountered a case where segment number 2 is to be fragmented in the middle of transmission, how do the intermediary number both these fragments is a problem. It cannot change to 2 and 3 as 3 is already numbered. It cannot be anything else like 2.1 and 2.2 as the receiver has no idea whether there is 2.3 or not and also what if 2.2 is to be fragmented later. Keeping a floating point number as a field also is not directly possible. However, TCP solves the problem with a very clever scheme. TCP numbers the segment as the first data byte in the segment. For example, if TCP sends a segment with sequence number 124 with the content of 120 bytes, the next segment will have sequence number 244 ( ). Now if the first segment is to be fragmented into two segments of size 100 and 20 1, they will be numbered as 124 and 224( ), indicating the byte they begin with. TCP considers the sender's data as a stream. It counts bytes one after another and number each byte. When a sender sends, it looks at the number of the first byte and numbers the frame accordingly. The only point to note is that the first byte is not given a number as either 0 or 1 but a different value. All subsequent bytes will be given numbers accordingly. For example, the first byte is given a number 2500, the next byte is given 2501 and the 100 th byte is given number 2599 and so on. The reasons will soon be clear. Let us take one example to understand. Assume TCP decides to give the number 2500 to the first byte of the data it starts transmitting. This number 2500 is known as the initial sequence number. Also assume that TCP sends 1000 bytes in the first segment, 1500 in the second segment and 1000 again in the third. You may ask how these numbers are decided. The size of the segment is decided based on many things including the physical layer s capacity. TCP tries to send as much data as it can in every segment but only for a specific period of time. Once that period is elapsed, it has to send data. So when that time arrives, TCP sends whatever size of data accumulated from the application so far. In above case, TCP sends bytes from 2500 to 3499 in the first segment (total 1000 bytes), sends 3500 to 4999 in the second segment (total 1500 bytes) and 5000 to 6000 bytes in the third segment (total 1000 bytes). The first segment is numbered as 2500, second is named as 3500 and third is named as The TCP ack is always defined as next byte expected. That means, when the first segment is received at the receiver s end, it sends back the next byte it expects. 1 This happens when the intermediary router cannot send more than 100-byte segment. 100 bytes is little too small value for a real case but this is done to simplify the explanation.

3 Computer Networks and ITCP/IP Protocols 3 It has received bytes till 3499 and expects 3500 as the next byte, so that is going to be the ack value. Table 1 Sequence and ACK numbers in TCP Segme nt no. ACK in scheme 1 byte Starting Last byte Sequence no. Length ACK in scheme (frame no) (next byte expected) Unlike TCP, a data link layer is not required to number like this in most real cases as they don t need to fragment their frames. The wired layer like Ethernet does not provide ack and does not expect retransmission, though it checks if there is an error in the received frame. In the case of wireless transmission, the most popular Wi-Fi only sends one frame at a time and provide a sequence number based on frame number than a byte number. What should a data link layer (or a transport layer) do when a corrupted frame arrives? In most cases, the receiver does not send the ack back and the sender retransmits after timing out. However, some protocols have provision for sending a negative ack. A negative ack confirms a corrupted frame receipt and thus the sender retransmits without waiting for that frame to timeout. Negative ack, however, is not used by most commercial protocols. When the sender retransmits after timeout and receiver only acks the uncorrupted frames, the scheme is known as positive acknowledgment with retransmission (PAR). Piggybacking When the traffic flows in both directions, a better form of acknowledgment is possible. The receiver attaches the ack to the traffic it originates and sends to the sender. Figure 15.2 Using special ACK frames Figure 15.1 piggybacking

4 Computer Networks and ITCP/IP Protocols 4 This process is known as piggybacking and the ack is known as piggybacked ack. Look at figure The sender sends Frame 1,2,3, and 4 and the receiver sends the frame 11,12,13 and 14. You can see that the ack is piggybacked both by the sender and the receiver 2. Piggybacking is good as it saves bandwidth. The special acknowledgment frames are not needed now and the network bandwidth is saved. However, there is a new problem emerges now. The receiver generates a frame depends on the time user generates reverse traffic. For example, the sender is a browser which sent the URL to the web server, now if the web server takes time in getting the requested page from the database or need user's consent, it might take a while. By the time the sender's TCP times out and resend. That defeats the purpose of saving the special ack frame. It is better if a special ack frame is sent in such cases. An additional timer is used here and if the receiver's next traffic is delayed beyond a specific period of time (500 nsec for TCP) a special ack frame is sent and piggybacking is not used. The receiver needs to run an additional code for these additional timers and also need to take care of such timeouts. Timers We have mentioned timers a few times during our discussion. Let us throw some more light on the issue. Timers are software driven entities which increment or decrement time. One can set specific time values for timers. When the timer completes that period, a timeout event is said to have occurred. In real world operating systems, timers send interrupt signal at the timeout event. Sending and receiving windows When the sender sends over a long and fat (high bandwidth) lines, many of the segments of frames can be on the flight before the ack arrives back. Normally sender estimates the ack time and determines how many frames (or segments if we consider transport layer), can be outstanding when an ack is expected. Consider a case where the distance and the bandwidth between the sender and the receiver are big enough for the sender to send three frames and while it is ready with fourth, the ack of the first is likely to arrive. In that case, the sender should be ready to send three frames and only then wait for the ack. That will keep the line busy. If the ack arrives on time, the sender can keep on sending continuously without taking any break. The only issue is, the sender may not know how many of the three frames it sent are already received by the receiver and thus must keep a copy of them in case any one of them needs retransmission. The sender keeps all such frames in a buffer popularly known as sender's window. Similarly, the receiver also keeps all out of order frames together with unprocessed frames. Figure 15.3 describes one typical case. When F1 is sent, it took more time but the other frames took less time. The sender sends F1, F2, and F3 before the acknowledgment of F1 arrives. The sender's window helps sender continue sending even in the case where the frames are being delayed. Similarly, the receiver also has kept F2 and F3 in the buffer until the F1 arrives eventually. The place where receiver stores its uncorrupted but out of order frames is known as receiver s window. The receiver only sends frames up in order. 22 You may be surprised to find that both of them are sending so why we call one party as the sender and another as the receiver. The better word is the initiator. You can see that the party on the left side is initiating and so it is better to be called initiator. However, we will follow the sender and receiver words even when both parties are sending to simplify the case where only one party is sending. Whenever only one party is sending, we call it sender and the other party as the receiver. When both of them are sending, we call the initiator of the communication as the sender.

5 Computer Networks and ITCP/IP Protocols 5 One more interesting point to note. The ack of F2 and F3 have not arrived. Only when the F1 is received properly, the receiver acknowledges all three frame cumulatively by sending ack of F3. When a receiver is waiting for some frame's ack, and some other later frame's ack arrives, the sender assumes all frames prior to that acked frame are received by the receiver. This is called the idea of cumulative acknowledgment. The idea is really important because it saves receiver to respond back to all received frames. While a reverse traffic is expected, a receiver might forgo sending the ack for a valid frame. In the case of TCP, the standard allows acknowledging alternate frames.. Figure 15.3 Sender s and receiver s window Now you can see that why the receiver does not ack the frames F2 and F3 in It is because if he would have sent, the sender would have misunderstood that all frames prior to that also are received at the receiver which includes F1. Figure 15.4 describes a case to illustrate the advantage of cumulative ACK. When F2's ack is lost, in the normal case, the timer of F2 will time out and thus F2 needs to be resent. Fortunately, F3 is received properly and its ACK also arrives in time. This indicates all frames prior to F3 are received at the receiver, eliminating the need to retransmit F2. F3 is corrupted Figure 15.4 advantage of cumulative ack Figure 15.5 Cumulative ack confuses the sender Cumulative ACK can sometimes confuse the sender. Take two examples depicted in F2 is lost in this case. The F3 is corrupted in the first case and not in the second case. The receiver

6 Computer Networks and ITCP/IP Protocols 6 has no option but to send ACK of F1 only. The sender has no clue whether F3 is properly received or not. Sometimes this type of ACK is also known as an ambiguous ack. Ambiguous ACK confuses the sender. An interesting measure provided by TCP is called SACK or selective acknowledgment to thwart this problem. Instead of only sending the ack, the SACK option, if enabled, provides information about all correctly received frames and thus the ack is no longer be ambiguous. Such elaborate measures are not required at data link layer so there is no protocol which demands such selective acks at data link layer. Sliding windows An interesting characteristic of the sender and receiver windows is that they are sliding in the forward direction. Let us try to understand the meaning of word sliding in this context by an example. Figure 15.6 the sliding windows Carefully observe the transmission depicted in figure It shows how frames are sent one by one, received by the receiver and acked. The sender sends frame 1 to 8 while receiver acknowledges them in the same order. This is a simple case where no frame or ack is lost or delayed or corrupted. The sender's window size is 4. That means it can send 4 frames without ack. Accordingly, a maximum number of outstanding frames at any given point of time cannot be more and thus sequence number is chosen to be a field of 3 bits. Thus the frames are numbered as 0, 1,2,3 and wrap around to 0 for the fifth frame. The difference is indicated in the figure by providing the sequence number and frame which the sender is sending as separate entities. For example, the combination F6, 1 indicates that sender is sending frame 6 with sequence number 1. The windows of sender and receiver are shown on respective sides. The receiver s window is also shown to be of size 4 but it can be anything else. Sender and receiver s windows do not need to be of the same size. You can also see that the windows are moving in the forward direction. The sender's window advances when a new frame is sent on the right-hand side. When the ack is received, it is

7 Computer Networks and ITCP/IP Protocols 7 shrieked from the left-hand size. The numbers keep on moving in the forward direction until wraps around. Once wrapped around, again the window starts moving in forwarding direction. Same thing happens with the receiver also. Whenever a frame is received, the window advances on the right-hand side. When the application reads the frames, the window advances from the left-hand side. You can now understand why these windows are known as sliding windows. One question may arise out of our discussion. What if the window is full? In the case of the sender, if the window size has reached four, it cannot send any frame further, it has to wait. In the case of the receiver, if the window size has reached 4, it has to drop any other out of order incoming frames. The size of sequence number field We have already seen that the size of the sequence number field decides when the number wraps around. TCP uses a 32-bit sequence number and is working fine so far. However, such a field cannot work at data link layer due to tremendously high-speed networks we have today. Let us try to understand by referring to an example. The frame size is 1500 bytes and a bandwidth of 1.5 Mb. Every frame is given a unique sequence number incremented by 1 from the previous frame. Assuming a 32-bit sequence number, the sequence number wraps around after 2 32 ( ) frames. In case of 1.5 Mb bandwidth, in one second / 1500 = 1000 frames are sent. Thus every second total 1000 sequence numbers are used. In that case, it will consume 1000 * 60 * 24 sequence numbers in a day. That means it will take / 1000 * 60 * 24 days to consume sequence numbers. That turns out to be nearly 3000 days. Thus our sequence numbers take almost 8 years to wrap around. Thus a 32-bit sequence number is good enough. On the contrary, if a conventional TCP sequencing is used with 32-bit sequence number on a 10 Gb line, an altogether different situation arises. A 10-Gb line sends data at bits per second, that means little more than 10 9 bytes per second is approximately 2 * That means the number wraps around after approximately after 2 * 10 6 bytes sent. That means in a single second, it wraps around 5000 times! That clearly indicates that a 32-bit sequence number is just unacceptable. The TCP provides window scale factor option for this case when it is used over a fast link. The ack number should also bear the same size. One can easily understand that a proper size of sequence and ack number is critical in designing the frame structure. Duplicate frames Another important point to consider is, how a receiver or sender handles the case of duplicate frames. Look at the case depicted in the figure The sender sends F1, gets the acknowledgment of it, sends F2, ack of which is lost, and F2 is resent after a timeout. The receiver receives a duplicate copy of F2. What should the receiver do? He has a few options. Here is the list. 1. Accept the frame and resend the acknowledgment 2. Accept the frame and do not send an acknowledgment

8 Computer Networks and ITCP/IP Protocols 8 3. Drop the frame and do not send an acknowledgment 4. Drop the frame and resend the acknowledgment The first two options are not acceptable as they make the network and eventually the application layer accept a duplicate frame. That means they get the same piece of the message twice. This might not be troublesome in some cases as we may find a para in a mail being duplicated. That might surprise or irritate us but nothing more. However, if that piece of information is an online transaction where our 1,000,00 are deducted and deposited to somebody else s account, it is altogether a different thing. In the era for IoT, if that piece of information indicates the dosage of the insulin pumped into the patient s body, the double dose might kill the patient. Figure 15.7 the problem of duplicate frames So we need to choose from last two options. If we do not send the ack, the sender again times out and resend the same frame and we are into the kind of a deadlock so that option is also not preferred. The only option that is acceptable is to send the ack back so the sender understands that the receiver has indeed received the frame and send the next frame. We will not give that frame content to the network layer and actually drop the frame. This is the way to handle duplicate frames. Retransmission Any communication process is incomplete without a strategy for retransmission. A frame is to be retransmitted when it is expected to be lost. However trivial it looks like, it is often one of the most complex issues. More often at transport than a data link layer. For example, how to set the retransmission time? If we set a pessimistic value, we may lose important time when the frame is lost much earlier. If we set a lesser value, the sender will unnecessarily timeout and retransmit when not needed. It results into both, wastage of network bandwidth and, unnecessary additional processing at the receiver. We will later see how TCP decides this timeout value and how it handles this. Another issue in retransmission is related to receiver's window size. In a simple solution, a receiver's window is restricted to just one. That means the receiver can only accept the current frame and no other frame. Any out of order frame received is sent to a dustbin. That means, if a sender times out for any frame, all subsequent frames must be retransmitted. This strategy is

9 Computer Networks and ITCP/IP Protocols 9 called go back n and is described in figure Frames are sent one after another, F1 and F2 are received properly and F3 is lost. The receiver expects F3 and won't accept any other frame. That means when the sender sends F4 to F8 and all of them are properly received at the other end, they are all not considered by the receiver. The sender once timed out, decides the resend F3, also continue to send other frames thereafter, and the sender will now accept those frames and acknowledge. This seems to be a wasteful strategy, but sometimes we need it. We will hold off this discussion after discussing the other, more prevalent strategy, called selective repeat next. The selective repeat strategy is depicted in the figure In this strategy, the receiver accepts out of order frames but do not give them to the application. When the frame in order arrives, these frames are passed up. Figure 15.8 Go back n Figure 15.9 the selective repeat The case is quite similar to the earlier case, here also we assume frame F3 is lost and all other frames from F4 to F8 are received properly at the other end. The different is, the sender only needs to retransmit F3 now. Once the receiver correctly receives the F3 frame, it accepts all other frames from F4 to F8 and passes all the contents of the frames from F3 to F8 to the network layer. The sender does not need to transmit all frames but selectively those which are lost (in our case only F3), hence the name selective repeat is provided. Here are the consequences of the go back n strategy. 1. The receiver won t be in a position to accept any out of order frames. 2. Receiver logic is simplified, it only accepts the frame it has to and nothing else. 3. The receiver requires less memory, which can only hold the current frame 4. In the case of a receiver having either of the processing or memory constraints, go back n is quite useful. Point no. 4 needs some elaboration. Consider a mobile phone receiving a movie from a web server. The web server might send huge frames to the mobile phone. The memory and processing power of the mobile phone does not allow multiple out of order frames to be stored on the phone. Consider another case of a city s smart electricity meter to accept and process incoming data from the electricity company s web server. The smartphones of today might

10 Computer Networks and ITCP/IP Protocols 10 have gigabits of memory but the smart meters do not have that much amount of memory or even processing power. Go back n strategy might not be all that useless for such cases. The selective repeat strategy is obviously better when the receivers are desktops or laptops or even servers residing at various locations of the world. However, this advantage of this better strategy does not come without a cost. The receiver now must be able to store all out of order correctly received frames from all connections, must have logic to deal with such out of order frames, compiling them together and send them up when the ordered frame arrives and so on. TCP has all those component built in which makes it quite a heavy protocol. Whenever there is a long and high bandwidth data is communicated selective repeat provides a distinct advantage. Consider a case of 500 Mb Satellite link of the distance about 3 lakh kilometers. Another case is of 40 Gb transcontinental line with the delay of 30 sec. A go back n would lose a huge amount of data for every frame lost. Summary In this module, we looked at how data transmission happens at the data link and transport layer. We have seen various terms like retransmission, sender, receiver, timeout, timer, go back n and selective repeat associated with data communication. We also have seen how sender and receiver windows are managed and also how windows slide in the forward direction. We have seen that selective repeat being a better technique, sometimes inferior to go back n as the receiver does not have the amount of memory of processing power to manage out of order frames.

Module 25 TCP Timers and delayed duplicates problem in TCP

Module 25 TCP Timers and delayed duplicates problem in TCP Computer Networks and ITCP/IP Protocols 1 Module 25 TCP Timers and delayed duplicates problem in TCP Introduction TCP uses timers for many cases. We have seen a case where it needs a retransmission timer

More information

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering

More information

Data Link Control Protocols

Data Link Control Protocols Protocols : Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 Y12S1L07, Steve/Courses/2012/s1/its323/lectures/datalink.tex,

More information

ERROR AND FLOW CONTROL. Lecture: 10 Instructor Mazhar Hussain

ERROR AND FLOW CONTROL. Lecture: 10 Instructor Mazhar Hussain ERROR AND FLOW CONTROL Lecture: 10 Instructor Mazhar Hussain 1 FLOW CONTROL Flow control coordinates the amount of data that can be sent before receiving acknowledgement It is one of the most important

More information

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985 Network Working Group Request for Comments: 969 David D. Clark Mark L. Lambert Lixia Zhang M. I. T. Laboratory for Computer Science December 1985 1. STATUS OF THIS MEMO This RFC suggests a proposed protocol

More information

Lecture - 14 Transport Layer IV (Reliability)

Lecture - 14 Transport Layer IV (Reliability) Computer Networks and Internet Protocol Prof. Sandip Chakraborthy Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 14 Transport Layer IV (Reliability)

More information

User Datagram Protocol (UDP):

User Datagram Protocol (UDP): SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation

More information

CSE 123: Computer Networks Alex C. Snoeren. HW 1 due NOW!

CSE 123: Computer Networks Alex C. Snoeren. HW 1 due NOW! CSE 123: Computer Networks Alex C. Snoeren HW 1 due NOW! Automatic Repeat Request (ARQ) Acknowledgements (ACKs) and timeouts Stop-and-Wait Sliding Window Forward Error Correction 2 Link layer is lossy

More information

Lecture 7: Flow Control"

Lecture 7: Flow Control Lecture 7: Flow Control" CSE 123: Computer Networks Alex C. Snoeren No class Monday! Lecture 7 Overview" Flow control Go-back-N Sliding window 2 Stop-and-Wait Performance" Lousy performance if xmit 1 pkt

More information

6.033 Lecture 12 3/16/09. Last time: network layer -- how to deliver a packet across a network of multiple links

6.033 Lecture 12 3/16/09. Last time: network layer -- how to deliver a packet across a network of multiple links 6.033 Lecture 12 3/16/09 Sam Madden End to End Layer Last time: network layer -- how to deliver a packet across a network of multiple links Recall that network layer is best effort, meaning: - packets

More information

Lecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren

Lecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren Lecture 5: Flow Control CSE 123: Computer Networks Alex C. Snoeren Pipelined Transmission Sender Receiver Sender Receiver Ignored! Keep multiple packets in flight Allows sender to make efficient use of

More information

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP

More information

Internetworking Models The OSI Reference Model

Internetworking Models The OSI Reference Model Internetworking Models When networks first came into being, computers could typically communicate only with computers from the same manufacturer. In the late 1970s, the Open Systems Interconnection (OSI)

More information

STEVEN R. BAGLEY PACKETS

STEVEN R. BAGLEY PACKETS STEVEN R. BAGLEY PACKETS INTRODUCTION Talked about how data is split into packets Allows it to be multiplexed onto the network with data from other machines But exactly how is it split into packets and

More information

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods 1 Timeout freezing of transmission (TFT) Used in situations where

More information

Analyzation of Automatic Repeat Request (ARQ) Protocols

Analyzation of Automatic Repeat Request (ARQ) Protocols RESEARCH ARTICLE OPEN ACCESS Analyzation of Automatic Repeat Request (ARQ) Protocols 1 Jeshvina.S, 2 Sneha.P, 3 Saraanya.S Final year BCA, Dept of Computer Science New Horizon College Kasturinagar, Bangalore

More information

Chapter 11 Data Link Control 11.1

Chapter 11 Data Link Control 11.1 Chapter 11 Data Link Control 11.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 11-1 FRAMING The data link layer needs to pack bits into frames, so that each

More information

Data Link Layer, Part 5 Sliding Window Protocols. Preface

Data Link Layer, Part 5 Sliding Window Protocols. Preface Data Link Layer, Part 5 Sliding Window Protocols These slides are created by Dr. Yih Huang of George Mason University. Students registered in Dr. Huang's courses at GMU can make a single machine-readable

More information

Lecture 11 Overview. Last Lecture. This Lecture. Next Lecture. Medium Access Control. Flow and error control Source: Sections , 23.

Lecture 11 Overview. Last Lecture. This Lecture. Next Lecture. Medium Access Control. Flow and error control Source: Sections , 23. Last Lecture Lecture 11 Overview Medium Access Control This Lecture Flow and error control Source: Sections 11.1-11.2, 23.2 Next Lecture Local Area Networks 1 Source: Sections 13 Data link layer Logical

More information

Chapter 11 Data Link Control 11.1

Chapter 11 Data Link Control 11.1 Chapter 11 Data Link Control 11.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 11-1 FRAMING The data link layer needs to pack bits into frames, so that each

More information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

Lecture 4: CRC & Reliable Transmission. Lecture 4 Overview. Checksum review. CRC toward a better EDC. Reliable Transmission

Lecture 4: CRC & Reliable Transmission. Lecture 4 Overview. Checksum review. CRC toward a better EDC. Reliable Transmission 1 Lecture 4: CRC & Reliable Transmission CSE 123: Computer Networks Chris Kanich Quiz 1: Tuesday July 5th Lecture 4: CRC & Reliable Transmission Lecture 4 Overview CRC toward a better EDC Reliable Transmission

More information

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine School of Computing and Information S 1 / 33 COS 140:

More information

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations

More information

Basic Reliable Transport Protocols

Basic Reliable Transport Protocols Basic Reliable Transport Protocols Do not be alarmed by the length of this guide. There are a lot of pictures. You ve seen in lecture that most of the networks we re dealing with are best-effort : they

More information

TCP: Flow and Error Control

TCP: Flow and Error Control 1 TCP: Flow and Error Control Required reading: Kurose 3.5.3, 3.5.4, 3.5.5 CSE 4213, Fall 2006 Instructor: N. Vlajic TCP Stream Delivery 2 TCP Stream Delivery unlike UDP, TCP is a stream-oriented protocol

More information

Unit 2.

Unit 2. Unit 2 Unit 2 Topics Covered: 1. PROCESS-TO-PROCESS DELIVERY 1. Client-Server 2. Addressing 2. IANA Ranges 3. Socket Addresses 4. Multiplexing and Demultiplexing 5. Connectionless Versus Connection-Oriented

More information

Basic Protocols and Error Control Mechanisms

Basic Protocols and Error Control Mechanisms Basic Protocols and Error Control Mechanisms Nicola Dragoni Embedded Systems Engineering DTU Compute ACK/NACK Protocol Polling Protocol PAR Protocol Exchange of State Information Two-Way Handshake Protocol

More information

Problem 7. Problem 8. Problem 9

Problem 7. Problem 8. Problem 9 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

More information

Peer-to-Peer Protocols and Data Link Layer. Chapter 5 from Communication Networks Leon-Gracia and Widjaja

Peer-to-Peer Protocols and Data Link Layer. Chapter 5 from Communication Networks Leon-Gracia and Widjaja Peer-to-Peer Protocols and Data Link Layer Chapter 5 from Communication Networks Leon-Gracia and Widjaja Peer-to-Peer Protocols At each layer two (or more) entities execute These are peer processes For

More information

THE TRANSPORT LAYER UNIT IV

THE TRANSPORT LAYER UNIT IV THE TRANSPORT LAYER UNIT IV The Transport Layer: The Transport Service, Elements of Transport Protocols, Congestion Control,The internet transport protocols: UDP, TCP, Performance problems in computer

More information

DATA LINK LAYER UNIT 7.

DATA LINK LAYER UNIT 7. DATA LINK LAYER UNIT 7 1 Data Link Layer Design Issues: 1. Service provided to network layer. 2. Determining how the bits of the physical layer are grouped into frames (FRAMING). 3. Dealing with transmission

More information

Communications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall

Communications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall CSE 123b CSE 123b Communications Software Spring 2002 Lecture 3: Reliable Communications Stefan Savage Some slides couresty David Wetherall Administrativa Home page is up and working http://www-cse.ucsd.edu/classes/sp02/cse123b/

More information

The flow of data must not be allowed to overwhelm the receiver

The flow of data must not be allowed to overwhelm the receiver Data Link Layer: Flow Control and Error Control Lecture8 Flow Control Flow and Error Control Flow control refers to a set of procedures used to restrict the amount of data that the sender can send before

More information

Sequence Number. Acknowledgment Number. Data

Sequence Number. Acknowledgment Number. Data CS 455 TCP, Page 1 Transport Layer, Part II Transmission Control Protocol These slides are created by Dr. Yih Huang of George Mason University. Students registered in Dr. Huang's courses at GMU can make

More information

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture)

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture) Lecture 7: Sliding Windows CSE 123: Computer Networks Geoff Voelker (guest lecture) Please turn in HW #1 Thank you From last class: Sequence Numbers Sender Receiver Sender Receiver Timeout Timeout Timeout

More information

User Datagram Protocol

User Datagram Protocol Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram

More information

Outline. CS5984 Mobile Computing

Outline. CS5984 Mobile Computing CS5984 Mobile Computing Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Outline Review Transmission Control Protocol (TCP) Based on Behrouz Forouzan, Data Communications and Networking,

More information

The GBN sender must respond to three types of events:

The GBN sender must respond to three types of events: Go-Back-N (GBN) In a Go-Back-N (GBN) protocol, the sender is allowed to transmit several packets (when available) without waiting for an acknowledgment, but is constrained to have no more than some maximum

More information

Problem. Chapter Outline. Chapter Goal. End-to-end Protocols. End-to-end Protocols. Chapter 5. End-to-End Protocols

Problem. Chapter Outline. Chapter Goal. End-to-end Protocols. End-to-end Protocols. Chapter 5. End-to-End Protocols Computer Networks: A Systems Approach, 5e Larry L. Peterson and Bruce S. Davie End-to-End Protocols Problem How to turn this host-to-host packet delivery service into a process-to-process communication

More information

3.2 COMMUNICATION AND INTERNET TECHNOLOGIES

3.2 COMMUNICATION AND INTERNET TECHNOLOGIES 3.2 COMMUNICATION AND INTERNET TECHNOLOGIES 3.2.1 PROTOCOLS PROTOCOL Protocol a set of rules governing the way that devices communicate with each other. With networks and the Internet, we need to allow

More information

Question. Reliable Transport: The Prequel. Don t parse my words too carefully. Don t be intimidated. Decisions and Their Principles.

Question. Reliable Transport: The Prequel. Don t parse my words too carefully. Don t be intimidated. Decisions and Their Principles. Question How many people have not yet participated? Reliable Transport: The Prequel EE122 Fall 2012 Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica,

More information

Chapter 11 Data Link Control 11.1

Chapter 11 Data Link Control 11.1 Chapter 11 Data Link Control 11.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 11-1 1 FRAMING The data link layer needs to pack bits into frames,, so that

More information

Reliable Transport : Fundamentals of Computer Networks Bill Nace

Reliable Transport : Fundamentals of Computer Networks Bill Nace Reliable Transport 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administration Stuff is due HW #1

More information

Computer Networks. Sándor Laki ELTE-Ericsson Communication Networks Laboratory

Computer Networks. Sándor Laki ELTE-Ericsson Communication Networks Laboratory Computer Networks Sándor Laki ELTE-Ericsson Communication Networks Laboratory ELTE FI Department Of Information Systems lakis@elte.hu http://lakis.web.elte.hu Based on the slides of Laurent Vanbever. Further

More information

Introduction to Protocols

Introduction to Protocols Chapter 6 Introduction to Protocols 1 Chapter 6 Introduction to Protocols What is a Network Protocol? A protocol is a set of rules that governs the communications between computers on a network. These

More information

CS 640 Introduction to Computer Networks. Role of data link layer. Today s lecture. Lecture16

CS 640 Introduction to Computer Networks. Role of data link layer. Today s lecture. Lecture16 Introduction to Computer Networks Lecture16 Role of data link layer Service offered by layer 1: a stream of bits Service to layer 3: sending & receiving frames To achieve this layer 2 does Framing Error

More information

Computer Network. Direct Link Networks Reliable Transmission. rev /2/2004 1

Computer Network. Direct Link Networks Reliable Transmission. rev /2/2004 1 Computer Network Direct Link Networks Reliable Transmission rev 1.01 24/2/2004 1 Outline Direct link networks (Ch. 2) Encoding Framing Error detection Reliable delivery Media access control Network Adapter

More information

TCP Strategies. Keepalive Timer. implementations do not have it as it is occasionally regarded as controversial. between source and destination

TCP Strategies. Keepalive Timer. implementations do not have it as it is occasionally regarded as controversial. between source and destination Keepalive Timer! Yet another timer in TCP is the keepalive! This one is not required, and some implementations do not have it as it is occasionally regarded as controversial! When a TCP connection is idle

More information

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22 23-3 TCP 23.22 TCP is a connection-oriented protocol; it creates a virtual connection between two TCPs to send data. In addition, TCP uses flow and error control mechanisms at the transport level. Topics

More information

The Transport Layer Reliability

The Transport Layer Reliability The Transport Layer Reliability CS 3, Lecture 7 http://www.cs.rutgers.edu/~sn4/3-s9 Srinivas Narayana (slides heavily adapted from text authors material) Quick recap: Transport Provide logical communication

More information

Communication Networks

Communication Networks Communication Networks Prof. Laurent Vanbever Exercises week 4 Reliable Transport Reliable versus Unreliable Transport In the lecture, you have learned how a reliable transport protocol can be built on

More information

CRC. Implementation. Error control. Software schemes. Packet errors. Types of packet errors

CRC. Implementation. Error control. Software schemes. Packet errors. Types of packet errors CRC Implementation Error control An Engineering Approach to Computer Networking Detects all single bit errors almost all 2-bit errors any odd number of errors all bursts up to M, where generator length

More information

CSE/EE 461. Sliding Windows and ARQ. Last Time. This Time. We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF)

CSE/EE 461. Sliding Windows and ARQ. Last Time. This Time. We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF) CSE/EE 46 Sliding Windows and ARQ Last Time We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF) It was all about routing: how to provide end-to-end delivery of packets. Application

More information

Lecture 3: The Transport Layer: UDP and TCP

Lecture 3: The Transport Layer: UDP and TCP Lecture 3: The Transport Layer: UDP and TCP Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 3-1 The Transport Layer Provides efficient and robust end-to-end

More information

TCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

TCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim TCP Performance EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks

More information

Computer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure

Computer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure Computer Networking Reliable Transport Prof. Andrzej Duda duda@imag.fr Reliable Transport Reliable data transfer Data are received ordered and error-free Elements of procedure usually means the set of

More information

TCP/IP-2. Transmission control protocol:

TCP/IP-2. Transmission control protocol: TCP/IP-2 Transmission control protocol: TCP and IP are the workhorses in the Internet. In this section we first discuss how TCP provides reliable, connectionoriented stream service over IP. To do so, TCP

More information

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 5 - Part 2

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 5 - Part 2 Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion Chapter 5 - Part 2 End to End Protocols Eng. Haneen El-Masry May, 2014 Transport Layer

More information

4.0.1 CHAPTER INTRODUCTION

4.0.1 CHAPTER INTRODUCTION 4.0.1 CHAPTER INTRODUCTION Data networks and the Internet support the human network by supplying seamless, reliable communication between people - both locally and around the globe. On a single device,

More information

Lecture - 36 Effect on Higher Layer I

Lecture - 36 Effect on Higher Layer I Satellite Communication Systems Prof. Kalyan Kumar Bandyopadhyay Department of Electronics and Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture - 36 Effect on Higher

More information

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1 OSI Transport Layer Network Fundamentals Chapter 4 Version 4.0 1 Transport Layer Role and Services Transport layer is responsible for overall end-to-end transfer of application data 2 Transport Layer Role

More information

ECE697AA Lecture 3. Today s lecture

ECE697AA Lecture 3. Today s lecture ECE697AA Lecture 3 Transport Layer: TCP and UDP Tilman Wolf Department of Electrical and Computer Engineering 09/09/08 Today s lecture Transport layer User datagram protocol (UDP) Reliable data transfer

More information

CS 43: Computer Networks. 16: Reliable Data Transfer October 8, 2018

CS 43: Computer Networks. 16: Reliable Data Transfer October 8, 2018 CS 43: Computer Networks 16: Reliable Data Transfer October 8, 2018 Reading Quiz Lecture 16 - Slide 2 Last class We are at the transport-layer protocol! provide services to the application layer interact

More information

Lecture 7: Flow & Media Access Control"

Lecture 7: Flow & Media Access Control Lecture 7: Flow & Media Access Control" CSE 123: Computer Networks Alex C. Snoeren HW 2 due next Wednesday! Lecture 7 Overview" Flow control Go-back-N Sliding window Methods to share physical media: multiple

More information

NWEN 243. Networked Applications. Layer 4 TCP and UDP

NWEN 243. Networked Applications. Layer 4 TCP and UDP NWEN 243 Networked Applications Layer 4 TCP and UDP 1 About the second lecturer Aaron Chen Office: AM405 Phone: 463 5114 Email: aaron.chen@ecs.vuw.ac.nz Transport layer and application layer protocols

More information

CS 421: COMPUTER NETWORKS SPRING FINAL May 24, minutes. Name: Student No: TOT

CS 421: COMPUTER NETWORKS SPRING FINAL May 24, minutes. Name: Student No: TOT CS 421: COMPUTER NETWORKS SPRING 2012 FINAL May 24, 2012 150 minutes Name: Student No: Show all your work very clearly. Partial credits will only be given if you carefully state your answer with a reasonable

More information

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP EEC7B/ECS5C Review: Internet Protocol Stack Review: TCP Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet radio Transport Layer Services Design Issue Underlying

More information

CSE 461 Module 10. Introduction to the Transport Layer

CSE 461 Module 10. Introduction to the Transport Layer CSE 461 Module 10 Introduction to the Transport Layer Last Time We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF, BGP) It was all about routing: how to provide end-to-end delivery

More information

Advanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science

Advanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science Advanced Computer Networks Rab Nawaz Jadoon Department of Computer Science DCS COMSATS Institute of Information Technology Assistant Professor COMSATS University, Lahore Pakistan Advanced Computer Networks

More information

CPS221 Lecture: Layered Network Architecture

CPS221 Lecture: Layered Network Architecture CPS221 Lecture: Layered Network Architecture Objectives last revised 9/8/14 1. To discuss the OSI layered architecture model 2. To discuss the specific implementation of this model in TCP/IP Materials:

More information

Principles of Reliable Data Transfer

Principles of Reliable Data Transfer Principles of Reliable Data Transfer 1 Reliable Delivery Making sure that the packets sent by the sender are correctly and reliably received by the receiver amid network errors, i.e., corrupted/lost packets

More information

Transport Protocols & TCP TCP

Transport Protocols & TCP TCP Transport Protocols & TCP CSE 3213 Fall 2007 13 November 2007 1 TCP Services Flow control Connection establishment and termination Congestion control 2 1 TCP Services Transmission Control Protocol (RFC

More information

The Data Link Layer Chapter 3

The Data Link Layer Chapter 3 The Data Link Layer Chapter 3 Data Link Layer Design Issues Error Detection and Correction Elementary Data Link Protocols Sliding Window Protocols Example Data Link Protocols Revised: August 2011 & February

More information

image 3.8 KB Figure 1.6: Example Web Page

image 3.8 KB Figure 1.6: Example Web Page image. KB image 1 KB Figure 1.: Example Web Page and is buffered at a router, it must wait for all previously queued packets to be transmitted first. The longer the queue (i.e., the more packets in the

More information

CS457 Transport Protocols. CS 457 Fall 2014

CS457 Transport Protocols. CS 457 Fall 2014 CS457 Transport Protocols CS 457 Fall 2014 Topics Principles underlying transport-layer services Demultiplexing Detecting corruption Reliable delivery Flow control Transport-layer protocols User Datagram

More information

ELEN Network Fundamentals Lecture 15

ELEN Network Fundamentals Lecture 15 ELEN 4017 Network Fundamentals Lecture 15 Purpose of lecture Chapter 3: Transport Layer Reliable data transfer Developing a reliable protocol Reliability implies: No data is corrupted (flipped bits) Data

More information

ECE 435 Network Engineering Lecture 10

ECE 435 Network Engineering Lecture 10 ECE 435 Network Engineering Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 28 September 2017 Announcements HW#4 was due HW#5 will be posted. midterm/fall break You

More information

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The

More information

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties

More information

Lecture 11: Transport Layer Reliable Data Transfer and TCP

Lecture 11: Transport Layer Reliable Data Transfer and TCP Lecture 11: Transport Layer Reliable Data Transfer and TCP COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,

More information

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CS 375: Computer Networks Thomas C. Bressoud 1 Goals for Todayʼs Lecture Principles underlying transport-layer services (De)multiplexing Detecting

More information

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CE443 - Fall 1390 Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides

More information

Mobile Transport Layer

Mobile Transport Layer Mobile Transport Layer 1 Transport Layer HTTP (used by web services) typically uses TCP Reliable transport between TCP client and server required - Stream oriented, not transaction oriented - Network friendly:

More information

TCP Congestion Control

TCP Congestion Control TCP Congestion Control What is Congestion The number of packets transmitted on the network is greater than the capacity of the network Causes router buffers (finite size) to fill up packets start getting

More information

TCP Congestion Control

TCP Congestion Control What is Congestion TCP Congestion Control The number of packets transmitted on the network is greater than the capacity of the network Causes router buffers (finite size) to fill up packets start getting

More information

Chapter 24. Transport-Layer Protocols

Chapter 24. Transport-Layer Protocols Chapter 24. Transport-Layer Protocols 23.1 Introduction 23.2 User Datagram Protocol 23.3 Transmission Control Protocol 23.4 SCTP Computer Networks 24-1 Position of Transport-Layer Protocols UDP is an unreliable

More information

The Transmission Control Protocol (TCP)

The Transmission Control Protocol (TCP) The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, e-mail, WWW) Reliable Stream Transport (TCP) Unreliable Transport Service (UDP) Connectionless Packet Delivery Service (IP) Goals

More information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks CS4700/CS5700 Fundamentals of Computer Networks Lecture 14: TCP Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern

More information

ICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections

ICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections ICS 451: Today's plan Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections Alternating Bit Protocol: throughput tied to latency with

More information

Fundamentals of Computer Networks ECE 478/578. Transport Layer. End- to- End Protocols 4/16/13. Spring Application. Application.

Fundamentals of Computer Networks ECE 478/578. Transport Layer. End- to- End Protocols 4/16/13. Spring Application. Application. Fundamentals of Computer Networks ECE 478/578 Spring 2013 End- to- End Protocols Source node Application Presentation Session transport Network Data link Physical Packets Frames Bits Transport Layer Intermediate

More information

COMP/ELEC 429/556 Introduction to Computer Networks

COMP/ELEC 429/556 Introduction to Computer Networks COMP/ELEC 429/556 Introduction to Computer Networks The TCP Protocol Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu

More information

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD Overview 15-441 Computer Networking Lecture 9 More TCP & Congestion Control TCP congestion control TCP modern loss recovery TCP modeling Lecture 9: 09-25-2002 2 TCP Congestion Control Changes to TCP motivated

More information

Networked Systems and Services, Fall 2018 Chapter 3

Networked Systems and Services, Fall 2018 Chapter 3 Networked Systems and Services, Fall 2018 Chapter 3 Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transport Layer Reliability with TCP Transmission Control Protocol (TCP) RFC 793 + more than hundred other

More information

16.682: Communication Systems Engineering. Lecture 17. ARQ Protocols

16.682: Communication Systems Engineering. Lecture 17. ARQ Protocols 16.682: Communication Systems Engineering Lecture 17 ARQ Protocols Eytan Modiano Automatic repeat request (ARQ) Break large files into packets FILE PKT H PKT H PKT H Check received packets for errors Use

More information

Introduction to Networks and the Internet

Introduction to Networks and the Internet Introduction to Networks and the Internet CMPE 80N Announcements Project 2. Reference page. Library presentation. Internet History video. Spring 2003 Week 7 1 2 Today Internetworking (cont d). Fragmentation.

More information

COMPUTER NETWORK. Homework #2. Due Date: April 12, 2017 in class

COMPUTER NETWORK. Homework #2. Due Date: April 12, 2017 in class Computer Network Homework#2 COMPUTER NETWORK Homework #2 Due Date: April 12, 2017 in class Question 1 Suppose a process in Host C has a UDP socket with port number 6789. Suppose both Host A and Host B

More information

CS/ECpE 5516, Spring 1998, Midterm Exam 75 minutes, 120 points Prof. Abrams

CS/ECpE 5516, Spring 1998, Midterm Exam 75 minutes, 120 points Prof. Abrams CS/ECpE 5516, Spring 1998, Midterm Exam 75 minutes, 120 points Prof. Abrams Write your answers on your own paper; a stapler and scrap paper are available at the front of the room. Arrange the answer pages

More information

Programming Assignment 3: Transmission Control Protocol

Programming Assignment 3: Transmission Control Protocol CS 640 Introduction to Computer Networks Spring 2005 http://www.cs.wisc.edu/ suman/courses/640/s05 Programming Assignment 3: Transmission Control Protocol Assigned: March 28,2005 Due: April 15, 2005, 11:59pm

More information

Networked Systems and Services, Fall 2017 Reliability with TCP

Networked Systems and Services, Fall 2017 Reliability with TCP Networked Systems and Services, Fall 2017 Reliability with TCP Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transmission Control Protocol (TCP) RFC 793 + more than hundred other RFCs TCP Loss Recovery

More information