DISC - 1 day tcp/ip introduction ------------------------------------------------------------------------------ - Jim Binkley - jrb@cs.pdx.edu - http://www.cs.pdx.edu/~jrb - http://www.cs.pdx.edu/~jrb/tcpip.html suggested texts for further study: TCP/IP Illustrated. The Protocols. Volume 1. W. Richard Stevens. Addison-Wesley. 1994. ISBN 0-201-63346-9. Unix Networking Programming. Stevens. ISBN 0-13-949876-1. (Highly recommended -- especially for information on programming BSD sockets). topic outline: intro tcp/ip - family of protocols internet basics (telnet/ftp/www) - use the inet to get more info about the inet get rfcs/drafts from internet repositories what we will talk about up through TCP/IP layers including a few apps tcp: ftp/www/telnet/email udp: DNS/udp, nfs BSD socket api initial concepts encapsulation layering major protocols client/server model ietf and internet society rfcs/drafts standardization protocol design work a few books link-layer topologies basic: point to point and broadcast/multicast(bus) derived: mesh, ring lan versus wan lan, ethernet, token ring, wireless lans wan, analog phone lines with modem xfer, leased lines, t1, t3, wireless wans packet/circuit switches ethernet how it works, broadcast addressing packet headers point to point tcp/ip hides telco universe in link-layer "not our problem"... slip/ppp mtu localhost i/f repeaters/bridges/routers bridges adaptive switched network layer/arp basic idea protocol a few variations proxy arp promiscious arp test understanding so far: how does arp work? network layer/ip nature of ip (unreliable datagram, no QOS, routing) ip addresses classes subnetting class B subnet example ip header routing architectural model algorithms basic ip forwarding arp flaw routing in linux routing in BSD (netBSD, freeBSD, SunOS?) test of understanding: how to construct class C subnet architecture network layer/icmp icmp rules message types some basic tcp/ip networking utilities ping traceroute network layer/intro to routing concepts architectural model for routing daemons routing topologies same link intradomain interdomain interior gateway protocols/exterior gateway protocols distributed routing algorithms link state-versus vector-distance congestion, convergence scalability rip/rip-2 test of understanding: rip convergence ospf cidr quick words about interdomain routing protocols bgp transport/udp udp philosophy udp ports - arch. implications checksums in general, ip with ports psuedo-header what is udp for? arch. model a la UNIX transport/tcp nature of tcp tcp "socket" architectural client/server model a la UNIX tcp state machine/startup shutdown sliding window protocol delayed acks nagle roundtrip timer congestion control tcp efficiency what is tcp for? apps/dns fundamental, but still an app naming protocol how it works message oriented on top of udp client/server caching/authoritative servers/ttls apps/SMTP/e-mail tcp/file xfer architectural model protocol MIME for non-ASCII data xfer apps/www introduction clients/servers protocols how it works HTTP/HTML apps/telnet virtual terminal/tcp architectural model protocol apps/ftp tcp/file xfer ftp arch. model bsd client protocol design apps/nfs udp/remote file system architectural model Sun RPC/XDR protocol model whirlwind tour of BSD socket api via examples - optional? tcp versus udp as application "transports" tcp client/server examples udp client/server examples optional: bootstrapping (if time permits) - optional? flaw in IP and how it is imperfectly "addressed" icmp rarp bootp dhcp