1. Intro speech
    1. Goal:  be educational
    2. Describe some current issues
    3. Provoke thoughts
    4. Entertain
  2. Atilla the Hun and the problem of agreement.
    1. Statement of problem
      1. Atilla and Hanibal need to attack Ceasor togther or be defeated seperately.
      2. Can only communicate via unreliable messenger traveling over mountain.
      3. They try various ideas involving acknowledgements and all fail.
    2. Relate to computer networks
      1. Atilla and Hanibal are computers trying to communicate
      2. Mountain is unreliable network.
      3. Messengers are network packets.
    3. Proof SKTECH: Not a real proof.
      1. Suppose a protocol exists. Choose one of the shortest such protocols.
      2. Drop the last successful packet. Protocol must be able to handle this event.
      3. That means that the protocol was not in fact the shortest.
      4. Contradiction: Therefore no such protocol exists.
    4. Conclusion: Computers communicating via unreliable networks can never be certain they agree.
      1. Implications for general R.P.C.
        1. Can get at-least-once semantics.
        2. Can get at-most-once semantics.
      2. Implication for file systems: Use of at-least-once semantics.
        1. Read works: client knows data was read, server doesn't care.
        2. Write works: client knows data written, server trusts client to announce problems.
        3. Create or Delete file: client gets error if create or delete happens twice.
      3. Implications for ATM: at-most-once semantics
        1. Bank is COMPLETELY UNWILLING to use at-least-once semantics of handing out money. They REALLY want an upper limit.
        2. People should be unwilling to accept at-most-once semantics on there money. They really want a lower limit.
        3. Banks trust that people who don't get money will bitch. They make no such assumption for people who get too much money.
        4. Paper log and human's one telphone provide an extra-network way of handling these rare problems.
      4. Implications for small-scale HTML transactions
        1. Cannot get perfect accounting without extra-network solutions.
  3. Routing and the flood-fill
    1. In sixties, DOD decides the free world needs for a reliable computer network to connect the president to the nuke missles.
    2. Network should work during nuclear war (links go down, nodes go down, radio transmission is "problematic").
    3. They have lots of money and lots of brains.
    4. Decide on flood-fill routing algorithm.
      1. Each host sends data out every link except the incoming one.
      2. No host forwards a packet twice.
      3. Protocol is expensive (every byte travels down every wire) and keeps secrets poorly.
    5. Current use -- network news
      1. Each host offers every directly connected host whatever news it has.
      2. Routes around hosts that don't take a full feed just like around a nuclear war.
        1. Yes, mac binaries and child porn get through.
  4. IPv6 (or IPng)
    1. What is it, The next protcol after IPv4.
    2. Who -- BSD, AIX, DEC, HP-UX, Linux (working), MacOS (demo'd), Novell, SCO, Solaris, VMS, 3com, bay networks, CISCO, and FTP systems for Windows (and demo for WinNT inside research group)
    3. Goals:
      1. GROWTH. We are running out of internet addresses, even though there should be 4G of them.
        1. Each address contains the name of the attached network for routing purposes.
        2. Creators were originally unsure if the world would be a few large networks or many small networks. Choose a compomise solution.
          1. 126 networks or 16M hosts each
          2. 16,384 networks of 65,534 hosts each.
          3. 2,097,151 networks of 254 hosts each.
        3. Cannot hand out less than 254 addresses at a time.
        4. Often handed out wrong. Example, UK has a class B address but has no more than a thousand or so computers on campus.
        5. Besides, internet of the future will probably hav toaster ovens and individual light switches on it. Airplanes DO have internal networks. Homes are likely not far behind.
        6. Should run out of addresses sometime in next few years.
      2. Transition
        1. MUST be able to run IPng and IP together.
        2. Only limit is that IP hosts cannot talk to IPng hosts without an IP address.
        3. Have mechanism so that each IP address has a matching IPng address. Net admins need not manually renumber there machines.
      3. Multicast and ANYcast addresses.
        1. Multicast is just send to all of many hosts. Can be much more effecient than multiple copies of single-cast. Perfect for video broadcasts.
        2. ANYcast sends to one (probably closest) address.
          1. Can be used for a Lycos on each continent.
          2. Can be used for routing over a particular network.
      4. Priority
        1. NON-real-time goes: unknown, filler (netnews), email, reserved, FTP and HTTP, reserved, telnet and X, network-control.
        2. REAL time goes 1-8 from most willing to drop down to least willing to drop.
  5. Business Models -- The real problem
    1. Not like the phone.
      1. You should pay for bytes sent across trunk lines, not time, and NOT by month.
      2. Small requests can generate unkown and large amounts of responce. Cannot ask content providers to pay this cost. (especially the amatures).
      3. Suppose someone just starts sending you data. Must you pay (like a mobile phone).
      4. MCI announces a high-quality-service connection.
        1. Provides priority routing across there network.
        2. Does not provide priority routing across any network in Azerbiajan.
      5. IPv6 offers quality of service .
        1. If I'm an application writer, I can improve my app's performance by using high-quality service.
        2. Costs me nothing -- hurts rest of Inet.
    2. I'm aware of no solution that lets me point/click and attaches costs anything like the costs I impose on the network.
    3. Further -- Anonimity and anon.penta.fi
    4. Further -- censorship in a world with no universal laws.