Professional Documents
Culture Documents
CS 640
But files are transmitted without holes? Reliable transfer is a function of a specific protocol layer (TCP) Distinct functions are separated into layers
lower layers as black boxes (like C library)
ISO Architecture
End host Application End host Application
Presentation
Presentation
Session
Session
Transport
Transport
Network
Network
Network
Network
Data link
Data link
Data link
Data link
Physical
Physical
Physical
Physical
CS 640
Internet Architecture
Defined by Internet Engineering Task Force (IETF)
1. Application: interacts with user to initiate data transfers (browser, media player, command line) 2. Transport: reliable, in-order delivery of data (TCP and UDP) 3. Network: addressing and routing (IP) 4. Data Link: defines how hosts access physical media (Ethernet) 5. Physical: defines how bits are represented on wire (Manchester)
Multiplexing between layers Layers access other layers via APIs (eg. sockets) Communication at a specific layer is enabled by a protocol
CS 640 4
Hourglass Design
Single protocol at network level insures packets will get from source to destination while allowing for flexibility
FTP HTTP NV TFTP
TCP
UDP
IP
NET1
NET2
NETn
CS 640
IP Internet
Concatenation of Networks
H1 H2 H3 Network 4 (point-to-point) Network 2 (Ethernet) R1 R2 H4 Network 1 (Ethernet) H7 R3 H8
Protocol Stack
H5
Network 3 (FDDI)
H6
H8 TCP IP ETH
CS 640
IP Service Model
Connectionless (datagram/packet-based) Best-effort delivery (unreliable service)
packets are lost packets are delivered out of order duplicate copies of a packet are delivered packets can be delayed for a long time
0 4 Version HLen Ident TTL Protocol SourceAddr DestinationAddr Options (variable) Data Pad (variable) 8 TOS Flags 16 19 Length Offset Checksum 31
Datagram format
CS 640
Datagram Forwarding
Strategy
every datagram contains destinations address if directly connected to destination network, then forward to host if not directly connected to destination network, then forward to some router forwarding table maps network number into next hop each host has a default router each router maintains a forwarding table
Network Number 1 2 3 4 R3 R1 interface 1 interface 0 Next Hop
Example
CS 640
Forwarding Tables
Suppose there are n possible destinations, how many bits are needed to represent addresses in a routing table?
log2n
CS 640