Stream Control Transmission Protocol

Size: px
Start display at page:

Download "Stream Control Transmission Protocol"

Transcription

1 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 congestion control Be familiar with the fields in a SCTP segment Understand the phases in an SCTP association Understand the SCTP state transition diagram

2 Stream Control Transmission Protocol SCTP: Stream Control Transmission Protocol A new reliable, message-oriented transportlayer protocol H.323, SIP need a more sophisticated service than TCP can provide SCTP is proposed

3 Figure 13.1 TCP/IP protocol suite

4 Comparison of UDP, TCP and SCTP UDP Message-oriented A process delivers a message to UDP UDP conserve the message boundaries Each message is independent from each other Good for real-time or IP telephony Unreliable Lack congestion control and flow control Bad for real-time or IP telephony

5 Comparison of UDP, TCP and SCTP (Cont.) TCP Byte-oriented protocol Reliable Receives a message, store them as a stream of bytes and sends them in segments Has congestion control and flow control

6 Comparison of UDP, TCP and SCTP (Cont.) SCTP Combine the features of UDP and TCP Reliable message-oriented protocol Preserve the message boundaries Reliable Have congestion control and flow control

7 13.1 SCTP SERVICES We explain the services offered by SCTP to the application layer processes. The topics discussed in this section include: Process-to to-process Communication Multiple Streams Multihoming Full-Duplex Communication Connection-Oriented Service Reliable Service

8 Process-to-Process Communication SCTP uses well-known ports in the TCP Table 13.1 Some SCTP applications

9 Multiple Streams TCP is stream-oriented protocol Each TCP connection involves one single connection However, a loss at any point blocks the delivery of the rest of data Not allow in real-time data SCTP allows multistreamservice in each connection Called association in SCTP Similar to multiple lanes on a highway

10 Figure 13.2 Multiple-stream concept

11 Multihoming Multihomed host Connected to more than one physical address with multiple IP addresses However, a TCP connection involves one source and one destination Only one IP address is utilized per end SCTP supports multihomingservice Sending host and receiving host can define multiple IP addresses in each end for an association Good for fault-tolerant

12 Figure 13.3 Multihoming concept

13 Multihoming (Cont.) In current SCTP Only one pair of IP addresses can be chosen for normal communication The alternative is used if the main choice fails Thus, does not support load sharing between different paths An association in SCTP can involve multiple streams.

14 Full-Duplex Communication Like TCP, data can flow in both directions at the same time Thus, each SCTP has a sending buffer and a receiving buffer

15 Connection-Oriented Services SCTP is a connection-oriented service A connection is called an association in SCTP

16 Reliable Service SCTP is a reliable transport protocol Use an acknowledgment mechanism

17 13.2 SCTP FEATURES We discuss the general features of SCTP and then compare them with those of TCP. The topics discussed in this section include: Transmission Sequence Number (TSN) Stream Identifier (SI) Stream Sequence Number (SSN) Packets Acknowledgment Number Flow Control Error Control Congestion Control

18 Transmission Sequence Number (TSN) Unit of data in TCP is a byte Each byte has a sequence number Unit of data in SCTP is data chunk A transmission sequence number (TSN) is used to number the data chunks Each data chunk has a TSN in its header In SCTP, a data chunk is numbered using a TSN.

19 Stream Identifier (SI) Several streams in a SCTP association Each stream is identified using a stream identifier (SI) Each data chunk carries SI in its header Thus it can be properly placed in its belonging stream To distinguish between different streams, SCTP uses a SI.

20 Stream Sequence Number (SSN) SCTP defines each data chunk in each stream with a stream sequence number (SSN) With SI and SSN A data chunk can be delivered to the appropriate stream and in the proper order To distinguish between different data chunks belonging to the same stream, SCTP uses SSNs.

21 Packets In TCP, a segment carries data and control information Data are carried as a collection of bytes Control information is defined by six control flag in the header In SCTP Data are carried as data chunks Control information are carried as control chunks However, several control chunks and data chunks can be packed in a packet

22 Figure 13.4 Comparison between a TCP segment and an SCTP packet TCP has segments; SCTP has packets.

23 Difference Between SCTP Packets and TCP Segments Control information In TCP: part of the header In SCTP: in the control chunks Data In TCP: the data in a TCP segment treated as one entity In SCTP: an SCTP packet can carry several data chunks Each chunk can belong to different stream Option Part of a TCP segment Does not exist in an SCTP packet SCTP handles options by defining new chunk types

24 Difference Between SCTP Packets and TCP Segments (Cont.) Header Mandatory part of TCP header is 20 bytes General header in SCTP is 12 bytes, shorter since An SCTP sequence number (TSN) belongs to each data chunk and located in the chunk s header The ack. number and window size are part of each chunk No need for a header length in SCTP (fixed at 12 bytes) There are no options to make the length of header variable No need for an urgent pointer in SCTP (see later)

25 Difference Between SCTP Packets and TCP Segments (Cont.) Checksum TCP: 16 bits SCTP: 32 bits SCTP has a verification tag Used as an association identifier to define each association Does not exist in TCP IP address and port address define a connection However, SCTP support multihomeing

26 Difference Between SCTP Packets and TCP Segments (Cont.) An SCTP packet includes several data chunks TSNs, SIs, and SSNs define each data chunk TCP use sequence number to define the numbering of the first byte in the data Control chunks in SCTP never use a TSN, SI, or SSN number These three identifiers belong only to data chunk Not to the whole packet TCP consume one sequence number if a segment carry control information (SYN, FIN)

27 Data Chunk, Stream, and Packet An association may send many packets A packet may contain several chunks Chunks may belong to different streams Example, in the following slides Process sends 11 message with 3 streams First four message are in the first stream Second three message are in the first stream Last four message are in the first stream Assume each message fits into one data chunk Assume only 3 data chunks per packet

28 Figure 13.5 Packet, data chunks, and streams Data chunk in stream 0 (SI=0) are carried in first and part of second packet Data chunk in stream 1 (SI=1) are carried in first and part of second packet Data chunk in stream 2 (SI=2) are carried in first and part of second packet

29 Data Chunk, Stream, and Packet (Cont.) Data chunks are identified by three identifiers: TSN, SI, and SSN. TSN is a cumulative number identifying the association Used for flow control and error control SI defines the stream to which the chunk belongs SSN defines the chunk s order in a particular stream.

30 Acknowledgment Number In TCP Acknowledgment number are byte-oriented Refer to the sequence number Control information are acked using a sequence number and acknowledgment number E.g., SYN segment acked by an ACK segment SCTP Acknowledgment number are chunk-oriented Refer to the TSN Control information are carried by control chunks Do not need a TSN Acked by another control chunk of the appropriate type (some need no acknowledgment) There is no need for a sequence number or an acknowledgment number

31 Acknowledgment Number (Cont.) In SCTP, acknowledgment numbers are used to acknowledge only data chunks; control chunks are acknowledged by other control chunks if necessary.

32 13.3 PACKET FORMAT We show the format of a packet and different types of chunks. An SCTP packet has a mandatory general header and a set of blocks called chunks. There are two types of chunks: control chunks and data chunks. c The topics discussed in this section include: General Header Chunks

33 Packet Format An SCTP packet A mandatory general header A set of blocks called chunks Control chunk Control and maintain the association Data chunk Carry user data In an SCTP packet, control chunks come before data chunks.

34 Figure 13.6 SCTP packet format

35 General Header Goal Define the end points of each association Preserve the integrity of the contents of the packet including the header Format Source port number Destination port number

36 General Header (Cont.) Verification tag Match a packet to an associations Serve an identifier for the association Repeat in every packet during the association Separate verification used for each direction in the association Checksum

37 Chunks Chunks have the same layout First three fields are common Information field depends on the type of chunk Note Information section must be a multiple of 4 bytes or padding bytes are added

38 Chunks (Cont.) Format Type Define the type of chunk, see Table 13.2 Flag Length Define special flag that a particular chunk may need Each bit have different meaning depending on the type of chunk Define the total size of chunk, including the first three fields Note, the length of padding is not included in the length field E.g., if length is 17, the receiver knows three are 3 padding bytes

39 Table 13.2 Chunks

40 Data Chunk Type: 0 Flag U: unordered Signal unordered data and the value of stream sequence number is ignored SCTP allows unordered delivery B: beginning E: end Both define the position of a chunk in a message that is fragmented B=1, E=1, there is no fragmentation (first and last) The whole message is carried in one chunk B=1, E=0, it is the first fragment B=0, E=1, it is the last fragment B=0, E=0, it is the middelefragment

41 Figure 13.9 DATA chunk

42 Data Chunk (Cont.) Transmission sequence number (TSN) Define the transmission sequence number Initialized in an INIT chunk for one direction and in ININ_ACK chunk for another direction Stream Identifier (SI) Define each stream in an association All chunks in the same stream in one direction have the same SI

43 Data Chunk (Cont.) Protocol Identifier Used by application program to define the type of data Ignore by the SCTP layer User data Note No chunk can carry data belonging to more than one message But a message can be split into several chunks This field cannot be empty It must have at least one byte of user data The value of length field cannot be less than 17 If the data cannot end at a 32-bit boundary, padding is added

44 INIT Chunk INIT chunk: initiation chunk First chunk sent by an end point to establish an association Cannot carry other control or data chunks Format Type: 1 Flag: 0 ( no flags) Length: a minimum of 20 More if there are optional parameters

45 Figure INIT chunk

46 INIT Chunk (Cont.) Initiation tag Define the value of the verification tag for packets sent in the opposite direction Example: node A starts an association with node B A define an initiation tag value used as the verification tag for all packets sent from B to A Thus, the verification tag field in INIT packet is 0 Since has not yet defined the tag Advertised receiver window credit Used in flow control Define the initial amount of data that the INIT sender can allow

47 INIT Chunk (Cont.) Outbound stream Define the number of streams that the initiator suggests in the outbound direction It may be reduced by the other end point Maximum inbound stream Define the maximum number of stream that the initiator can support in the inbound direction Maximum number and cannot be increased by the other end point

48 INIT Chunk (Cont.) Initial TSN Initialized the transmission sequence number (TSN) in the outbound direction Each data chunk has to have one TSN Variable-length parameters Optional parameters Define the IP address of sending end point The number of IP addresses the end point can support Preservation of the cookie state Support of explicit congestion notification (ECN)

49 INIT ACK Chunk Second chunk sent during association establishment Cannot carry other control or data chunks The fields in the main part are the same in INIT chunk However, a mandatory parameter is required Discussed later

50 Figure INIT ACK chunk

51 COOKIE ECHO Chunk Third chunk send during association establishment The packet can also carry user data Figure COOKIE ECHO chunk

52 COOKIE ACK Chunk Forth and last chunk sent during association establishment Can only carry user data Figure COOKIE ACK

53 SACK Chunk SACK chunk: selective ACK chunk Acknowledge the receipt of data packets Cumulative TSN acknowledgement Define the TSN of the last data chunk received in sequence Advertised receiver window credit Updated value of the receiver window size Number of gap ACK blocks Define the number of gaps in the data chunk received after the cumulative TSN The gap defines the sequence of received chunks Not the missing chunks

54 Figure SACK chunk

55 SACK Chunk (Cont.) Number of duplicates Define the number of duplicate chunks following the cumulative TSN Gap ACK block start offset For the gap block, give the starting TSN relative to the cumulative TSN Gap ACK block end offset For the gap block, give the ending TSN relative to the cumulative TSN Duplicate TSN For each duplicate chunk, give the TSN of the chunk relative to the cumulative TSN

56 HEARTBEAT and HEARTHEAT ACK Chunks Used to periodically probe the condition of an association An end point sends a HEARTBEAT chunk The peer responds with a HEARTBEAT ACK if it is alive Format Sender specific information In HEARBEAT: include the local time and the address of the sender In BEARTBEAT ACK: copied from HEARTBEAT without change

57 Figure HEARTBEAT and HEARTBEAT ACK chunks

58 SHUTDOWN, SHUTDOWN ACK, And SHUTDOWN COMPLETE The three chunks used for closing an association

59 ERROR Sent when an end point find some error in a received packet See Table 13.3 However, does not imply the aborting of the association This require an ABORT chunk

60 Table 13.3 Errors

61 ABORT Sent when an end point finds a fatal error and needs to abort the association The error type are the same as those for the ERROR chunk (Table 13.3)

62 FORWARD TSN Inform the receiver to adjust its cummulative TSN Provide partial reliable service

63 13.4 AN SCTP ASSOCIATION SCTP, like TCP, is a connection-oriented oriented protocol. However, a connection in SCTP is called an association to emphasize multihoming The topics discussed in this section include: Association Establishment Data Transfer Association Termination Association Abortion

64 Association SCTP is connection-oriented However, a connection in SCTP is called an association

65 Association Establishment Four-way handshake Similar to TCP Server: passive open Be prepared to receive any association Client: active open Initiate the association establishment

66 Figure Four-way handshaking

67 Four-Way Handshake 1. Client sends the fist packet that contains an INIT chunk Verification tag (VT) in the general header is 0 INIT tag No verification tag has yet been defined for this direction An initiation tag to be used for packet from the other direction (server to client) Initial TSN Define the initial TSN for this direction (client to server) Advertised receiver window credit Advertise a value of client s rwnd Normally, rwnd is advertised in a SACK chunk It is done here because the third and fourth packet (COOKIE ECHO and COOKIE ACK) can include DATA chunk

68 Four-Way Handshake (Cont.) 2. Server sends the second packet that contains an INIT ACK chunk Verification tag (VT) The initiation tag value in the INIT chunk (server to client) INIT tag An initiation tag to be used for packet from the other direction (client to server) Initial TSN Define the initial TSN for this direction (server to client) Advertised receiver window credit Set the server s rwnd Send a cookie that defines the state of the server at this moment

69 Four-Way Handshake (Cont.) 3. Client sends the third packet that includes a COOKIE ECHO chunk Echo, without change, the cookie sent by the server in INIT ACK chunk Data chunks can be included in this packet 4. Server sends the fourth packet that includes the COOKIE ACK chunk Acknowledge the receipt of the COOKIE ECHO chunk Data chunks can be included in this packet

70 Number of Packets Exchanged TCP Three-way handshaking SCTP Four-way handshaking SCTP might be less efficient However, SCTP allow the exchange of data in the third and fourth packet SCTP also provide better security against SYN denial-of-service attacks

71 Verification Tag In TCP A connection is identified by IP addresses and port numbers that contained in each segment Problems A attacker can send segments to a TCP server using randomly chosen source and destination port number Waste system resource, similar to SYN attack A delayed segment from a previous connection can show up in a new connection that uses the same source and destination port address

72 Verification Tag (Cont.) Solution in SCTP: A verification tag that is carried in all packet traveling in one direction in an association Thus, two verification tags identify as association Thus A blink attacker cannot inject a random packet Since it is not easy to carry the exact tag (1~2^32) A packet from an old association cannot show up in a new association Since verification tag would surely be different

73 Cookie SYN attack in TCP Since a TCP and other resources are allocated when a server receive a SYN segment Solution in SCTP Postpone the allocation of resource until the reception of third packet At this time, the IP address of the sender is verified However, the information received in the first packet must be saved until the third packet arrives But it cannot save the information in memory

74 Cookie (Cont.) Solution in SCTP (Cont.) Thus, SCTP pack the information and send it back to the addresses received in the first packet Called generating a cookie There are two situations If the sender of the first packet is an attacker Server cannot receive the third packet Cookie is lost and no resources are allocated If the sender of the first packet is an honest client It receives and second packet with cookie Send the third packet with cookie that no changes Server then allocate resource until receiving the third packets

75 Data Transfer SCTP: Support bidirectional data transfer Also support piggybacking TCP Receive message from a process as a stream of bytes Without recognizing any boundary between them A segment can carry parts of two message SCTP Recognize and maintains boundaries Each message is inserted into a DATA chunk or chunks if fragmented

76 Note: In SCTP, only DATA chunks consume TSNs; DATA chunks are the only chunks that are acknowledged.

77 Data Transfer (Cont.) In Fig The third packet contains the SACK chunk SCTP acknowledges the last in-order TSN received, not the next expected The acknowledgment defines the cumulative TSN, the TSN of the last DATA chunk received in order.

78 Figure Simple data transfer

79 Multihoming Data Transfer SCTP allow both ends to define multiple IP addresses for communication One of these address is primary address Defined using association establishment But is determined by the other end A source defines the primary address for a destination Used for data transfer Rest are alternative addresses One of the alternative address is used if the primary is not available

80 MultistreamDelivery SCTP distinguish between data transfer and data delivery Data transfer: movement of data chunks between source and destination By TSN numbers Data delivery: deliver data chunks to the appropriate position in their belonging stream Controlled by SI and SSN

81 MultistreamDelivery (Cont.) SCTP support two types of data delivery Ordered (default) Unordered Note: By SSN (stream sequence number) to define their order in a stream Set U flag and ignore the SSN value TSN: used in a direction of an association However, a connection may have many streams By SI and SSN

82 Fragmentation SCTP fragment message to conform to the maximum transmit unit (MTU) size along a particular routed path Avoid the performance degradation when IP routers have to perform fragmentation

83 Fragmentation (Cont.) If the total size of a message exceeds MTU, the message needs to be fragmented However, the total size means the size of an IP datagram How to estimate? (since we are in layer 4) Can be determined by adding the following components Size of the message Data chunk header If piggybacked with SACK, add SACK chunks SCTP general header IP header

84 Fragmentation (Cont.) Fragmentation Break the message into smaller fragments A DATA chunk header is added to each fragment Each with a different but sequent TSN All DATA chunk header carries The same stream identifier (SI) The same stream sequence number (SSN) The same protocol identifier (defined by application) The same U flag Assign the appropriate B and E flags First fragment: 10 Middle fragment: 00 End fragment: 01

85 Fragmentation (Cont.) Reassembly If B/E = 11, no fragmented Else Find all chunks with the same SI and SSN Use TSN to determine their order in a message The number of fragment can be determined by the TSN number of the first and last fragments

86 Association Termination Like TCP, both ends can close the association However, SCTP does not allow a halfclosed association

87 Figure Association termination

88 Association Abortion

89 13.5 STATE TRANSITION DIAGRAM To keep track of all the different events happening during association establishment, association termination, and data transfer, the SCTP S software, like TCP, is implemented as a finite state machine. The topics discussed in this section include: Scenarios Simultaneous Close

90 13.6 FLOW CONTROL Flow control in SCTP is similar to that in TCP. In SCTP, we need to handle two units of data, the byte and the chunk. The topics discussed in this section include: Receiver Site Sender Site A Scenario

91 Flow Control In SCTP, we need to handle two unit of data The byte and the chunk The rwndand cwndare expressed in bytes The value of TSN and acknowledgement are expressed in chunks SCTP also uses byte-oriented window for flow control

92 Receiver Site Hold three variables cumtsn: Hold the last TSN received winsize Hold the available buffer size lastack Hold the last accumulative acknowledgment

93 Receiver Site (Cont.) 1. When the site receives a data chunk Subtract the size of the chunk from winsize TSN number of the chunk is stored in the cumtsn variable 2. When the process reads a chunk Add the size of removed chunk to winsize 3. When the receiver sends a SACK Check the value of lastack If less than cumtsn Send a ACK with cumulative TSN number equal to the cumtsn The advertised window size is set to winsize

94 Sender Site Hold three variables curtsn Refer to the next chunk to be sent rwnd Hold the last value advertised by the receiver intransit Hold the number of bytes in transit, byte sent but not yet acknowledged Have been sent Ready to be sent

95 Sender Site (Cont.) A chunk pointed by curtsn can be sent If its size of less than or equal to (rwnd-intransit) When a SACK is received The chunks with a TSN less than or equal to the cumulative TSN in SACK are removed from queue intransitis reduced by the total size of discarded chunks rwnd is update with the advertised window value in SACK

96 A Scenario See the Fig , at the beginning rwnd at sender = 2000, winsizeat receiver = 2000 Advertise during association establishment Assume each data chunk is 1000 bytes

97 Figure Flow control scenario

98 13.7 ERROR CONTROL SCTP uses a SACK chunk to report the state of the receiver buffer r to the sender. Each implementation uses a different set of entities and timers for the receiver and sender sites. The topics discussed in this section include: Receiver Site Sender Site Sending Data Chunks Generating SACK Chunks

99 Receiver Site In Fig The last ack. was for data chunk 20 Receiver stores all arriving chunks in a queue Leave space for any missing chunks Discard duplicate message SACK includes The TSN numbers for out of order chunks Relative to the cumulative TSN The TSN number for duplicate data chunks

100 Figure Error control, receiver site

101 Sender Site In Fig There are two queues at the sender site A sending queue and a retransmission queue Assume each data chunk is 100 bytes 1400 bytes (TSN=23~TSN=36) are transmitted intranmit = 1400 When a packet is sent, one retranmission timer start for that packet (all data chunks in that packet) Chunks in a packet is moved to the retransmission queue When the retransmission timer for a packet expires When four duplicate SACK arrives that declare a packet as missing i.e., fast retransmission as discussed in TCP

102 Figure Error control, sender site

103 Sender Site (Cont.) The chunks in the retransmission queue have priority The next time the sender sends is chunk 21 from retransmission queue Assume the SACK in Fig arrives at the sender in Fig Fig shows the new state

104 Figure New state at the sender site after receiving a SACK chunk Should be gray

105 Sender Site (Cont.) All chunks having a TSN equal to or less that the cumtsn in the SACK Removed from the sending queue or retransmission queue Check 21 and 22 are removed from the retransmission queue Check 23 are removed from the sending queue Remove all chunks from the sending queue that are declared in the gap blocks Chunks 26 to 28 and chunks 31 to 34 are removed The list of duplicate chunks does not have any effect The value of rwnd is changed to 1000 As advertised in the SACK chunk

106 Sender Site (Cont.) Assume the retransmission timer for packet that carried chunks 24 and 25 has expired Move to retransmission queue A new retransmission timer is set (by the exponential backoffin TCP) The value of intransit is chunks are now in transmit Note, the chunks in the retransmission queue are not counted They are assumed lost, not in transmit

107 Retransmission SCTP, like TCP, employs two strategies Retransmission timers The RTO (retransmission time-out) and RTT are calculated as in TCP Note, If host is multihoming Separate RTT and RTO must be calculated and kept for each path Receiving four SACK with the same missing chunks Receive four consecutive duplicate SACK whose gap ack information indicate some missing chunks Invoke fast retransmission as TCP

108 Generating SACK Chunks Rules for generating SCTP SACK chunks are similar to the rules for acknowledgment in TCP Rules 1. When an end sends a DATA chunk to the other end Must include a SACK chunk advertising the receipt of unacknowledged DATA chunks 2. When an end receives a packet containing data, but has no data to send Need to acknowledge the receipt of the packet within a specified time (usually 500 ms)

109 Generating SACK Chunks (Cont.) Rules (Cont.) 3. An end must send at least one SACK for every other packet it receives The rule overrides the second rule 4. When a packet arrives with out-of-order data chunks Need to immediately send a SACK chunk 5. When an end receive a packet with duplicate DATA chunk and no new DATA chunk The duplicate data chunks must be reported immediately with a SACK chunk

110 13.8 CONGESTION CONTROL SCTP uses the same strategies for congestion control as TCP. SCTP P uses slow start, congestion avoidance,, and congestion detection phases. SCTP also uses fast retransmission and fast recovery. The topics discussed in this section include: Congestion Control and Multihoming Explicit Congestion Notification

111 Congestion Control and Multihoming Like TCP But since SCTP is multihoming Each IP address must be maintained with a different value of rwnd

112 Explicit Congestion Notification Explicit Congestion Notification (ECN) Enable a receiver to explicitly inform the sender of any congestion experience in the network Indication of probable congestion A receiver encounter many delayed or lost packets Beyond the scope of this book

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

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

An SCTP-Protocol Data Unit with several chunks

An SCTP-Protocol Data Unit with several chunks SCTP for Beginners Section 2 SCTP Packets he protocol data units (PDU) of SCTP are called SCTP packets. If SCTP runs over IP (as described in RFC2960 ), an SCTP packet forms the payload of an IP packet.

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

Computer Network Programming

Computer Network Programming Computer Network Programming SCTP Overview Dr. Sam Hsu Computer Science & Engineering Florida Atlantic University SCTP Overview Introduction Motivations Architectural & Functional Views Packet & Chunk

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

Outline. History Introduction Packets Association/ Termination Data Transmission concepts Multihoming Streams

Outline. History Introduction Packets Association/ Termination Data Transmission concepts Multihoming Streams Outline History Introduction Packets Association/ Termination Data Transmission concepts Multihoming Streams 1 History Developed by IETF SIGTRAN working group (Internet Engineering Task Force) (SIGnaling

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

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

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

Stream Control Transmission Protocol (SCTP)

Stream Control Transmission Protocol (SCTP) Stream Control Transmission Protocol (SCTP) Definition Stream control transmission protocol (SCTP) is an end-to-end, connectionoriented protocol that transports data in independent sequenced streams. SCTP

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

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

IS370 Data Communications and Computer Networks. Chapter 5 : Transport Layer 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.

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

Transport of (Legacy) Signaling over IP. Summary of course scope

Transport of (Legacy) Signaling over IP. Summary of course scope Transport of (Legacy) Signaling over SIGTRAN architecture (http://www.ietf.org/html.charters/sigtran-charter.html) Raimo Kantola S- 2004 Signaling Protocols 15-1 Summary of course scope PABX H.323 or S

More information

Unit 2.

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

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 5: SCTP Litterature: RFC3257 SCTP Applicability Statement RFC3286 Introduction to SCTP Forouzan 3 rd ed, Chapter 13 (optional) RFC2960 (optional extra material) RFC3309 (optional extra material)

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

Video Streaming with the Stream Control Transmission Protocol (SCTP)

Video Streaming with the Stream Control Transmission Protocol (SCTP) Chair for Network Architectures and Services Department of Informatics Technische Universität München Video Streaming with the Stream Control Transmission Protocol (SCTP) Lothar Braun, Andreas Müller Internet

More information

TSIN02 - Internetworking

TSIN02 - Internetworking TSIN02 - Internetworking Lecture 5: SCTP Litterature: Forouzan 3 rd ed, Chapter 13 RFC3257 SCTP Applicability Statement RFC3286 Introduction to SCTP Outline: What is SCTP? Why SCTP? SCTP Architecture SCTP

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

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

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

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

Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Introduction to Networking Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Distributed File Systems Operating Systems In Depth XXVII 2 Copyright 2017 Thomas W.

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

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

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

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

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Literature: Lecture 10: AAA RFC3286 RFC2881 RFC2905 RFC2903 Lecture 10: AAA Goals: 2004 Image Coding Group, Linköpings Universitet 2 Lecture 10: AAA AAA Introduction Outline: AAA introduction AAA in Network

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

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols TCP/IP Chapter 5: Transport Layer TCP/IP Protocols 1 Objectives Understand the key features and functions of the User Datagram Protocol Explain the mechanisms that drive segmentation, reassembly, and retransmission

More information

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures.

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures. Transport Protocols! Type A: ISO Defined Types of Network Service: Network connection with acceptable residual error rate and acceptable rate of signaled failures. - Reliable, sequencing network service

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

Transport Protocols and TCP: Review

Transport Protocols and TCP: Review Transport Protocols and TCP: Review CSE 6590 Fall 2010 Department of Computer Science & Engineering York University 1 19 September 2010 1 Connection Establishment and Termination 2 2 1 Connection Establishment

More information

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

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

More information

Transport Layer Marcos Vieira

Transport Layer Marcos Vieira Transport Layer 2014 Marcos Vieira Transport Layer Transport protocols sit on top of network layer and provide Application-level multiplexing ( ports ) Error detection, reliability, etc. UDP User Datagram

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

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

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

T Computer Networks II. Transport Issues Contents. TCP and UDP. Congestion Prevention. Motivation for Congestion Control

T Computer Networks II. Transport Issues Contents. TCP and UDP. Congestion Prevention. Motivation for Congestion Control T-110.5110 Computer Networks II Transport Issues 29.9.2008 Contents Transport Layer Overview Congestion Control TCP, TCP improvements, TCP and wireless Stream Control Transmission Protocol (SCTP) Datagram

More information

Chapter 5 End-to-End Protocols

Chapter 5 End-to-End Protocols Chapter 5 End-to-End Protocols Transport layer turns the host-to-host packet delivery service of the underlying network into a process-to-process communication channel Common properties that application

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

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

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

More information

Reliability and Availability in Stream Control Transport Protocol (SCTP)

Reliability and Availability in Stream Control Transport Protocol (SCTP) Reliability and Availability in Stream Control Transport Protocol (SCTP) Research Seminar on Real Time and High Availability Autumn 2001 by Laila Daniel on 21 st Nov. 2001 Stream Control Transmission Protocol

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

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link. Internet Layers Application Application Transport Transport Network Network Network Network Link Link Link Link Ethernet Fiber Optics Physical Layer Wi-Fi ARP requests and responses IP: 192.168.1.1 MAC:

More information

Category: Standards Track Motorola, Inc. M. Tuexen Univ. of Applied Sciences Muenster S. Maruyama M. Kozuka Kyoto University September 2007

Category: Standards Track Motorola, Inc. M. Tuexen Univ. of Applied Sciences Muenster S. Maruyama M. Kozuka Kyoto University September 2007 Network Working Group Request for Comments: 5061 Category: Standards Track R. Stewart Cisco Systems, Inc. Q. Xie Motorola, Inc. M. Tuexen Univ. of Applied Sciences Muenster S. Maruyama M. Kozuka Kyoto

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

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

Topics in Computer Networking Switch SS7 PSTN/ISDN. Gatekeeper/ Proxy Server. Topics in Computer Networking Н.

Topics in Computer Networking Switch SS7 PSTN/ISDN. Gatekeeper/ Proxy Server. Topics in Computer Networking Н. Outline SCTP Stream Control Transmission Protocol NGN and Motivation for SCTP Protocol Overview Packet format Protection against SYN Flooding Multistreaming Multihoming Research Activities at Kau Summary

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

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on project1 + midterm + HW1 + HW2 42.5% of class If you got a D+,D, D- or F! must meet with Dave or me

More information

MULTIROUTING BEHAVIOR IN STREAM CONTROL TRANSMISSION PROTOCOL JAGDISH KUMAR GOPALAKRISHNAN

MULTIROUTING BEHAVIOR IN STREAM CONTROL TRANSMISSION PROTOCOL JAGDISH KUMAR GOPALAKRISHNAN MULTIROUTING BEHAVIOR IN STREAM CONTROL TRANSMISSION PROTOCOL By JAGDISH KUMAR GOPALAKRISHNAN A THESIS PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS

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

9th Slide Set Computer Networks

9th Slide Set Computer Networks Prof. Dr. Christian Baun 9th Slide Set Computer Networks Frankfurt University of Applied Sciences WS1718 1/49 9th Slide Set Computer Networks Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

More information

Programming Assignment 3: Transmission Control Protocol

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

More information

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

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

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

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

CMPE 80N: Introduction to Networking and the Internet

CMPE 80N: Introduction to Networking and the Internet CMPE 80N: Introduction to Networking and the Internet Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 11 CMPE 80N Fall'10 1 Announcements Forum #2 due on 11.05. CMPE 80N Fall'10 2 Last

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

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

debug ip rtp header-compression through debug ipv6 icmp, page 1

debug ip rtp header-compression through debug ipv6 icmp, page 1 debug ip rtp header-compression through debug ipv6 icmp, page 1 1 debug ip rtp header-compression debug ip rtp header-compression To display events specific to Real-Time Transport Protocol (RTP) header

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

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

CSCI-GA Operating Systems. Networking. Hubertus Franke

CSCI-GA Operating Systems. Networking. Hubertus Franke CSCI-GA.2250-001 Operating Systems Networking Hubertus Franke frankeh@cs.nyu.edu Source: Ganesh Sittampalam NYU TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute

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

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

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

CNT 6885 Network Review on Transport Layer

CNT 6885 Network Review on Transport Layer CNT 6885 Network Review on Transport Layer Jonathan Kavalan, Ph.D. Department of Computer, Information Science and Engineering (CISE), University of Florida User Datagram Protocol [RFC 768] no frills,

More information

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

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

More information

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

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

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

Different Layers Lecture 20

Different Layers Lecture 20 Different Layers Lecture 20 10/15/2003 Jian Ren 1 The Network Layer 10/15/2003 Jian Ren 2 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every host,

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

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

EE 122: Transport Protocols. Kevin Lai October 16, 2002

EE 122: Transport Protocols. Kevin Lai October 16, 2002 EE 122: Transport Protocols Kevin Lai October 16, 2002 Motivation IP provides a weak, but efficient service model (best-effort) - packets can be delayed, dropped, reordered, duplicated - packets have limited

More information

CS 640 Introduction to Computer Networks Spring 2009

CS 640 Introduction to Computer Networks Spring 2009 CS 640 Introduction to Computer Networks Spring 2009 http://pages.cs.wisc.edu/~suman/courses/wiki/doku.php?id=640-spring2009 Programming Assignment 3: Transmission Control Protocol Assigned: March 26,

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

Intro to LAN/WAN. Transport Layer

Intro to LAN/WAN. Transport Layer Intro to LAN/WAN Transport Layer Transport Layer Topics Introduction (6.1) Elements of Transport Protocols (6.2) Internet Transport Protocols: TDP (6.5) Internet Transport Protocols: UDP (6.4) socket interface

More information

Multiple unconnected networks

Multiple unconnected networks TCP/IP Life in the Early 1970s Multiple unconnected networks ARPAnet Data-over-cable Packet satellite (Aloha) Packet radio ARPAnet satellite net Differences Across Packet-Switched Networks Addressing Maximum

More information

CE693 Advanced Computer Networks

CE693 Advanced Computer Networks CE693 Advanced Computer Networks Review 2 Transport Protocols Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan Seshan at CMU. When slides are obtained

More information

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

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

More information

6. The Transport Layer and protocols

6. The Transport Layer and protocols 6. The Transport Layer and protocols 1 Dr.Z.Sun Outline Transport layer services Transmission Control Protocol Connection set-up and tear-down Ports and Well-know-ports Flow control and Congestion control

More information

CS4700/CS5700 Fundamentals of Computer Networks

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

More information

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018 TCP Review Carey Williamson Department of Computer Science University of Calgary Winter 2018 Credit: Much of this content came courtesy of Erich Nahum (IBM Research) The TCP Protocol Connection-oriented,

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

TCP /IP Fundamentals Mr. Cantu

TCP /IP Fundamentals Mr. Cantu TCP /IP Fundamentals Mr. Cantu OSI Model and TCP/IP Model Comparison TCP / IP Protocols (Application Layer) The TCP/IP subprotocols listed in this layer are services that support a number of network functions:

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

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 16 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at

More information

Two approaches to Flow Control. Cranking up to speed. Sliding windows in action

Two approaches to Flow Control. Cranking up to speed. Sliding windows in action CS314-27 TCP: Transmission Control Protocol IP is an unreliable datagram protocol congestion or transmission errors cause lost packets multiple routes may lead to out-of-order delivery If senders send

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

Simulation of TCP Layer

Simulation of TCP Layer 39 Simulation of TCP Layer Preeti Grover, M.Tech, Computer Science, Uttrakhand Technical University, Dehradun ABSTRACT The Transmission Control Protocol (TCP) represents the most deployed transport protocol

More information

Information Network 1 TCP 1/2

Information Network 1 TCP 1/2 Functions provided by the transport layer Information Network 1 TCP 1/2 Youki Kadobayashi NAIST! Communication between processes " designation of process " identification of inter-process channel! Interface

More information

Reliable Transport I: Concepts and TCP Protocol

Reliable Transport I: Concepts and TCP Protocol Reliable Transport I: Concepts and TCP Protocol Stefano Vissicchio UCL Computer Science COMP0023 Today Transport Concepts Layering context Transport goals Transport mechanisms and design choices TCP Protocol

More information