Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.

Slides:



Advertisements
Similar presentations
8-1 Chapter 8 Security Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Advertisements

Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
2: Transport Layer 31 Transport Layer 3. 2: Transport Layer 32 TCP Flow Control receiver: explicitly informs sender of (dynamically changing) amount of.
Introduction 1-1 Chapter 3 TCP Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 IC322 Fall 2013 Some.
Transport Layer3-1 TCP. Transport Layer3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection.
1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July A note on the use.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
1 Transport Layer Lecture 9 Imran Ahmed University of Management & Technology.
Transport Layer 3-1 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles.
Application Layer 2-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Transport Layer peterl. Transport level application transport network data link physical logical end-end transport application transport network data.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
EEC-484/584 Computer Networks Lecture 15 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
The Future r There will be a Wireshark TCP homework up on the wiki later today. It will be due Wednesday. r The next test is coming soon – next Wednesday????
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley,
Chapter 3 Transport Layer
The Future r Let’s look at the homework r The next test is coming the 19 th (just before turkey day!) r Monday will finish TCP canned slides r Wednesday.
1 Day 01 - The Internet. 2 Chapter 1 Introduction Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross.
EEC-484/584 Computer Networks Lecture 13 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley,
EEC-484/584 Computer Networks Lecture 13 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer Transport Layer. Transport Layer 3-2 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet,
Transport Layer 3-1 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles.
Transport Layer 3-1 Chapter 3b outline 3.1 connection-oriented transport: TCP  segment structure  reliable data transfer  flow control  connection.
Transport Layer3-1 TCP sender (simplified) NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) { switch(event) event: data received from.
Chapter 3 Transport Layer
These slides are adapted from Kurose and Ross
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley,
Transport Layer 3-1 Chapter 3: Transport Layer our goals:  understand principles behind transport layer services:  multiplexing, demultiplexing  reliable.
Introduction1-1 Chapter 1 Computer Networks and the Internet Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose,
Transmission delay (per packet) = L/R = amount of time to transmit each packet onto link Propagation delay (per bit) = d/s = amount of time for a single.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Part.
Transport Layer 3-1 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July A.
Transport Layer: UDP and TCP CS491G: Computer Networking Lab V. Arun Transport Layer 3-1 Slides adapted from Kurose and Ross.
Before The Canned Slides r What sort of things did you learn from Mikes talk on Friday? r Mini-homework this week: create a wiki page with cross-referenced.
Transport Layer3-1 Transport Layer Our lives begin to end, the day we become silent about things that matter.
Adapted from: Computer Networking, Kurose/Ross 1DT066 Distributed Information Systems Chapter 3 Transport Layer.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Connection-oriented transport: TCP. Transport Layer 3-2 TCP: Overview RFCs: 793,1122,1323, 2018, 2581  full duplex data:  bi-directional data flow in.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
Application Layer 2-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Application Layer 2-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
CSEN 404 Transport Layer II Amr El Mougy Lamia AlBadrawy.
Chapter 3 Transport Layer
Chapter 3 outline 3.1 transport-layer services
Chapter 3 Transport Layer
Chapter 3 Transport Layer
09-Transport Layer: TCP Transport Layer.
Chapter 3 outline 3.1 transport-layer services
Chapter 3 Transport Layer
Introduction to Networks
Chapter 3 Transport Layer
Slides have been adapted from:
Chapter 3 Transport Layer
Chapter 3 Transport Layer
Chapter 3 outline 3.1 transport-layer services
Transmission Control Protocol (TCP)
All People Seem To Need Data Processing
All People Seem To Need Data Processing
Chapter 3 outline 3.1 transport-layer services
TCP flow and congestion control
Presentation transcript:

Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 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 see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following:  If you use these slides (e.g., in a class) that you mention their source (after all, we’d like people to use our book!)  If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR All material copyright J.F Kurose and K.W. Ross, All Rights Reserved The course notes are adapted for Bucknell’s CSCI 363 Xiannong Meng Spring 2016 Transport Layer 3-1

Transport Layer 3-2 TCP: retransmission scenarios X cumulative ACK Host B Host A Seq=92, 8 bytes of data ACK=100 Seq=120, 15 bytes of data timeout Seq=100, 20 bytes of data ACK=120

Transport Layer 3-3 Fast retransmit after sender receipt of triple duplicate ACK TCP retransmit scenario X Host B Host A Seq=92, 8 bytes of data ACK=100 timeout ACK=100 Seq=100, 20 bytes of data What does it mean if the sender receives multiple ACKs for the same packet? An earlier packet is lost!

Transport Layer 3-4 TCP fast retransmit  time-out period often relatively long:  long delay before resending lost packet  detect lost segments via duplicate ACKs.  sender often sends many segments back- to-back  if segment is lost, there will likely be many duplicate ACKs. if sender receives 3 ACKs for same data (“triple duplicate ACKs”), resend unacked segment with smallest seq #  likely that unacked segment lost, so don’t wait for timeout TCP fast retransmit (“triple duplicate ACKs”),

Transport Layer 3-5 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 structure  reliable data transfer  flow control  connection management 3.6 principles of congestion control 3.7 TCP congestion control

Transport Layer 3-6 TCP flow control application process TCP socket receiver buffers TCP code IP code application OS receiver protocol stack application may remove data from TCP socket buffers …. … slower than TCP receiver is delivering (sender is sending) from sender receiver controls sender, so sender won’t overflow receiver’s buffer by transmitting too much, too fast flow control

Transport Layer 3-7 TCP flow control buffered data free buffer space rwnd RcvBuffer TCP segment payloads to application process  receiver “advertises” free buffer space by including rwnd value in TCP header of receiver-to- sender segments  RcvBuffer size set via socket options (typical default is 4096 bytes, see setsockopt() and socket(7))  many operating systems autoadjust RcvBuffer  sender limits amount of unacked (“in-flight”) data to receiver’s rwnd value  guarantees receive buffer will not overflow receiver-side buffering

Transport Layer 3-8 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 structure  reliable data transfer  flow control  connection management 3.6 principles of congestion control 3.7 TCP congestion control

Transport Layer 3-9 Connection Management before exchanging data, sender/receiver “handshake”:  agree to establish connection (each knowing the other willing to establish connection)  agree on connection parameters connection state: ESTAB connection variables: seq # client-to-server server-to-client rcvBuffer size at server,client application network connection state: ESTAB connection Variables: seq # client-to-server server-to-client rcvBuffer size at server,client application network Socket clientSocket = new Socket("hostname","port number"); Socket connectionSocket = welcomeSocket.accept();

Transport Layer 3-10 Q: will 2-way handshake always work in network?  variable delays  retransmitted messages (e.g. req_conn(x)) due to message loss  message reordering  can’t “see” other side 2-way handshake: Let’s talk OK ESTAB choose x req_conn(x) ESTAB acc_conn(x) Agreeing to establish a connection

Transport Layer 3-11 Agreeing to establish a connection 2-way handshake failure scenarios: 2.retransmit req_conn(x) ESTAB req_conn(x) half open connection! (no client!) client terminates server forgets x connection x completes retransmit req_conn(x) ESTAB req_conn(x) data(x+1) retransmit data(x+1) accept data(x+1) 1.choose x req_conn(x) ESTAB acc_conn(x) client terminates ESTAB choose x req_conn(x) ESTAB acc_conn(x) data(x+1) accept data(x+1) connection x completes server forgets x

Transport Layer 3-12 TCP 3-way handshake SYNbit=1, Seq=x choose init seq num, x send TCP SYN msg ESTAB SYNbit=1, Seq=y ACKbit=1; ACKnum=x+1 choose init seq num, y send TCP SYNACK msg, acking SYN ACKbit=1, ACKnum=y+1 received SYNACK(x) indicates server is live; send ACK for SYNACK; this segment may contain client-to-server data received ACK(y) indicates client is live SYNSENT ESTAB SYN RCVD client state LISTEN server state LISTEN

Transport Layer 3-13 TCP 3-way handshake: FSM closed  listen SYN rcvd SYN sent ESTAB Socket clientSocket = new Socket("hostname","port number"); SYN(seq=x) Socket serverSocket = welcomeSocket.accept(); SYN(x) SYNACK(seq=y,ACKnum=x+1) create new socket for communication back to client SYNACK(seq=y,ACKnum=x+1) ACK(ACKnum=y+1) 

Transport Layer 3-14 TCP: closing a connection  client, server each close their side of connection  send TCP segment with FIN bit = 1  respond to received FIN with ACK  on receiving FIN, ACK can be combined with own FIN  simultaneous FIN exchanges can be handled

Transport Layer 3-15 FIN_WAIT_2 CLOSE_WAIT FINbit=1, seq=y ACKbit=1; ACKnum=y+1 ACKbit=1; ACKnum=x+1 wait for server close can still send data can no longer send data LAST_ACK CLOSED TIMED_WAIT timed wait for 2*max segment lifetime CLOSED TCP: closing a connection FIN_WAIT_1 FINbit=1, seq=x can no longer send but can receive data clientSocket.close() client state server state ESTAB