Transport Layer Foreleser Carsten Griwodz Email griffifi uio

  • Slides: 20
Download presentation
Transport Layer Foreleser: Carsten Griwodz Email: griff@ifi. uio. no 18. Mar. 2004 1 INF-3190:

Transport Layer Foreleser: Carsten Griwodz Email: griff@ifi. uio. no 18. Mar. 2004 1 INF-3190: Transport Layer

Transport service 18. Mar. 2004 2 INF-3190: Transport Layer

Transport service 18. Mar. 2004 2 INF-3190: Transport Layer

Transport Layer Function n To provide data transport n n For n n n

Transport Layer Function n To provide data transport n n For n n n Reliably Efficiently At low-cost Process-to-process (applications) I. e. at endsystem-to-endsystem If possible independent from particularities of the networks used 18. Mar. 2004 3 INF-3190: Transport Layer

Transport Service n Connection oriented service n 3 phases n n 5 Application Layer

Transport Service n Connection oriented service n 3 phases n n 5 Application Layer 4 Transport Entity 3 Network Layer Connectionless service n n connection set-up data transfer disconnect Transport Service Protocol Access Point Service Interface Transfer of isolated units Realization: transport entity n n Software and/or hardware Software part usually contained within the kernel (process, library) 18. Mar. 2004 1 -2 IP: Message ISO: Transport Protocol Data Unit 4 INF-3190: Transport Layer

Transport Protocols & Network Services n Transport layer protocol depends on the quality of

Transport Protocols & Network Services n Transport layer protocol depends on the quality of the network layer service n ISO Network type A n n n n ISO Network type B n n Network is reliable Network recognizes data loss as an error Errors are displayed to the user i. e. acceptable rate of the errors Minor (for the user acceptable) error rate Network never duplicates or manipulates packets Order of sent packets is always maintained Typically connection oriented network service (CONS) on LANs Like type A, except Remaining error rate (for data loss) is not acceptable Typically CONS on (old) WANs ISO Network type C n n n 18. Mar. 2004 Network is unreliable Errors due to losses, duplication and manipulation of packets, as well as faulty packet sequence errors possible Errors might remain undetected Transport protocol has to / should compensate for this Typically connectionless network service (CNLS) on WANs 5 INF-3190: Transport Layer

Transport Service End system n Similar services of n n n Network layer and

Transport Service End system n Similar services of n n n Network layer and transport layer Why 2 Layers? Network service n n n 4 Intermediate system 3 3 2 2 1 1 Not to be self-governed or influenced by the user Independent from application & user n enables compatibility between applications Provides for example n n n 5 End system “only” connection oriented communications or “only” unreliable data transfer Transport service n n To improve the Network Service Quality Users and layers want to get from the network layer, e. g. n n 18. Mar. 2004 reliable service necessary time guarantees 6 INF-3190: Transport Layer

Transport Service n Transport layer n n Isolates upper layers from technology, design and

Transport Service n Transport layer n n Isolates upper layers from technology, design and imperfections of subnet Traditionally distinction made between n Layers 1 – 4 n n Layers above 4 n n transport service provider transport service user Transport layer has key role n Major boundary between provider and user of reliable data transmission service 18. Mar. 2004 7 INF-3190: Transport Layer

Transport Service: Terminology n Entities exchanged n n ISO: Transport Protocol Data Unit (TPDU)

Transport Service: Terminology n Entities exchanged n n ISO: Transport Protocol Data Unit (TPDU) IP: Message Layer Transport Network Data link Physical n Data Unit Message or TPDU Packet Frame Bit/byte (bitstream) Nesting of messages, packets, and frames Packet header Frame header Message Payload Packet Payload Frame Payload 18. Mar. 2004 8 INF-3190: Transport Layer

Transport protocols n ISO defines 5 classes: ISO OSI TP 0. . TP 4

Transport protocols n ISO defines 5 classes: ISO OSI TP 0. . TP 4 Protocol Network class type TP 0 A TP 2 TP 1 B TP 3 TP 4 18. Mar. 2004 C Network properties Name Acceptable error rate Acceptable rate of displayed errors Simple class Multiplexing class Inacceptable error rate Acceptable rate of displayed errors Basic error recovery Inacceptable error rate Inacceptable rate of displayed errors Error recover and multiplexing class 9 Error recover and multiplexing class INF-3190: Transport Layer

Transport Protocols n Class TP 0: simple class n n n Mechanisms for connect

Transport Protocols n Class TP 0: simple class n n n Mechanisms for connect and disconnect Segmentation / reassembly No error, sequence or flow control No expedited data Class TP 2: multiplexing class n n Class 0 including additional multiplexing capability Multiplexing: several transport layer connections on one network layer connection Flow control optional Expedited data optional 18. Mar. 2004 10 INF-3190: Transport Layer

Transport Protocols n Class TP 1: basic error recovery n n Class 0 including

Transport Protocols n Class TP 1: basic error recovery n n Class 0 including additional error recovery Error recovery masks resets n n Expedited data optional n n n TPDU numbering TPDU storage until ACK after reset: resynchronization important data for example have a higher priority i. e. preferred processing before current data is processed Class TP 3: including multiplexing and error recovery n n Class 1 and 2 functions combined i. e. error recovery, expedited data, multiplexing 18. Mar. 2004 11 INF-3190: Transport Layer

Transport Protocols n Class TP 4: error monitoring and recovery n Detects and recovers

Transport Protocols n Class TP 4: error monitoring and recovery n Detects and recovers n n n n TPDU losses and TPDU duplication sequence errors Flow control Multiplexing Splitting (one transport connection uses several network connections) Expedited data Note n n IPv 4 and IPv 6 are connectionless Unavailable concepts in TCP/IP n n n Multiplexing Splitting No clear definition for ST-II 18. Mar. 2004 12 INF-3190: Transport Layer

Transport Protocols n TCP/IP specifies protocols n Services provided implicitely Connection-oriented service Connectionless service

Transport Protocols n TCP/IP specifies protocols n Services provided implicitely Connection-oriented service Connectionless service Ordered Partially Ordered Unordered Reliable Partially Reliable Unreliable With congestion control Without congestion control Multicast support Multihoming support 18. Mar. 2004 13 UDP DCCP TCP SCTP X X X X X X INF-3190: Transport Layer

Addressing at the Transport Layer Telnet client Telnet server FTP client FTP server Web

Addressing at the Transport Layer Telnet client Telnet server FTP client FTP server Web client Web server Transport Network Data link n Application n n Communication between applications required Application communicate n n n locally by interprocess communication between system via transport services Transport layer n n Physical Interprocess communication via communication networks Internet Protocol IP n Enables endsystem-to-endsystem communication 18. Mar. 2004 14 INF-3190: Transport Layer

Addressing at the Transport Layer n Transport address different from network address n Sender

Addressing at the Transport Layer n Transport address different from network address n Sender (process) must address receiver (process) n n n for connection setup or individual message Receiver (process) can be approached by the sender (process) Define transport addresses: n n n ISO term: Transport Service Access Point (TSAP) Internet: port ATM: AAL-SAP Processes 5 Transport addresses Network addresses 4 Transport Entity 3 Network Layer 1 -2 18. Mar. 2004 15 INF-3190: Transport Layer

Addressing at the Transport Layer Service B Service A Port 1 Port 2 Port

Addressing at the Transport Layer Service B Service A Port 1 Port 2 Port 3 4 Port 5 Service C n n 3 types of identifiers: names, addresses and routes [Shoch 78] n n Address identifies n n n “The name of a resource indicates WHAT we seek, an address indicates WHERE it is, and a route tells HOW TO GET THERE” Type of service or application Addresses of services must be known Addressing by process number is unsuitable n n Processes are generated/terminated dynamically, i. e. the process number rarely known Relationship “service - process” not fix 1 process can supply multiple services Various processes can provide same service 18. Mar. 2004 16 INF-3190: Transport Layer

Addressing at the Transport Layer Service A B Port 1 Buffer 1 n Buffer

Addressing at the Transport Layer Service A B Port 1 Buffer 1 n Buffer 2 Service Port Buffer 2 Buffer 3 C 4 3 5 Port Buffer Communication ports n Service n n Port access n n n Related to exactly one single port Asynchronous or Synchronous Port n 18. Mar. 2004 Associated with buffer 17 INF-3190: Transport Layer

Addressing at the Transport Layer Decimal 0 1 5 7 9 11 13 15

Addressing at the Transport Layer Decimal 0 1 5 7 9 11 13 15 17 19 20 21 23 25 37 42 n Keyword TCPMUX RJE ECHO DISCARD USERS DAYTIME QUOTE CHARGEN FTP-DATA FTP TELNET SMTP TIME NAMESERVER UNIX keyword Description echo discard systat daytime netstat qotd chargen ftp-data ftp telnet smtp time name reserved TCP Multiplex Remote Job Entry Echo Discard Active Users Daytime Network Status Program Quote of the day Character Generator File transfer protocol (data) File transfer protocol Terminal Connections Simple mail transfer protocol Time Host name server TCP and UDP have their own assignments n this table shows some examples for TCP (read /etc/services for more) 18. Mar. 2004 18 INF-3190: Transport Layer

Addressing at the Transport Layer Decimal Keyword UNIX keyword Description 43 53 77 79

Addressing at the Transport Layer Decimal Keyword UNIX keyword Description 43 53 77 79 80 101 102 103 104 110 111 113 117 119 129 139 160 -1023 NICNAME DOMAIN whois nameserver rje finger HTTP hostname iso-tsap x 400 -snd pop 3 sunrpc auth uucp-path nntp Who is Domain Name Server Any private rje service Finger World Wide Web NIC Host Name Server ISO TSAP X. 400 Mail Service X. 400 Mail Sending Remote Email Access SUN Remote Procedure Call Authentication Service UUCP path services USENET News Transfer Protocol Password Generator Protocol NETBIOS Session Protocol 18. Mar. 2004 FINGER HTTP HOSTNAME ISO-TSAP X 400 -SND POP 3 SUN RPC AUTH UUCP-PATH NNTP PWDGEN NETBIOS-SSN Reserved 19 INF-3190: Transport Layer

Addressing at the Transport Layer n Application n Example n n n Implementation of

Addressing at the Transport Layer n Application n Example n n n Implementation of application n n process, thread Interface to communication systems n n decompression of video data read process from database or file system buffers with predefined access mechanisms Sender and receiver create n n Stream or Socket n several connections share a socket n n n address: IP address of the endsystem address: 16 -bit port number n 0. . 1024: predefined ports, “well known” n additional ones managed dynamically Example n 192. 169. 100. 17: 80 socket with IP address 192. 169. 100. 17 and port no. 80 18. Mar. 2004 20 INF-3190: Transport Layer