Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Transport Layer. Transport Layer: Motivation A B R1 R2 r Recall that NL is responsible for forwarding a packet from one HOST to another.

Similar presentations


Presentation on theme: "Introduction to Transport Layer. Transport Layer: Motivation A B R1 R2 r Recall that NL is responsible for forwarding a packet from one HOST to another."— Presentation transcript:

1 Introduction to Transport Layer

2 Transport Layer: Motivation A B R1 R2 r Recall that NL is responsible for forwarding a packet from one HOST to another HOST r But it is the applications that communicate! m How do you make applications on HOSTs to communicate? r Need a new layer, called the “Transport Layer” m Responsible for providing communication between applications running in different hosts m A Web Browser talking to a Web Server Network Link Physical Network Link Physical Network Link Physical Network Link Physical C Network Link Physical Transport Network Link Physical Transport Network Link Physical Transport Network Link Physical FTP Server Web Server Web Browser FTP Client

3 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end systems m send side: breaks app messages into segments, passes to network layer m rcv side: reassembles segments into messages, passes to app layer r more than one transport protocol available to apps m Internet: UDP, TCP, SCTP application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport

4 Transport vs. network layer r network layer: logical communication between hosts r transport layer: logical communication between processes m relies on, enhances, network layer services Household analogy: 12 kids sending letters to 12 kids r processes = kids r app messages = letters in envelopes r hosts = houses r transport protocol = Ann and Bill r network-layer protocol = postal service

5 Transport Layer Functions r Demultiplexing to upper layer -- Obligatory m Deliver an incoming packet to the correct application r Define Delivery Sematics and Implement them m Reliable vs. unreliable m Unicast vs. multicast m Ordered vs. unordered r Flow control -- Optional m Do not allow sender to overrun receiver’s buffer resources r Congestion control -- Optional m Do not allow the sender to overrun the network capacity

6 Internet transport-layer protocols r User Datagram Protocol (UDP) m unreliable (“best-effort”), m unordered m unicast or multicast delivery m no flow, no congestion control r Transmission Control Protocol (TCP) m reliable m in-order m unicast m flow & congestion control r Stream Control Transport Protocol (SCTP) (will not cover in class) m RFC 2960 m reliable m optional ordering m unicast m flow & congestion control

7 Multiplexing Multiplexing/demultiplexing – Why? r Why need demultiplexing? m Assume you are running 3 network applications all using the same transport protocol, e.g., TCP FTP Server, Telnet Client, Web Browser m When a packet arrives at a host, it moves up the protocol stack until it reaches the transport layer, e.g., TCP m Now, the transport layer needs a way to determine which application the packet needs to be delivered. This is the demultiplexing problem. m Recall that all protocol layers perform multiplexing/demultiplexing: e.g., IP needs to determine which transport protocol a given packet needs to be delivered, UDP or TCP? Demultiplexing transport network link physical P2 P1 P3 transport network link physical P2 P1 P3

8 Demultiplexing: How? r host receives IP datagrams m each datagram has source IP address, destination IP address m each datagram carries 1 transport-layer segment m each segment has source, destination port number (well-known port numbers for specific applications) m Port #s: 16 bits 65535 ports 0-1023 are called well-known and are reserved –HTTP uses port 80 –Telnet uses port 23 –RFC 1700 lists the reserved ports source port #dest port # 32 bits application data (message) other header fields TCP/UDP segment format


Download ppt "Introduction to Transport Layer. Transport Layer: Motivation A B R1 R2 r Recall that NL is responsible for forwarding a packet from one HOST to another."

Similar presentations


Ads by Google