Questions?
What happens when I go to example.com or google.com home page?
What do I need to send a request packet?
What is an address?
How do I get example.com address?
How do I get DNS's address?
How do I get my address?
How do I get DHCP's address?
What if I have more than one window or tab to the same google.com? How would return from google goes back to the correct tab?
room number of the same address ( aka port number)
Circuit switching versus Packet switching
What is it? How it works? Advantage/Disadvantage?
Circuit switching:
dedicated path, fixed bandwidth => ++ predictable delay, ++ predictable quality,
-- poor bandwidth utilization, -- limited number of simultaneous users
Different ways of multiplexing a circuit -- TDM, FDM, mixer of TDM/FDM, CDM
Packet switching:
dynamic path, shared bandwidth => ++ more users, ++ flexible bandwidth , ++ burst data,
-- random delay, -- packet loss, -- congestion
A store-n-forward network, based on statistical multiplexing
bottom line : control (quality, security) vs. utilization (efficiency, flexibility)
Try to get the best of both worlds:
virtual circuit -- create circuit switching environment in a packet switching network
Multi-tier ISP, peering, private peering, POP, CDN (content delivery network)
Throughput/Bandwidth and Delay
four packet delay sources .. processing, queuing, transmission, propagation
processing: CPU decides where the packet goes next and puts it in the corresponding interface queue
queuing: packet waits its turn to get to the front of interface queue
transmission: packet is put on the wire, bit by bit. Wire clock speed (e.g. 10 Mbps) and the number of bits (e.g. 2KB packet) determine the delay
propagation: the time 1 bit takes to go from one end of the wire to the other end. It is determined by wire distance and the speed of electron (constant) on wire
examples of low throughput & high delay ..light traffic, slow speed
low throughput & low delay ..light traffic, fast speed
high throughput & low delay .. heavy traffic, fast speed
high throughput & high delay ..heavy traffic, slow speed (congestion)
Packet loss
Where/How can it happen?
queue overflow / overrun
router crash
router drop (e.g. TTL expired, checksum error)
wire error (radiation, california wild fire :-)
malicious hack
TCP/IP layers
what are they?
where are they in the packet? Can I see it in wireshark?
why layering?
Internet Architecture principles
no strict layering
hourglass design philosophy
IP is the focal point .. many app, many transport on top, many link / physical network on bottom
working implementation
believe in rough consensus and running code