Chapter 5 - Network Layer Important Concepts datagram vs virtual circuit subnets routing static vs dynamic routing fairness vs optimality optimality principle shortest path - Dijkstra's algorithm flooding distance vector routing count-to-infinity problem link state routing hierarchial routing broadcast and multicast routing congestion control congestion vs flow control prevention vs control (response) jitter and jitter control quality of service requirements overproviding buffering traffic shaping resource reservation internetworking differences between networks multiprotocol routers concatenated virtual circuits connectionless internetworking tunneling fragmentation internetwork routing interior gateway protocol exterior gateway protocol Autonomous System (AS) Important Protocols IP top 10 principles IPv4 header IP addresses classes dotted decimal notation network vs host bits subnets and subnet mask CIDR aggregate routing entry NAT IPv6 goals and improvements header extension headers addresses controversies OSPF requirements connections supported areas and backbone area classes of routers designated router adjacent router BGP policy considerations stub networks multiconnected networks transit networks TCP connection between peers convergence ICMP ARP RARP, BOOTP, DHCP IGMP Chapter 6 - Transport Layer Important Concepts transport service services to upper layers transport entity transport service provider transport service user connection-oriented vs connectionless service primitives Berkeley sockets socket programming (labs) transport protocol comparision to data link protocol addressing - ports relationship of ports to IP addresses multiplexing - upwards and downwards connection establishment detect delayed duplicate packets sequence number choosing avoid forbidden region three-way handshake connection release two-army problem handshake and timeouts flow control and buffering buffer size, sharing dynamic window size crash recovery performane issues problems broadcast storm bandwidth-delay product performance measurement statistically relevent system design fast TPDU processing protocols for gigabit networks Important Protocols UDP header request-reply RPC RTP TCP service model ports, well known ports header flags window size pseudoheader connection establishment connection release finite state machine transmission policy avoiding 1 byte send/window Nagle's algorithm Clarke's solution congestion control congestion window slow start algorithm timer management transactional TCP Chapter 7 - Application Layer DNS resolver namespace domains TLDs - gTLDs, ccTLDs tree-like structure unnamed root path seperated by dots absolute name relative name resource records format type field reverse lookups (PTR type) nameservers zones authoritative record recursive query caching nameserver E-mail user agent message transfer agent envelope header RFC 822 header/envelope format MIME headers types content encoding SMTP HELO/EHLO sequence POP3 Authorization Transactions Update/quit IMAP comparision to POP3 filters vacation daemon webmail WWW hypertext, hyperlink browser W3C URLs format protocols client side fetching a page plugin vs helper application server side serving a page multithreaded server server farm cookies format nonpersistent (session) persistent HTML tags directives attributes style sheet XML and XSL seperate style and content structured XHTML major and minor differences dynamic pages CGI PHP client side Javascript applets ActiveX HTTP connections methods server response codes message headers performance enhancements proxy, caching server replication WAP protocol stacks Multimedia continuous, streaming media simple file serving metafile keeping buffer full size of audio/visual streams server storage space bandwidth for delivery Voice over IP H323 vs SIP Chapter 8 - Network Security Areas Secrecy Authentication Nonrepudiation Integrity Control Cryptography cipher vs code plaintext, key, ciphertext algorithms public, keys private work factor principles redundancy freshness symmetric key algorithms block ciphers cipher modes public key algorithms requirements RSA signing data for secrecy for nonrepudiation digital signatures symmetric key public key message digests important properties MD5, SHA-1 management of public keys certificates certificate authorities chain of trust revocation Communication Security IPsec modes headers Firewalls packet filtering application gateways VPNs Wireless security weaknesses 802.11 WEP Bluetooth WAP Authentication Protocols shared secret key challenge-response reflection attack general rules Diffie-Hellman exchange man in the middle attack key distribution center reply attack Needham-Schroeder algorithm Kerberos authentication server ticket granting server public key how to distribute public keys Email Security PGP symmetric, public key and message digests original vs Open PGP private, public key rings secrecy vs nonrepudiation modes Web Security DNSsec prevent DNS spoofing - cache poisoning extension of RR types w/ public key crypto SSL secure connection establishing connection premaster, session keys using connection comparison w/ TLS