- What is the Internet?
- Hardware and software components
- Circuit switching vs packet switching
- History
- Why is the Internet the way it is?
- Application requirements and resulting design choices
- Layered architecture
- Physical layer
- Physical links: cables, leased lines, last mile technologies, wireless
- Signal encoding: NRZ, Manchester
- Bandwidth and latency
- Data link layer
- Framing in point-to-point links: PPP, HDLC, SONET
- Medium access and framing: Ethernet, FDDI (Token Ring), 802.11 wireless
- Error detection: parity, checksum, CRC
- Reliability and flow control
- Switching: packet switching (hubs, switches, bridges), circuit
switching (ATM)
- Network layer
- IPv4 header format: Fragmentation and reassembly
- Addressing
- Subnetting, CIDR (supernetting)
- DHCP, ARP, tunneling
- Intra-domain routing: Distance vector (RIP), Link state (OSPF), Mobile IP
- Inter-domain routing: BGP
- Longest prefix match algorithms for packet forwarding
- NAT, IPv6
- Internet2, [MPLS], ICMP
- Transport layer
- Unreliable data transmission (UDP)
- Reliable data transmission (TCP)
- Why not use reliability mechanisms of data link layer?
- Connection establishment/termination
- Reliability and Flow control: sliding window
- Triggering transmission at sender: Nagle's algorithm
- Timeout estimation algorithms: Karn/Partridge, Jacobson/Karels
algoritms
- Congestion control: AIMD, slow start, fast retransmit and fast
recovery
- Issues with TCP header: sequence number and advertised window spaces,
TCP extensions
- Router assisted congestion avoidance: DEC bit, RED
- [RPC]
- Application layer/other topics
- SMTP, HTTP, content distribution networks (CDNs) (ex: Akamai)
- Overlay networks: peer-to-peer (Gnutella)
- DNS
- Network security: secret key cryptography (DES), public key
cryptography (RSA), hash digests (SHA-1), Diffie-Hellman key
exchange, example systems (PGP, SSH, TLS (SSL), VPNs), Firewalls,
WEP
- Multicast
- QoS: integrated services, differentiated services