Magazines/Newspapers

Transport Layer Overview

Description
Transport Layer Overview Kai Shen Dept. of Computer Science, University of Rochester IPv6 Review on the Last Class Primary reason for a new Internet protocol? Co-existence of incompatible protocols. Internet
Published
of 6
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
Transport Layer Overview Kai Shen Dept. of Computer Science, University of Rochester IPv6 Review on the Last Class Primary reason for a new Internet protocol? Co-existence of incompatible protocols. Internet multicast Local area: interacting with the local router (IGMP) Wide area: generating efficient multicast distribution tree reverse path forwarding + pruning center-based multicast tree 10/13/2003 CSC 257/457 - Fall /13/2003 CSC 257/457 - Fall Transport-layer Overview End-to-end Communication Network layer: end-to-end logical communication between hosts. Transport layer: additional services between - level comm. end-points points. multiple -level endpoints can reside in one host. -level end-points can be a Web browser/server, a FTP /server, etc. Transport layer: end-to-end implementation. logical end -end P1 host A link P2 P3 link = -level end-point = socket P4 host B P1 on host A is communicating with P3 on host B; while at the same time, P2 on host A is communicating with P4 on host B. 10/13/2003 CSC 257/457 - Fall /13/2003 CSC 257/457 - Fall CSC 257/457 - Fall Multiplexing/Demultiplexing Transport-layer Service Model Multiplexing at send host: enveloping data with segment header (later used for demultiplexing), pass segments to layer Demultiplexing at rcv host: delivering received segments to correct socket Communication at layer Transport layer: logical communication between end-points points. Additional services: reliable data transfer (guaranteed arrival, no error, in-order) flow control (keep sender from overrunning receiver): good for myself congestion control (keep sender from overrunning ): good for the community delay/bandwidth guarantee logical end -end 10/13/2003 CSC 257/457 - Fall /13/2003 CSC 257/457 - Fall Internet Transport-layer Protocols Outline UDP: connectionless error detection TCP: connection-oriented error detection reliable data transfer flow control congestion control services not available: delay guarantees bandwidth guarantees why? logical end -end Overview of -layer services/protocols Multiplexing and demultiplexing Connectionless : UDP Principles of reliable data transfer Connection-oriented : TCP reliable data transfer flow control connection management Principles of congestion control Congestion control in TCP 10/13/2003 CSC 257/457 - Fall /13/2003 CSC 257/457 - Fall CSC 257/457 - Fall How multiplexing/demultiplexing works? Port Numbers IP header TCP/UDP header data using port numbers each IP packet has source IP address, destination IP address each IP packet carries a -layer segment each segment has source, destination port number port number?? IP packet format dest. IP address for routing to the host; IP addresses and port numbers for going to appropriate socket in the dest. host. Each port number is a 16-bit number, ranging from 0 to Port numbers ranging from 0 to 1023 are called well-known port numbers and are restricted. Port number vs. socket socket (data structure attached to app. end-point) port number (a mechanism to identify socket) 10/13/2003 CSC 257/457 - Fall /13/2003 CSC 257/457 - Fall UDP Demultiplexing UDP Demultiplexing: An Example UDP socket identified by two-tuple: (dest IP address, dest port number) When host receives UDP segment: P1 P3 P1 P2 checks destination port number in segment directs UDP segment to socket with that port number UDP segments with different source IP addresses and/or source port numbers directed to same socket source IP address and source port numbers are not used in demultiplexing IP: A SP: 9157 DP: 6428 SP: 6428 DP: 9157 server IP: C SP: 6428 DP: 5775 SP provides return address SP: 5775 DP: 6428 IP: B 10/13/2003 CSC 257/457 - Fall /13/2003 CSC 257/457 - Fall CSC 257/457 - Fall TCP Demultiplexing (Connection-oriented) TCP Demultiplexing: An Example TCP socket identified by 4-tuple: all on port 80 listening socket (source IP address, source port number, dest IP address, dest port number) P1 P4 P3 P5 P1 P2 recv host uses all four values to direct segment to appropriate socket Why? Server at a port may support many simultaneous TCP connections/sockets: each socket identified by its own 4-tuple Web server (on default port 80) has multiple sockets, one for each connecting IP: A SP: 80 DP: 9157 SP: 9157 SP: 9157 DP: 80 DP: 80 server IP: C SP: 80 DP: 5775 SP: 5775 DP: 80 IP: B connection request 10/13/2003 CSC 257/457 - Fall /13/2003 CSC 257/457 - Fall Last Words on Multiplexing/Demultiplexing UDP: connection-less one socket per port at each host TCP: connection-oriented one socket per connection at each host multiple connections can be at one port Outline Overview of -layer services/protocols Multiplexing and demultiplexing Connectionless : UDP Principles of reliable data transfer Connection-oriented : TCP overview flow control reliable data transfer connection management Principles of congestion control Congestion control in TCP 10/13/2003 CSC 257/457 - Fall /13/2003 CSC 257/457 - Fall CSC 257/457 - Fall UDP: User Datagram Protocol What is good about UDP? What is a connection? a group of segments between the same pair of comm. endpoints allow for shared resources, basis for services such as inorder delivery, flow control, et al. UDP is connectionless: each UDP segment handled independently of others UDP does simple error detection UDP does not do reliable data transfer, flow control, congestion control 10/13/2003 CSC 257/457 - Fall TCP features may not be needed by some s less overhead: no connection establishment (which can add delay) small segment header no congestion control: UDP can blast away as fast as desired (may not be good for others, but not bad for my own connection ) simple: no connection state at sender, receiver 10/13/2003 CSC 257/457 - Fall UDP: More Often used for streaming multimedia apps loss tolerant rate sensitive In general, UDP is used when TCP features are not important What if you want features not in UDP? implemented at level flow control and error recovery in some multimedia apps Length, in bytes of UDP segment, including header source port # dest port # length 32 bits Application data (message) checksum UDP segment format How large is UDP header, how large are IPv4 & IPv6 headers? 10/13/2003 CSC 257/457 - Fall UDP Checksum Goal: detect errors (e.g., flipped bits) in transmitted segment Sender: treat segment contents as sequence of 16-bit integers checksum: addition (1 s complement sum) of segment contents sender puts checksum value into UDP checksum field Receiver: compute checksum of received segment check if computed checksum equals checksum field value: NO: error detected YES: no error detected. Why are there error detections in and link layers? 10/13/2003 CSC 257/457 - Fall CSC 257/457 - Fall Next Class: Principles of Reliable Data Transfer Disclaimer Overview of reliable data transfer Step 1: a correct protocol Step 2: a efficient protocol Parts of the lecture slides contain original work of James Kurose, Larry Peterson, and Keith Ross. The slides are intended for the sole purpose of instruction of computer s at the University of Rochester. All copyrighted materials belong to their original owner(s). Quite complex do some reading before the next class 10/13/2003 CSC 257/457 - Fall /13/2003 CSC 257/457 - Fall CSC 257/457 - Fall
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks