Transport layer issues Johan Lukkien

Slides:



Advertisements
Similar presentations
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Advertisements

Chapter 6 The Transport Layer.
Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011 The Transport Layer Chapter
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 6 Transport Layer.
Computer Networks NYUS FCSIT Spring 2008 Milos STOLIC, Bs.C. Teaching Assistant
Chapter 6 The Transport Layer.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
The Transport Layer Chapter 6. The Transport Service Services Provided to the Upper Layers Transport Service Primitives Berkeley Sockets An Example of.
The Transport Layer Chapter 6. The Transport Service Services Provided to the Upper Layers Transport Service Primitives Berkeley Sockets An Example of.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
Gursharan Singh Tatla Transport Layer 16-May
Process-to-Process Delivery:
The Transport Layer.
Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011 The Transport Layer Chapter 6.
Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
The Transport Layer.
ECE453 – Introduction to Computer Networks Lecture 14 – Transport Layer (I)
The Transport Layer Chapter 6. The Transport Service The transport layer is the heart of the whole protocol hierarchy It provides reliable data transport.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Networked & Distributed Systems TCP/IP Transport Layer Protocols UDP and TCP University of Glamorgan.
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 6 The Transport Layer.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
The Transport Layer Chapter 6 12/14/2015www.ishuchita.com1.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
The Transport Layer Dr. ir. S.S. Msanjila RIS 251.
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Distributed Systems 11. Transport Layer
Application Layer Functionality and Protocols Abdul Hadi Alaidi
Introduction to Networks
The Transport Layer Implementation Services Functions Protocols
Chapter 9: Transport Layer
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
Unit-7 The Transport Layer.
Introduction to Networks
5. End-to-end protocols (part 1)
Process-to-Process Delivery, TCP and UDP protocols
TCP.
PART 5 Transport Layer Computer Networks.
Understand the OSI Model Part 2
Chapter 6 The Transport Layer.
Transport Layer: Sliding Window Reliability
TCP.
TCP Transport layer Er. Vikram Dhiman LPU.
Magda El Zarki Professor, ICS UC, Irvine
Introduction to Networks
Internet and Intranet Protocols and Applications
Congestion Control, Internet transport protocols: udp
Transport Layer Unit 5.
Networking CS 3470, Section 1 Sarah Diesburg
CCNA 2 v3.1 Module 10 Intermediate TCP/IP
Chapter 6 The Transport Layer The Transport Service & Elements of Transport Protocols.
Process-to-Process Delivery:
CPEG514 Advanced Computer Networkst
Chapter 17. Transport Protocols
PART 5 Transport Layer.
Networking CS 3470, Section 1 Sarah Diesburg
Networking CS 3470, Section 1 Sarah Diesburg
TCP Overview.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Chapter 3 outline 3.1 Transport-layer services
The Transport Layer Chapter 6.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Transport Layer 9/22/2019.
Presentation transcript:

Transport layer issues Johan Lukkien Computer Networks 2002/2003 Transport layer issues Johan Lukkien 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Provided service Communication between applications on disparate machines add multiplexing to the network layer need additional addressing to distinguish applications: ports, .... Connection oriented / Connectionless Quality (optional) independent of required service reliability. confidentiality dependent of required service quality of service: timeliness, bandwidth in cooperation with required service congestion control 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Transport service Must deal with many concurrent transport connections with many different machines Provided interface available to application programmers Balance hide network level details admit high performance either network abstraction is with low cost or network services are accessible 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Packing TPDUs TPDUs, also called segments Minimal segment size: MSS – configured 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Required service Packets between machines just send and receive to an addressed machine general fault model: loss, duplication, out-of-order, delay Possibly, entry points for quality control specific functions, e.g., bandwidth reservation, connection setup though the entire network layer then must support it! over-dimensioning idem Note: usually, only the end-stations run the transport protocol so, the TPDU’s are not interpreted in the network Question: is this always the case? If not, what are the consequences? all connection information is in the transport layer 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Overview Services Connection control Communication control types addressing packet format Connection control setup and destroy client and server roles Communication control feedback mechanisms policies and mechanisms for acknowledgements, timeouts, flow control, buffering 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Services User datagram Reliable connection oriented service datagram service between applications just add multiplexing to basic packet network service internet: UDP (user datagram protocol) address: (machine, port) includes multicasting, many-to-one Reliable connection oriented service between applications add multiplexing and connections to basic network service, hiding the faults internet: TCP (transmission control protocol) point-to-point channel, identified by (source mach., source port) – (dest. mach., dest. port) 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

UDP Header Uses port: 0-65535 (0..1023: reserved, e.g. ftp, DNS) length: includes header checksum: (why?) – may be omitted Uses if connection orientation not needed e.g. simple request/reply if reliable streams are not needed hence do not waste performance 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

The Real-Time Transport Protocol Transport protocol on top UDP Typical uses: multi-media can use for multicasting (e.g. Internet radio) 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Setting up a connection Usually, an ‘active’ and a ‘passive’ partner active: seeking contact – client passive: awaiting contact – server The client needs to know (where to find) the server At least one partner must be active in principle, two active partners would work 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Provided interface Operations to access a service: primitives Minimal set: must support client and server roles 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

State diagram Transitions labeled in italics: through packet arrivals Solid lines: client Dashed lines: server 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Berkeley Sockets Standard interface for TCP 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

TCP addresses A server waits at a fixed meeting point e.g. an FTP server If the connection is identified by just (machine, port) no machine can serve two similar tasks e.g. two FTP sessions For the client this problem does not exist it just needs an unused port A TCP connection is determined on both endpoints by (src, src port, dst, dst port) 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Congestion and flow control Congestion control the subnet must be able to carry the flow effective and fair sharing Flow control sender and receiver issue don’t flood the receiver Note: flow control techniques (e.g., ‘shut up’) can be used to avoid or solve congestion 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Congestion What happens if traffic goes from a ‘wide’ into a ‘small’ link? (a source is ‘wide’) delay per packet increases hence retransmission occurs, possibly unneeded packets are dropped thus wasting all work along the path, also for others chain of events into complete congestion irrespective of buffer capacity or knowledge of the exact packets that got lost 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Congestion control Feedback cycle Measurements Actions taken measure, interpret, adjust no single location to take action Measurements discarded packets, locally lack of buffer space, length of queues # timed-out packets routers mark outgoing packets with local condition Actions taken inform source ....increases load, slowed down by congestion drop packets policies: retain old (wine), or new (milk) 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Relation to network uses 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Congestion control at the endpoints Measure congestion at sender timeout or retransmission request Action adjust transmission rate maximal unacknowledged window: C (at least MSS) Threshold T round trip time: rtt C/rtt is effective transmission rate algorithm – slow start AIMD reduce T until C/2 upon failure; set C to 1 MSS upon ack, increase by 1 (= slow start: exponential growth) upon reaching C reaching T: only increase linearly 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Behavior Roughly 75% of available bandwidth used Convergence to fairness, if everybody cooperates however, multiple TCPs increases share “TCP-friendly” 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

TCP: some assigned ports Protocol Use 21 FTP File transfer 23 Telnet Remote login 25 SMTP E-mail 69 TFTP Trivial File Transfer Protocol 79 Finger Lookup info about a user 80 HTTP World Wide Web 110 POP-3 Remote e-mail access 119 NNTP USENET news 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

The TCP Segment Header 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Pseudoheader Included in the TCP checksum Mix of layers 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Sequence numbers Needed when message order is important sliding window protocols (soft) state updates, e.g. router tables Finite range: wrap-around Dangers long-lived messages delayed duplicate messages delayed acknowledgements (replay attacks) restart after failure Approach: use aging hop count timestamp 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Timestamping Use synchronized clocks to put the time on a message e.g. through an external reference clock Define minimal packet life-time Minimal time after packet traces have gone: T Use a crash-resilient counter to generate sequence numbers so a machine knows ‘where it was’ after a crash wrap-around must not be possible within T counter increment faster than send rate 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Forbidden region Forbidden region represents sequence numbers that might be used after a restart can be entered from the bottom fast transmission or from the left slow transmission applications must check and resynchronize 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Getting started: three-way handshake CR denotes CONNECTION REQUEST. Normal operation Old CONNECTION REQUEST appearing out of nowhere Duplicate CONNECTION REQUEST and duplicate ACK. 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

TCP Connection Establishment 6-31 (a) TCP connection establishment in the normal case. (b) Call collision: single connection remains 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

TCP Transmission Policy Flow control through specifying available window 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Silly windows... 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

TCP Timer Management (a) Probability density of ACK arrival times in the data link layer. (b) Probability density of ACK arrival times for TCP hence, dynamically determine timer value (e.g. double upon failure, linear decrease) 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking

Transactional TCP E.g. using HTTP 18-Sep-18 Johan J. Lukkien, j.j.lukkien@tue.nl TU/e Computer Science, System Architecture and Networking