200 likes | 364 Vues
Transport Layer. Foreleser: Carsten Griwodz Email: griff@ifi.uio.no. Transport service. Transport Layer Function. To provide data transport Reliably Efficiently At low-cost For Process-to-process (applications) I.e. at endsystem-to-endsystem
E N D
Transport Layer Foreleser: Carsten Griwodz Email: griff@ifi.uio.no 1
Transport Layer Function • To provide data transport • Reliably • Efficiently • At low-cost • For • Process-to-process (applications) • I.e. at endsystem-to-endsystem • If possible independent fromparticularities of the networks used
Transport Protocol Service Access Point Service Interface Application Layer Application Layer 5 Transport Entity Transport Entity 4 Network Layer Network Layer 3 1-2 IP: Message ISO: Transport Protocol Data Unit Transport Service • Connection oriented service • 3 phases • connection set-up • data transfer • disconnect • Connectionless service • Transfer of isolated units • Realization: transport entity • Software and/or hardware • Software part usually contained within the kernel (process, library)
Transport Protocols & Network Services • Transport layer protocoldepends on the quality of the network layer service • ISO Network type A • 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 • ISO Network type B • Like type A, except • Remaining error rate (for data loss) is not acceptable • Typically CONS on (old) WANs • ISO Network type C • 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
End system End system 5 Intermediate system 4 3 3 2 2 1 1 Transport Service • Similar services of • Network layer and transport layer • Why 2 Layers? • Network service • Not to be self-governed or influenced by the user • Independent from application & user • enables compatibility between applications • Provides for example • “only” connection oriented communications • or “only” unreliable data transfer • Transport service • To improve the Network Service Quality • Users and layers want to get from the network layer, e.g. • reliable service • necessary time guarantees
Transport Service • Transport layer • Isolates upper layers from technology, design and imperfections of subnet • Traditionally distinction made between • Layers 1 – 4 • transport service provider • Layers above 4 • transport service user • Transport layer has key role • Major boundary between provider and user of reliable data transmission service
Layer Data Unit Transport Message or TPDU Network Packet Packet header Message header Data link Frame Physical Bit/byte (bitstream) Frame header Message Payload Packet Payload Frame Payload Transport Service: Terminology • Entities exchanged • ISO: Transport Protocol Data Unit (TPDU) • IP: Message • Nesting of messages, packets, and frames
Transport protocols • ISO defines 5 classes: ISO OSI TP0..TP4
Transport Protocols • Class TP 0: simple class • Mechanisms for connect and disconnect • Segmentation / reassembly • No error, sequence or flow control • No expedited data • Class TP 2: multiplexing class • Class 0 including additional multiplexing capability • Multiplexing: several transport layer connections on one network layer connection • Flow control optional • Expedited data optional
Transport Protocols • Class TP 1: basic error recovery • Class 0 including additional error recovery • Error recovery masks resets • TPDU numbering • TPDU storage until ACK • after reset: resynchronization • Expedited data optional • 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 • Class 1 and 2 functions combined • i.e. error recovery, expedited data, multiplexing
Transport Protocols • Class TP 4: error monitoring and recovery • Detects and recovers • TPDU losses and TPDU duplication • sequence errors • Flow control • Multiplexing • Splitting (one transport connection uses several network connections) • Expedited data • Note • IPv4 and IPv6 are connectionless • Unavailable concepts in TCP/IP • Multiplexing • Splitting • No clear definition for ST-II
Transport Protocols • TCP/IP specifies protocols • Services provided implicitely UDP DCCP TCP SCTP Connection-oriented service X X X Connectionless service X Ordered X X Partially Ordered X Unordered X X X Reliable X X Partially Reliable X Unreliable X X X With congestion control X X X Without congestion control X Multicast support X X Multihoming support X
Telnet client Telnet server FTP client FTP server Web client Web server Transport Network Data link Physical Addressing at the Transport Layer • Application • Communication between applications required • Application communicate • locally by interprocess communication • between system via transport services • Transport layer • Interprocess communication via communication networks • Internet Protocol IP • Enables endsystem-to-endsystem communication
5 Transport Entity Transport Entity 4 Network Layer Network Layer 3 1-2 Addressing at the Transport Layer • Transport address different from network address • Sender (process) must address receiver (process) • for connection setup or individual message • Receiver (process) can be approached by the sender (process) • Define transport addresses: • ISO term: Transport Service Access Point (TSAP) • Internet: port • ATM: AAL-SAP Processes Transport addresses Network addresses
Port 1 Port 2 Port 3 Service B Service A Service C Port 4 Port 5 Addressing at the Transport Layer • 3 types of identifiers: names, addresses and routes • [Shoch 78] • “The name of a resource indicates WHAT we seek,an address indicates WHERE it is,and a route tells HOW TO GET THERE” • Address identifies • Type of service or application • Addresses of services must be known • Addressing by process number is unsuitable • 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
Service B C Service A Port 1 Port 2 Port 3 Port Buffer Buffer 1 Buffer 2 Buffer 3 Buffer 4 Buffer 5 Addressing at the Transport Layer • Communication ports • Service • Related to exactly one single port • Port access • Asynchronous or • Synchronous • Port • Associated with buffer
Addressing at the Transport Layer • TCP and UDP have their own assignments • this table shows some examples for TCP (read /etc/services for more)
Addressing at the Transport Layer • Application • Example • decompression of video data • read process from database or file system • Implementation of application • process, thread • Interface to communication systems • buffers with predefined access mechanisms • Sender and receiver create • Stream or • Socket • several connections share a socket • address: IP address of the endsystem • address: 16-bit port number • 0..1024: predefined ports, “well known” • additional ones managed dynamically • Example • 192.169.100.17:80 socket with IP address 192.169.100.17 and port no. 80