Lecture-14 - Lecture#14 Transport Layer Objectives “Added...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Lecture #14 Transport Layer Objectives “Added functionality on top of IP” • Functions – attempt to deliver packets to other socket interface • if additional services, provide them – adherence to layering abstraction (where possible) • pass an IP addr and socket type (only) • hide details from application layer • Protocols – Most common examples are TCP and UDP Transport Layer Protocols • TCP – Connections – In-order delivery – Reliability – Congestion Control – Multiplexing/Demultiplexing (sockets) • UDP – Multiplexing/Demultiplexing (sockets) TCP Segment Structure source port # dest port # 32 bits sequence number acknowledgement number Receive window Urg data pnter checksum F S R P A U head len not used URG: urgent data (generally not used) ACK: ACK # valid PSH: push data now (generally not used) # bytes rcvr willing counting by bytes of data (not segments!) application data (variable length) Options (variable length) RST, SYN, FIN: connection estab (setup, teardown commands) to accept Internet checksum (as in UDP) TCP Header • Source/Dest Port (16 bits each): used for (de-)multiplexiing • Sequence/Acknowledgement Number (32 bits each): used for reliability • Header Length (4 bits): measures number of 32 bit words (like IP) • Unused (6 bits) • Flags (8 bits) – ACK: means there is a valid ACK number in the ACK field – SYN, FIN, RST: used for connection management (open, close, reset) – URG, PSH: Urgent and Push bits (not really used) – URG, PSH: Urgent and Push bits (not really used) • Received Window (16 bits): number of outstanding (unacknowledged) bytes the receiver is willing to allow (used for one type of congestion control) • Checksum (16 bits): 1s complement of header (16 bit words) • URG pointer (16 bits): points to where in data field urgent data starts • Options: allows for negotiation of connection parameters and extensions of certain fields Outline • TCP Connection Management – Opening a connection – Closing a connection eliability • Reliability – Through timeouts – Timeout estimation • Congestion Control TCP Connection Management • TCP sender, receiver establish “connection” before exchanging data segments • Initialize TCP variables: – seq. #s uffers, flow control info Three way handshake: Step 1: client host sends TCP SYN segment to server – specifies initial seq # – no data tep 2: erver host receives SYN, – buffers, flow control info (e.g. RcvWindow ) Step 2: server host receives SYN, replies with SYNACK segment – server allocates buffers – specifies server initial seq. # Step 3: client receives SYNACK, replies with ACK segment, which may contain data Opening a Connection Three way handshake: Step 1: client host sends TCP SYN segment to server – specifies initial seq # – no data client server Step 2: server host receives SYN, replies with SYNACK segment – server allocates buffers – specifies server initial seq. # Step 3: client receives SYNACK, replies with ACK segment, which may contain data Closing a Connection...
View Full Document

Page1 / 82

Lecture-14 - Lecture#14 Transport Layer Objectives “Added...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online