CS 43: Computer Networks. 18: Transmission Control Protocol October 12-29, 2018
|
|
- Arron Montgomery
- 5 years ago
- Views:
Transcription
1 CS 43: Computer Networks 18: Transmission Control Protocol October 12-29, 2018
2 Reading Quiz Lecture 18 - Slide 2
3 Midterm topics Abstraction, Layering, End-to-end design HTTP, DNS, , BT, etc. (app protocols) Basics of distributed systems The transport layer, UDP, TCP (minus flow and congestion control) Concurrency, application structure, and blocking The functions we highlighted in labs Anything else we talked about in class Lecture 18 - Slide 3
4 Midterm format Closed book, closed notes, no need of a calculator 1 page each with: definitions (1 point) short answers (1-3 points) 2-3 multi-part questions (1-5 points) Answer length: short answer: approx. 2 sentences. long answer: approx. 4-5 sentences. Lecture 18 - Slide 4
5 Last class The Two-Generals Problem communicate via an unreliable link the two armies cannot reliably coordinate their attack Automatic Repeat Request (ARQ) Protocols Stop-and-Wait Protocol: send data, wait for response Go-Back-N Selective Repeat Lecture 16 - Slide 5
6 Today: TCP Practical Reliability Questions What does connection establishment look like? How do we choose sequence numbers? How do the sender and receiver keep track of outstanding pipelined segments? How should we choose timeout values? How many segments should be pipelined? Lecture 18 - Slide 6
7 Five-layer Internet Model Application: the application (e.g., the Web, ) Transport: end-to-end connections, reliability Network: routing Link (data-link): framing, error detection Physical: 1 s and 0 s/bits across a medium (copper, the air, fiber) Lecture 18 - Slide 7
8 Transmission Control Protocol Break message into packets (TCP segments) Should be delivered reliably & in-order GET HTTP/1.1 Host: 3 google.c 2 p://www 1 GET htt Lecture 3 - Slide 8
9 Transmission Control Protocol Slide 9
10 TCP Overview Point-to-point, full duplex One pair of hosts Messages in both directions Reliable, in-order byte stream No discrete message Connection-oriented Handshaking (exchange of control messages) before data transmitted Pipelined Many segments in flight Flow control Don t send too fast for the receiver Congestion control Don t send too fast for the network Lecture 18 - Slide 10
11 URG: urgent data (generally not used) ACK: ACK # valid PSH: push data now (generally not used) RST, SYN, FIN: connection estab (setup, teardown commands) Internet checksum (as in UDP) head len TCP Segments 32 bits source port # dest port # not used sequence number acknowledgement number U A P R S F checksum receive window application data (variable length) Urg data pointer options (variable length) counting by bytes of data (not segments!) # bytes rcvr willing to accept Lecture 18 - Slide 11
12 TCP Segments 32 bits 20 Bytes (UDP was 8) head len source port # dest port # not used sequence number acknowledgement number U A P R S F checksum receive window Urg data pointer options (variable length) application data (variable length) Lecture 18 - Slide 12
13 Practical Reliability Questions What does connection establishment look like? How should we choose timeout values? How do the sender and receiver keep track of outstanding pipelined segments? How do we choose sequence numbers? How many segments should be pipelined? Lecture 18 - Slide 13
14 A connection 1. Requires stored state at two hosts. 2. Requires stored state within the network. 3. Establishes a path between two hosts. A. 1 B. 1 & 3 C. 1, 2 & 3 D. 2 E. 2 & 3 Lecture 18 - Slide 14
15 Connections In TCP, hosts must establish a connection prior to communicating. Opportunity to exchange initial protocol state. Which sequence numbers to use. What the maximum segment size should be. Initial window sizes, etc. (several parameters) Lecture 18 - Slide 15
16 Connection Establishment (three-way handshake) SYN_SENT Active participant (client) SYN, SequenceNum = x Passive participant (server) LISTEN ESTABLISHED SYN + ACK, SequenceNum = y, Acknowledgment = x + 1 SYN_RCVD ACK, Acknowledgment = y + 1 +data ESTABLISHED Lecture 18 - Slide 16
17 TCP Segments 32 bits ACK: ACK # valid RST, SYN, FIN: connection estab (setup, teardown commands) head len source port # dest port # not used sequence number acknowledgement number U A P R S F checksum receive window application data (variable length) Urg data pointer options (variable length) Lecture 18 - Slide 17
18 Connection Establishment (three-way handshake) connect() SYN_SENT (Client) SYN, SequenceNum = x (Server) LISTEN bind(), listen() accept() ESTABLISHED connect() returns eventually, send() SYN + ACK, SequenceNum = y, Acknowledgment = x + 1 ACK, Acknowledgment = y + 1 (piggybacked data optional) SYN_RCVD ESTABLISHED accept() returns Both sides agree on connection. Lecture 18 - Slide 18
19 Piggybacking So far, we ve assumed distinct sender and receiver roles Client Request ACK ACK Response Server Client Request Server Response + ACK Request Request + ACK In reality, usually both sides of a connection send some data request/response is a common pattern ACK Response Without Piggybacking Response + ACK With Piggybacking Lecture 18 - Slide 19
20 Connection Teardown Orderly release by sender and receiver when done Delivers all pending data and hangs up Cleans up state in sender and receiver Each side may terminate independently Lecture 18 - Slide 20
21 TCP Connection Teardown close() close() Lecture 18 - Slide 21
22 Why does one side need to wait before transitioning to CLOSED state? A. Random protocol artifact there is no reason for it to wait. B. There is a reason for it to wait the reason is Lecture 18 - Slide 22
23 The TIME_WAIT State We wait 2*MSL (maximum segment lifetime) before completing the close. The MSL is arbitrary (usually 60 sec) ACK might have been lost and so FIN will be resent Could interfere with a subsequent connection This is why we used SO_REUSEADDR socket option in lab 2 Says to skip this waiting step and immediately abort the connection Lecture 18 - Slide 23
24 Practical Reliability Questions What does connection establishment look like? How do we choose sequence numbers? How do the sender and receiver keep track of outstanding pipelined segments? How should we choose timeout values? How many segments should be pipelined? Lecture 18 - Slide 24
25 How should we choose the initial sequence number? A. Start from zero B. Start from one What can go wrong with sequence numbers? -How they re chosen? -In the course of using them? C. Start from a random number D. Start from some other value (such as?) Lecture 18 - Slide 25
26 Sequencing Initial sequence numbers (ISN) chosen at random Does not start at 0 or 1 (anymore). Helps to prevent against forgery attacks. TCP sequences bytes rather than segments Example: if we re sending 1500-byte segments Randomly choose ISN (suppose we picked 1150) First segment (sized 1500) would use number 1150 Next would use 2650 Lecture 18 - Slide 26
27 Sequence Prediction Attack (1996) Attacker Target Server Trusted Client Lecture 18 - Slide 27
28 Sequence Prediction Attack (1996) Attacker (From: Forged IP of Trusted Client) SYN (From: Forged IP of Trusted Client) ACK (Guess the ISN of server) Target Server Evil commands SYN ACK Trusted Client Lecture 18 - Slide 28
29 Practical Reliability Questions What does connection establishment look like? How do we choose sequence numbers? How do the sender and receiver keep track of outstanding pipelined segments? How should we choose timeout values? How many segments should be pipelined? Lecture 18 - Slide 29
30 Windowing (Sliding Window) At the sender: What s been ACKed What s still outstanding What to send next At the receiver: Go-back-N Highest sequence number received so far. (Selective repeat) Which sequence numbers received so far. Buffered data. Lecture 18 - Slide 30
31 Go-back-N At the sender: At the receiver: Keep track of largest sequence number seen. If it receives ANYTHING, sends back ACK for largest sequence number seen so far. (Cumulative ACK) Lecture 18 - Slide 31
32 Cumulative Acknowledgements An ACK for sequence number N implies that all data prior to N has been received. Sender Receiver Data 0 Data 1500 Data 3000 ACK 1500 ACK 3000 ACK 4500 Data 4500 Data 6000 Data 7500 Lecture 18 - Slide 32
33 Cumulative Acknowledgements An ACK for sequence number N implies that all data prior to N has been received. Sender Receiver Sender Receiver Data 0 Data 0 Data 1500 Data 3000 ACK 1500 ACK 3000 ACK 4500 Data 1500 Data 3000? Data 4500 Data 6000 Data 7500 Lecture 18 - Slide 33
34 What should we do with an out-of-order segment at the receiver? A. Drop it. B. Save it and ACK it. C. Save it, don t ACK it. D. Something else (explain). Lecture 18 - Slide 34
35 Selective Repeat Lecture 18 - Slide 35
36 If you were building a transport protocol, which would you use? A. Go-back-N B. Selective repeat C. Something else (explain) Lecture 18 - Slide 36
37 Practical Reliability Questions What does connection establishment look like? How do we choose sequence numbers? How do the sender and receiver keep track of outstanding pipelined segments? How should we choose timeout values? How many segments should be pipelined? Lecture 18 - Slide 37
38 Timeouts How long should we wait before timing out and retransmitting a segment? Too short: needless retransmissions Too long: slow reaction to losses Should be (a little bit) longer than the RTT Lecture 18 - Slide 38
39 Estimating RTT Problem: RTT changes over time Routers buffer packets in queues Queue lengths vary Receiver may have varying load Sender takes measurements Use statistics to decide future timeouts for sends Estimate RTT and variance Apply smoothing to account for changes Lecture 18 - Slide 39
40 Estimating RTT For each segment that did not require a retransmit (ACK heard without a timeout) Consider the time between segment sent and ACK received to be a sample of the current RTT Use that, along with previous history, to update the current RTT estimate Exponentially Weighted Moving Average (EWMA) Lecture 18 - Slide 40
41 EWMA EstimatedRTT = (1 a) * EstimatedRTT + a * SampleRTT a is usually 1/8. In other words, our current estimate is a blend of 7/8 of the previous estimate plus 1/8 of the new sample. DevRTT = (1 B) * DevRTT + B * SampleRTT EstimatedRTT B is usually 1/4 Lecture 18 - Slide 41
42 Example Suppose EstimateRTT = 64, Dev = 8 Latest sample: 120 New estimate = 7/8 * /8 * 120 = = 71 New dev = 3/4 * 8 + 1/4 * = = 18 Another sample: 400 New estimate = 7/8 * /8 * 400 = = 112 New dev = 3/4 * /4 * = = 85 Lecture 18 - Slide 42
43 Book Example (Smoothing) RTT: gaia.cs.umass.edu to fantasia.eurecom.fr RTT (milliseconds) time (seconnds) SampleRTT Estimated RTT Lecture 18 - Slide 43
44 TCP Timeout Value TimeoutInterval = EstimatedRTT + 4*DevRTT estimated RTT safety margin Lecture 18 - Slide 44
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 informationCorrecting 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 informationCS450 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 information32 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 informationTransport 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 informationChapter 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 informationComputer 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 informationChapter 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 informationCS 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 informationCMPE 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 informationTransport 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 informationCS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018
CS 43: Computer Networks 19: TCP Flow and Congestion Control October 31, Nov 2, 2018 Five-layer Internet Model Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability
More informationChapter 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 information10 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 informationChapter 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 informationCSC 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 informationLecture 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 informationCS Lecture 1 Review of Basic Protocols
CS 557 - Lecture 1 Review of Basic Protocols IP - RFC 791, 1981 TCP - RFC 793, 1981 Spring 2013 These slides are a combination of two great sources: Kurose and Ross Textbook slides Steve Deering IETF Plenary
More informationTCP (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 informationComputer Communication Networks Midterm Review
Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Instructions The exam is closed book, notes, computers, phones. You can use calculator, but not one from your
More informationCSCD 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 informationSome 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 informationLast Class. CSE 123b Communications Software. Today. Naming Processes/Services. Transmission Control Protocol (TCP) Picking Port Numbers.
CSE 123b Communications Software Spring 2002 Lecture 4: Connections and Flow Control Stefan Savage Last Class We talked about how to implement a reliable channel in the transport layer Approaches ARQ (Automatic
More informationCOMP 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 informationChapter 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 informationChapter 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 informationCS457 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 informationOutline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols
Outline Development of reliable protocol Sliding window protocols Go-Back-N, Selective Repeat Protocol performance Sockets, UDP, TCP, and IP UDP operation TCP operation connection management flow control
More informationOutline. 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 informationRSC 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 informationCSE 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 informationCSEP 561 Connections. David Wetherall
CSEP 561 Connections David Wetherall djw@cs.washington.edu Connections Focus How do we (reliably) connect processes? This is the transport layer Topics Naming processes TCP / UDP Connection setup / teardown
More informationChapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control
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 informationConnections. 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 informationTransport 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 informationRouters. Session 12 INST 346 Technologies, Infrastructure and Architecture
Routers Session 12 INST 346 Technologies, Infrastructure and Architecture Goals for Today Finish up TCP Flow control, timeout selection, close connection Network layer overview Structure of a router Getahead:
More informationTransport 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 informationLecture 5. Transport Layer. Transport Layer 1-1
Lecture 5 Transport Layer Transport Layer 1-1 Agenda The Transport Layer (TL) Introduction to TL Protocols and Services Connectionless and Connection-oriented Processes in TL Unreliable Data Transfer User
More informationSuprakash 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 informationThe 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 informationCSCI-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 informationChapter 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 informationCC451 Computer Networks
CC451 Computer Networks Lecture 6 Transport Layer (cont d) Transport Layer 3-1 Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty,
More informationCSCI-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 informationLecture 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 informationCSEP 561 Connections. David Wetherall
CSEP 561 Connections David Wetherall djw@cs.washington.edu Connections Focus How do we (reliably) connect processes? This is the transport layer Topics Naming processes Connection setup / teardown Sliding
More informationChapter 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 informationTransport 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 informationTCP. 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 informationCSE 461 The Transport Layer
CSE 461 The Transport Layer The Transport Layer Focus How do we (reliably) connect processes? This is the transport layer Topics Naming end points UDP: unreliable transport TCP: reliable transport Connection
More informationCSE 461 Connections. David Wetherall
CSE 461 Connections David Wetherall djw@cs.washington.edu Connections Focus How do we (reliably) connect processes? This is the transport layer Topics Naming processes TCP / UDP Connection setup / teardown
More informationComputer Communication Networks Midterm Review
Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2017 Prof. Dola Saha 1 Instructions Put your name and student id on each sheet of paper! The exam is closed book. You cannot use any computer
More informationCSE/EE 461 Lecture 14. Connections. Last Time. This Time. We began on the Transport layer. Focus How do we send information reliably?
CSE/EE 461 Lecture 14 Connections Last Time We began on the Transport layer Focus How do we send information reliably? Topics ARQ and sliding windows Application Presentation Session Transport Network
More informationIntroduc)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 informationFall 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 informationLecture 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 informationUser 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 informationTCP : 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 informationTransport Protocols Reading: Sections 2.5, 5.1, and 5.2
Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 COS 461: Computer Networks Spring 2006 (MW 1:30-2:50 in Friend 109) Jennifer Rexford Teaching Assistant: Mike Wawrzoniak http://www.cs.princeton.edu/courses/archive/spring06/cos461/
More informationThe 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 informationTCP 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 informationCSCE 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 informationThe 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 informationCSC 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 informationDepartment of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri
Department of Computer and IT Engineering University of Kurdistan Transport Layer By: Dr. Alireza Abdollahpouri TCP/IP protocol suite 2 Transport Layer The transport layer is responsible for process-to-process
More information6.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 informationTCP 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 informationTCP: 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 informationTransmission Control Protocol
TDTS06: Computer Networks Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se Transmission Control Protocol Notes derived from Computer Networking: A Top Down Approach, by Jim Kurose and Keith Ross,
More informationTransport 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 informationTransport 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 informationConnection-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 informationTCP 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 information7. 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 informationChapter 3 outline. TDTS06 Computer networks. Principles of Reliable data transfer. Reliable data transfer: getting started
Chapter 3 outline TDTS06 Computer networks Lecture 4: Transport layer II Reliable data delivery and TCP Jose M. Peña, jospe@ida.liu.se IDA/ADIT, LiU 2009-08-28 3.1 Transport-layer services 3.2 Multiplexing
More informationCSE 461 Module 11. Connections
CSE 461 Module 11 Connections This Time More on the Transport Layer Focus How do we connect processes? Topics Naming processes Connection setup / teardown Flow control Application Presentation Session
More informationReliable 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 informationCS118 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 informationCSE/EE 461 Lecture 13 Connections and Fragmentation. TCP Connection Management
CSE/EE 461 Lecture 13 Connections and Fragmentation Tom Anderson tom@cs.washington.edu Peterson, Chapter 5.2 TCP Connection Management Setup assymetric 3-way handshake Transfer sliding window; data and
More informationECE 435 Network Engineering Lecture 9
ECE 435 Network Engineering Lecture 9 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 2 October 2018 Announcements HW#4 was posted, due Thursday 1 HW#3 Review md5sum/encryption,
More informationTransmission 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 informationECE697AA 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 informationTransport 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 Recall Transport layer provides
More informationEE 122: Transport Protocols: UDP and TCP
EE 122: Transport Protocols: and provides a weak, but efficient service model (best-effort) - Packets can be delayed, dropped, reordered, duplicated - Packets have limited size (why?) packets are addressed
More informationIslamic 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 informationTransport Protocols Reading: Sections 2.5, 5.1, and 5.2
Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CE443 - Fall 1390 Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides
More informationLecture 3 The Transport Control Protocol (TCP) Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it
Lecture 3 The Transport Control Protocol (TCP) Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it TCP segment structure URG: urgent data (generally not used) ACK: ACK # valid PSH: push
More informationTransport 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 informationChapter 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 informationApplication. Transport. Network. Link. Physical
Transport Layer ELEC1200 Principles behind transport layer services Multiplexing and demultiplexing UDP TCP Reliable Data Transfer TCP Congestion Control TCP Fairness *The slides are adapted from ppt slides
More informationTCP: 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 informationReliable 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 informationTCP 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 informationChapter 3 Transport Layer
Chapter 3 Transport Layer These slides are adapted from the original slides provided by J.Kurose and K.W Ross. All material copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking:
More informationECE 333: Introduction to Communication Networks Fall 2001
ECE 333: Introduction to Communication Networks Fall 2001 Lecture 28: Transport Layer III Congestion control (TCP) 1 In the last lecture we introduced the topics of flow control and congestion control.
More informationEnd-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 informationOperating 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 informationOperating 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 informationTransport 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 informationCS419: 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