Transport Layer Services –Reliable Delivery –or Not! Protocols –Internet: TCP, UDP –ISO: TP0 thru TP4
Transport Services Framing Link Header Data Network Header Transport Header Session Header (?) Presentation “Header” Application “Header” User Provider {see page 481}
Delivery Services First layer that can really provide reliability Reliability means sequencing, error recovery, acknowledgements Not every application needs (wants) reliability
Quality of Service New idea from the voice, video folk Not (yet) part of Internet protocols –RSVP in process Unclear which layer guarantees QoS
Managing Connections Addressing Identifying duplicate TPDUs Three-way handshakes Flow control Crash recovery (largely ignored)
TCP Reliable, sequenced stream of bytes Virtual circuit Buffered transfer Unstructured Full Duplex
TCP - How it Works Positive Acknowledgements w/ Retransmission Sliding Windows Pages 531, 532 give the programmer’s state machine info
TCP Features A protocol, not a package Ports (Well Known Ports) Out of Band, or URGENT, data Timeouts –RTT Estimation (Karn’s Algorithm) (pg 541) Congestion –Slow-Start Methodolgy Limitations
TCP Header HLENRESERVEDCODE BITS DATA... PADDINGOPTIONS (IF ANY) CHECKSUMURGENT POINTER WINDOW ACKNOWLEDGEMENT NUMBER SEQUENCE NUMBER SOURCE PORTDESTINATION PORT
TCP Connection Management Three Way Handshake –SYN, SYN/ACK, ACK May be viewed as two Simplex connections Window management –Advertising Zero Window Size –Nagle’s algorithm –Silly Window Syndrome
UDP DATA SOURCE PORTDESTINATION PORT MESSAGE LENGTHCHECKSUM Your basic datagram No acknowledgements, no reliability Why use it?
Transport Layer Performance Timeout Values Inadvertent Synchronized Loads Latency (Bandwidth-delay product) MTU, MSS values Router impact
Performance Hints CPU normally is the bottleneck –most time is spent in protocol stacks, not on the wire Per-packet overhead means big packets are much more efficient… But delays to create big packets impact interactive applications Easy to increase bandwidth, impossible (?) to reduce propagation delay
Performance Challenges Gigabit networks Satellites