Internets and the Internet Protocol

Chapter 20-23

  1. So many different types of networks.
    1. Computer networks existed before the Internet.
    2. There were different basic technologies used.
    3. Even with the underlying technology, manufacturers made incompatible designs.
  2. The Defense Advanced Research Projects Agency (DARPA) (or occassionally just ARPA) makes grants to research universities.
    1. Many of these grants involved purchasing of computers. (Back when one computer was a large expense.)
    2. DARPA wanted to reduce the number of computers by allowing researches network access.
    3. Different groups wanted different types.
    4. So DARPA started studying how to network computers over different types of incompatible network.
  3. It's a hard problem.
    1. The text calls a box which connects different types of network a “router,” though I don't know that's the usual use of the term.
      Format A; 10-bit addresses; Packets max 4096 bytes; no session id;
      Format B; 2-part addresses, 10 bits and 20 bits; Packets max 1000 bytes; numeric session id;
      Format C; 32-bit addesses; Packets max 1500 bytes, min 200 bytes; no session id
      Format D; 20-bit addresses; Packets max 1024 bytes, must be a multiple of 16; text session id
    2. Different nets use different formats and protocol rules; routers have to convert.
    3. Lots of possible differences:
      1. Packet size and format.
      2. Forward error correction v. acknowledgement.
      3. Line access protocols.
      4. Host name format and meaning.
      5. Packet size limits.
    4. Conversion is hard
      1. How do you forward a packet when it is too large? You'll have to break it up, but how do you tell the receiving network that it's multiple pieces?
      2. How do you send from a host on network A to a host on D, when the naming scheme is completely different?
      3. How do send a message from an network that uses FEC to a recveiver that doesn't even use parity codes?
      4. etc.
  4. Better solution: The virtual network.

    1. This is none of the networks we are trying to unite; it is an abstraction, much like a software interface.
    2. It exports an abstract set of network operations implemented with whatever hardware is available.
    3. The virtual network is build in software, and has its own packet format, addressing scheme and protocols.
    4. These are implemented using the various hardware networks with different properties.
    5. The routers in the above picture
      1. Do not try to convert packets from one network format to another.
      2. The receive an Internet packet as the payload from one network, and send it out again as the payload over the out-bound network.
  5. The TCP/IP protocol suite implements our Internet.
    1. There's no reason why a different protocol could not implement an internet in a different way, but no one has found a reason to make one.
    2. Research first funded by DARPA, then the National Science Foundation (NSF).
    3. Transitioned to commercial when it became obvious that was needed.
    4. The stack again:
      1. The Internet layer implements the software abstraction.
      2. Layers above Internet operate entirely with IP datagrams (the abstract network). They operate exactly the same way on any Internet host.
      3. The Internet layer and below depend on the type of network in use. A computer connected to different types of network will need different versions of these for each type.
      4. The Internet layer sends to and receives from the Network Interface layer packets conforming with the hardware network rules.
      5. The Network Interface layer sends and recevies hardware packets using the particular hardware involved.
  6. Hosts and Routers
    1. A host is any attached computer that runs applications.
    2. Routers are attached, but do not run applications.
    3. Plain routers need only IP protocol layers 1, 2 and 3.
    4. Firewalls are special routers, and will need to understand level 4.
  7. There are two versions of the Internet Protocol.
    1. The common one is (still) version 4.
    2. Version 6 has some advantages, but is not widely used by consumers.