Transmission Control Protocol (TCP)

Size: px
Start display at page:

Download "Transmission Control Protocol (TCP)"

Transcription

1 Transmission Control Protocol (TCP) Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana November 10, 2017

2 Outline Introduction to TCP Sequence numbers and acknowledgment numbers Timeouts and RTT estimation Reliable data transfer in TCP Connection management

3 Transmission Control Protocol The Internet s primary transport protocol definedinrfc793,rfc1122,rfc1323,rfc2018,andrfc2581

4 Transmission Control Protocol The Internet s primary transport protocol definedinrfc793,rfc1122,rfc1323,rfc2018,andrfc2581 Connection-oriented service endpoints shake hands to establish a connection not a circuit-switched connection, nor a virtual circuit

5 Transmission Control Protocol The Internet s primary transport protocol definedinrfc793,rfc1122,rfc1323,rfc2018,andrfc2581 Connection-oriented service endpoints shake hands to establish a connection not a circuit-switched connection, nor a virtual circuit Full-duplex service bothendpointscanbothsendandreceive,atthesametime

6 Preliminary Definitions

7 Preliminary Definitions TCP segment: envelope for TCP data TCPdataaresentwithinTCPsegments TCPsegmentsareusuallysentwithinanIPpacket

8 Preliminary Definitions TCP segment: envelope for TCP data TCPdataaresentwithinTCPsegments TCPsegmentsareusuallysentwithinanIPpacket Maximum segment size(mss): maximum amount of application data transmitted in a single segment typically related to the MTU of the connection, to avoid network-level fragmentation(we ll talk about all of this later)

9 Preliminary Definitions TCP segment: envelope for TCP data TCPdataaresentwithinTCPsegments TCPsegmentsareusuallysentwithinanIPpacket Maximum segment size(mss): maximum amount of application data transmitted in a single segment typically related to the MTU of the connection, to avoid network-level fragmentation(we ll talk about all of this later) Maximum transmission unit(mtu): largest link-layer frame available to the sender host pathmtu:largestlink-layerframethatcanbesentonalllinksfromthesender host to the receiver host

10 TCP Segment Format 0 31 source port destination port sequence number acknowledgment number hdrlen unused UAPRSF receivewindow Internet checksum urgent data pointer options field data

11 TCP Header Fields

12 Source and destination ports:(16-bit each) application identifiers TCP Header Fields

13 TCP Header Fields Source and destination ports:(16-bit each) application identifiers Sequence number:(32-bit) used to implement reliable data transfer Acknowledgment number:(32-bit) used to implement reliable data transfer

14 TCP Header Fields Source and destination ports:(16-bit each) application identifiers Sequence number:(32-bit) used to implement reliable data transfer Acknowledgment number:(32-bit) used to implement reliable data transfer Receive window:(16-bit) size of the window on the receiver end

15 TCP Header Fields Source and destination ports:(16-bit each) application identifiers Sequence number:(32-bit) used to implement reliable data transfer Acknowledgment number:(32-bit) used to implement reliable data transfer Receive window:(16-bit) size of the window on the receiver end Header length:(4-bit) size of the TCP header in 32-bit words

16 TCP Header Fields Source and destination ports:(16-bit each) application identifiers Sequence number:(32-bit) used to implement reliable data transfer Acknowledgment number:(32-bit) used to implement reliable data transfer Receive window:(16-bit) size of the window on the receiver end Header length:(4-bit) size of the TCP header in 32-bit words Optional and variable-length options field: may be used to negotiate protocol parameters

17 TCP Header Fields

18 TCP Header Fields ACK flag:(1-bit) signals that the value contained in the acknowledgment number represents a valid acknowledgment

19 TCP Header Fields ACK flag:(1-bit) signals that the value contained in the acknowledgment number represents a valid acknowledgment SYN flag:(1-bit) used during connection setup and shutdown

20 TCP Header Fields ACK flag:(1-bit) signals that the value contained in the acknowledgment number represents a valid acknowledgment SYN flag:(1-bit) used during connection setup and shutdown RST flag:(1-bit) used during connection setup and shutdown

21 TCP Header Fields ACK flag:(1-bit) signals that the value contained in the acknowledgment number represents a valid acknowledgment SYN flag:(1-bit) used during connection setup and shutdown RST flag:(1-bit) used during connection setup and shutdown FIN flag:(1-bit) used during connection shutdown

22 TCP Header Fields ACK flag:(1-bit) signals that the value contained in the acknowledgment number represents a valid acknowledgment SYN flag:(1-bit) used during connection setup and shutdown RST flag:(1-bit) used during connection setup and shutdown FIN flag:(1-bit) used during connection shutdown PSHflag:(1-bit) push flag,usedtosolicitthereceivertopassthedatatothe application immediately

23 TCP Header Fields ACK flag:(1-bit) signals that the value contained in the acknowledgment number represents a valid acknowledgment SYN flag:(1-bit) used during connection setup and shutdown RST flag:(1-bit) used during connection setup and shutdown FIN flag:(1-bit) used during connection shutdown PSHflag:(1-bit) push flag,usedtosolicitthereceivertopassthedatatothe application immediately URGflag:(1-bit) urgent flag,usedtoinformthereceiverthatthesenderhas markedsomedataas urgent.thelocationofthisurgentdataismarkedby the urgent data pointer field

24 TCP Header Fields ACK flag:(1-bit) signals that the value contained in the acknowledgment number represents a valid acknowledgment SYN flag:(1-bit) used during connection setup and shutdown RST flag:(1-bit) used during connection setup and shutdown FIN flag:(1-bit) used during connection shutdown PSHflag:(1-bit) push flag,usedtosolicitthereceivertopassthedatatothe application immediately URGflag:(1-bit) urgent flag,usedtoinformthereceiverthatthesenderhas markedsomedataas urgent.thelocationofthisurgentdataismarkedby the urgent data pointer field Checksum:(16-bit) used to detect transmission errors

25 Sequence Numbers

26 Sequence numbers are associated with bytes in the data stream notwithsegments,aswehaveusedthembefore Sequence Numbers

27 Sequence Numbers Sequence numbers are associated with bytes in the data stream notwithsegments,aswehaveusedthembefore The sequence number in a TCP segment indicates the sequence number of the first byte carried by that segment

28 Sequence Numbers Sequence numbers are associated with bytes in the data stream notwithsegments,aswehaveusedthembefore The sequence number in a TCP segment indicates the sequence number of the first byte carried by that segment application data stream 4Kb

29 Sequence Numbers Sequence numbers are associated with bytes in the data stream notwithsegments,aswehaveusedthembefore The sequence number in a TCP segment indicates the sequence number of the first byte carried by that segment application data stream 4Kb MSS=1024b

30 Sequence Numbers Sequence numbers are associated with bytes in the data stream notwithsegments,aswehaveusedthembefore The sequence number in a TCP segment indicates the sequence number of the first byte carried by that segment application data stream 4Kb MSS=1024b

31 Sequence Numbers Sequence numbers are associated with bytes in the data stream notwithsegments,aswehaveusedthembefore The sequence number in a TCP segment indicates the sequence number of the first byte carried by that segment application data stream 4Kb MSS=1024b

32 Sequence Numbers Sequence numbers are associated with bytes in the data stream notwithsegments,aswehaveusedthembefore The sequence number in a TCP segment indicates the sequence number of the first byte carried by that segment application data stream 4Kb MSS=1024b a TCP segment

33 Sequence Numbers Sequence numbers are associated with bytes in the data stream notwithsegments,aswehaveusedthembefore The sequence number in a TCP segment indicates the sequence number of the first byte carried by that segment application data stream 4Kb MSS=1024b a TCP segment 2049

34 Sequence Numbers Sequence numbers are associated with bytes in the data stream notwithsegments,aswehaveusedthembefore The sequence number in a TCP segment indicates the sequence number of the first byte carried by that segment application data stream 4Kb MSS=1024b sequence number a TCP segment 2049

35 Acknowledgment Numbers

36 Acknowledgment Numbers An acknowledgment number represents the first sequence number not yet seen by the receiver TCP acknowledgments are cumulative

37 Acknowledgment Numbers An acknowledgment number represents the first sequence number not yet seen by the receiver TCP acknowledgments are cumulative A B

38 Acknowledgment Numbers An acknowledgment number represents the first sequence number not yet seen by the receiver TCP acknowledgments are cumulative A B [Seq# =1200,...],size(data) =1000

39 Acknowledgment Numbers An acknowledgment number represents the first sequence number not yet seen by the receiver TCP acknowledgments are cumulative A B [Seq# =1200,...],size(data) =1000 [Seq# =2200,...],size(data) =500

40 Acknowledgment Numbers An acknowledgment number represents the first sequence number not yet seen by the receiver TCP acknowledgments are cumulative A B [Seq# =1200,...],size(data) =1000 [Seq# =2200,...],size(data) =500 [Seq# =...,Ack# =2700]

41 Sequence Numbers and ACK Numbers

42 Sequence Numbers and ACK Numbers Notice that a TCP connection is a full-duplex link therefore, there are two streams two different sequence numbers

43 Sequence Numbers and ACK Numbers Notice that a TCP connection is a full-duplex link therefore, there are two streams two different sequence numbers E.g., consider a simple Echo application: A B

44 Sequence Numbers and ACK Numbers Notice that a TCP connection is a full-duplex link therefore, there are two streams two different sequence numbers E.g., consider a simple Echo application: A B [Seq# =100,Data = C ]

45 Sequence Numbers and ACK Numbers Notice that a TCP connection is a full-duplex link therefore, there are two streams two different sequence numbers E.g., consider a simple Echo application: A B [Seq# =100,Data = C ] [Ack# =101,Seq# =200,Data = C ]

46 Sequence Numbers and ACK Numbers Notice that a TCP connection is a full-duplex link therefore, there are two streams two different sequence numbers E.g., consider a simple Echo application: A B [Seq# =100,Data = C ] [Ack# =101,Seq# =200,Data = C ] [Seq# =101,Ack# =201,Data = i ]

47 Sequence Numbers and ACK Numbers Notice that a TCP connection is a full-duplex link therefore, there are two streams two different sequence numbers E.g., consider a simple Echo application: A B [Seq# =100,Data = C ] [Ack# =101,Seq# =200,Data = C ] [Seq# =101,Ack# =201,Data = i ] [Seq# =201,Ack# =102,Data = i ]

48 Sequence Numbers and ACK Numbers Notice that a TCP connection is a full-duplex link therefore, there are two streams two different sequence numbers E.g., consider a simple Echo application: A B [Seq# =100,Data = C ] [Ack# =101,Seq# =200,Data = C ] [Seq# =101,Ack# =201,Data = i ] [Seq# =201,Ack# =102,Data = i ] Acknowledgments are piggybacked on data segments

49 Reliability and Timeout TCP provides reliable data transfer using a timer to detect lost segments timeout without an ACK lost packet retransmission

50 Reliability and Timeout TCP provides reliable data transfer using a timer to detect lost segments timeout without an ACK lost packet retransmission How long to wait for acknowledgments?

51 Reliability and Timeout TCP provides reliable data transfer using a timer to detect lost segments timeout without an ACK lost packet retransmission How long to wait for acknowledgments? Retransmission timeouts should be larger than the round-trip time RTT = 2L ascloseaspossibletothertt

52 Reliability and Timeout TCP provides reliable data transfer using a timer to detect lost segments timeout without an ACK lost packet retransmission How long to wait for acknowledgments? Retransmission timeouts should be larger than the round-trip time RTT = 2L ascloseaspossibletothertt TCP controls its timeout by continuously estimating the current RTT

53 Round-Trip Time Estimation

54 Round-Trip Time Estimation RTT is measured using ACKs only for packets transmitted once GivenasinglesampleSatanygiventime Exponential weighted moving average(ewma) RTT = (1 α)rtt +αs

55 Round-Trip Time Estimation RTT is measured using ACKs only for packets transmitted once GivenasinglesampleSatanygiventime Exponential weighted moving average(ewma) RTT = (1 α)rtt +αs RFC2988recommendsα =0.125

56 Round-Trip Time Estimation RTT is measured using ACKs only for packets transmitted once GivenasinglesampleSatanygiventime Exponential weighted moving average(ewma) RTT = (1 α)rtt +αs RFC2988recommendsα =0.125 TCP also measures the variability of RTT DevRTT = (1 β)devrtt +β RTT S

57 Round-Trip Time Estimation RTT is measured using ACKs only for packets transmitted once GivenasinglesampleSatanygiventime Exponential weighted moving average(ewma) RTT = (1 α)rtt +αs RFC2988recommendsα =0.125 TCP also measures the variability of RTT DevRTT = (1 β)devrtt +β RTT S RFC2988recommendsβ =0.25

58 Timeout Value

59 Timeout Value ThetimeoutintervalTmustbelargerthantheRTT so as to avoid unnecessary retransmission However,TshouldnotbetoofarfromRTT soastodetect(andretransmit)lostsegmentsasquicklyaspossible

60 Timeout Value ThetimeoutintervalTmustbelargerthantheRTT so as to avoid unnecessary retransmission However,TshouldnotbetoofarfromRTT soastodetect(andretransmit)lostsegmentsasquicklyaspossible TCP sets its timeouts using the estimated RTT(RTT) and the variability estimate DevRTT: T =RTT +4DevRTT

61 Reliable Data Transfer (Sender) A simplified TCP sender r_send(data) if(timer not running) start_timer() u_send([data,next_seq_num]) next_seq_num next_seq_num + length(data)

62 Reliable Data Transfer (Sender) A simplified TCP sender r_send(data) if(timer not running) start_timer() u_send([data,next_seq_num]) next_seq_num next_seq_num + length(data) timeout u_send(pending segment with smallest sequence number) start_timer()

63 Reliable Data Transfer (Sender) A simplified TCP sender r_send(data) if(timer not running) start_timer() u_send([data,next_seq_num]) next_seq_num next_seq_num + length(data) timeout u_send(pending segment with smallest sequence number) start_timer() u_recv([ack,y]) if(y>base) base y if(there are pending segments) start_timer() else...

64 Acknowledgment Generation (Receiver)

65 Acknowledgment Generation (Receiver) Arrival of in-order segment with expected sequence number; all data up to expected sequence number already acknowledged

66 Acknowledgment Generation (Receiver) Arrival of in-order segment with expected sequence number; all data up to expected sequence number already acknowledged Delayed ACK: wait 500ms for another in-order segment; If that does not arrive, send ACK

67 Acknowledgment Generation (Receiver) Arrival of in-order segment with expected sequence number; all data up to expected sequence number already acknowledged Delayed ACK: wait 500ms for another in-order segment; If that does not arrive, send ACK Arrival of in-order segment with expected sequence number. One other in-order segment waiting for ACK(see above)

68 Acknowledgment Generation (Receiver) Arrival of in-order segment with expected sequence number; all data up to expected sequence number already acknowledged Delayed ACK: wait 500ms for another in-order segment; If that does not arrive, send ACK Arrival of in-order segment with expected sequence number. One other in-order segment waiting for ACK(see above) Cumulative ACK: immediately send cumulative ACK(for both segments)

69 Acknowledgment Generation (Receiver) Arrival of in-order segment with expected sequence number; all data up to expected sequence number already acknowledged Delayed ACK: wait 500ms for another in-order segment; If that does not arrive, send ACK Arrival of in-order segment with expected sequence number. One other in-order segment waiting for ACK(see above) Cumulative ACK: immediately send cumulative ACK(for both segments) Arrival of out of order segment with higher-than-expected sequence number (gap detected)

70 Acknowledgment Generation (Receiver) Arrival of in-order segment with expected sequence number; all data up to expected sequence number already acknowledged Delayed ACK: wait 500ms for another in-order segment; If that does not arrive, send ACK Arrival of in-order segment with expected sequence number. One other in-order segment waiting for ACK(see above) Cumulative ACK: immediately send cumulative ACK(for both segments) Arrival of out of order segment with higher-than-expected sequence number (gap detected) Duplicate ACK: immediately send duplicate ACK

71 Acknowledgment Generation (Receiver) Arrival of in-order segment with expected sequence number; all data up to expected sequence number already acknowledged Delayed ACK: wait 500ms for another in-order segment; If that does not arrive, send ACK Arrival of in-order segment with expected sequence number. One other in-order segment waiting for ACK(see above) Cumulative ACK: immediately send cumulative ACK(for both segments) Arrival of out of order segment with higher-than-expected sequence number (gap detected) Duplicate ACK: immediately send duplicate ACK Arrival of segment that(partially or completely) fills a gap in the received data

72 Acknowledgment Generation (Receiver) Arrival of in-order segment with expected sequence number; all data up to expected sequence number already acknowledged Delayed ACK: wait 500ms for another in-order segment; If that does not arrive, send ACK Arrival of in-order segment with expected sequence number. One other in-order segment waiting for ACK(see above) Cumulative ACK: immediately send cumulative ACK(for both segments) Arrival of out of order segment with higher-than-expected sequence number (gap detected) Duplicate ACK: immediately send duplicate ACK Arrival of segment that(partially or completely) fills a gap in the received data ImmediateACK:immediatelysendACKifthepacketstartatthelowerendofthe gap

73 Reaction to ACKs (Sender)

74 u_recv([ack,y]) if(y>base) base y if(there are pending segments) start_timer() Reaction to ACKs (Sender)

75 u_recv([ack,y]) if(y>base) base y if(there are pending segments) start_timer() else ack_counter[y] ack_counter[y] + 1 if (ack_counter[y] = 3) u_send(segment with sequence number y) Reaction to ACKs (Sender)

76 Connection Setup

77 Three-way handshake Connection Setup

78 Connection Setup Three-way handshake client server

79 Connection Setup Three-way handshake client server [SYN, Seq# = cli_init_seq]

80 Connection Setup Three-way handshake client server [SYN, Seq# = cli_init_seq] [SYN, ACK, Ack# = cli_init_seq + 1, Seq# = srv_init_seq]

81 Connection Setup Three-way handshake client server [SYN, Seq# = cli_init_seq] [SYN, ACK, Ack# = cli_init_seq + 1, Seq# = srv_init_seq] [ACK,Seq# =cli_init_seq+1,ack# =srv_init_seq+1]

82 This is it. Okay, Bye now. Bye. Connection Shutdown

83 Connection Shutdown This is it. Okay, Bye now. Bye. client server

84 Connection Shutdown This is it. Okay, Bye now. Bye. client server [FIN]

85 Connection Shutdown This is it. Okay, Bye now. Bye. client server [FIN] [ACK]

86 Connection Shutdown This is it. Okay, Bye now. Bye. client server [FIN] [ACK] [FIN]

87 Connection Shutdown This is it. Okay, Bye now. Bye. client server [FIN] [ACK] [FIN] [ACK]

88 CLOSED The TCP State Machine (Client)

89 CLOSED The TCP State Machine (Client) application opens connection send SYN SYN_SENT

90 CLOSED The TCP State Machine (Client) application opens connection send SYN SYN_SENT ESTABLISHED receive SYN,ACK send ACK

91 CLOSED The TCP State Machine (Client) application opens connection send SYN SYN_SENT ESTABLISHED receive SYN,ACK send ACK FIN_WAIT_1 application closes connection send FIN

92 CLOSED The TCP State Machine (Client) application opens connection send SYN SYN_SENT receive SYN,ACK send ACK FIN_WAIT_2 ESTABLISHED receive ACK FIN_WAIT_1 application closes connection send FIN

93 CLOSED The TCP State Machine (Client) application opens connection send SYN receive FIN send ACK TIME_WAIT FIN_WAIT_2 SYN_SENT ESTABLISHED receive SYN,ACK send ACK receive ACK FIN_WAIT_1 application closes connection send FIN

94 wait 30 seconds CLOSED The TCP State Machine (Client) application opens connection send SYN receive FIN send ACK TIME_WAIT FIN_WAIT_2 SYN_SENT ESTABLISHED receive SYN,ACK send ACK receive ACK FIN_WAIT_1 application closes connection send FIN

95 CLOSED The TCP State Machine (Server)

96 The TCP State Machine (Server) CLOSED application opens server socket LISTEN

97 The TCP State Machine (Server) CLOSED application opens server socket LISTEN SYN_RCVD receive SYN send SYN,ACK

98 The TCP State Machine (Server) CLOSED application opens server socket LISTEN SYN_RCVD receive SYN send SYN,ACK ESTABLISHED receive ACK

99 The TCP State Machine (Server) CLOSED application opens server socket LISTEN receive SYN send SYN,ACK CLOSE_WAIT SYN_RCVD receive FIN send ACK ESTABLISHED receive ACK

100 The TCP State Machine (Server) CLOSED application opens server socket send FIN LAST_ACK CLOSE_WAIT LISTEN SYN_RCVD receive SYN send SYN,ACK receive FIN send ACK ESTABLISHED receive ACK

101 The TCP State Machine (Server) receive ACK CLOSED application opens server socket send FIN LAST_ACK CLOSE_WAIT LISTEN SYN_RCVD receive SYN send SYN,ACK receive FIN send ACK ESTABLISHED receive ACK

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

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

Mobile Transport Layer Lesson 02 TCP Data Stream and Data Delivery

Mobile Transport Layer Lesson 02 TCP Data Stream and Data Delivery Mobile Transport Layer Lesson 02 TCP Data Stream and Data Delivery 1 TCP Data Stream Consists of bytes Delivered using a virtual connection between sockets Each socket has the port number and IP address

More information

TCP. 1 Administrivia. Tom Kelliher, CS 325. Apr. 2, Announcements. Assignment. Read From Last Time

TCP. 1 Administrivia. Tom Kelliher, CS 325. Apr. 2, Announcements. Assignment. Read From Last Time TCP Tom Kelliher, CS 325 Apr. 2, 2008 1 Administrivia Announcements Assignment Read 3.6 7. From Last Time Web server and mail user agent project discussions. Outline 1. TCP connection and segment structure.

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

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

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

CS 4390 Computer Networks. Pointers to Corresponding Section of Textbook

CS 4390 Computer Networks. Pointers to Corresponding Section of Textbook CS 4390 Computer Networks UT D application transport network data link physical Session 10 Transmission Control Protocol (TCP) An Overview Adapted from Computer Networking a Top-Down Approach 1996-2012

More information

TCP (Part 2) Session 10 INST 346 Technologies, Infrastructure and Architecture

TCP (Part 2) Session 10 INST 346 Technologies, Infrastructure and Architecture TCP (Part 2) Session 10 INST 346 Technologies, Infrastructure and Architecture Muddiest Points Reading pseudocode Reading finite state diagrams What parts of rdt are in TCP? Goals for Today Finish up TCP

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

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

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

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

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

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

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

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

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

The Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline CPSC 852 Internetworking The Transport Layer Reliable data delivery & flow control in TCP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc852

More information

TCP. TCP: Overview. TCP Segment Structure. Maximum Segment Size (MSS) Computer Networks 10/19/2009. CSC 257/457 - Fall

TCP. TCP: Overview. TCP Segment Structure. Maximum Segment Size (MSS) Computer Networks 10/19/2009. CSC 257/457 - Fall TCP Kai Shen 10/19/2009 CSC 257/457 - Fall 2009 1 TCP: Overview connection-oriented: handshaking (exchange of control msgs) to initialize sender, receiver state before data exchange pipelined: multiple

More information

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

The Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline CPSC 360 Network Programming The Transport Layer Reliable data delivery & flow control in TCP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360

More information

CS419: Computer Networks. Lecture 10, Part 2: Apr 11, 2005 Transport: TCP mechanics (RFCs: 793, 1122, 1323, 2018, 2581)

CS419: Computer Networks. Lecture 10, Part 2: Apr 11, 2005 Transport: TCP mechanics (RFCs: 793, 1122, 1323, 2018, 2581) : Computer Networks Lecture 10, Part 2: Apr 11, 2005 Transport: TCP mechanics (RFCs: 793, 1122, 1323, 2018, 2581) TCP as seen from above the socket The TCP socket interface consists of: Commands to start

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

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

Chapter 3 Transport Layer

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

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

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer Reti degli Elaboratori Canale AL Prof.ssa Chiara Petrioli a.a. 2013/2014 We thank for the support material Prof. Kurose-Ross All material copyright 1996-2012 J.F Kurose and K.W.

More information

Connections. Topics. Focus. Presentation Session. Application. Data Link. Transport. Physical. Network

Connections. Topics. Focus. Presentation Session. Application. Data Link. Transport. Physical. Network Connections Focus How do we connect processes? This is the transport layer Topics Naming processes Connection setup / teardown Flow control Application Presentation Session Transport Network Data Link

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

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

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

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

TCP Overview. Connection-oriented Byte-stream

TCP Overview. Connection-oriented Byte-stream TCP Overview Connection-oriented Byte-stream app writes bytes TCP sends segments app reads bytes Full duplex Flow control: keep sender from overrunning receiver Congestion control: keep sender from overrunning

More information

Lecture 12: Transport Layer TCP again

Lecture 12: Transport Layer TCP again Lecture 12: Transport Layer TCP again COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose and K.W.

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

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

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

More information

CSCI-1680 Transport Layer I Rodrigo Fonseca

CSCI-1680 Transport Layer I Rodrigo Fonseca CSCI-1680 Transport Layer I Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Janno< Today Transport Layer UDP TCP Intro Connection Establishment Transport Layer "#$ -##$

More information

CS 43: Computer Networks. 18: Transmission Control Protocol October 12-29, 2018

CS 43: Computer Networks. 18: Transmission Control Protocol October 12-29, 2018 CS 43: Computer Networks 18: Transmission Control Protocol October 12-29, 2018 Reading Quiz Lecture 18 - Slide 2 Midterm topics Abstraction, Layering, End-to-end design HTTP, DNS, Email, BT, etc. (app

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

CSCI-1680 Transport Layer I Rodrigo Fonseca

CSCI-1680 Transport Layer I Rodrigo Fonseca CSCI-1680 Transport Layer I Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Today Transport Layer UDP TCP Intro Connection Establishment From Lec 2: OSI Reference

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

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

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

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

RSC Part III: Transport Layer 3. TCP

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

More information

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

Chapter III: Transport Layer

Chapter III: Transport Layer Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Myungjin Lee myungjin.lee@ed.ac.uk Slides copyright of Kurose and Ross TCP: Overview RFCs: 793,1122,1323, 2018, 2581 point-to-point:

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

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

Transport Protocols & TCP TCP

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

More information

The 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

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:

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

CS450 Introduc0on to Networking Lecture 14 TCP. Phu Phung Feb 13, 2015

CS450 Introduc0on to Networking Lecture 14 TCP. Phu Phung Feb 13, 2015 CS450 Introduc0on to Networking Lecture 14 TCP Phu Phung Feb 13, 2015 Next lecture (Feb 16) Assignment 3 (No iclicker ques0ons) Wireshark links Guest lecture on Monday Feb 23 rd DNS Security Midterm exam

More information

End-to-End Protocols. End-to-End Protocols

End-to-End Protocols. End-to-End Protocols End-to-End Protocols UDP (User Datagram Protocol) (Transport Control Protocol) Connection Establishment/Termination Sliding Window Revisit Flow Control Adaptive Retransmission End-to-End Protocols Limitations

More information

CS118 Discussion 1A, Week 4. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

CS118 Discussion 1A, Week 4. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m. CS118 Discussion 1A, Week 4 Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m. 1 Outline Lecture review: Transport layer Project Questions? Midterm logistics 2 Stop and Wait Protocol Main Issue: limited

More information

Outline Computer Networking. Functionality Split. Transport Protocols

Outline Computer Networking. Functionality Split. Transport Protocols Outline 15-441 15 441 Computer Networking 15-641 Lecture 10: Transport Protocols Justine Sherry Peter Steenkiste Fall 2017 www.cs.cmu.edu/~prs/15 441 F17 Transport introduction TCP connection establishment

More information

Lenuta Alboaie Computer Networks

Lenuta Alboaie Computer Networks Transport Level Lenuta Alboaie adria@info.uaic.ro 1 Content Transport Level Preliminary UDP (User Datagram Protocol) TCP (Transmission Control Protocol) TCP versus UDP 2 Transport Level Preliminary They

More information

Operating Systems and Networks. Network Lecture 8: Transport Layer. Adrian Perrig Network Security Group ETH Zürich

Operating Systems and Networks. Network Lecture 8: Transport Layer. Adrian Perrig Network Security Group ETH Zürich Operating Systems and Networks Network Lecture 8: Transport Layer Adrian Perrig Network Security Group ETH Zürich I was going to tell you a joke about UDP, but I wasn t sure if you were going to get it

More information

Operating Systems and Networks. Network Lecture 8: Transport Layer. Where we are in the Course. Recall. Transport Layer Services.

Operating Systems and Networks. Network Lecture 8: Transport Layer. Where we are in the Course. Recall. Transport Layer Services. Operating Systems and s Lecture 8: Transport Layer I was going to tell you a joke about UDP, but I wasn t sure if you were going to get it Adrian Perrig Security Group ETH Zürich 2 Where we are in the

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

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

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

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

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Prof.ssa Chiara Petrioli Parte di queste slide sono state prese dal materiale associato

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

Internet Protocols Fall Outline

Internet Protocols Fall Outline Internet Protocols Fall 2004 Lecture 12 TCP Andreas Terzis Outline TCP Connection Management Sliding Window ACK Strategy Nagle s algorithm Timeout estimation Flow Control CS 449/Fall 04 2 1 TCP Connection

More information

Kent State University

Kent State University CS 4/54201 Computer Communication Network Kent State University Dept. of Computer Science www.mcs.kent.edu/~javed/class-net06f/ 1 A Course on Networking and Computer Communication LECT-10, S-2 IP- Internet

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

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

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

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

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

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

Internet transport protocols

Internet transport protocols Internet transport protocols 188lecture7.ppt Pirkko Kuusela 1 Problem IP can be used to connect together heterogenous networks IP network offers only best effort packet delivery (with no guarantees) Applications

More information

CSCI Topics: Internet Programming Fall 2008

CSCI Topics: Internet Programming Fall 2008 CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 15, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer

More information

Introduc)on to Computer Networks

Introduc)on to Computer Networks Introduc)on to Computer Networks COSC 4377 Lecture 7 Spring 2012 February 8, 2012 Announcements HW3 due today Start working on HW4 HW5 posted In- class student presenta)ons No TA office hours this week

More information

Lecture 8. TCP/IP Transport Layer (2)

Lecture 8. TCP/IP Transport Layer (2) Lecture 8 TCP/IP Transport Layer (2) Outline (Transport Layer) Principles behind transport layer services: multiplexing/demultiplexing principles of reliable data transfer learn about transport layer protocols

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

CSE/EE 461 Lecture 12 TCP. A brief Internet history...

CSE/EE 461 Lecture 12 TCP. A brief Internet history... CSE/EE 461 Lecture 12 TCP Tom Anderson tom@cs.washington.edu Peterson, Chapter 5.2, 6 A brief Internet history... 1991 WWW/HTTP 1969 ARPANET created 1972 TELNET RFC 318 1973 FTP RFC 454 1977 MAIL RFC 733

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

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

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

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

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

Some slides courtesy David Wetherall. Communications Software. Lecture 4: Connections and Flow Control. CSE 123b. Spring 2003.

Some slides courtesy David Wetherall. Communications Software. Lecture 4: Connections and Flow Control. CSE 123b. Spring 2003. CSE 123b Communications Software Spring 2003 Lecture 4: Connections and Flow Control Stefan Savage Some slides courtesy David Wetherall Administrativa Computer accounts have been setup You can use the

More information

NETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science

NETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science NETWORK PROGRAMMING CSC- 341 Instructor: Junaid Tariq, Lecturer, Department of Computer Science 6 Lecture CHAPTER 2: THE TRANSPORT LAYER : TCP AND UDP Contents Introduction UDP: User Datagram Protocol

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

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Slides adopted from original ones provided by the textbook authors. Transport

More information

Congestion / Flow Control in TCP

Congestion / Flow Control in TCP Congestion and Flow Control in 1 Flow Control and Congestion Control Flow control Sender avoids overflow of receiver buffer Congestion control All senders avoid overflow of intermediate network buffers

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

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

Reliable Byte-Stream (TCP)

Reliable Byte-Stream (TCP) Reliable Byte-Stream () Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout Simple Demultiplexer (UDP) Header format Note 16 bit port number (so only 64K

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

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

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

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

TCP Service Model. Today s Lecture. TCP Support for Reliable Delivery. EE 122:TCP, Connection Setup, Reliability

TCP Service Model. Today s Lecture. TCP Support for Reliable Delivery. EE 122:TCP, Connection Setup, Reliability Today s Lecture How does TCP achieve correct operation? EE 122:TCP, Connection Setup, Reliability Ion Stoica TAs: Junda Liu, DK Moon, David Zats Reliability in the face of IP s best effort service 3-way

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

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

Transport Layer (TCP/UDP)

Transport Layer (TCP/UDP) Transport Layer (TCP/UDP) Where we are in the Course Moving on up to the Transport Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Three-Way Handshake (3) Suppose

More information