Transmission Control Protocol (TCP) and Packet-Switching Hardware Devang Parekh EE290F 4/15/04
Outline TCP OSI 7 Layer SYN/ACK Different Flavors Routers What they do Protocols
OSI 7 Layer Model
Physical (Layer 1) Physical link layer Electrical impulse, radio, optical Lowest layer of the OSI Model
OSI 7 Layer Model Data Link (Layer 2) Data packets encoded into bits Media Access Control (MAC) Layer Controls how a computer gains access to a link and transmission on that link. Logical Link Control (LLC) Layer Frame synchronization, flow control, error checking
OSI 7 Layer Model Network (Layer 3) Switching and routing performed at this layer Addressing, internetworking, error handling, congestion control, packet sequencing IP
OSI 7 Layer Model Transport (Layer 4) Transparent transfer of data End-to-end recovery Flow control TCP/UDP
OSI 7 Layer Model Session (Layer 5) Manages end-to-end connections Presentation (Layer 6) Acts as middleware for application layer Application (Layer 7) The program you use
TCP/UDP UDP (User Datagram Protocol) Provides multiplexing/demultiplexing to IP No congestion control Advantage: does not increase delay over connection Audio/video stream
TCP/UDP TCP (Transmission Control Protocol) Reliable, in-order delivery Multiplexing/Demultiplexing to IP Congestion control and avoidance Increases delay File transfer, chat
3-way handshake
Goal: Agree on sequence numbers
State Diagram
Header
Ports – self-explanatory Sequence number, acknowledgement – used in sliding window protocol Flags SYN/FIN –establishing/terminating connections ACK – acknowledgement is valid URG – urgent data RESET- abort connection
Sliding Window Protocol Stop & Wait Transmit Wait for Ack If timeout send again Go-back-n Transmit n packets If timeout at packet k, send again from k, k+1, …
Congestion Control Telephone Network: Reservation TCP: Adapt rate to congestion Algorithm should be fair UDP: Hope for the best
Congestion Control Ex. TCP-Reno Congested -> decrease rate Uncongested -> increase rate Additive-Increase Multiplicative-Decrease (AIMD)
Congestion Control Fast retransmit Fast Recovery Slow Start Flow Control
Congestion Control Fast Retransmit ACK #= next expected ACK
Congestion Control Slow Start Discover available bandwidth fast
Congestion Control Flow Control Receiver advertises window
Routers IP Addressing Classes
Routers Functions Topology update Shortest path Switching
Routers Topology Update Link State Communicates name and distance to each neighbor Distance Vector Communicates current distance estimates to every other node Path Vector Communicates current preferred path to every other node
Routers
The Cisco 1760 Modular Access Router offers small and medium-sized businesses and enterprise small branch offices a 19-inch rack-mount access solution designed to enable them to grow their e-business capabilities. The two different versions of the Cisco 1760 Modular Access Router, the base version Cisco 1760 router and the preconfigured multiservice-ready Cisco 1760-V router, address the needs of customers who want to deploy e-business applications—now or in the future. The Cisco 1760 router, as a modular platform in a 19-inch rack-mount form factor, offers customers secure Internet and intranet access, as well as the capability to implement a variety of e-business and voice applications. This includes voice over IP (VoIP), virtual private network (VPN) access, and business-class digital subscriber line (DSL) as required (refer to Figure 1). The Cisco 1760 router is part of a broad portfolio of access routers optimized to deliver intelligent services such as quality of service (QoS), manageability, availability, and security. The two different versions of the Cisco 1760 Modular Access Router, the base version Cisco 1760 router and the Cisco 1760-V router, address the needs of customers who want to deploy transformation technologies such as converged voice and data, IP telephony, or videoconferencing.