IS370 Data Communications and Computer Networks. Chapter 5 : Transport Layer

Size: px
Start display at page:

Download "IS370 Data Communications and Computer Networks. Chapter 5 : Transport Layer"

Transcription

1 IS370 Data Communications and Computer Networks Chapter 5 : Transport Layer Instructor : Mr Mourad Benchikh Introduction Transport layer is responsible on process-to-process delivery of the entire message. It ensures the delivery of the entire message while the network layer treats each packet individually. These packets could belong to the same message or to different messages. Process-to-process means the delivery from a specific process on a computer toanother process on another computer. => includes a type of address in the transport layer header called : OSI: service-point address. /IP: port address. A transport layer can be either connectionless or connectionoriented. The transport layer may be responsible for the flow and error control. Flow control and error control are performed end to end. The Internet transport layer protocols are: UDP,, and SCTP. 1 2 IS370- Mr Mourad Benchikh Page 1

2 Process-to-process delivery Need to a process-to-process delivery. A process is an application program. Several processes can be running on the source host and several on the destination host. Network layer host-to-host delivery is not enough To complete the delivery: need to deliver data from one of these running processes on the source host to the corresponding one on the destination host. Client/server paradigm Two processes can commonly communicate through a client/server paradigm. A process on the local host, i.e. a client, needs services from a process usually on a remote host, i.e. a server. Both the processes have the same name. Addressing A transport layer address, called port number, is needed to choose among multiple processes running on the destination host. The destination port number is needed for the delivery The source port number is needed for the reply. Internet model port number is on 16-bit integers (i.e. [0, 65535]). The client program defines itself with a port number randomly chosen (ephemeral port number) by the transport layer. The server process must also define itself with a port number but with a well-known port number. => to let the corresponding client process, on any host, always be able to request for this server services. IANA (Internet Assigned Number authority) has divided the port numbers into three categories [RFC 1700, 3232]: 1) wellknown ports[0,1023] are reserved, 2) registered ports[1024,49151]: not assigned or controlled by IANA but only registered with IANA to prevent duplication, 3) Dynamic ports (ephemeral ports) [49152, 65535] neither controlled nor registered by IANA. Process-to-process delivery Client/server paradigm (cont d) Socket address Process-to-process delivery needs a socket address. Socket address is the combination of an IP address and a port number. The IPheader contains the IP address and the or UDP header contain the port number. Multiplexing/demultiplexing Multiplexing/Demultiplexing extends the network layer host-to-host delivery to a process-to-process delivery for the application programs. In fact, this concept is used whenever a single protocol at one layer is used by multiple protocols at the next higher layer Multiplexing At the sender: many several processes for only one transport layer protocol. This is a many-to-one relationship that requires multiplexing. Demultiplexing At the receiver: the message is delivered to the appropriate process. This is a one-to-one relationship that requires demultiplexing. Connectionless vs. connection-oriented service Connectionless service (like UDP) The packets are sent from one party to another with no need for connection establishment or connection release. The packet are not numbered. The may be delayed or lost or arrive out of sequence. There is no acknowledgment. Connection-oriented service (like and SCTP) A connection is first established between the sender and the receiver. After, data are transferred. At the end, the connection is released. 3 4 IS370- Mr Mourad Benchikh Page 2

3 Process-to-process delivery Reliable vs. unreliable Reliable transport layer protocol uses flow control and error control. Otherwise, it is an unreliable transport layer protocol. A reliable transport layer protocol means a slower and more complex service If an application layer program needs reliability, a reliable transport layer protocol will be used. If the application layer program doesn t need reliability (because it uses its own flow and error control) or if it needs such a service or the nature of the service doesn t need reliability, an unreliable transport layer protocol will be used. Internet transport layer protocols 1) UDP : connectionless and unreliable, 2) : connection-oriented and reliable, and 3) SCTP: connection-oriented and reliable. UDP UDP User Datagram Protocol- [RFC 768] A connectionless and unreliable protocol It adds to the IP services only the process-to-process delivery and a very limited error checking (without a retransmission mechanism).. It is a very simple protocol using a minimum overhead. Well-known UDP ports 5 6 IS370- Mr Mourad Benchikh Page 3

4 UDP User datagram An UDP packet is called a user datagram. The header hasa 8-byte fixed size defining four fields: Source port number: a 16-bit port number used by the process running on the source host. It is an ephemeral port number (in most cases) if the source host is a client. It is a well-known port number if the source is a server. Destination port number: same as above but for the destination host. Length: defines the total length of the user datagram, header plus data. Checksum: used to detect errors over the entire user datagram (header plus data). The checksum is optional and is also calculated over a few field of the IP header. UDP operations Connectionless service This means that each user datagram sent by UDP is an independent datagram => no relationship between the user datagrams even ifthey belong to the same destination program. The user datagrams are not numbered, there is no connection establishment and no connection release. This means that each user datagram can travel on a different path. => a process using UDP cannot send a stream of data. Each request should be small enough to fit into one user datagram. Only those processes sending short messages should use UDP. Flow and error control There is no flow control. The receiver may then overflow. There is noerror control except for the checksum. The sender couldn t know if the message has been lost or duplicated. The receiver silently discards a user datagram when an error is detected by the checksum. The process using UDP should provide the flow and error control if they are needed. No connection state (sequence and ACK numbers, send andreceive buffers?, etc) is needed. UDP UDP operations (cont d) Encapsulation and decapsulation To send messages from one process to another, the UDP encapsulates and decapsulates messages in IP datagram. Queuing In UDP, queues are associated with ports. Client site When a process starts, it requests a port number from the OS. Some implementations create both incoming and outgoing queue associated with each process. Other implementations create only an incoming queue. These queues are identified by the ephemeral port numbers assigned. These queues function as long as the process is running. They are destroyed when the process terminates. The client process can send messages to the outgoing queue by using the source port number specified in the request. UDP removes the messages one by onefrom the queue, adds the UDP header, and delivers them to IP. An outgoing queue can overflow. The OS asks then the client to wait before sending any more messages. When a message arrives for a client, UDP checks if an incoming queue has been created for the port number specified in the destination port. If so, UDP sends the received user datagram to the end of the queue. Otherwise, UDP discards the user datagram and asks ICMP to send a port unreachable message to the server. An incoming queue can overflow. UDP drops then the user datagram and asks for a port unreachable message to be sent to the server. Server site The mechanism of creating queues is different. Simplest form: The server asks for incoming and outgoing queues, using its well-known ports, when it starts. These queues remains open as long as the server is running. When a message arrives to the server, UDP checks to if an incoming queue has been created for the port number specified in the destination port number. If so, UDP places the user datagram at the end of the queue. Otherwise, UDP discards the user datagram and asks ICMP to send an unreachable port message to the client. An incoming queue can overflow. UDP drops the user datagram and asks that a port unreachable message to besent to the client. When a server wants to respond to a client, it sends messages to the outgoing queue using the source port number specified in the request. UDP encapsulates the user datagram get from the outgoing queue in IP packets. If the outgoing queue overflows, the OS asks the server to wait before sending any more messages. Some use of UDP It is suitable for a process that requires simple request-response communication with little concern on error and flow control. UDP is suitable for a process with an internal flow and error control like TFTP (Trivial FTP). UDP is a suitable process for multicasting. It is also used with SNMP and commonly with DNS also. It is also used with some route updating protocol such RIP 7 8 IS370- Mr Mourad Benchikh Page 4

5 Transmission Control Protocol- [RFC 793, 1122, 1323, 2118, 2528] It is a connection oriented protocol. It creates a virtual connection between two s to send data. It uses flow and error control, i.e. reliable protocol. services 1) Process-to-process communication Well-known ports 2) Stream delivery service allows the sending process to deliver data as a stream of bytes and the receiving process to obtain a stream of bytes. It is unlike UDP where a process sends messages with a predefined boundaries services (cont d) 3) Sending and receiving buffers. need buffers because the sending and the receiving processes may not operate at the same speed. There are two buffers: the sending and the receiving buffers one in each direction. One way of buffer implementation: a circular array of 1-byte location. At the sender site: the buffer has tree types of chambers: The white section contains empty chambers that can be filled by the sending process. The gray area holds bytes that have been sent but not yet acknowledged The colored area contains bytes to be sent by the sending. may be able to send only part of this colored section due to slowness of the receiving process or to network congestion. At the receiver site: the buffer is divided into two areas The white area contains empty chambers to be filled by bytes received from the network. The colored section contains received bytes that can be read by the receiving process. When a byte is read by the receiving process, the chamber is recycled and added to the pool of empty chambers. 9 4) Segments groups a number of bytes together into a packet called a segment. adds a header to each segment and delivers the segment to the IP layer. The segments have not necessarily the same size. MSS (Maximum Segment Size): the maximum amount of data in a segment (without header) Set by determining to the largest MTU that can be sent by thelocal host. 10 IS370- Mr Mourad Benchikh Page 5

6 services (cont d) 5) Full-duplex communication Data can flow in both directions at the same time. Each then has a sending and receiving buffer and segments move in both directions. There is no multicasting with. 6) Connection-oriented service When a process at site A wants to send and receive data from another process at B, the following occurs: The two s establish a connection between them. Data are exchanged in both directions. The connection is terminated. This is a virtual connection (not a physical). The segment is encapsulated in an IP datagram and can be sent out of order, or lost, or corrupted, and then resent. Each segment may use a different path to reach the destination. creates a stream-oriented environment in which it accepts the responsibility of delivering bytes in order to the other site. 7) Reliable service It uses acknowledgment to check the safety of data arrival. features : necessary to provide its services Numbering system keeps track of the segments being transmitted or received. There are two fields, the sequence number and the acknowledgement number, which refer to the byte number (and not to segment number) features (cont d) Byte number numbers all data bytes that are transmitted in a connection. Numbering is independent in each direction. When receives bytes from a process, it stores them in the sending buffer and number them. The numbering doesn t necessarily start from 0., in fact, generates a random number. This allows that a segment still present in the network from an earlier terminated connection is mistaken as a valid segment Sequence number After the bytes have been numbered, assigns a sequence number to each segment that is being sent. The sequence number of each segment is the number of the 1 st byte carried in that segment. When a segment carries a combination of data and control information (piggybacking), it uses a sequence number. If a segment doesn t carry data, it doesn t logically define a sequence number (except for connection establishment, termination, or abort to allow acknowledgement). If the randomly generated sequence number is x, the first data byte is x+1. The byte x is considered a phone byte used for the open connection control segment. Example A connection is transferring a file of 5000 bytes. The 1 st byte is numbered 10,001. what are the sequence numbers for each segment if data are sent in five segment each carrying 1000 bytes? IS370- Mr Mourad Benchikh Page 6

7 features (cont d) Acknowledgment number Communication isfull-duplex. Each party numbers the bytes, usually with a different starting byte number. The sequence number in each direction shows the number of 1 st byte carried by the segment. Each party uses also an acknowledgment number to confirm the bytes it has received. The acknowledgment number defines the number of the next byte that the party expects to receive. The acknowledgment number is cumulative Ifa party uses 5643 asan acknowledgment number, this means it has received all bytes from the beginning up to This doesn t mean that the party has received 5642 bytes because the 1 st byte doesn t have to start from 0. Flow control The receiver of data controls the amount of data that are to be sent by the sender to prevent the receiver to be overwhelmed with data. The numbering system allows to use a byte-oriented flow control. Error control implements an error control to provide reliability. The error control is byte-oriented although the unit of data error detection is the segment. Congestion control The amount of data sent by a sender is not only controlled by the receiver (flow control), but also determined by the level of network congestion. Segment (cont d) The segment consists of 20-to-60-byte header (20-byte if there are no options) followed by data from the application program. Source port address anddestination port numbers to multiplex/demultiplex data aswith UDP. Sequence number : informs the destination which byte in this sequence (i.e. data stream) comprises the 1 st byte in the segment. During connection establishment, each party uses a random generator to create an initial sequence number (ISN), which is usually different in each direction. Acknowledgement number: defines the byte number that the receiver of the segment is expecting toreceive from the other party. Acknowledgement and data can be piggybacked together. Header length: indicated the number of 4-byte words in the header. Reserved: reserved for future use. Control: defines 6 different control bits or flags IS370- Mr Mourad Benchikh Page 7

8 Segment (cont d) Window size: defines the window size, in bytes, that the other party should maintain. This value is refereed as the receiving window (rwnd) and is determined by the receiver that the sender should consider. Checksum: calculated as with UDP but is mandatory included. Urgent pointer: valid only if the urgent flag is set. It defines the number to be added to the sequence number to obtain the number of the last urgent byte in the data section of the segment. Options: there can be up to 40-byte of optional information in a header. An example of option is used when the sender and the receiver negotiate the MSS A connection A connection-oriented service establishes a virtual path between the source and the destination. All the segments belonging to the message are sent over this virtual path. Using a virtual pathway for the entire message facilitates the acknowledgment process as well the retransmission of damaged or lost frames. Because IP is a connectionless service, the connection is virtual, not physical. uses the IP services to delivers individual segments to the receiver but controls the connection itself. If a segment is lost or corrupted, it is retransmitted. Phases required in connection-oriented transmission 1) Connection establishment 2) Data transfer 3) Connection termination phase 1) Connection establishment : to allow full-duplex transmission of two s parties, each party must initialize communication and get approval from the other party before any data are transferred Connection establishment in is called three-way handshaking. Three-way handshaking The server program tells the that it is ready to accept a connection i.e. request for a passive open. The client program issues a request for an active open to tell its that it needs to be connected to that particular server IS370- Mr Mourad Benchikh Page 8

9 A connection Phase 1) Connection establishment Three-way handshaking (cont d) starts the three-way handshaking (to initialize the sequence numbers, the buffers, etc): The client sends the first segment, a SYN segment, in which only the SYN flag is set. - This segment is for synchronization of sequence numbers. It consumes one sequence number. The server sends the second segment, a SYN+ACK segment (with SYN and ACK flag bits set). - This segment is a SYN segment for communication in the other side. Itis also an acknowledgment for the SYN segment. This segment consumes one sequence number. The client sends the last segment. - This is an ACK segment. - It acknowledges the receipt of the second segment with the ACK flag and acknowledgement number field. - The sequence number is the same as the one in the SYN segment. No sequence number is consumed. connection Phase 2) Data transfer After a connection is established, bidirectional data transfer can take place. Both server and client can send data and acknowledgements. Data traveling in the same direction as an acknowledgement are carried on the same segment. The acknowledgment is piggybacked with the data. 17 Pushing data uses a buffer to store the stream of data coming from the sending application program. The receiving also buffers the data when they arrive and deliver them to the application program when the application program is ready. However, on occasion, an application that communicate interactively with another application doesn t need such a delay (i.e. put in buffer). The sending application program can request a push operation. => The sending must not wait for the window to be filled. It must create a segment and send it immediately. 18 IS370- Mr Mourad Benchikh Page 9

10 connection Phase 2) (cont d) Pushing data (cont d) The sending must also set the push bit (PSH) to let the receiving knows that the segment includes data that must be delivered to the receiving application program as soon as possible and not to wait for more data to come. Although the push operation can be requested by the application program, most current implementations ignore such a request. Urgent data On occasion, an application program needs to send urgent bytes. This means that it wants that a piece of data to be read out of order by the receiving application program. The sending creates a segment and inserts the urgent data at the beginning of the segment (the rest can contain normal data). The urgent pointer field in the header defines the end of the urgent data and the start of the normal data. The receiving, when it receives the segment with URG bit set, it extracts the urgent data from the segment, using the value of the urgent pointer, and delivers them out of order to the receiving application program. Phase 3) Connection termination Any of the two parties involved in the connection can close the connection although usually initiated by the client-. Most implementations allows two termination options: three-way handshaking and four-way handshaking with half-close. Three-way handshaking 1) In a normal situation, the client, after receiving a close command from the client process, sends the first segment, a FIN segment in which the FIN flag is set. This segment could contain the last chunk of data or be just a control segment in this case it consumes only one sequence number. connection (cont d) Phase 3) : connection termination (cont d) Three-way handshaking (cont d) 2) The server, after receiving the FIN segment, informs its process of the situation and sends the second segment, a FIN + ACK segment, to confirm the receipt of the FIN segment and to announce the closing of the connection in the other direction. This segment can contain the last chunk of data. If no, it consumes only one sequence number. 3) The client sends the last segment, an ACK segment, to confirm the receipt of the FIN segment from the server. This segment contains the acknowledgement number, which is 1 plus the sequence number received in the FIN segment from the server. This segment cannot carry data and consumes no sequence number. Four-way handshaking with Half-close One can stop sending data while still receiving data. The half-close is normally initiated by the client when the server needs all the data before processing can begin (ex. Sort). The client, after sending all the data, can close its outbound direction while its inbound direction must remain open. The server outbound direction must also remain open. The client half-closes the connection by sending a FIN segment. The server accepts it and sends the ACK segment (with no sequence number consumed). The data transfer from the client to the server stops (acknowledgements, however, can travel from the client to the server). The server can still send data. When the server has sent all the processed data, it sends a FIN segment, which is acknowledged by anack from the client (This ACK consumes no sequence number also) IS370- Mr Mourad Benchikh Page 10

11 connection (cont d) Phase 3) connection termination Connection termination using the three-way handshaking Connection termination using four-way handshaking with half-close Flow control uses a sliding window to handle flow control. This sliding window is something between the Go-back-N and the selective repeat sliding window. s sliding window looks like the Go-back-N protocol because it doesn t use NACKs??; it looks like Selective-repeat protocol because the receiver holds the out-of-order segments until the missing one arrive. Differences between sliding window and the ones used at the data-link layer: sliding window is byte-oriented while the data-link layer is frame-oriented. s sliding window is of variable size while the data-link layer oneis of fixed size. The sliding window spans a portion of the buffer containing bytes received from the process. The bytes inside the window are the ones that can be in transit: they can be sent without worrying about acknowledgements. The window has two walls: one left and one right. The window is opened, closed, and shrunk These activities are in control of the receiver (and depend on the network congestion); the sender only obeys the command of the receiver in this matter. Opening a window: moves the right wall to the right. This allows more new bytes in the buffer that are eligible for sending. Closing the window means moving the left wall to the right. This means that some bytes have been acknowledged and the sender needs not worry about them anymore. Shrinking the window means moving the right window to the left. This is not allowed in some implementations. The size of the window at one end is determined by the lesser of two values: 1) the receiver window (rwnd) or the congestion window (cwnd). The receiver window is the one advertised by the opposite side in a segment containing acknowledgement. It is the number ofbytes the other end can accept before its buffer overflows and data are discarded. The congestion window is a value determined bythe network toavoid congestion IS370- Mr Mourad Benchikh Page 11

12 Flow control (cont d) Examples What is the value of the receiver window (rwnd) for host A if the receiver, host B, has a buffer size of 5000 bytes and 1000bytes of received and unprocessed data rwnd= =4000. Host B can receive only 4000 bytes of data before overflowing its buffer. Host B advertises this value in its next segment to A. What is the size of the window for host A if the value if rwnd is 3000 bytes and the value of cwnd is 3500 bytes. The window size is the smallest of rwnd and cwnd = 3000 bytes. Sliding window example. The sender has sent bytes up to 202. Assume cwnd =20. The receiver has sent an acknowledgement number=200with an rwnd=9. The size of thesender window=min(rwnd, cwnd)=9 Bytes 200 to 202 are sent, butnotacknowledged. Bytes 203 to 208 can be sent without worrying about acknowledgement. Bytes 209 and above cannot be sent. Error control provides reliability using error control. Error control includes: detecting corrupted segments, out-of-order segments, and duplicated segments. Error control includes: correction of errors after detection. Error detection and correction is achieved by: checksum, acknowledgement, and time-out. Checksum Each segment includes a checksum field (mandatory) to check corruption. A corrupted segment is discarded by the destination and is considered as lost. Acknowledgement uses acknowledgement to confirm the receipt of data segment. Control segment that carries no data but consume a sequence number are also acknowledged. ACK segments are never acknowledged. Retransmission When a segment is corrupted, lost, or delayed, it is retransmitted. In modern implementations, a segment is retransmitted in two occasions: 1) when a retransmission timer expires, and 2) when the sender receives three duplicate ACKs. No retransmission for the segment that do not consume sequence numbers. In particular, no retransmission for segment carrying only ACK. Retransmission after RTO A recent implementation maintains one retransmission time-out (RTO) timer for all outstanding (sent but not acknowledged) segments i.e. RTO is attached to the oldest unacknowledged segment-. When the timer matures, the earliest outstanding segment is retransmitted. Notime-out timer is set for a segment that carries only an acknowledgement : no such segment is resent. RTO value is dynamic and is based on round-trip time (RTT) of segments. RTT: time needed for a segment to reach a destination and for an acknowledgement to be received. - EWMA is used to smooth the RTT fluctuations and to get an estimated RTT. RTT = Estimated_RTT + 4*DevRTT (DevRTT is a measurement of the variability of RTT). Itfollows a backoff strategy: each time retransmits, it sets RTT to double the previous value IS370- Mr Mourad Benchikh Page 12

13 Error control (cont d) Retransmission Retransmission after three duplicate ACK segments The previous method is sufficient if the RTO value is not very large. Sometimes, one segment is lost and the receiver receives so many out-of-order segments that they cannot be saved (limited memory size). Most implementation today follow the three-duplicate-acks rule and retransmit the missing segment immediately. This feature is referred as fast retransmission. Out-of-order segments When a segment is delayed, lost, or discarded, the segments following that segment arrive out of order. Originally, was designed todiscard all out-of-order segments. This is result in the retransmission of the missing segment and the following segments. Most implementations today do not discard the out-of-order segments. They store them temporarily and flag them as out-of-order segments until the missing segment arrives. The out-of-order segments are not delivered to the process which guarantees that data are delivered to the process in order. Error control Some scenarios Normal operation 25 Lost segment Fast retransmission 26 IS370- Mr Mourad Benchikh Page 13

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

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

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the

More information

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY 23.2 The transport

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

TSIN02 - Internetworking

TSIN02 - Internetworking TSIN02 - Internetworking Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 Transport layer responsibilities UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 Transport layer in OSI model

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

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

05 Transmission Control Protocol (TCP)

05 Transmission Control Protocol (TCP) SE 4C03 Winter 2003 05 Transmission Control Protocol (TCP) Instructor: W. M. Farmer Revised: 06 February 2003 1 Interprocess Communication Problem: How can a process on one host access a service provided

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

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Outline Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 RFC? Transport layer introduction UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 The Transport Layer Transport layer

More information

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer CCNA Exploration Network Fundamentals Chapter 04 OSI Transport Layer Updated: 05/05/2008 1 4.1 Roles of the Transport Layer 2 4.1 Roles of the Transport Layer The OSI Transport layer accept data from the

More information

UNIT IV TRANSPORT LAYER

UNIT IV TRANSPORT LAYER Transport Layer UNIT IV TRANSPORT LAYER Congestion Control and Quality of Service Ref: Data Communication & Networking, 4 th edition, Forouzan IV-1 DATA TRAFFIC The main focus of congestion control and

More information

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Transport Layer. Gursharan Singh Tatla.   Upendra Sharma. 1 Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message

More information

Networking Technologies and Applications

Networking Technologies and Applications Networking Technologies and Applications Rolland Vida BME TMIT Transport Protocols UDP User Datagram Protocol TCP Transport Control Protocol and many others UDP One of the core transport protocols Used

More information

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY The transport

More information

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24 Lecture 20 Overview Last Lecture Transport Control Protocol (1) This Lecture Transport Control Protocol (2) Source: chapters 23, 24 Next Lecture Internet Applications Source: chapter 26 COSC244 & TELE202

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

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

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) Transport Layer -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) 1 Transport Services The transport layer has the duty to set up logical connections between two applications running on remote

More information

Stream Control Transmission Protocol

Stream Control Transmission Protocol Chapter 13 Stream Control Transmission Protocol Objectives Upon completion you will be able to: Be able to name and understand the services offered by SCTP Understand SCTP s flow and error control and

More information

Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa

Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa NET 331 Computer Networks Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth Edition

More information

OSI Transport Layer. objectives

OSI Transport Layer. objectives LECTURE 5 OSI Transport Layer objectives 1. Roles of the Transport Layer 1. segmentation of data 2. error detection 3. Multiplexing of upper layer application using port numbers 2. The TCP protocol Communicating

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

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol (UDP) Explain the mechanisms that drive segmentation,

More information

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

More information

Suprakash Datta. Office: CSEB 3043 Phone: ext Course page:

Suprakash Datta. Office: CSEB 3043 Phone: ext Course page: CSE 3214: Computer Networks Protocols and Applications Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cse.yorku.ca/course/3214 These slides are

More information

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

TCP/IP Networking. Part 4: Network and Transport Layer Protocols TCP/IP Networking Part 4: Network and Transport Layer Protocols Orientation Application Application protocol Application TCP TCP protocol TCP IP IP protocol IP IP protocol IP IP protocol IP Network Access

More information

ITS323: Introduction to Data Communications

ITS323: Introduction to Data Communications ITS323: Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 ITS323Y12S1L13, Steve/Courses/2012/s1/its323/lectures/transport.tex,

More information

TCP : Fundamentals of Computer Networks Bill Nace

TCP : Fundamentals of Computer Networks Bill Nace TCP 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 Administrivia Lab #1 due now! Reminder: Paper Review

More information

Transport Layer: outline

Transport Layer: outline Transport Layer: outline Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer Connection-oriented transport: TCP Segment structure

More information

CSC 4900 Computer Networks: TCP

CSC 4900 Computer Networks: TCP CSC 4900 Computer Networks: TCP Professor Henry Carter Fall 2017 Project 2: mymusic You will be building an application that allows you to synchronize your music across machines. The details of which are

More information

32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length)

32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length) Chapter 3 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 Connectionoriented transport: TCP segment

More information

Chapter 11. User Datagram Protocol (UDP)

Chapter 11. User Datagram Protocol (UDP) Chapter 11 User Datagram Protocol (UDP) Outline Process-to-process communication User datagram Checksum UDP operation Use of UDP UDP package Figure 11-1 Position of UDP in the TCP/IP Protocol Suite The

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

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture TCP and Congestion Control (Day 1) Yoshifumi Nishida nishida@csl.sony.co.jp Sony Computer Science Labs, Inc 1 Today's Lecture Part1: TCP concept Part2: TCP detailed mechanisms Part3: Tools for TCP 2 1

More information

CCNA R&S: Introduction to Networks. Chapter 7: The Transport Layer

CCNA R&S: Introduction to Networks. Chapter 7: The Transport Layer CCNA R&S: Introduction to Networks Chapter 7: The Transport Layer Frank Schneemann 7.0.1.1 Introduction 7.0.1.2 Class Activity - We Need to Talk Game 7.1.1.1 Role of the Transport Layer The primary responsibilities

More information

CSCD 330 Network Programming

CSCD 330 Network Programming CSCD 330 Network Programming Lecture 10 Transport Layer Continued Spring 2018 Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Last Time.

More information

Chapter 3 outline. 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management

Chapter 3 outline. 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management Chapter 3 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 segment

More information

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP What is a transport protocol? Choosing to use a transport protocol Ports and Addresses Datagrams UDP What is a

More information

CSC 401 Data and Computer Communications Networks

CSC 401 Data and Computer Communications Networks CSC 401 Data and Computer Communications Networks Transport Layer Connection Oriented Transport: TCP Sec 3.5 Prof. Lina Battestilli Fall 2017 Transport Layer Chapter 3 Outline 3.1 Transport-layer Services

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

CSCE 463/612 Networks and Distributed Processing Spring 2017

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

More information

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address

More information

Computer Communication Networks Midterm Review

Computer Communication Networks Midterm Review Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Instructions The exam is closed book, notes, computers, phones. You can use calculator, but not one from your

More information

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols ETSF05/ETSF10 Internet Protocols Transport Layer Protocols 2016 Jens Andersson Transport Layer Communication between applications Process-to-process delivery Client/server concept Local host Normally initialiser

More information

TCP/IP Protocol Suite 1

TCP/IP Protocol Suite 1 TCP/IP Protocol Suite 1 Stream Control Transmission Protocol (SCTP) TCP/IP Protocol Suite 2 OBJECTIVES: To introduce SCTP as a new transport-layer protocol. To discuss SCTP services and compare them with

More information

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9 CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9 1 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3

More information

10 minutes survey (anonymous)

10 minutes survey (anonymous) 10 minutes survey (anonymous) v Comments/Suggestions to my lecture/lab/ homework/exam v If you like this course, which part do you like? v If you don t like it, which part do you not like? Thanks! Transport

More information

Transport Protocols. Raj Jain. Washington University in St. Louis

Transport Protocols. Raj Jain. Washington University in St. Louis Transport Protocols 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/ 16-1 Overview q TCP q Key features

More information

Transport Layer: Outline

Transport Layer: Outline Transport Layer: Outline Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer Connection-oriented transport: TCP Segment structure

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 V. Computer Networks [10MCA32] 1

UNIT V. Computer Networks [10MCA32] 1 Computer Networks [10MCA32] 1 UNIT V 1. Explain the format of UDP header and UDP message queue. The User Datagram Protocol (UDP) is a end-to-end transport protocol. The issue in UDP is to identify the

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

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.10 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and

More information

CSE 4213: Computer Networks II

CSE 4213: Computer Networks II Next CSE 4213: Computer Networks II The layer Suprakash Datta datta@cs.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cs.yorku.ca/course/4213 These slides are adapted

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer Part b Connection-Oriented Transport Transport Layer 3-1 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4

More information

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure Correcting mistakes Go-back-N: big picture: sender can have up to N unacked packets in pipeline rcvr only sends cumulative acks doesn t ack packet if there s a gap sender has r for oldest unacked packet

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

7. TCP 최양희서울대학교컴퓨터공학부

7. TCP 최양희서울대학교컴퓨터공학부 7. TCP 최양희서울대학교컴퓨터공학부 1 TCP Basics Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 2009 Yanghee Choi

More information

ICMP. Outline ICMP. ICMP oicmp is provided within IP which generates error. Internet Control Message Protocol. Ping Traceroute

ICMP. Outline ICMP. ICMP oicmp is provided within IP which generates error. Internet Control Message Protocol. Ping Traceroute Outline ICMP Internet Control Message Protocol oicmp Basic o ICMP Packet oicmp Types & Code Ping Traceroute 2 3 ICMP oicmp is provided within IP which generates error messages to help the IP layers (best

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;

More information

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

Transport Protocols and TCP

Transport Protocols and TCP Transport Protocols and TCP Functions Connection establishment and termination Breaking message into packets Error recovery ARQ Flow control Multiplexing, de-multiplexing Transport service is end to end

More information

Process-to-Process Delivery:

Process-to-Process Delivery: CHAPTER 23 Process-to-Process Delivery: Solutions to Review Questions and Exercises Review Questions 1. Reliability is not of primary importance in applications such as echo, daytime, BOOTP, TFTP and SNMP.

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

Internet and Intranet Protocols and Applications

Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 1b: The Transport Layer in the Internet January 17, 2006 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu 01/17/06

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

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

Transport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005

Transport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005 Transport Layer For a connection on a host (single IP address), there exist many entry points through which there may be many-to-many connections. These are called ports. A port is a 16-bit number used

More information

COMP 431 Internet Services & Protocols. Transport Layer Protocols & Services Outline. The Transport Layer Reliable data delivery & flow control in TCP

COMP 431 Internet Services & Protocols. Transport Layer Protocols & Services Outline. The Transport Layer Reliable data delivery & flow control in TCP COMP 431 Internet Services & Protocols Transport Layer Protocols & Services Outline The Transport Layer Reliable data delivery & flow control in TCP Jasleen Kaur Fundamental transport layer services» Multiplexing/Demultiplexing»

More information

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Antonio Carzaniga Faculty of Informatics University of Lugano May 3, 2005 Outline Intro to TCP Sequence numbers and acknowledgment numbers Timeouts and RTT estimation

More information

NT1210 Introduction to Networking. Unit 10

NT1210 Introduction to Networking. Unit 10 NT1210 Introduction to Networking Unit 10 Chapter 10, TCP/IP Transport Objectives Identify the major needs and stakeholders for computer networks and network applications. Compare and contrast the OSI

More information

QUIZ: Longest Matching Prefix

QUIZ: Longest Matching Prefix QUIZ: Longest Matching Prefix A router has the following routing table: 10.50.42.0 /24 Send out on interface Z 10.50.20.0 /24 Send out on interface A 10.50.24.0 /22 Send out on interface B 10.50.20.0 /22

More information

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols Outline r Development of reliable protocol r Sliding window protocols m Go-Back-N, Selective Repeat r Protocol performance r Sockets, UDP, TCP, and IP r UDP operation r TCP operation m connection management

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

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput Topics TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput 2 Introduction In this chapter we will discuss TCP s form of flow control called a sliding window protocol It allows

More information

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 최양희서울대학교컴퓨터공학부 Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 1 2004 Yanghee Choi 2 Addressing: application

More information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission Control Protocol. ITS 413 Internet Technologies and Applications Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion

More information

ECE 435 Network Engineering Lecture 9

ECE 435 Network Engineering Lecture 9 ECE 435 Network Engineering Lecture 9 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 2 October 2018 Announcements HW#4 was posted, due Thursday 1 HW#3 Review md5sum/encryption,

More information

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols Outline Development of reliable protocol Sliding window protocols Go-Back-N, Selective Repeat Protocol performance Sockets, UDP, TCP, and IP UDP operation TCP operation connection management flow control

More information

TCP = Transmission Control Protocol Connection-oriented protocol Provides a reliable unicast end-to-end byte stream over an unreliable internetwork.

TCP = Transmission Control Protocol Connection-oriented protocol Provides a reliable unicast end-to-end byte stream over an unreliable internetwork. Overview Formats, Data Transfer, etc. Connection Management (modified by Malathi Veeraraghavan) 1 Overview TCP = Transmission Control Protocol Connection-oriented protocol Provides a reliable unicast end-to-end

More information

EE 122: Transport Protocols: UDP and TCP

EE 122: Transport Protocols: UDP and TCP EE 122: Transport Protocols: and provides a weak, but efficient service model (best-effort) - Packets can be delayed, dropped, reordered, duplicated - Packets have limited size (why?) packets are addressed

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

Process-la-Process Delivery: UDp, TCp, and SCTP

Process-la-Process Delivery: UDp, TCp, and SCTP CHAPTER 23 Process-la-Process Delivery: UDp, TCp, and SCTP We begin this chapter by giving the rationale for the existence ofthe transport layerthe need for process-to-process delivery. We discuss the

More information

Chapter 3- parte B outline

Chapter 3- parte B outline Chapter 3- parte B 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:

More information

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data ELEX 4550 : Wide Area Networks 2015 Winter Session UDP and TCP is lecture describes the two most common transport-layer protocols used by IP networks: the User Datagram Protocol (UDP) and the Transmission

More information

The Transport Layer: TCP & Reliable Data Transfer

The Transport Layer: TCP & Reliable Data Transfer The Transport Layer: TCP & Reliable Data Transfer Smith College, CSC 249 February 15, 2018 1 Chapter 3: Transport Layer q TCP Transport layer services: v Multiplexing/demultiplexing v Connection management

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

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri Department of Computer and IT Engineering University of Kurdistan Transport Layer By: Dr. Alireza Abdollahpouri TCP/IP protocol suite 2 Transport Layer The transport layer is responsible for process-to-process

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 COS 461: Computer Networks Spring 2006 (MW 1:30-2:50 in Friend 109) Jennifer Rexford Teaching Assistant: Mike Wawrzoniak http://www.cs.princeton.edu/courses/archive/spring06/cos461/

More information

CS321: Computer Networks Error and Flow Control in TCP

CS321: Computer Networks Error and Flow Control in TCP CS321: Computer Networks Error and Flow Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in SEQ and ACK numbers in TCP TCP views data as an unstructured,

More information

UDP, TCP, IP multicast

UDP, TCP, IP multicast UDP, TCP, IP multicast Dan Williams In this lecture UDP (user datagram protocol) Unreliable, packet-based TCP (transmission control protocol) Reliable, connection oriented, stream-based IP multicast Process-to-Process

More information

Chapter III: Transport Layer

Chapter III: Transport Layer Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Mahesh Marina mahesh@ed.ac.uk Slides thanks to Myungjin Lee and copyright of Kurose and Ross TCP: Overview RFCs: 793,1122,1323,

More information

CS 716: Introduction to communication networks th class; 7 th Oct Instructor: Sridhar Iyer IIT Bombay

CS 716: Introduction to communication networks th class; 7 th Oct Instructor: Sridhar Iyer IIT Bombay CS 716: Introduction to communication networks - 18 th class; 7 th Oct 2011 Instructor: Sridhar Iyer IIT Bombay Reliable Transport We have already designed a reliable communication protocol for an analogy

More information

Fall 2012: FCM 708 Bridge Foundation I

Fall 2012: FCM 708 Bridge Foundation I Fall 2012: FCM 708 Bridge Foundation I Prof. Shamik Sengupta Instructor s Website: http://jjcweb.jjay.cuny.edu/ssengupta/ Blackboard Website: https://bbhosted.cuny.edu/ Intro to Computer Networking Transport

More information

CSC 634: Networks Programming

CSC 634: Networks Programming CSC 634: Networks Programming Lecture 03: Review of Basic Networking Concepts (TCP/UDP) Instructor: Haidar M. Harmanani Recap 7-Layer OSI Model 7 6 5 4 3 2 1 Application Presentation (kinds of compression)

More information

Lecture 5. Transport Layer. Transport Layer 1-1

Lecture 5. Transport Layer. Transport Layer 1-1 Lecture 5 Transport Layer Transport Layer 1-1 Agenda The Transport Layer (TL) Introduction to TL Protocols and Services Connectionless and Connection-oriented Processes in TL Unreliable Data Transfer User

More information