Introduction to Internetworking [60,elliot]
===========================================

1. Introduction to the course

Approximate Schedule

Tuesday
7:00	Introduction to Internetworking - elliot
(break)
8:10	The Internet Protocol (IP) - elliot
(break)
9:00	IP Addressing and Routing - elliot

Wednesday
7:00	The Domain Name System (DNS) - jhawk
(break)
7:50	The Transmission Control Protocol (TCP) - jhawk
(break)
9:00	Applications: e-mail & the Web - elliot

Thursday
7:00	Hardware - elliot
(break)
8:00	Internet Engineering - jhawk
(break)
9:00	Technical Internet Tools - elliot
9:30	IP Multicast & the Multicast Backbone (MBone) - jhawk

Who are we?
- course sponsored by the Student Information Processing Board (SIPB)
- volunteer student group
- help to enhance the computing environment at MIT
- software documentation, computer services, software development,
  user education

Instructors

o Elliot Schwartz
	- Undergrad in EECS
	- research at LCS with the Advanced Network Architecture group
	- formerly Network Engineer with UUNET Canada
o John Hawkinson
	- Network Engineer with BBN Planet
	- IETF & NANOG participant

2. What is Internetworking?

- a way to allow computers to communicate across networks

Terminology
- protocol
- layers
- protocol stack
- encapsulation

Abstraction through Layers
[diagram]

Why?
- allows gradual change and evolution of system
  ex. ethernet to fast ethernet, addition of multicast to IP
- splits technology into areas that can be developed by different groups
  ex. 3COM makes ethernet cards, cisco/bay networks make routers, netscape
      does software
- allows multiple systems
  ex. you can use TCP or UDP, ethernet or FDDI, netscape or mosaic

How to make it?
- like any program/system you might design, electrons go at the bottom,
  users go at the top - fill in the middle (somewhat) arbitrarily
- add/refine services as you go up
[diagram] http://cio.cisco.com/univercd/data/doc/software/illus/12/s1280.gif
- lower level data and header becomes upper level data (encapsulation)
[diagram] http://cio.cisco.com/univercd/data/doc/software/illus/12/s1282.gif

How to use it?
- users/programmers communicate between machines at a particular layer
- bits actually go down through the stack, across the network and up the
  other side
[diagram] ex. telnet across an ethernet, web across the Internet (maybe fr)


International Organization for Standardization,
Open Systems Interconnection model
(ISO-OSI) [1984]

History
- designed as a standard reference model for designing and implementing
  protocols
- there are some protocols from the ISO that have been designed and/or
  implemented, but most aren't in wide use (CLNP, ISIS, X.400, X.25)
- Internet protocols came first, so had some influence on this model, but
  there's not a perfect correspondence
- useful as a teaching model though

Model
[diagram]
- Application Layer
   - actual applications of network in programs
- Presentation Layer
   - data representation formats
- Session Layer
   - management of connections
- Transport Layer
   - network independant connections between machines providing various
     services
- Network Layer
   - connecting multiple physical networks together
- Link Layer 
   - how you use the physical layer to communicate
- Physical Layer 
   - electrical, mechanical connections

3. Internetworking and the Internet

Correspondence to Internet Protocols
[diagram] http://cio.cisco.com/univercd/data/doc/software/illus/13/s1337.gif
* Link and physical often come in pairs
- Ethernet specifies both link and physical layers
- FDDI is at physical, LLC is at LINK
- Serial lines are physical, PPP is a link
* Link specific protocols bridge the gap to the IP (Network) layer
- ARP/RARP for Ethernet (also Frame Relay, ATM)
- other schemes for other links
* Network
- IP over everything; that's why it's called the Internet
* Transport
- reliable stream service: Transmission Control Protocol (TCP)
- unreliable datagram servce: User Datagram Protocol (TCP)
* Above transport is pretty muddy

4. Where the other courses fit in

Internet Protocol 
- provides a way for all machines on the Internet to send packets
  (variable size pieces of data) to each other
- fragmentation and reassembly of long packets

IP Addressing and Routing
- packets get passed from router to router based on the address
- encompasses a method of addressing each node

The Domain Name System (DNS)
- primarily, a way of mapping IP addresses to easy to use names, and vice
  versa
- also used to distribute routing information for e-mail

The Transmission Control Protocol (TCP)
- runs over IP
- provides reliable stream service between port numbers

Applications: e-mail & the Web
- SMTP is a text based protocol that runs over TCP. Hosts use it to send
  e-mail to mail servers, and mail servers use it to communicate between
  themselves.
- HTTP is a (mostly) text based protocol. Web clients connect to web servers
  and request documents using it.

Hardware
- Lots of hardware is in the Internet
- most of it is at the Physical/Link layer (ethernet adapters/hubs/cables)
- routers pass packets at the Network layer (though routing can also be
  implemented on a general purpose host)
- hosts have higher level functions such as TCP or UDP

Internet Engineering
- the actual design of the Internet involves making design choices at a
  number of levels
- in particular: routers, local area networking, and wide area networking

Technical Internet Tools
- a number of tools exist for exploring/debugging the internet at various
  levels
- telnet: explore text based TCP protocols like SMTP and HTTP
- tcpdump: look at the network traffic; get information on things between
  link and application level
- traceroute: find the path a packet takes between hosts
- ping: find the round trip time to a host
- netstat: find the state of tcp and udp connections on a host

IP Multicast & the Multicast Backbone (MBone)
- support has been added to IP on a number of platforms to support multicast
  (packets with multiple recipients)
- multicast routing is different from unicast routing
- since unicast routing isn't ubiquitous on the Internet, some multicast
  routers communicate by tunnels, creating a Multicast Backbone or MBone

5. Standards

Standards are...
- a specification of protocols and architectures
- typically prepared by / withing the framework of some neutral organization
- unambiguous enough to allow different implementations to be interoperable

Internet Standards are produced by the IETF
- open, volunteer organization; anyone can participate
- most participants tend to be from the industry, or academia
- strong emphasis on producing results quickly, but with the requirement
  that there be experience using the protocols before it becomes standard

Other organizations come into play
- ITU (formerly CCITT) for telecommunications stuff
- IEEE for lower level protocols (Level 1 and 2)

References
http://cio.cisco.com/univercd/data/doc/cintrnet/75818.htm
http://ana-www.lcs.mit.edu/projects/sdcr-net/report
RFCs

