Transport Layer Protocols

Size: px
Start display at page:

Download "Transport Layer Protocols"

Transcription

1 Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements some control functions. The original TCP/IP protocol suite (to be introduced later) introduces two different protocols for this purpose: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). TCP establishes a virtual link between two application programs, and provides error checking and congestion control. On the other hand, UDP protocol keeps the minimum requirement of an end to end connection and leaves the control mechanisms to the application. TCP is a reliable and connection oriented protocol appropriate for applications such as delivery and file transfer protocol (FTP). The UDP is an unreliable and connectionless protocol, but it is simple and incurs less communication overhead. The UDP is a good choice for applications such as Voice over IP (VoIP), where packet loss is acceptable to some extent. In the following section, the TCP and UDP are introduced. Transmission Control Protocol (TCP) TCP is the main protocol of the transport layer in packet switched networks. TCP and IP protocols provide the basic structure of the Internet. These two protocols are complementary in the sense that IP facilitates packet forwarding irrespective of reliable packet delivery, whereas TCP is responsible for reliable packet delivery between applications. In the network layer, the order of packets during transmission may change, because, different packets may reach a destination on different routes. Moreover, some packets may be dropped due to the congestion and/or long delay in a node on the path. TCP protocol compensates for some of these deficiencies of the IP protocol, and controls the congestion in a network. 1

2 To implement reliable services, TCP deploys a numbering system as well as some control mechanisms. The numbering system determines byte, sequence, and acknowledgment numbers. The control mechanisms include flow, error, and congestion controls. The bytes of the data part of TCP segments are numbered by the protocol. In fact, the first byte of a data segment gets a sequence number explicitly, where as the following bytes get it implicitly. The number is put in the sequence number field of the segment header, and is used for flow and error control. In addition, the parties involved in a connection use the {byte number + 1} in their segment header as acknowledgment number. It indicates the byte number they expect to receive. For example, if the acknowledgement number of a segment header of one of the communication parties shows 34, that means the party has received all of the bytes from the beginning up to and including byte number 33, and now it is expecting to receive byte number 34. TCP connections are full duplex; each party has its own sequence and acknowledgment numbers for the transmitting stream. Flow control avoids data overflow at the receiver. In other words, the receiver tells the sender how much to send so that buffer overflow is avoided. Congestion control is implemented by the sender based on the level of congestion in a network. Error control mechanism provides a reliable service for TCP. The control mechanisms of TCP will be explained later on. Prior to that, TCP protocol suite is introduced to show the relevance between TCP and the upper and lower layer protocols. Also, the structure of a TCP segment and the concept of connection oriented TCP are described to help understanding the TCP control mechanisms. TCP/IP Protocol Suite TCP and IP protocols were introduced prior to the OSI (Open System Interconnection) model of the International Standards Organization. Therefore, the

3 protocol stack based on the TCP/IP, as shown in Fig.1, does not exactly match with the 7 layer OSI model. The TCP/IP protocol suite contains four layers of protocols (or five layers, depending on which reference you look at!) as defined below. Layer 4 Application Layer: This layer performs the functionalities of application, presentation and session layers of the OSI model. Application protocols such as SMTP (simple mail transfer protocol), FTP (file transfer protocol), and HTTP (hypertext transfer protocol) operate at this layer. Layer 3 Transport Layer: This layer performs the equivalent functions of the OSI transport layer as well as some OSI session layer functionalities. This layer provides different levels of reliable delivery service for the application layer depending on the application requirements. Layer Internet Layer: This layer handles routing tables and packet forwarding. Layer 1 Network Access Layer (Data Link + MAC + Physical): Connection to the physical environment and flow control are performed at this layer. The layer specifies the characteristics of the hardware and access methods. OSI TCP/IP Application Presentation Application Session Transport Transport Network Internet Data Link Network Interface Physical Fig. 1 OSI model versus TCP/IP model 3

4 TCP Segment In order to understand the TCP protocol, it is necessary to understand the various fields of a TCP segment header. These fields are described in this section. In the next sections, we describe how each field is utilized for each TCP service. The TCP Segment header is bytes long, but it may increase up to 6 bytes if an optional 4 byte is added to the header. The format of a segment is shown in Fig.. The meaning and purpose of each field is as follows: Source Port Address: A 16 bit address of the port number of the sender (application). Destination port address: A 16 bit address of the port number of the receiver (application). Sequence Number: A 3 bit address (sequence number) of first byte of data in each segment. In other words, the sequence number indicates the address of the first data byte in each segment for the receiver. Acknowledgment Number: A 3 bit byte number that the receiver expects to receive from the sender. An acknowledgment number, 13, means that all the bytes starting from the initial sequence number and up to and including byte number 1 have been successfully received. Header length: A 4 bit field that represents the header length in multiple of four bytes. Reserved: A 6 bit field reserved for the requirements of future protocol developments. 4

5 Control: A 6 bit field contains some flags for connection establishment, termination, abortion, flow control, and data transfer mode indication. Table 1 represents the usage of each flag. Source Port Destination Port Header Length Sequence Number Acknowledgment Number Reserved U A P R S F Window size Checksum Urgent Pointer Options Padding H e a d e r Data U: URG (Urgent) A: ACK P: PSH (Push) R: RST (Reset) S: SYN (Sync.) F: FIN (Finish) Fig. : TCP Segment Format Table 1 TCP Segment Header Flags Flag value Description URG 1 Urgent pointer field has a valid value. ACK 1 Acknowledgment field has a valid value. 1 PSH RST 1 SYN 1 FIN 1 The receiving TCP module passes (pushes) the data to the application immediately. The receiving TCP module may delay the data. The connection request is denied, or the connection is aborted. Synchronize sequence number during connection Sender has no more data to send, but is ready to receive. 5

6 Window Size: A 16 bit number specifying the number of bytes the receiver is willing to receive. The value of this field is used in flow control and congestion control. Checksum: A 16 bit field used for error correction. Urgent pointer: A 16 bit number that is added to the sequence number and shows the location of the first byte of urgent data in the data section of the segment. Urgent data is delivered to the recipient application program to be processed before other data. The value of this field is used when the URG flag is on. Options: The length of this field may reach up to 4 bytes. Connection oriented TCP TCP is a connection oriented protocol. It establishes a virtual connection between the running application programs (process) at the two communication end points. TCP uses port number for this purpose. Each port number is relevant to an application as shown in Table. The stream of data is sent from the process to the transport layer. TCP establishes a connection between the transport layers of the transmitter and receiver stations. It then divides the stream of data into units called segments. Segments are numbered and transmitted one by one. The TCP protocol at the receiver side checks the arriving segments for error, loss, and duplication. It orders the segments, makes a stream, and transfers the stream to the receiver side process. TCP provides stream delivery service. Both the sender and the receiver processes deal with the stream of bytes and are not aware of stream segmentation in the lower layers. After all segments are transmitted, TCP at the transmitter side closes the connection. 6

7 Table Port Numbers Used by TCP Port Protocol Description FTP, Data File Transfer Protocol (data connection) 1 FTP, Control File Transfer Protocol (control connection) 3 TELNET Terminal Network 5 SMTP Simple Mail Transfer Protocol 53 DNS Domain Name Server 79 Finger Finger 8 HTTP Hypertext Transfer Protocol 111 RPC Remote Procedure Call Connection oriented TCP consists of connection establishment, data transfer, and connection termination phases. The parties involved in a connection establishment are termed as client, applicant for the connection, and server, the destination. Connection establishment is a three way handshaking protocol. Fig. 3 shows a connection establishment. First, the client sends a segment with SYN=1 to synchronize the sequence numbers. The segment contains the initial sequence number. Second, the server sends the second segment with SYN and ACK flags on. That means the segment contains the initial sequence number of the server and the first segment transmitted by the client has been successfully received. The server s segment contains the value of the window size kept by the server. In the next sections we will describe the application of the window size. Third, the client sends the segment with ACK flag on which acknowledges the reception of the server segment reception. The window size of the client is included too. Note that the sequence number of the client s acknowledgment segment is the same as client s first segment (synchronizing segment), because no data is carried in the first segment and sequence number does not change. 7

8 Data transfer phase is bidirectional. It includes data and acknowledgement transmission. The acknowledgment is piggybacked with data or transmitted individually. Fig. 4 shows an example of data transfer. The client and the server have bytes of data (each one) to transmit. The client transmits the data in two segments, and the server transmits its data all at once. Acknowledgment is piggy backed with the three first segments. However, there is no more data to be transmitted at the last segment, and it carries only the acknowledgement. In the client s data segments, the PSH flag is on. It means the server TCP should deliver data to server application as soon as they are received (appropriate for interactive Client Server Seq# = 8, SYN=1 Seq#=15, Ack = 81, SYN=ACK=1, RWND = 5 Seq#=8, Ack = 151, ACK=1, RWND = 1 Time Time applications). Fig. 3 Three way connection establishment Client or server can terminate a connection, no matter which one has established it. Also, one party can terminate its connection, while it still receives data from the other party. The termination phase is implemented by terminating party which transmits a segment contains FIN flag on, with the last available chunk of data. The 8

9 recipient party acknowledges the connection termination by activating the ACK flag in its next segment. Client Server Seq# = 81, Ack=151, ACK=PSH=1 Data bytes: 81-9 Seq# = 91, Ack=151, ACK=PSH=1 Data bytes: 91-1 Seq#=151, Ack = 11, ACK=1 Data bytes: Seq#=1, Ack = 171, ACK=1, RWND = 1 Time Time Fig. 4 Data transfer Flow Control Flow control determines how much data can be transmitted before receiving an acknowledgment. There are two extremes for this purpose. One asks an acknowledgment after each one byte of data transmission, which causes delay and transmission overhead; the other asks for only one acknowledgment after transmission all of the data, which causes late feedback to the transmitter to compensate for transmission problems. For instance, if the path is congested, transmitter will not be aware of that to slow down the transmission rate. TCP flow control chooses a dynamic approach between these two extremes. 9

10 TCP flow control is window based. Window size specifies the amount of data that can be transmitted before receiving the acknowledgment. Window slides over the segments as shown in Fig 5. The size of the window varies according to the congestion status of a network, congestion window (CWND), and the receiver buffer size, receiver window (RWND). The congestion window size is determined by the network to avoid congestion. The receiver window indicates the number of bytes that the receiver can accept before its buffer overflows. The value of the receiver window is sent to the transmitter in the acknowledgment message. The size of the sliding window, shown in Fig. 5, is equal to the min (CWND, RWND). Accordingly, the sliding window resizes by opening from the right and closing from the left. Opening lets more bytes come to the window and closing lets the acknowledged bytes to go out of the window. Sliding window Sent Sent Waiting Not & ACKed bytes & not ACKed bytes to be sent in the window Byte stream Fig. 5 TCP sliding window Example: In the example, shown in Fig. 6, the CWND is and RWND is 9 bytes. Accordingly, TCP window size equals to 9. The bytes up to have been sent. Bytes number, 1, and has not been acknowledged by the receiver, but the sender can still transmit bytes 3 up to 8. 1

11 Next byte to be sent Sent and ACKed Can t be sent until window opens Window size=min(,9) Fig. 6 Sliding Window If the sender receives an acknowledgment value for byte 3 along with RWND = 9, the window will be updated. It is closed from the left and opened from the right. The new TCP window will contain bytes 3 up to 11. Question: window mechanism? What happens if the sender or transmitter is very slow in a sliding Answer: The Silly Window Syndrome occurs! The slow transaction of data causes the window size to be reduced down to one byte. Comparing the overhead of the segment, 4 bytes, with the body, one byte, shows flow control with sliding window mechanism is not efficient at all. Remedy: If the slowness of the sender s application causes Silly Window Syndrome, Nagle s Algorithm is the remedy. The prescription is as follows: Sender sends the first segment even if it is a small one Next, the sender waits until an ACK is received, or a maximum size segment is accumulated. 11

12 Step is repeated for the rest of the transmission. If the slowness of the receiver s application causes Silly Window Syndrome, two prescriptions are advised: Clark s solution: Send an ACK as soon as the data arrives, and close the window until another segment can be received or buffer is ½ empty. Delayed ACK: Delay sending the ACK, at most 5 ms; this causes the sender stop transmitting, but it does not change its window size. Error Control The reliability of TCP protocol is achieved by error control mechanisms that detect and correct errors. Error detection includes identifying corrupted, lost, out oforder, and duplicated segments. TCP deploys three tools for error detection and correction: checksum, acknowledgement, and time out. Checksum Checksum is a simple method for detecting corrupted segments. Each segment contains a 16 bit field in its header for checksum. Destination TCP discards segments that have checksum error. Acknowledgement Every data or control segment with sequence number is acknowledged to confirm the segment reception. There are two kinds of acknowledgement: positive acknowledgement (shortly ACK) and selective acknowledgement (SACK). Positive acknowledgement symbolizes the fact that the receiver advertises the expecting byte number and ignores reporting the erroneous segments. SACK is a 1

13 complementary mechanism for ACK that reports erroneous segments, such as duplicated and out of order segments, to the sender. Time out Retransmission This is a very important task of error control mechanism. Corrupted, lost, and delayed segments are retransmitted. The criteria for the retransmission are retransmission timer expiration or three duplicate ACK receptions. The TCP sender starts a retransmission time out (RTO) timer when it sends a segment. The segment is retransmitted upon RTO timer expiration, no matter what the reason is for not receiving ACK. For example if the segment is received successfully, but the ACK is lost or delayed, the TCP sender assumes segment has been lost. For this reason, the RTO timer is set for a longer time in networks with long round trip time (RTT). RTT is the time for a segment to catch the receiver plus the time for an ACK to reach to the segment transmitter. Network that needs fast retransmission, three duplicate ACK is the rule for retransmission. If the sender receives three ACKs for a sequence number, it sends the segment with that sequence number immediately, irrespective of the RTO timer value. The advantage of three duplicate ACK rule is the receiver does not need to buffer many segments until it finally receives an out of order segment. Congestion Control In a network, data are queued in the buffer of the interfaces and delivered to the next stage in an appropriate time. If there is a mismatch between processing time or capacity of the two interconnected stages of the network, congestion occurs. 13

14 Congestion affects two performance metrics in a network: throughput and delay. Delay can be considered as the sum of the propagation, processing, and queuing delay. Indeed, congestion affects queuing delay much more than the others. When the network load increases, congestion deteriorates the delay performance. This situation is depicted in Fig. 7. Again, increased delay worsens the congestion state. Because the sender attempts to retransmit a packet upon late ACK, which increases the network load further. Throughput and goodput are two performance measures that show the behaviour of the network versus load. Throughput is defined as the number of packets passing through the network in a unit of time. The measure of the received packets to the transmitted packets named goodput. As shown in Fig. 7, when the network load increases up to the network capacity, the throughput and goodput increase. However, when the traffic load is more than the network capacity, overflow occurs in the buffers and packets are dropped. Delay No congestion Network capacity congestion Total Output rate No congestion Network capacity congestion Network Load Total Input rate Fig. 7 Network performance upon congestion The principles of congestion control mechanisms are to prevent or remove congestion. Congestion prevention mechanisms control congestion by adopting a good retransmission, acknowledgement, and discard policy. Once congestion occurred, different signalling mechanisms are used by the routers to inform the sender or receiver of the congestion to compensate for that. Congestion can be avoided by appropriately adjusting the retransmission timers and choosing a retransmission policy. The time that a receiver sends an 14

15 acknowledgement affects the sender s transmission speed. So, by controlling this time, congestion can be controlled. For instance, if the receiver sends the acknowledgements later, but before the expiration of the sender s timer, the arrival traffic in a network slows down. Discard policy can prevent congestion by discarding the packets that have less effect on the transmission or application quality, e.g. discarding less important voice or video packets instead of an FTP session data packets. The above preventing mechanisms are open loop control mechanisms and can be implemented at sender or receiver side. To alleviate an occurred congestion, closed loop control mechanisms are used to slow down the arrival of traffic to a network. When a router experience congestion, it may ask the previous routers to slow down their packet transmissions. Inform directly senders or receivers, instead of routers on a path, to adjust the injected amount of data to the network could be another mechanism. In other words, congestion is controlled by TCP senders and receivers, not routers on a path. The main tool of closed loop congestion control mechanisms is window size. The window size is determined by the minimum value of available capacity of buffers in TCP receiver (RWND) or congestion level in the network (CWND). RWND is advertised from the receiver side and used for flow control. CWND size is determined on sender side and used for congestion control. TCP Congestion Policy TCP congestion control mechanism has three instruments: slow start, congestion avoidance, and congestion detection. A sender starts transmission with a slow rate and increases the rate as long as its rate is below a threshold. When the threshold is reached, the rate is decreased to avoid congestion. If congestion happens, the sender slows down the rate to the slow start rate or another rate of congestion avoidance phase depending on the chosen policy. 15

16 In slow start phase, a sender chooses the minimum value of CWND which has been agreed upon connection establishment. Suppose RWND is much higher than the CWND. After transmitting the first segment and receiving the corresponding ACK, sender doubles CWND. That means two segments can be transmitted before receiving an acknowledgement. If the sender receives ACK for the two transmitted segments, it doubles CWND again, as shown in Fig. 8. The process of increasing CWND exponentially stops and congestion avoidance phase starts when CWND size reaches a threshold value. CWND size increases in congestion avoidance phase linearly, not exponentially, as long as no congestion is detected. That means the sender increases CWND by one after receiving ACK, as shown in Fig. 9. The slow increment of CWND prevents congestion to some extent, but it can not 1% avoid that. Sender Receiver cwnd=1 Segment 1 cwnd = 1x = 1 = ACK Segment Segment 3 cwnd = x = = 4 ACK 4 Segment 4 Segment 5 Segment 6 Segment 7 cwnd = 4x = 3 = 8 ACK 8 Time Time Fig. 8 slow start phase A TCP sender assumes congestion happened upon RTO expiration or receiving three ACKs for a segment. A new slow start or congestion avoidance phase follows the congestion detection phase. If detection is based on time out, the threshold value will be set to the half of the current window size and CWND will be set by the minimum CWND size of the slow start phase. Otherwise, if detection is by three 16

17 ACKs, the threshold value will be set to the half of the current window size, CWND will be set by the threshold value, and a congestion avoidance phase starts. The different reaction to congestion detection is because of the fact that there is a stronger possibility of congestion when a time out occurs than three ACKs occur. In the former, there is no idea about the transmitted segments, but the later means some segments have reached the receiver successfully. Sender Receiver cwnd=1 Segment 1 cwnd = 1+1 = ACK Segment Segment 3 cwnd = +1 = 3 ACK 4 Segment 4 Segment 5 Segment 6 cwnd = 3+1 =4 ACK 7 Time Time Fig. 9 congestion avoidance phase In summary, the congestion control mechanism of TCP can be categorized in three phases. It starts with slow start phase that exponentially increase CWND and continues to congestion avoidance threshold. When it reaches the congestion avoidance threshold then it additively increases CWND, and follows by a multiplicative decreasing rate phase upon congestion detection. Fig. 1 illustrates the three phases. 17

18 cwnd Time-out 3-ACKs slow start additive increase slow start additive increase additive increase multiplicative decrease multiplicative decrease time Fig. 1 TCP congestion control behaviour User datagram protocol (UDP) UDP serves the application layer and network layer like TCP, but with more ease. Table 3 compares the two protocols from the viewpoint of services they provide to the transport layer. UDP uses port number for application to application communication, but it does not establish a connection as TCP does, so it is termed as connectionless. UDP sender transmits the data unit of the upper layer process and does not care if the transmission is reliable. In other words, if the data unit get lost due to the congestion or duplicated in the path, UDP does not recognize it. UDP does not deploy ACK, flow and congestion control. That s why UDP is unreliable. There is minimal error detection, and erroneous packets will be simply discarded. The beauty of UDP is its simplicity. The only overhead that UDP adds to the packet is to establish process to process communication, rather than a host to host communication of IP layer. Therefore, UDP is very suitable for small message communications or applications that do not need strong reliability, such as client/server request/reply or video conferencing. It can also be used in 18

19 applications that have internal error and flow control, such as Trivial File Transfer Protocol (TFTP). Table 3 TCP and UDP services comparison Service TCP UDP Using port number for process to process yes yes communication Establishing process to process connection yes no Increasing overhead & interaction b/w sender & yes no receiver Doing error control yes minimal Doing flow control yes no Sending ACK for received packet yes no The data unit of UDP consists of an 8 byte header and variable size data field as shown in Fig. 11. The header consists of the source and destination port number, total length, and checksum fields. Source Port Number 16 bits Total Length 16 bits Destination Port Number 16 bits Checksum 16 bits Data Fig. 11: User Datagram Format 19

20 UDP port numbers are same as the TCP port numbers. They allow different applications to maintain a specific path for their data. In other words, multiple applications can be distinguished with their port numbers. You can think of a port number as an associated number to an interface queue that the application in sender or receiver side keeps data in it before transmission or reception. Even if an application wants to communicate with multiple applications, it keeps one port number for all incoming and outgoing data. Port numbers can be reserved for an application. The total length field shows the UDP datagram size which is the sum of bytes contained in the header and data section (sometimes named payload). The maximum size of a datagram is bytes. The use of the checksum field is optional in UDP, unlike TCP. If the checksum is not calculated by the sender the field will be filled with zero.

TCP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH 43210 Raj Jain 20-1

TCP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH 43210  Raj Jain 20-1 TCP Professor of CIS Columbus, OH 43210 Jain@ACM.Org http://www.cis.ohio-state.edu/~jain/ 20-1 Overview Key features, Header format Mechanisms, Implementation choices Slow start congestion avoidance, Fast

More information

Transmission Control Protocol (TCP) A brief summary

Transmission Control Protocol (TCP) A brief summary Transmission Control Protocol (TCP) A brief summary TCP Basics TCP (RFC 793) is a connection-oriented transport protocol TCP entities only present at hosts (end-end) retain state of each open connection

More information

TCP and UDP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH

TCP and UDP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH TCP and UDP Professor of CIS Columbus, OH 43210 Jain@ACM.Org http://www.cis.ohio-state.edu/~jain/ 12-1 Overview Key features Header format Mechanisms Implementation choices Slow start congestion avoidance

More information

Transport Layer INF3190 / INF4190. Foreleser: Carsten Griwodz

Transport Layer INF3190 / INF4190. Foreleser: Carsten Griwodz Transport Layer INF3190 / INF4190 Foreleser: Carsten Griwodz Email: griff@ifi.uio.no Transport layer Flow Control: Generic approaches Flow Control on Transport Layer Fast sender shall not flood slow receiver

More information

Chapter 15. Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1

Chapter 15. Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1 Chapter 15 Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Outline TCP/IP Protocol Suite 2

More information

CHAPTER 24. Questions PRACTICE SET

CHAPTER 24. Questions PRACTICE SET CHAPTER 24 PRACTICE SET Questions Q24-1. The protocol field of the datagram defines the transport-layer protocol that should receive the transport-layer packet. If the value is 06, the protocol is TCP;

More information

Transport Layer: UDP vs. TCP

Transport Layer: UDP vs. TCP EEC 189Q: Computer Networks Transport Layer: UDP vs. TCP Reading: 8.4 & 8.5 Review: Internet Protocol Stack Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet

More information

TCP - Introduction. Features of TCP

TCP - Introduction. Features of TCP TCP - Introduction The Internet Protocol (IP) provides unreliable datagram service between hosts The Transmission Control Protocol (TCP) provides reliable data delivery It uses IP for datagram delivery

More information

Chapter 15. Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1

Chapter 15. Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1 Chapter 15 Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. OBJECTIVES: To introduce TCP as a protocol

More information

Slides from TCP/IP - Forouzan. Chapter 12 TCP

Slides from TCP/IP - Forouzan. Chapter 12 TCP Chapter 12 Services Segments and Options Flow Control and Error Control rs Connections State Transition Diagram Congestion Control Operation and Design Figure Application layer Position of in /IP protocol

More information

Guide to TCP/IP, Third Edition. Chapter 5: Transport Layer TCP/IP Protocols

Guide to TCP/IP, Third Edition. Chapter 5: Transport Layer TCP/IP Protocols Guide to TCP/IP, Third Edition Chapter 5: Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol Explain the mechanisms that drive segmentation,

More information

- TCP and UDP - Transport Layer Protocols

- TCP and UDP - Transport Layer Protocols 1 Transport Layer Protocols - TCP and UDP - The Transport layer (OSI Layer-4) does not actually transport data, despite its name. Instead, this layer is responsible for the reliable transfer of data, by

More information

Outline. Lecture 4: TCP TCP TCP. TCP Segment. How TCP Provides Reliability. Internetworking. TCP Transmission Control Protocol.

Outline. Lecture 4: TCP TCP TCP. TCP Segment. How TCP Provides Reliability. Internetworking. TCP Transmission Control Protocol. Internetworking Outline TCP Transmission Control Protocol RFC 793 (and several follow-ups) Literature: Lecture 4: TCP Forouzan, TCP/IP Protocol Suite: Ch 12 Connection Management Reliability Flow control

More information

Ethernet. Ethernet. Network Devices

Ethernet. Ethernet. Network Devices Ethernet Babak Kia Adjunct Professor Boston University College of Engineering ENG SC757 - Advanced Microprocessor Design Ethernet Ethernet is a term used to refer to a diverse set of frame based networking

More information

Module 11: TCP/IP Transport and Application Layers

Module 11: TCP/IP Transport and Application Layers Module 11: TCP/IP Transport and Application Layers 11.1 TCP/IP Transport Layer 11.1.1 Introduction to the TCP/IP transport layer The primary duties of the transport layer are to transport and regulate

More information

ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 Outline The transport service Elements of transport protocols A

More information

CS 421: Computer Networks FALL MIDTERM I November 22, minutes

CS 421: Computer Networks FALL MIDTERM I November 22, minutes CS 421: Computer Networks FALL 2004 MIDTERM I November 22, 2004 120 minutes Name: Student No: Show all your work very clearly. Partial credits will only be given if you carefully state your answer with

More information

TCP (Transmission Control Protocol)

TCP (Transmission Control Protocol) TCP (Transmission Control Protocol) Originally defined in RFC 793 (September 1981) UDP features: multiplexing + protection against bit errors Ports, checksum Connection-oriented Establishment and teardown

More information

Guide to TCP/IP Fourth Edition. Chapter 9: TCP/IP Transport Layer Protocols

Guide to TCP/IP Fourth Edition. Chapter 9: TCP/IP Transport Layer Protocols Guide to TCP/IP Fourth Edition Chapter 9: TCP/IP Transport Layer Protocols Objectives Explain the key features and functions of the User Datagram Protocol and the Transmission Control Protocol Explain,

More information

Computer Networks. Chapter 5 Transport Protocols

Computer Networks. Chapter 5 Transport Protocols Computer Networks Chapter 5 Transport Protocols Transport Protocol Provides end-to-end transport Hides the network details Transport protocol or service (TS) offers: Different types of services QoS Data

More information

Lecture 6: Congestion Control

Lecture 6: Congestion Control Lecture 6: Congestion Control Overview Internet is a network of networks Narrow waist of IP: unreliable, best-effort datagram delivery Packet forwarding: input port to output port Routing protocols: computing

More information

Due for Week Group of 3 (max) Percentage awarded for comments, coding practice, layout style, naming convention, completed task.

Due for Week Group of 3 (max) Percentage awarded for comments, coding practice, layout style, naming convention, completed task. EE4607 Project Goals Details Due for Week 11-12. Group of 3 (max) Percentage awarded for comments, coding practice, layout style, naming convention, completed task. Task Create a SDL implementation of

More information

Chapter 5. Transport layer protocols

Chapter 5. Transport layer protocols Chapter 5. Transport layer protocols This chapter provides an overview of the most important and common protocols of the TCP/IP transport layer. These include: User Datagram Protocol (UDP) Transmission

More information

Data Communication & Networks G22.2262-001. Session 9 - Main Theme The Internet Transport Protocols: TCP, UDP. Dr. Jean-Claude Franchitti

Data Communication & Networks G22.2262-001. Session 9 - Main Theme The Internet Transport Protocols: TCP, UDP. Dr. Jean-Claude Franchitti Data Communication & Networks G22.2262-001 Session 9 - Main Theme The Internet Transport Protocols: TCP, UDP Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

CSCE 463/612 Networks and Distributed Processing Spring 2016

CSCE 463/612 Networks and Distributed Processing Spring 2016 CSCE 463/612 Networks and Distributed Processing Spring 2016 Transport Layer IV Dmitri Loguinov Texas A&M University March 10, 2016 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1 Chapter

More information

TCP: Reliable, In-Order Delivery

TCP: Reliable, In-Order Delivery TCP: Reliable, In-Order Delivery 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

More information

Transportation Protocols: UDP, TCP & RTP

Transportation Protocols: UDP, TCP & RTP Transportation Protocols: UDP, TCP & RTP Transportation Functions UDP (User Datagram Protocol) Port Number to Identify Different Applications Server and Client as well as Port TCP (Transmission Control

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer All material copyright 1996-2009 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April

More information

The Transmission Control Protocol (TCP): Lecture 1

The Transmission Control Protocol (TCP): Lecture 1 Today s Lecture The Transmission Control Protocol (TCP): Lecture 1 I. TCP overview II. The TCP Header III. Connection establishment and termination Internet Protocols CSC / ECE 573 Fall, 2005 N. C. State

More information

Introduction to Networking S Y STEMS

Introduction to Networking S Y STEMS Introduction to Networking CS 40: INTRODUCTION TO U NIX A ND L I NUX O P E R AT ING S Y STEMS Objectives Introduce networking, including what it is and what it contains, which includes: Networking layers

More information

Final for ECE374 05/06/13 Solution!!

Final for ECE374 05/06/13 Solution!! 1 Final for ECE374 05/06/13 Solution!! Instructions: Put your name and student number on each sheet of paper! The exam is closed book. You have 90 minutes to complete the exam. Be a smart exam taker -

More information

TCP transmission control protocol

TCP transmission control protocol TCP transmission control protocol Suguru Yamaguchi 2014 Information Network 1 Functions that transport layer provides! Model: inter-process communication Identification of process Communication pair of

More information

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 socket door point-to-point: one sender, one receiver reliable, in-order byte steam: no message boundaries pipelined: TCP congestion and flow control set

More information

Transport Layer. Chapter 3.4. Think about

Transport Layer. Chapter 3.4. Think about Chapter 3.4 La 4 Transport La 1 Think about 2 How do MAC addresses differ from that of the network la? What is flat and what is hierarchical addressing? Who defines the IP Address of a device? What is

More information

CS640: Introduction to Computer Networks. Transport Protocols. Functionality Split

CS640: Introduction to Computer Networks. Transport Protocols. Functionality Split CS640: Introduction to Computer Networks Aditya Akella Lecture 14 TCP I - Transport Protocols: TCP Segments, Flow control and Connection Setup Transport Protocols Lowest level endto-end protocol. Header

More information

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit www.gearbit.com

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit www.gearbit.com B-2 Analyzing TCP/IP Networks with Wireshark June 15, 2010 Ray Tompkins Founder of Gearbit www.gearbit.com SHARKFEST 10 Stanford University June 14-17, 2010 TCP In this session we will examine the details

More information

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation R.Navaneethakrishnan Assistant Professor (SG) Bharathiyar College of Engineering and Technology, Karaikal, India.

More information

TCP/IP Concepts Review. Ed Crowley

TCP/IP Concepts Review. Ed Crowley TCP/IP Concepts Review Ed Crowley 1 Objectives At the end of this unit, you will be able to: Describe the TCP/IP protocol stack For each level, explain roles and vulnerabilities Explain basic IP addressing

More information

Transport Layer Outline

Transport Layer Outline Transport Layer Outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP

More information

[Prof. Rupesh G Vaishnav] Page 1

[Prof. Rupesh G Vaishnav] Page 1 Basics The function of transport layer is to provide a reliable end-to-end communications service. It also provides data transfer service for the user layers above and shield the upper layers from the

More information

TCP/IP Tutorial. Transmission Control Protocol Internet Protocol

TCP/IP Tutorial. Transmission Control Protocol Internet Protocol TCP/IP Tutorial Transmission Control Protocol Internet Protocol 1 TCP/IP & OSI In OSI reference model terminology -the TCP/IP protocol suite covers the network and transport layers. TCP/IP can be used

More information

TCP context and interfaces

TCP context and interfaces Linux Networking: tcp David Morgan TCP context and interfaces Computer A Computer B application process application process data data data data TCP process TCP process a network 1 TCP purposes and features

More information

TCP Service Model. Announcements. TCP: Reliable, In-Order Delivery. Today s Lecture. TCP Header. TCP Support for Reliable Delivery

TCP Service Model. Announcements. TCP: Reliable, In-Order Delivery. Today s Lecture. TCP Header. TCP Support for Reliable Delivery Announcements Sukun is away this week. Dilip will cover his section and office hours. TCP: Reliable, In-Order Delivery EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson

More information

INTERNET ENABLED SYSTEMS NETWORK PROTOCOLS

INTERNET ENABLED SYSTEMS NETWORK PROTOCOLS DEVICES AND COMMUNICATION BUSES FOR DEVICES NETWORK Lesson-24: INTERNET ENABLED SYSTEMS NETWORK PROTOCOLS 1 Internet enabled embedded system Communication to other on the Internet. Use html (hyper text

More information

By: Chunyan Fu, PhD, Ericsson Canada

By: Chunyan Fu, PhD, Ericsson Canada TCP/UDP Basics By: Chunyan Fu, PhD, Ericsson Canada Internet Model Application TCP/UDP IP Link layer Physical layer Transport Service Overview Provide service to application layer by using the service

More information

Overview. Lecture 4: Congestion Control TCP. Transport. A Bit of History TCP. Internet is a network of networks

Overview. Lecture 4: Congestion Control TCP. Transport. A Bit of History TCP. Internet is a network of networks Overview Internet is a network of networks Lecture 4: Congestion Control Narrow waist of IP: unreliable, best-effort datagram delivery Packet forwarding: input port to output port Routing protocols: computing

More information

Hands-On Ethical Hacking and Network Defense - Second Edition. Chapter 2 - TCP/IP Concepts Review

Hands-On Ethical Hacking and Network Defense - Second Edition. Chapter 2 - TCP/IP Concepts Review Objectives After reading this chapter and completing the exercises, you will be able to: Overview of TCP/IP Describe the TCP/IP protocol stack Explain the basic concepts of IP addressing Explain the binary,

More information

Computer Networks UDP and TCP

Computer Networks UDP and TCP Computer Networks UDP and TCP Saad Mneimneh Computer Science Hunter College of CUNY New York I m a system programmer specializing in TCP/IP communication protocol on UNIX systems. How can I explain a thing

More information

Understand the OSI Model

Understand the OSI Model Understand the OSI Model Part 2 Lesson Overview In this lesson, you will learn information about: Frames Packets Segments TCP TCP/IP Model Well-known ports for most-used purposes Anticipatory Set Review

More information

La couche transport dans l'internet (la suite TCP/IP)

La couche transport dans l'internet (la suite TCP/IP) La couche transport dans l'internet (la suite TCP/IP) C. Pham Université de Pau et des Pays de l Adour Département Informatique http://www.univ-pau.fr/~cpham Congduc.Pham@univ-pau.fr Cours de C. Pham,

More information

Transport Control Protocol (TCP)

Transport Control Protocol (TCP) Transport Control Protocol (TCP) Richard T. B. Ma School of Computing National University of Singapore CS 3103: Compute Networks and Protocols Transport services and protocols provide logical communication

More information

TCP - Part I. Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.

TCP - Part I. Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management. TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management. 1 Overview TCP = Transmission Control Protocol Connection-oriented protocol Provides

More information

Computer Networking. TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Computer Networking. TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 Computer Networking Connec1on- Oriented Transport: : Overview RFCs: 793, 1122, 1323, 2018, 2581 point- to- point: one sender, one receiver reliable, in- order byte steam: no message boundaries pipelined:

More information

TCP/IP Concepts Review. A CEH Perspective

TCP/IP Concepts Review. A CEH Perspective TCP/IP Concepts Review A CEH Perspective 1 Objectives At the end of this unit, you will be able to: Describe the TCP/IP protocol stack For each level, explain roles and vulnerabilities Explain basic IP

More information

Internet Protocol Stack. TCP: Transmission Control Protocol

Internet Protocol Stack. TCP: Transmission Control Protocol Internet Protocol tack application: supporting network applications HTTP, MTP, FTP, etc transport: endhost-endhost data transfer TCP, UP network: routing of datagrams from source to destination IP, routing

More information

First Midterm for ECE374 03/09/12 Solution!!

First Midterm for ECE374 03/09/12 Solution!! 1 First Midterm for ECE374 03/09/12 Solution!! Instructions: Put your name and student number on each sheet of paper! The exam is closed book. You have 90 minutes to complete the exam. Be a smart exam

More information

TCP/IP Concepts Review. A CEH Perspective

TCP/IP Concepts Review. A CEH Perspective TCP/IP Concepts Review A CEH Perspective 1 Objectives At the end of this unit, you will be able to: Describe the TCP/IP protocol stack For each level, explain roles and vulnerabilities Explain basic IP

More information

Topics. Computer Networks. Introduction. Transport Entity. Quality of Service. Transport Protocol

Topics. Computer Networks. Introduction. Transport Entity. Quality of Service. Transport Protocol Topics Introduction (6.1) Connection Issues (6. - 6..3) TCP (6.4) Computer Networks Transport Layer Introduction Efficient, reliable and cost-effective service to users (application layer) despite limitations

More information

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP Overview Securing TCP/IP Chapter 6 TCP/IP Open Systems Interconnection Model Anatomy of a Packet Internet Protocol Security (IPSec) Web Security (HTTP over TLS, Secure-HTTP) Lecturer: Pei-yih Ting 1 2

More information

TCP: Transmission Control Protocol RFC 793,1122,1223. Prof. Lin Weiguo Copyleft 2009~2015, College of Computing, CUC

TCP: Transmission Control Protocol RFC 793,1122,1223. Prof. Lin Weiguo Copyleft 2009~2015, College of Computing, CUC TCP: Transmission Control Protocol RFC 793,1122,1223 Prof. Lin Weiguo Copyleft 2009~2015, College of Computing, CUC Nov. 2015 TCP/IP Protocol Stack Application Layer FTP, Telnet, HTTP, Transport Layer

More information

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP CSCE 515: Computer Network Programming TCP/IP IP Network Layer Wenyuan Xu Department of Computer Science and Engineering University of South Carolina IP Datagrams IP is the network layer packet delivery

More information

TCP/IP. IPv4 packet layout. IPv4 packet layout. Emin Gun Sirer

TCP/IP. IPv4 packet layout. IPv4 packet layout. Emin Gun Sirer IP TCP/IP Emin Gun Sirer Internetworking protocol Network layer Common packet format for the Internet Specifies what packets look like Fragments long packets into shorter packets Reassembles fragments

More information

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology Indian Institute of Technology Kharagpur TCP/IP Part I Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology Kharagpur Lecture 3: TCP/IP Part I On completion, the student

More information

Transmission Control Protocol (TCP) Reliable Connection-oriented Point-to-point Full-duplex Streams, not messages

Transmission Control Protocol (TCP) Reliable Connection-oriented Point-to-point Full-duplex Streams, not messages Transmission Control Protocol (TCP) Reliable Connection-oriented Point-to-point Full-duplex Streams, not messages Initialization: 3 Way Handshake Initiator SYN (Synchronization Sequence Number) SYN = ISN

More information

Study Guide for Midterm 1 CSC/ECE , Fall, 2012

Study Guide for Midterm 1 CSC/ECE , Fall, 2012 Study Guide for Midterm 1 CSC/ECE 573-001, Fall, 2012 The focus of this midterm will be on the IP and transport layer protocols. Together with IP, the functions which are required for lower layer interfacing,

More information

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP) TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) *Slides adapted from a talk given by Nitin Vaidya. Wireless Computing and Network Systems Page

More information

CS 268: Lecture 5 (TCP/IP Architecture)

CS 268: Lecture 5 (TCP/IP Architecture) CS 268: Lecture 5 (TCP/IP Architecture) Ion Stoica February 1, 2006 The Problem Before Internet: different packet-switching networks (e.g., ARPANET, ARPA packet radio) - only nodes on the same network

More information

RSC Part III: Transport Layer 3. TCP

RSC Part III: Transport Layer 3. TCP RSC Part III: Transport Layer 3. TCP Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are, mainly, part of the companion slides to the book Computer Networking: A Top Down

More information

TCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks

TCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks TCP/IP Optimization for Wide Area Storage Networks Dr. Joseph L White Juniper Networks SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA. Member companies and individuals

More information

Visualizations and Correlations in Troubleshooting

Visualizations and Correlations in Troubleshooting Visualizations and Correlations in Troubleshooting Kevin Burns Comcast kevin_burns@cable.comcast.com 1 Comcast Technology Groups Cable CMTS, Modem, Edge Services Backbone Transport, Routing Converged Regional

More information

Protocols and Architecture. Protocol Architecture.

Protocols and Architecture. Protocol Architecture. Protocols and Architecture Protocol Architecture. Layered structure of hardware and software to support exchange of data between systems/distributed applications Set of rules for transmission of data between

More information

Transport and Network Layer

Transport and Network Layer Transport and Network Layer 1 Introduction Responsible for moving messages from end-to-end in a network Closely tied together TCP/IP: most commonly used protocol o Used in Internet o Compatible with a

More information

This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio).

This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio). Client App Network Server App 25-May-13 15:32 (Page 1) This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio). TCP is an end to end protocol which

More information

William Stallings Data and Computer Communications. Chapter 15 Internetwork Protocols

William Stallings Data and Computer Communications. Chapter 15 Internetwork Protocols William Stallings Data and Computer Communications Chapter 15 Internetwork Protocols Internetworking Terms (1) Communications Network Facility that provides data transfer service An internet Collection

More information

Tutorial 1 (Week 6) Introduction

Tutorial 1 (Week 6) Introduction COMP 333/933 Computer Networks and Applications Tutorial (Week 6) Introduction Problem Set, Question 7 Suppose two hosts, A and B are separated by, kms and are connected by a direct link of R = Mbps. Suppose

More information

TCP/IP Revisited. IP s Transport Layer UDP and TCP. Computer Science 742 S2C, 2010 TCP UDP

TCP/IP Revisited. IP s Transport Layer UDP and TCP. Computer Science 742 S2C, 2010 TCP UDP TCP/IP, COMPSCI 742, 2010 p. 3/29 IP s Transport Layer UDP and TCP TCP/IP, COMPSCI 742, 2010 p. 4/29 TCP/IP Revisited Computer Science 742 S2C, 2010 Nevil Brownlee, with acknowledgements to Ulrich Speidel

More information

Internet Protocol. Raj Jain. Washington University in St. Louis.

Internet Protocol. Raj Jain. Washington University in St. Louis. Internet Protocol Raj Jain Washington University Saint Louis, MO 63131 Jain@cse.wustl.edu These slides are available on-line at: http://www.cse.wustl.edu/~jain/cse473-05/ 13-1 Overview! Internetworking

More information

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose Instructions: There are 4 questions on this exam. Please use two exam blue books answer questions 1, 2 in one book, and the remaining

More information

COMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions)

COMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions) COMP 3331/9331: Computer Networks and Applications Lab Exercise 3: TCP and UDP (Solutions) AIM To investigate the behaviour of TCP and UDP in greater detail. EXPERIMENT 1: Understanding TCP Basics Tools

More information

Chapter 20: TCP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH 43210 Raj Jain

Chapter 20: TCP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH 43210  Raj Jain Chapter 20: TCP Professor of CIS Columbus, OH 43210 Jain@ACM.Org http://www.cis.ohio-state.edu/~jain/ 20-1 Overview Key features, Header format Mechanisms, Implementation choices Slow start congestion

More information

4. What transport protocol exchanges datagrams without acknowledgments or guaranteed delivery? A. UDP B. TCP C. IRQ D. LLC

4. What transport protocol exchanges datagrams without acknowledgments or guaranteed delivery? A. UDP B. TCP C. IRQ D. LLC CCNA1 V3.0 Mod 11 (Ch 9) 1. When conversing with an individual whose primary language is different than yours, you might need to repeat your words and speak more slowly. Repeating your words can be compared

More information

OSI Transport layer. Dr. Luca Allodi - Network Security - University of Trento, DISI (AA 2015/2016)

OSI Transport layer. Dr. Luca Allodi - Network Security - University of Trento, DISI (AA 2015/2016) OSI Transport layer Dr. Luca Allodi - Network Security - University of Trento, DISI (AA 2015/2016) 1 Transmission Control Protocol (TCP) IP can only be used to send datagrams chunks or streams of information

More information

TCP in Wireless Mobile Networks

TCP in Wireless Mobile Networks TCP in Wireless Mobile Networks 1 Outline Introduction to transport layer Introduction to TCP (Internet) congestion control Congestion control in wireless networks 2 Transport Layer v.s. Network Layer

More information

Overview of TCP. Overview of TCP. Overview of TCP. Overview of TCP. Connection-oriented, byte-stream

Overview of TCP. Overview of TCP. Overview of TCP. Overview of TCP. Connection-oriented, byte-stream Overview of TCP Overview of TCP Connection-oriented, byte-stream sending process writes some number of bytes TCP breaks into segments and sends via IP receiving process reads some number of bytes Full

More information

We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall

We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall Chapter 10 Firewall Firewalls are devices used to protect a local network from network based security threats while at the same time affording access to the wide area network and the internet. Basically,

More information

COMPUTER NETWORKS DESIGN AND MANAGEMENT MASTER: INFORMATICS ENGINEERING YEAR: 1º TERM: 1º

COMPUTER NETWORKS DESIGN AND MANAGEMENT MASTER: INFORMATICS ENGINEERING YEAR: 1º TERM: 1º COURSE: COMPUTER NETWORKS DESIGN AND MANAGEMENT MASTER: INFORMATICS ENGINEERING YEAR: 1º TERM: 1º WEEKLY PROGRAMMING WEE K SE- SIÓN SPECIAL ROOM FOR SESSION (Computer class room, audio-visual class room)

More information

Livello di trasporto TCP

Livello di trasporto TCP Livello di trasporto TCP TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: one sender, one receiver reliable, in-order byte stream: pipelined: no message boundaries TCP congestion and flow

More information

DIN 2012 Tutorial. physical links between primary and secondary stations: Synchronous Connection Oriented (SCO); Asynchronous Connection Link (ACL).

DIN 2012 Tutorial. physical links between primary and secondary stations: Synchronous Connection Oriented (SCO); Asynchronous Connection Link (ACL). DIN 2012 Tutorial (Q1a) In the IEEE 802.15 standard (Bluetooth), describe the following two types of : physical links between primary and secondary stations: (i) (ii) Synchronous Connection Oriented (SCO);

More information

IP address format: Dotted decimal notation: 10000000 00001011 00000011 00011111 128.11.3.31

IP address format: Dotted decimal notation: 10000000 00001011 00000011 00011111 128.11.3.31 IP address format: 7 24 Class A 0 Network ID Host ID 14 16 Class B 1 0 Network ID Host ID 21 8 Class C 1 1 0 Network ID Host ID 28 Class D 1 1 1 0 Multicast Address Dotted decimal notation: 10000000 00001011

More information

2057-15. First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring

2057-15. First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring 2057-15 First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring 7-25 September 2009 TCP/IP Networking Abhaya S. Induruwa Department

More information

Outline. TCP connection setup/data transfer. 15-441 Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics

Outline. TCP connection setup/data transfer. 15-441 Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics Outline 15-441 Computer Networking Lecture 8 TCP & Congestion Control TCP connection setup/data transfer TCP Reliability Congestion sources and collapse Congestion control basics Lecture 8: 09-23-2002

More information

q Connection establishment (if connection-oriented) q Data transfer q Connection release (if conn-oriented) q Addressing the transport user

q Connection establishment (if connection-oriented) q Data transfer q Connection release (if conn-oriented) q Addressing the transport user Transport service characterization The Transport Layer End-to-End Protocols: UDP and TCP Connection establishment (if connection-oriented) Data transfer Reliable ( TCP) Unreliable / best effort ( UDP)

More information

CS268 Exam Solutions. 1) End-to-End (20 pts)

CS268 Exam Solutions. 1) End-to-End (20 pts) CS268 Exam Solutions General comments: ) If you would like a re-grade, submit in email a complete explanation of why your solution should be re-graded. Quote parts of your solution if necessary. In person

More information

CIT 480: Securing Computer Systems. TCP/IP Security

CIT 480: Securing Computer Systems. TCP/IP Security CIT 480: Securing Computer Systems TCP/IP Security Topics 1. Internet Protocol (IP) 2. IP Spoofing and Other Vulnerabilities 3. ICMP 4. Transmission Control Protocol (TCP) 5. TCP Session Hijacking 6. UDP

More information

Review for Chapter 3

Review for Chapter 3 Review for Chapter 3 R3.Describle why an application developer might choose to run an application over UDP rather than TCP. Answer: An application developer may not want its application to use TCP s congestion

More information

Computer Networks Homework 1

Computer Networks Homework 1 Computer Networks Homework 1 Reference Solution 1. (15%) Suppose users share a 1 Mbps link. Also suppose each user requires 100 kbps when transmitting, but each user transmits only 10 percent of the time.

More information

TCP Flow Control. TCP Receiver Window. Sliding Window. Computer Networks. Lecture 30: Flow Control, Reliable Delivery

TCP Flow Control. TCP Receiver Window. Sliding Window. Computer Networks. Lecture 30: Flow Control, Reliable Delivery TCP Flow Control Computer Networks The receiver side of a TCP connection maintains a receiver buffer: Lecture : Flow Control, eliable elivery application process may be slow at reading from the buffer

More information

What is Network Latency and Why Does It Matter?

What is Network Latency and Why Does It Matter? What is Network Latency and Why Does It Matter? by O3b Networks This paper is presented by O3b Networks to provide clarity and understanding of a commonly misunderstood facet of data communications known

More information

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP A Survey on Congestion Control Mechanisms for Performance Improvement of TCP Shital N. Karande Department of Computer Science Engineering, VIT, Pune, Maharashtra, India Sanjesh S. Pawale Department of

More information

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages Part I: The problem specifications NTNU The Norwegian University of Science and Technology Department of Telematics Note! The problem set consists of two parts: Part I: The problem specifications pages

More information