1 / 8

Introduction to Transport Layer

Introduction to Transport Layer. Recall that NL is responsible for forwarding a packet from one HOST to another HOST But it is the applications that communicate! How do you make applications on HOSTs to communicate? Need a new layer, called the “Transport Layer”

jshirey
Download Presentation

Introduction to Transport Layer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Transport Layer

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

  3. provide logical communication between app processes running on different hosts transport protocols run in end systems send side: breaks app messages into segments, passes to network layer rcv side: reassembles segments into messages, passes to app layer more than one transport protocol available to apps 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 Transport services and protocols

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

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

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

  7. Why need demultiplexing? Assume you are running 3 network applications all using the same transport protocol, e.g., TCP FTP Server, Telnet Client, Web Browser When a packet arrives at a host, it moves up the protocol stack until it reaches the transport layer, e.g., TCP Now, the transport layer needs a way to determine which application the packet needs to be delivered. This is the demultiplexing problem. 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? P2 P2 P3 P1 P1 P3 Multiplexing/demultiplexing – Why? transport network link physical Demultiplexing transport network link physical Multiplexing

  8. host receives IP datagrams each datagram has source IP address, destination IP address each datagram carries 1 transport-layer segment each segment has source, destination port number(well-known port numbers for specific applications) 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 Demultiplexing: How? 32 bits source port # dest port # other header fields application data (message) TCP/UDP segment format

More Related