* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Introduction to Transport Layer
IEEE 802.1aq wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
TCP congestion control wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Distributed firewall wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Deep packet inspection wikipedia , lookup
Computer network wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Airborne Networking wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Network tap wikipedia , lookup
Internet protocol suite wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Introduction to Transport Layer Web Browser Transport Layer: Motivation FTP Client Transport Network Network Link Link Physical Physical A Network Link Physical R1 Transport Network Network Link Link Physical Physical Network Link Physical R2 C Web Server FTP Server Transport Network Network Link Link Physical Physical  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 B Transport services and protocols  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 network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical Transport vs. network layer  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 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 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 Multiplexing/demultiplexing – Why?  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? P1 P2 P3 transport network link physical Demultiplexing P1 P2 P3 transport network link physical Multiplexing Demultiplexing: How?  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 32 bits source port # dest port # other header fields application data (message) TCP/UDP segment format