TCP/IP Model
TCP/IP Model¶
Overview¶
The TCP/IP (Transmission Control Protocol/Internet Protocol) model is the foundational protocol stack of the Internet. Developed in the 1970s as part of the U.S. Department of Defense's ARPANET project, it is now used as the standard for global Internet communication. In this lesson, we'll explore the TCP/IP model's 4-layer architecture, comparisons with the OSI model, the history of the Internet, and actual communication flows.
Difficulty: ββ (Beginner-Intermediate)
Table of Contents¶
- TCP/IP Model Overview
- History of the Internet
- TCP/IP 4 Layers
- OSI vs TCP/IP Comparison
- Protocols at Each Layer
- Actual Communication Flow
- TCP vs UDP
- Practice Problems
1. TCP/IP Model Overview¶
What is TCP/IP?¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TCP/IP Protocol Stack β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β TCP/IP (Transmission Control Protocol / Internet Protocol) β
β β
β "A collection of communication protocols used for exchanging β
β information between computers on the Internet" β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β TCP (Transmission Control Protocol) β β
β β βββ Ensures reliable data transmission β β
β β βββ Connection-oriented, flow control, error recovery β β
β β β β
β β IP (Internet Protocol) β β
β β βββ Packet addressing and routing β β
β β βββ Connectionless, best-effort delivery β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Characteristics: β
β - Practical implementation-focused model β
β - Flexible boundaries between layers β
β - De facto standard for the Internet β
β - Open standard (published as RFC documents) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
TCP/IP 4-Layer Structure¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TCP/IP 4-Layer Model β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Layer # Layer Name Main Role β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β 4 β Application Layer β β
β β HTTP, FTP, SMTP, DNS, SSH, Telnet β β
β β User applications and network interface β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β
β 3 β Transport Layer β β
β β TCP, UDP β β
β β End-to-end communication, reliable/unreliable β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β
β 2 β Internet Layer β β
β β IP, ICMP, ARP, RARP β β
β β Logical addressing, packet routing β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β
β 1 β Network Access Layer β β
β β Ethernet, Wi-Fi, PPP β β
β β Physical transmission, frame delivery β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β * Some documents divide into 5 layers β
β (separating Network Access into Data Link + Physical) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
TCP/IP Design Principles¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TCP/IP Design Principles β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1. End-to-End Principle β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Intelligence (complex functions) at endpoints β β
β β Keep network core (routers) simple β β
β β β β
β β Host A βββββ[Router]βββββ[Router]βββββ Host B β β
β β (Complex) (Simple) (Simple) (Complex) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β 2. Robustness Principle β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β "Be conservative in what you send, β β
β β be liberal in what you accept" β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β 3. Layering Principle β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Each layer operates independently β β
β β Lower layers provide services to upper layers β β
β β Standardized interfaces between layers β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β 4. Packet Switching Principle β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Divide data into small packets for transmission β β
β β Each packet routed independently β β
β β Efficient use of network resources β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2. History of the Internet¶
Internet Development Timeline¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Internet Timeline β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1960s: Conceptual Beginning β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β 1962 J.C.R. Licklider's "Intergalactic Network" concept β
β 1965 First WAN connection (MIT-UCLA) β
β 1969 ARPANET begins (4 nodes) β
β - UCLA, SRI, UCSB, Utah β
β β
β 1970s: Protocol Development β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β 1971 Email invented (Ray Tomlinson) β
β 1973 TCP/IP concept proposed (Vint Cerf, Bob Kahn) β
β 1974 TCP specification published β
β 1976 Ethernet developed (Xerox PARC) β
β β
β 1980s: Standardization and Expansion β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β 1981 IPv4 standardized (RFC 791) β
β 1983 TCP/IP adopted (ARPANET), DNS introduced β
β β
Official birth of the Internet β
β 1986 NSFNET launched (56 Kbps backbone) β
β 1989 WWW invented (Tim Berners-Lee, CERN) β
β β
β 1990s: Commercialization and Popularization β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β 1991 WWW released publicly, Gopher appears β
β 1993 Mosaic web browser released β
β 1994 Netscape Navigator released β
β 1995 Commercial Internet spreads, Amazon, eBay founded β
β 1998 Google founded, IPv6 standardized β
β β
β 2000s: Mobile and Social β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β 2004 Facebook founded, Web 2.0 β
β 2005 YouTube founded β
β 2007 iPhone released, mobile Internet popularized β
β β
β 2010s-Present: Cloud and IoT β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β 2010 Cloud computing spreads β
β 2016 IPv4 exhaustion, IPv6 transition accelerates β
β 2020 5G commercialization, hyperconnected era β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
From ARPANET to Internet¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ARPANET β Internet Evolution β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1969: ARPANET begins (4 nodes) β
β β
β βββββββ β
β βUCLA β β
β ββββ¬βββ β
β β β
β ββββββββββββββββΌβββββββββββββββ β
β β β β β
β ββββ΄βββ βββββ΄ββββ βββββ΄ββββ β
β β SRI β β UCSB β β Utah β β
β βββββββ βββββββββ βββββββββ β
β β
β 1983: TCP/IP transition β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β NCP (Network Control Protocol) β TCP/IP β β
β β β β
β β - This transition is considered the "birth of Internet"β β
β β - Enabled heterogeneous network connectivity β β
β β - Achieved scalability β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β 1990s: Commercial Internet β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β ARPANET NSFNET Commercial ISPs β β
β β (Military/ (Academic) β (General Public) β β
β β Academic) β β
β β βββββββββββ βββββββββββ βββββββββββ β β
β β βUniversitiesβ βResearch β β Home/ β β β
β β β Research β βInstitutesβ βBusiness β β β
β β βββββββββββ βββββββββββ βββββββββββ β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Present: Global Internet β
β - Billions of devices connected β
β - Continents linked by submarine cables β
β - IoT, Cloud, 5G/6G β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Key Figures in TCP/IP Development¶
| Person | Contribution | Major Achievement |
|---|---|---|
| Vint Cerf | TCP/IP co-inventor | "Father of the Internet" |
| Bob Kahn | TCP/IP co-inventor | ARPANET design |
| Tim Berners-Lee | WWW inventor | HTTP, HTML |
| Ray Tomlinson | Email inventor | Introduced @ symbol |
| Bob Metcalfe | Ethernet inventor | LAN standard |
| Jon Postel | Protocol standardization | RFC editor |
3. TCP/IP 4 Layers¶
Layer 4: Application Layer¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 4th Layer: Application Layer β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Role: Interface between users and network β
β Application protocol implementation β
β β
β Relationship with OSI model: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β OSI 7 layers: Application + Presentation + Session β β
β β β β β
β β TCP/IP: Application Layer (combined into one) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Main Protocols: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β HTTP β β FTP β β SMTP β β β
β β βWeb comm. β βFile xfer β βMail send β β β
β β β TCP/80 β β TCP/21 β β TCP/25 β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β DNS β β SSH β β DHCP β β β
β β βName res. β βSec.accessβ βIP assign β β β
β β β UDP/53 β β TCP/22 β βUDP/67,68 β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β POP3 β β IMAP β β Telnet β β β
β β βMail recv.β βMail acc. β βRemote accβ β β
β β β TCP/110 β β TCP/143 β β TCP/23 β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Relationship with Transport Layer: β
β - Applications access transport layer through sockets β
β - Port numbers identify processes β
β - Choose between TCP or UDP β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Layer 3: Transport Layer¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 3rd Layer: Transport Layer β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Role: End-to-End data transmission service β
β β
β Two Main Protocols: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β TCP UDP β β
β β βββββββββββββββββββ βββββββββββββββββββ β β
β β β Connection- β β Connectionless β β β
β β β oriented β β β β β
β β β Reliable β β Unreliable β β β
β β β Ordered β β Unordered β β β
β β β Flow/congestion β β No control β β β
β β β control β β β β β
β β β Higher overhead β β Lower overhead β β β
β β βββββββββββββββββββ βββββββββββββββββββ β β
β β β β
β β Used for: Web, Used for: DNS, streaming, β β
β β email, file transfer gaming, VoIP β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Port Numbers: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β Range β Usage β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β
β β β 0 ~ 1023 β Well-known (System) β β β
β β β 1024 ~ 49151 β Registered β β β
β β β 49152 ~ 65535 β Dynamic (Ephemeral) β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Socket: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β IP Address + Port Number = Socket β β
β β Example: 192.168.1.100:8080 β β
β β β β
β β Socket pair identifies connection: β β
β β (Source IP:Source Port, Dest IP:Dest Port) β β
β β Example: (192.168.1.100:50000, 93.184.216.34:443) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Layer 2: Internet Layer¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 2nd Layer: Internet Layer β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Role: Logical addressing (IP), packet routing β
β Data delivery across heterogeneous networks β
β β
β Core: IP (Internet Protocol) β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β Characteristics: β β
β β - Connectionless β β
β β - Best-effort Delivery β β
β β - No reliability guarantee (handled by TCP) β β
β β β β
β β Functions: β β
β β - Addressing (IP addresses) β β
β β - Routing (path determination) β β
β β - Fragmentation β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β IP Packet Structure (IPv4): β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β 0 1 2 3 β
β β 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 β
β β +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ β
β β |Ver| IHL | TOS | Total Length | β
β β +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ β
β β | Identification |Flg| Fragment Offset | β
β β +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ β
β β | TTL | Protocol | Header Checksum | β
β β +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ β
β β | Source IP Address | β
β β +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ β
β β | Destination IP Address | β
β β +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ β
β β | Options + Data | β
β β +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Main Protocols: β
β ββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β IP β Addressing, routing (IPv4, IPv6) β β
β β ICMP β Error reporting, diagnostics (ping, tracert) β β
β β ARP β IP address β MAC address translation β β
β β RARP β MAC address β IP address translation β β
β β IGMP β Multicast group management β β
β ββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Layer 1: Network Access Layer¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1st Layer: Network Access Layer β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Role: Physical network access, frame transmission β
β Corresponds to OSI Data Link + Physical layers β
β β
β Relationship with OSI model: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β OSI Layer 2: Data Link β β
β β OSI Layer 1: Physical β β
β β β β β
β β TCP/IP: Network Access Layer (combined) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Functions: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β 1. Physical Addressing (MAC Address) β β
β β - 48-bit hardware address β β
β β - Example: 00:1A:2B:3C:4D:5E β β
β β β β
β β 2. Framing β β
β β - Encapsulate IP packets into frames β β
β β - Add header and trailer β β
β β β β
β β 3. Media Access Control β β
β β - CSMA/CD (Ethernet) β β
β β - CSMA/CA (Wi-Fi) β β
β β β β
β β 4. Bit Transmission β β
β β - Convert to electrical/optical/radio signals β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Technologies/Protocols: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β Wired: β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β β Ethernet β β PPP β β FDDI β β β
β β β (802.3) β β(Point-to-Pt) β β (Fiber) β β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β β β
β β Wireless: β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β β Wi-Fi β β Bluetooth β β 5G β β β
β β β (802.11) β β (802.15) β β (NR) β β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
4. OSI vs TCP/IP Comparison¶
Layer Structure Comparison¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β OSI vs TCP/IP Layers β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β OSI 7 Layers TCP/IP 4 Layers β
β β
β βββββββββββββββββββ β
β β 7. Application β β
β βββββββββββββββββββ€ βββββββββββββββββββ β
β β 6. Presentation β ββββββββΊ β 4. Application β β
β βββββββββββββββββββ€ βββββββββββββββββββ β
β β 5. Session β β
β βββββββββββββββββββ€ βββββββββββββββββββ β
β β 4. Transport β ββββββββΊ β 3. Transport β β
β βββββββββββββββββββ€ βββββββββββββββββββ β
β β 3. Network β ββββββββΊ βββββββββββββββββββ β
β βββββββββββββββββββ€ β 2. Internet β β
β β 2. Data Link β βββββββββββββββββββ β
β βββββββββββββββββββ€ ββββββββΊ βββββββββββββββββββ β
β β 1. Physical β β 1. Network β β
β βββββββββββββββββββ β Access β β
β βββββββββββββββββββ β
β β
β OSI: 7 layers (Theoretical) TCP/IP: 4 layers (Practical) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Detailed Comparison Table¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β OSI vs TCP/IP Detailed Comparison β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββ¬ββββββββββββββββββ¬βββββββββββββββββββββββββ β
β β Aspect β OSI β TCP/IP β β
β ββββββββββββββββΌββββββββββββββββββΌβββββββββββββββββββββββββ€ β
β β # of Layers β 7 β 4 β β
β ββββββββββββββββΌββββββββββββββββββΌβββββββββββββββββββββββββ€ β
β β Developer β ISO β DARPA (US DoD) β β
β ββββββββββββββββΌββββββββββββββββββΌβββββββββββββββββββββββββ€ β
β β Timeline β 1984 β 1970s β β
β ββββββββββββββββΌββββββββββββββββββΌβββββββββββββββββββββββββ€ β
β β Purpose β Reference model β Actual implementationβ β
β ββββββββββββββββΌββββββββββββββββββΌβββββββββββββββββββββββββ€ β
β β Nature βTheoretical/ β Practical/Standard β β
β β βEducational β β β
β ββββββββββββββββΌββββββββββββββββββΌβββββββββββββββββββββββββ€ β
β β Protocols βDefined separate β Defined together β β
β ββββββββββββββββΌββββββββββββββββββΌβββββββββββββββββββββββββ€ β
β β Layer bounds β Clear β Flexible β β
β ββββββββββββββββΌββββββββββββββββββΌβββββββββββββββββββββββββ€ β
β β Reliability βTransport layer β Transport layer only β β
β β β only β β β
β ββββββββββββββββΌββββββββββββββββββΌβββββββββββββββββββββββββ€ β
β β Current use βReference/ β Internet standard β β
β β βEducational β β β
β ββββββββββββββββ΄ββββββββββββββββββ΄βββββββββββββββββββββββββ β
β β
β Key Differences: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β 1. OSI: Model before protocols (Top-down) β β
β β TCP/IP: Protocols before model (Bottom-up) β β
β β β β
β β 2. OSI: Each layer defined independently β β
β β TCP/IP: Considers inter-layer interaction β β
β β β β
β β 3. OSI Session/Presentation layers integrated β β
β β into TCP/IP Application layer β β
β β β β
β β 4. TCP/IP is de facto Internet standard β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Why TCP/IP Prevailed¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TCP/IP Success Factors β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1. Practicality β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β - Implementation first, then model β β
β β - Evolved with working code β β
β β - "Rough consensus and running code" β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β 2. Openness β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β - Free to use for anyone β β
β β - Standards published as RFCs β β
β β - No proprietary technology β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β 3. Flexibility β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β - Accommodates various network technologies β β
β β - Easy to add new applications β β
β β - Connects heterogeneous systems β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β 4. First-mover Advantage β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β - Already in use on ARPANET β β
β β - Early adoption by universities and research labs β β
β β - Included in BSD Unix by default β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
5. Protocols at Each Layer¶
Complete Protocol Stack Diagram¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TCP/IP Protocol Stack β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Application Layer β β
β β β β
β β βββββββ βββββββ βββββββ βββββββ βββββββ βββββββ β β
β β βHTTP β β FTP β βSMTP β β DNS β β SSH β βDHCP β β β
β β βHTTPSβ βSFTP β βPOP3 β β β β β β β β β
β β ββββ¬βββ ββββ¬βββ ββββ¬βββ ββββ¬βββ ββββ¬βββ ββββ¬βββ β β
β β β β β β β β β β
β βββββββΌββββββββΌββββββββΌββββββββΌββββββββΌββββββββΌβββββββββββββ β
β β β β β β β β
β βββββββΌββββββββΌββββββββΌββββββββΌββββββββΌββββββββΌβββββββββββββ β
β β βΌ βΌ βΌ β βΌ β Transport β β
β β ββββββββββββββββββββββββββββ βββββββββββββ β β
β β β TCP ββ β UDP β β β
β β β (Connection-oriented, ββ β(Connless) β β β
β β β Reliable) ββ β β β β
β β βββββββββββββ¬βββββββββββββββ βββββββ¬ββββββ β β
β β β β β β β
β ββββββββββββββββΌβββββββββββββββΌββββββββββΌββββββββββββββββββββ β
β β β β β
β ββββββββββββββββΌβββββββββββββββΌββββββββββΌββββββββββββββββββββ β
β β βΌ βΌ βΌ Internet β β
β β βββββββββββββββββββββββββββββββ β β
β β β IP β β β
β β β (Addressing, Routing) β β β
β β ββββββββββββββββ¬βββββββββββββββ β β
β β β β β
β β ββββββββββββ¬ββββββββββββΌββββββββββββ¬βββββββββββ β β
β β β ICMP β ARP β RARP β IGMP β β β
β β ββββββββββββ΄ββββββββββββ΄ββββββββββββ΄βββββββββββ β β
β β β β β
β βββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββ β
β β βΌ Network Access Layer β β
β β βββββββββββββ βββββββββββββ βββββββββββββ β β
β β β Ethernet β β Wi-Fi β β PPP β β β
β β β (802.3) β β (802.11) β β β β β
β β βββββββββββββ βββββββββββββ βββββββββββββ β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β Physical Transmission Media β
β (Cables, Fiber optics, Radio waves) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Major Protocol Details¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Application Layer Protocols β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Protocol Port Transport Description β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β HTTP 80 TCP Hypertext transfer β
β HTTPS 443 TCP Secure HTTP (TLS) β
β FTP 20/21 TCP File transfer (data/control) β
β SSH 22 TCP Secure remote access β
β Telnet 23 TCP Remote access (insecure) β
β SMTP 25 TCP Mail sending β
β DNS 53 UDP/TCP Domain name resolution β
β DHCP 67/68 UDP Automatic IP assignment β
β TFTP 69 UDP Trivial file transfer β
β HTTP/3 443 QUIC Next-gen HTTP β
β POP3 110 TCP Mail retrieval β
β IMAP 143 TCP Mail access β
β SNMP 161/162 UDP Network management β
β LDAP 389 TCP Directory service β
β SMTPS 465 TCP Secure mail sending β
β IMAPS 993 TCP Secure mail access β
β POP3S 995 TCP Secure mail retrieval β
β MySQL 3306 TCP Database β
β RDP 3389 TCP Remote desktop β
β PostgreSQL 5432 TCP Database β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ICMP (Internet Control Message Protocol)¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ICMP β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Role: Network error reporting and diagnostics β
β β
β Main Message Types: β
β ββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Type 0 β Echo Reply (ping response) β β
β β Type 3 β Destination Unreachable β β
β β Type 5 β Redirect (route change advice) β β
β β Type 8 β Echo Request (ping request) β β
β β Type 11 β Time Exceeded (TTL expired) β β
β ββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ping command: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β $ ping 8.8.8.8 β β
β β PING 8.8.8.8 (8.8.8.8): 56 data bytes β β
β β 64 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.2 ms β β
β β 64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=8.9 ms β β
β β β β
β β Type 8 (request) β destination β Type 0 (response) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β traceroute command: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Send packet with TTL=1 β expires at first router β β
β β Send packet with TTL=2 β expires at second router β β
β β ...repeat to discover all routers in path β β
β β β β
β β $ traceroute google.com β β
β β 1 192.168.1.1 1.234 ms β β
β β 2 10.0.0.1 5.678 ms β β
β β 3 ... β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ARP (Address Resolution Protocol)¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ARP β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Role: IP address β MAC address translation β
β β
β Operation Process: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β 1. ARP Request (Broadcast) β β
β β β β
β β Host A All hosts on network β β
β β βββββββββββ "What's the βββββββββββ β β
β β β IP: β MAC address β IP: β β β
β β β192.168 β of 192.168 β192.168 β β β
β β β .1.1 β .1.2?" β .1.2 β β β
β β β MAC: β ββββββββββββββββββββΊβ MAC: β β β
β β β AA:BB: β β CC:DD: β β β
β β β CC:DD: β β EE:FF: β β β
β β β EE:FF β β 00:11 β β β
β β βββββββββββ βββββββββββ β β
β β β β
β β 2. ARP Reply (Unicast) β β
β β β β
β β Host A Host B β β
β β βββββββββββ "My MAC addr is βββββββββββ β β
β β β βββββββββββββββββββββ β CC:DD: β β β
β β β β CC:DD:EE:FF: β EE:FF: β β β
β β β β 00:11" β 00:11 β β β
β β βββββββββββ βββββββββββ β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ARP Table: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β $ arp -a β β
β β Internet Address Physical Address Type β β
β β 192.168.1.1 aa-bb-cc-dd-ee-ff dynamic β β
β β 192.168.1.2 cc-dd-ee-ff-00-11 dynamic β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β * ARP cache: Stores results for efficiency β
β * ARP only works within same network (subnet) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
6. Actual Communication Flow¶
Complete Web Page Request Process¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β www.example.com Web Page Request Process β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β User: Enter www.example.com in browser β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Step 1: DNS lookup (domain β IP) β β
β β β β
β β Browser β DNS server β β
β β "What's the IP of www.example.com?" β β
β β β β
β β DNS server β Browser β β
β β "93.184.216.34" β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Step 2: TCP connection (3-way handshake) β β
β β β β
β β Client Server β β
β β β ββββββββ SYN ββββββββββΊ β β β
β β β ββββββββ SYN-ACK βββββββ β β β
β β β ββββββββ ACK ββββββββββΊ β β β
β β β β
β β Connection established (session started) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Step 3: HTTP request β β
β β β β
β β Client β Server β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β GET / HTTP/1.1 β β β
β β β Host: www.example.com β β β
β β β User-Agent: Mozilla/5.0... β β β
β β β Accept: text/html... β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Step 4: HTTP response β β
β β β β
β β Server β Client β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β HTTP/1.1 200 OK β β β
β β β Content-Type: text/html β β β
β β β Content-Length: 1256 β β β
β β β β β β
β β β <!DOCTYPE html> β β β
β β β <html>... β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Step 5: TCP connection termination (4-way handshake) β β
β β β β
β β Client Server β β
β β β ββββββββ FIN ββββββββββΊ β β β
β β β ββββββββ ACK βββββββββββ β β β
β β β ββββββββ FIN βββββββββββ β β β
β β β ββββββββ ACK ββββββββββΊ β β β
β β β β
β β Connection closed β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Detailed Encapsulation Process¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Detailed Encapsulation β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Application Layer (HTTP request) β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β HTTP DATA (GET / HTTP/1.1...) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β Transport Layer (TCP) β
β ββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββ β
β β TCP Header β HTTP DATA β β
β β Src: 50000 β β β
β β Dst: 80 β β β
β β Seq: 1000 β β β
β ββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β Internet Layer (IP) β
β ββββββββββββββ¬βββββββββββββ¬βββββββββββββββββββββββββββββββββ β
β β IP Header β TCP Header β HTTP DATA β β
β β Src: 192. β β β β
β β 168.1.100 β β β β
β β Dst: 93. β β β β
β β 184.216.34 β β β β
β β TTL: 64 β β β β
β ββββββββββββββ΄βββββββββββββ΄βββββββββββββββββββββββββββββββββ β
β β β
β Network Access Layer (Ethernet) β
β ββββββββ¬βββββββββββββ¬βββββββββββββ¬βββββββββββββββββββ¬ββββββ β
β βPream βEth Header β IP Header β TCP + HTTP DATA β FCS β β
β βble βSrc MAC: β β β β β
β β βaa:bb:cc... β β β β β
β β βDst MAC: β β β β β
β β β11:22:33... β β β β β
β ββββββββ΄βββββββββββββ΄βββββββββββββ΄βββββββββββββββββββ΄ββββββ β
β β β
β Physical Layer (Bit stream) β
β 10110100 01101011 11010010 10101100 01011001 ... β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Routing Process¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Routing Process β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Source: 192.168.1.100 β
β Destination: 93.184.216.34 β
β β
β βββββββββββββββ β
β β Client β 192.168.1.100 β
β ββββββββ¬βββββββ β
β β β
β β β Not same network, send to default gateway β
β β (Get gateway MAC via ARP) β
β βΌ β
β βββββββββββββββ β
β β Router A β 192.168.1.1 (internal) / 10.0.0.1 (external)β
β ββββββββ¬βββββββ β
β β β
β β β‘ Check routing table, determine next hop β
β β Decrement TTL in IP header (64 β 63) β
β β Create new Ethernet frame β
β βΌ β
β βββββββββββββββ β
β β Router B β ISP router β
β ββββββββ¬βββββββ β
β β β
β β β’ Continue routing... β
β β (TTL decrement, frame recreation) β
β βΌ β
β ...... β
β β β
β β β£ Reach destination network β
β βΌ β
β βββββββββββββββ β
β β Server β 93.184.216.34 β
β βββββββββββββββ β
β β
β At each hop: β
β - IP packet unchanged (except TTL, checksum) β
β - Ethernet frame recreated (MAC addresses changed) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
7. TCP vs UDP¶
TCP Details¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TCP (Transmission Control Protocol) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Characteristics: Connection-oriented, reliability, ordering β
β β
β 3-Way Handshake (Connection establishment): β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β Client Server β β
β β β β β β
β β β βββββββ SYN (seq=x) βββββββββββΊ β β β
β β β β β β
β β β βββββββ SYN-ACK ββββββββββββββ β β β
β β β (seq=y, ack=x+1) β β β
β β β β β β
β β β βββββββ ACK (ack=y+1) βββββββββΊ β β β
β β β β β β
β β β Connection established β β β
β β β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Data Transmission (Sliding window): β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β Send window (Window Size = 4) β β
β β β β
β β βββββ¬ββββ¬ββββ¬ββββ¬ββββ¬ββββ¬ββββ¬ββββ¬ββββ¬ββββ β β
β β β 1 β 2 β 3 β 4 β 5 β 6 β 7 β 8 β 9 β10 β β β
β β βββββ΄ββββ΄ββββ΄ββββ΄ββββ΄ββββ΄ββββ΄ββββ΄ββββ΄ββββ β β
β β β² β² β β
β β βββββββ¬ββββββββββββββ β β
β β β β β
β β Can send without ACK β β
β β β β
β β Window "slides" forward when ACK received β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β 4-Way Handshake (Connection termination): β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β Client Server β β
β β β β β β
β β β βββββββ FIN βββββββββββββββββΊ β β β
β β β β β β
β β β βββββββ ACK ββββββββββββββββ β β β
β β β β β β
β β β βββββββ FIN ββββββββββββββββ β β β
β β β β β β
β β β βββββββ ACK βββββββββββββββββΊ β β β
β β β β β β
β β β Connection closed β β β
β β β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Congestion Control: β
β - Slow Start: Small initial window, exponential growth β
β - Congestion Avoidance: Linear growth after threshold β
β - Fast Retransmit: Immediate retransmit on 3 duplicate ACKs β
β - Fast Recovery: Quick recovery after congestion β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
UDP Details¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β UDP (User Datagram Protocol) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Characteristics: Connectionless, unreliable, fast β
β β
β Communication Method: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β Sender Receiver β β
β β β β β β
β β β βββββββ Datagram 1 ββββββββΊ β β β
β β β βββββββ Datagram 2 ββββββββΊ β β β
β β β βββββββ Datagram 3 ββββββββΊ β β β
β β β β β β
β β β (No ACK, no connection) β β β
β β β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β UDP Header (8 bytes): β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β 0 8 16 24 32 β β
β β βββββββββββββββββ¬ββββββββββββββββ β β
β β β Source Port β Dest Port β β β
β β βββββββββββββββββΌββββββββββββββββ€ β β
β β β Length β Checksum β β β
β β βββββββββββββββββ΄ββββββββββββββββ β β
β β β β
β β Much simpler than TCP header (20+ bytes) β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Use Cases: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β 1. DNS queries β β
β β - Small data, fast response needed β β
β β - Retry on failure (application level) β β
β β β β
β β 2. Video/Audio streaming β β
β β - Real-time important β β
β β - Some loss acceptable β β
β β β β
β β 3. Online gaming β β
β β - Low latency required β β
β β - Latest data more important than old β β
β β β β
β β 4. VoIP β β
β β - Real-time voice calls β β
β β - Better to skip than retransmit β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
TCP vs UDP Comparison¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TCP vs UDP Comparison β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββ β
β β Feature β TCP β UDP β β
β βββββββββββββββββββΌββββββββββββββββββΌββββββββββββββββββββββ€ β
β β Connection β Connection- β Connectionless β β
β β β oriented β β β
β β Reliability β Guaranteed β Not guaranteed β β
β β Ordering β Guaranteed β Not guaranteed β β
β β Flow control β Yes β No β β
β β Congestion ctrl β Yes β No β β
β β Overhead β High (20+ bytes)β Low (8 bytes) β β
β β Speed β Relatively slow β Fast β β
β β Retransmission β Automatic β None β β
β β Broadcast β No β Yes β β
β β Multicast β No β Yes β β
β βββββββββββββββββββΌββββββββββββββββββΌββββββββββββββββββββββ€ β
β β β Web (HTTP) β DNS β β
β β Usage examples β Email (SMTP) β Streaming β β
β β β File xfer (FTP) β Gaming β β
β β β SSH β VoIP β β
β βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββ β
β β
β Selection Criteria: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Choose TCP when: β β
β β - Data integrity is critical β β
β β - All data must arrive β β
β β - Order matters β β
β β β β
β β Choose UDP when: β β
β β - Real-time is critical β β
β β - Some loss is acceptable β β
β β - Broadcast/multicast needed β β
β β - Fast response required β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8. Practice Problems¶
Basic Problems¶
1. List the 4 layers of the TCP/IP model from bottom to top.
2. Classify the following protocols as TCP or UDP: - HTTP, DNS, FTP, VoIP, SMTP, online gaming
3. Choose the protocol that matches each description: - Translates IP address to MAC address: ( ) - Reports network errors and provides ping: ( ) - Translates domain name to IP: ( )
Options: DNS, ARP, ICMP, DHCP
4. Explain the sequence of the TCP 3-way handshake.
Application Problems¶
5. Describe the network communication process that occurs when accessing www.google.com in sequence.
6. Explain at least 5 differences between TCP and UDP.
7. For the following situations, explain which protocol (TCP or UDP) would be appropriate and why: - (a) Online banking service - (b) Real-time video conference - (c) Large file download
Advanced Problems¶
8. Compare the OSI 7-layer and TCP/IP 4-layer models and explain why TCP/IP became the Internet standard.
9. Analyze the following scenario:
When running traceroute, "* * *" appears at the 5th hop.
What are possible causes?
10. Explain why TCP's congestion control mechanisms (Slow Start, Congestion Avoidance) are necessary and how they work.
Answers
**1.** Network Access Layer β Internet Layer β Transport Layer β Application Layer **2.** - TCP: HTTP, FTP, SMTP - UDP: DNS (mostly), VoIP, online gaming **3.** - IP β MAC: ARP - Error reporting/ping: ICMP - Domain β IP: DNS **4.** 1. Client β Server: SYN (seq=x) 2. Server β Client: SYN-ACK (seq=y, ack=x+1) 3. Client β Server: ACK (ack=y+1) **5.** 1. DNS lookup to translate domain to IP 2. TCP 3-way handshake to establish connection 3. TLS handshake (for HTTPS) 4. Send HTTP request 5. Receive HTTP response from server 6. Render web page 7. TCP connection termination (4-way handshake) **6.** 1. Connection: TCP is connection-oriented, UDP is connectionless 2. Reliability: TCP guarantees, UDP doesn't 3. Ordering: TCP guarantees, UDP doesn't 4. Speed: TCP slower, UDP faster 5. Overhead: TCP 20+ bytes, UDP 8 bytes 6. Flow/congestion control: TCP only 7. Broadcast: UDP only **7.** - (a) TCP - Financial data requires integrity and reliability - (b) UDP - Real-time is critical, some loss acceptable - (c) TCP - All data must arrive correctly **8.** - OSI is theoretical 7 layers, TCP/IP is practical 4 layers - TCP/IP became standard due to: practicality, openness, flexibility, first-mover advantage - Evolved on ARPANET with working code **9.** Possible causes: - Router blocking ICMP responses - Firewall filtering ICMP - Router CPU load preventing ICMP processing - Network congestion **10.** - Necessity: Prevent network congestion, fair bandwidth distribution - Slow Start: Start window at 1, double every RTT - Congestion Avoidance: Linear growth after threshold (ssthresh) - When packet loss detected, reduce window size to alleviate congestionNext Steps¶
- 04_Physical_Layer.md - Physical Layer and Transmission Media
References¶
- TCP/IP Illustrated (W. Richard Stevens)
- Computer Networking: A Top-Down Approach (Kurose & Ross)
- RFC 793: TCP
- RFC 768: UDP
- RFC 791: IP