* 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