1 / 21

Transport Layer Overview (§ 6.1.2-6.1.4)

Transport Layer Overview (§ 6.1.2-6.1.4). Where we are in the Course. Starting the Transport Layer! Builds on the network layer to deliver data across networks for applications with the desired reliability or quality. Application. Transport. Network. Link. Physical. Recall.

jane
Download Presentation

Transport Layer Overview (§ 6.1.2-6.1.4)

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. Transport Layer Overview (§6.1.2-6.1.4)

  2. Where we are in the Course • Starting the Transport Layer! • Builds on the network layer to deliver data across networks for applications with the desired reliability or quality Application Transport Network Link Physical CSE 461 University of Washington

  3. Recall • Transport layer provides end-to-end connectivity across the network app app Ethernet Ethernet 802.11 802.11 TCP TCP IP IP IP IP Host Router Host CSE 461 University of Washington

  4. Recall (2) • Segments carry application data across the network • Segments are carried within packets within frames Segment App, e.g., HTTP 802.11 IP TCP Packet Frame CSE 461 University of Washington

  5. Transport Layer Services • Provide different kinds of data delivery across the network to applications CSE 461 University of Washington

  6. Comparison of Internet Transports • TCP is full-featured, UDP is a glorified packet CSE 461 University of Washington

  7. User Datagram Protocol (UDP) • Used by apps that don’t want reliability or bytestreams • Voice-over-IP (unreliable) • DNS, RPC (message-oriented) • DHCP (bootstrapping) (If application wants reliability and messages then it has work to do!) CSE 461 University of Washington

  8. Datagram Sockets Client (host 1) Time Server (host 2) request reply CSE 461 University of Washington

  9. Datagram Sockets (2) Client (host 1) Time Server (host 2) 1: socket 1: socket 2: bind 3: recvfrom* 4: sendto request 5: recvfrom* 6: sendto reply 7: close 7: close *= call blocks CSE 461 University of Washington

  10. UDP Buffering Application App App App Ports Transport (TCP) Message queues Port Mux/Demux Network (IP) packet CSE 461 University of Washington

  11. UDP Header • Uses ports to identify sending and receiving application processes • Datagram length up to 64K • Checksum (16 bits) for reliability CSE 461 University of Washington

  12. Topic • How to set up connections • We’ll see how TCP does it SYN! ACK! SYNACK! Network CSE 461 University of Washington

  13. Connection Establishment • Both sender and receiver must be ready before we start the transfer of data • Need to agree on a set of parameters • e.g., the Maximum Segment Size (MSS) • This is signaling • It sets up state at the endpoints • Like “dialing” for a telephone call CSE 461 University of Washington

  14. Three-Way Handshake • Used in TCP; opens connection for data in both directions • Each side probes the other with a fresh Initial Sequence Number (ISN) • Sends on a SYNchronize segment • Echo on an ACKnowledge segment • Chosen to be robust even against delayed duplicates Active party (client) Passive party (server) CSE 461 University of Washington

  15. Three-Way Handshake (2) • Three steps: • Client sends SYN(x) • Server replies with SYN(y)ACK(x+1) • Client replies with ACK(y+1) • SYNs are retransmitted if lost • Sequence and ack numbers carried on further segments Active party (client) Passive party (server) 1 SYN (SEQ=x) 2 SYN (SEQ=y, ACK=x+1) 3 (SEQ=x+1, ACK=y+1) Time CSE 461 University of Washington

  16. Three-Way Handshake (3) • Suppose delayed, duplicate copies of the SYN and ACK arrive at the server! • Improbable, but anyhow … Active party (client) Passive party (server) SYN (SEQ=x) (SEQ=x+1, ACK=z+1) CSE 461 University of Washington

  17. Three-Way Handshake (4) • Suppose delayed, duplicate copies of the SYN and ACK arrive at the server! • Improbable, but anyhow … • Connection will be cleanly rejected on both sides  Active party (client) Passive party (server) SYN (SEQ=x) SYN (SEQ=y, ACK=x+1) X (SEQ=x+1, ACK=z+1) REJECT X REJECT CSE 461 University of Washington

  18. Topic • How to release connections • We’ll see how TCP does it FIN! FIN! Network CSE 461 University of Washington

  19. Connection Release • Orderly release by both parties when done • Delivers all pending data and “hangs up” • Cleans up state in sender and receiver • Key problem is to provide reliability while releasing • TCP uses a “symmetric” close in which both sides shutdown independently CSE 461 University of Washington

  20. TCP Connection Release • Two steps: • Active sends FIN(x), passive ACKs • Passive sends FIN(y), active ACKs • FINs are retransmitted if lost • Each FIN/ACK closes one direction of data transfer Active party Passive party CSE 461 University of Washington

  21. TCP Connection Release (2) • Two steps: • Active sends FIN(x), passive ACKs • Passive sends FIN(y), active ACKs • FINs are retransmitted if lost • Each FIN/ACK closes one direction of data transfer Active party Passive party FIN (SEQ=x) 1 (SEQ=y, ACK=x+1) FIN (SEQ=y, ACK=x+1) 2 (SEQ=x+1, ACK=y+1) CSE 461 University of Washington

More Related