Chapter 6. The Transport Layer. The Transport Service. Services Provided to the Upper Layers. Transport Service Primitives (3) 10/7/2010

Similar documents
Upper Layer Services. Berkeley Sockets Example of Socket Programming: Internet File Server

Chapter 6. (Week 12) The Transport Layer (CONTINUATION) ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

EEC-682/782 Computer Networks I

CMPE 150 Winter 2009

Jaringan Komputer. The Transport Layer

Transport Layer Chapter 6

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

The OSI Reference Model. EECC694 - Shaaban

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

Chapter 7. The Transport Layer

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 7. April 12 CMSC417 Set 7 1

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 7. November 14 CMSC417 Set 7 1

NT1210 Introduction to Networking. Unit 10

EEC-682/782 Computer Networks I

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 7. September 15 CMSC417 Set 7 1

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

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 7. October 16 CMSC417 Set 7 1

COMPUTER NETWORKS - UNIT 4 Y3/S5

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Layer 4 - Transport Layer

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

Transport Layer (TCP/UDP)

UNIT 2 TRANSPORT LAYER

The Transport Layer. The need for the transport layer

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

TSIN02 - Internetworking

Lecture 3: The Transport Layer: UDP and TCP

Transport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005

TSIN02 - Internetworking

UNIT IV -- TRANSPORT LAYER

TSIN02 - Internetworking

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer

CMPE 80N: Introduction to Networking and the Internet

Intro to LAN/WAN. Transport Layer

Transport Protocols and TCP

TSIN02 - Internetworking

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

QUIZ: Longest Matching Prefix

Chapter 24. Transport-Layer Protocols

CMPE 150 Winter 2009

THE TRANSPORT LAYER UNIT IV

UNIT V. Computer Networks [10MCA32] 1

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

ECE 650 Systems Programming & Engineering. Spring 2018

Connectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP)

The Transmission Control Protocol (TCP)

Lecture 4: The Transport Layer and UDP

Network Technology 1 5th - Transport Protocol. Mario Lombardo -

Lecture (11) OSI layer 4 protocols TCP/UDP protocols

What is TCP? Transport Layer Protocol

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

PSD2A Computer Networks. Unit : I-V

Internet and Intranet Protocols and Applications

Code No: RR Set No. 1

6. The Transport Layer and protocols

THE TRANSPORT LAYER ( 传输层 )

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

CSE 461 Connections. David Wetherall

Transport Protocols. Raj Jain. Washington University in St. Louis


OSI Transport Layer. objectives

PLEASE READ CAREFULLY BEFORE YOU START

Introduction to Network. Topics

9th Slide Set Computer Networks

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E

NWEN 243. Networked Applications. Transport layer and application layer

CSEP 561 Connections. David Wetherall

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

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

1.What are the services provided by the transport layer to the upper layers?

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

UDP, TCP, IP multicast

Chapter 11. User Datagram Protocol (UDP)

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

Advanced Network Design

Transport Protocols and TCP: Review

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

Layer 4 - Transport Layer. What do we need a Transport Layer for? Transport Protocols in the TCP/IP Reference Model. The Transport Layer TCP and UDP

Linux Networking: tcp. TCP context and interfaces

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Outline. CS5984 Mobile Computing

TCP/IP Transport Layer Protocols, TCP and UDP

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

Transport Layer Protocols TCP

PROBLEMSAND EXERCISES

School of Engineering Department of Computer and Communication Engineering Semester: Fall Course: CENG415 Communication Networks

Transport Protocols & TCP TCP

Computer Networks (Unit wise Questions)

CS457 Transport Protocols. CS 457 Fall 2014

Preview Test: HW3. Test Information Description Due:Nov. 3

TRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

The Transport Layer: TCP & Reliable Data Transfer

3. (a) What is bridge? Explain the operation of a LAN bridge from to (b) Explain the operation of transparent bridge.

Introduction to Protocols

Transcription:

The Transport Service Chapter 6 The Transport Layer Services Provided to the Upper Layers Transport Service Primitives Berkeley Sockets An Example of Socket Programming: An Internet File Server Services Provided to the Upper Layers Transport Service Primitives The primitives for a simple transport service. The network, transport, and application layers. Transport Service Primitives (2) Transport Service Primitives (3) The nesting of TPDUs, packets, and frames. A state diagram for a simple connection management scheme. Transitions labeled in italics are caused by packet arrivals. The solid lines show the client's state sequence. The dashed lines show the server's state sequence. 1

Berkeley Sockets Socket Programming Example: Internet File Server 6-6-1 The socket primitives for TCP. Client code using sockets. Socket Programming Example: Internet File Server (2) Elements of Transport Protocols Addressing Connection Establishment Connection Release Flow Control and Buffering Multiplexing Crash Recovery Client code using sockets. Transport Protocol Addressing (a) Environment of the data link layer. (b) Environment of the transport layer. TSAPs, NSAPs and transport connections. 2

Connection Establishment Connection Establishment (2) How a user process in host 1 establishes a connection with a time-of-day server in host 2. (a) TPDUs may not enter the forbidden region. (b) The resynchronization problem. Connection Establishment (3) Connection Release Three protocol scenarios for establishing a connection using a three-way handshake. CR denotes CONNECTION REQUEST. (a) Normal operation, (b) Old CONNECTION REQUEST appearing out of nowhere. (c) Duplicate CONNECTION REQUEST and duplicate ACK. Abrupt disconnection with loss of data. Connection Release (2) Connection Release (3) 6-14, a, b The two-army problem. Four protocol scenarios for releasing a connection. (a) Normal case of a three-way handshake. (b) final ACK lost. 3

Connection Release (4) Flow Control and Buffering 6-14, c,d (c) Response lost. (d) Response lost and subsequent DRs lost. (a) Chained fixed-size buffers. (b) Chained variable-sized buffers. (c) One large circular buffer per connection. Flow Control and Buffering (2) Multiplexing Dynamic buffer allocation. The arrows show the direction of transmission. An ellipsis ( ) indicates a lost TPDU. (a) Upward multiplexing. (b) Downward multiplexing. Crash Recovery A Simple Transport Protocol The Example Service Primitives The Example Transport Entity The Example as a Finite State Machine Different combinations of client and server strategy. 4

The Example Transport Entity The Example Transport Entity (2) Each connection is in one of seven states: 1. Idle Connection not established yet. 2. Waiting CONNECT has been executed, CALL REQUEST sent. 3. Queued A CALL REQUEST has arrived; no LISTEN yet. 4. Established The connection has been established. 5. Sending The user is waiting for permission to send a packet. 6. Receiving A RECEIVE has been done. 7. DISCONNECTING a DISCONNECT has been done locally. The network layer packets used in our example. The Example Transport Entity (3) The Example Transport Entity (4) The Example Transport Entity (5) The Example Transport Entity (6) 5

The Example Transport Entity (7) The Example Transport Entity (8) The Example Transport Entity (9) The Example Transport Entity (10) The Example as a Finite State Machine The Example as a Finite State Machine (2) The example protocol as a finite state machine. Each entry has an optional predicate, an optional action, and the new state. The tilde indicates that no major action is taken. An overbar above a predicate indicate the negation of the predicate. Blank entries correspond to impossible or invalid events. The example protocol in graphical form. Transitions that leave the connection state unchanged have been omitted for simplicity. 6

The Internet Transport Protocols: UDP Introduction to UDP Introduction to UDP Remote Procedure Call The Real-Time Transport Protocol The UDP header. Remote Procedure Call The Real-Time Transport Protocol Steps in making a remote procedure call. The stubs are shaded. (a) The position of RTP in the protocol stack. (b) Packet nesting. The Real-Time Transport Protocol (2) The RTP header. The Internet Transport Protocols: TCP Introduction to TCP The TCP Service Model The TCP Protocol The TCP Segment Header TCP Connection Establishment TCP Connection Release TCP Connection Management Modeling TCP Transmission Policy TCP Congestion Control TCP Timer Management Wireless TCP and UDP Transactional TCP 7

The TCP Service Model The TCP Service Model (2) Port 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 Some assigned ports. (a) Four 512-byte segments sent as separate IP datagrams. (b) The 2048 bytes of data delivered to the application in a single READ CALL. The TCP Segment Header The TCP Segment Header (2) The pseudoheader included in the TCP checksum. TCP Header. TCP Connection Establishment TCP Connection Management Modeling 6-31 (a) TCP connection establishment in the normal case. (b) Call collision. The states used in the TCP connection management finite state machine. 8

TCP Connection Management Modeling (2) TCP Transmission Policy TCP connection management finite state machine. The heavy solid line is the normal path for a client. The heavy dashed line is the normal path for a server. The light lines are unusual events. Each transition is labeled by the event causing it and the action resulting from it, separated by a slash. Window management in TCP. TCP Transmission Policy (2) TCP Congestion Control Silly window syndrome. (a) A fast network feeding a low capacity receiver. (b) A slow network feeding a high-capacity receiver. TCP Congestion Control (2) TCP Timer Management An example of the Internet congestion algorithm. (a) Probability density of ACK arrival times in the data link layer. (b) Probability density of ACK arrival times for TCP. 9

Wireless TCP and UDP Transitional TCP Splitting a TCP connection into two connections. (a) RPC using normal TPC. (b) RPC using T/TCP. Performance Issues Performance Problems in Computer Networks Performance Problems in Computer Networks Network Performance Measurement System Design for Better Performance Fast TPDU Processing Protocols for Gigabit Networks The state of transmitting one megabit from San Diego to Boston (a) At t = 0, (b) After 500 μsec, (c) After 20 msec, (d) after 40 msec. Network Performance Measurement The basic loop for improving network performance. 1. Measure relevant network parameters, performance. 2. Try to understand what is going on. 3. Change one parameter. System Design for Better Performance Rules: 1. CPU speed is more important than network speed. 2. Reduce packet count to reduce software overhead. 3. Minimize context switches. 4. Minimize copying. 5. You can buy more bandwidth but not lower delay. 6. Avoiding congestion is better than recovering from it. 7. Avoid timeouts. 10

System Design for Better Performance (2) System Design for Better Performance (3) Response as a function of load. Four context switches to handle one packet with a user-space network manager. Fast TPDU Processing Fast TPDU Processing (2) The fast path from sender to receiver is shown with a heavy line. The processing steps on this path are shaded. (a) TCP header. (b) IP header. In both cases, the shaded fields are taken from the prototype without change. Fast TPDU Processing (3) Protocols for Gigabit Networks A timing wheel. Time to transfer and acknowledge a 1-megabit file over a 4000-km line. 11