Internet in a nutshell

Home

Reading assignments

Programming Assignments

Resources

Syllabus

Slide Sets

Final Project Ideas

Updates


    Layers

      Physical

      Intenet protocol

      connection

      application

    physical/media

      Ethernet, modem, isdn, typical

      physical addressing

      packet limits

      throughput vs. latency

      availability

    What is the internet protocol

      packet transmission

      unreliable delivery

      fragmentation

      addressing for distributed routing

      network of networks

      UDP

    TCP -- the connection layer

      Built on UDP

      Establish connections / close connections

      control throughput and demand

      recover from errors

      guarantee sequence of delivery

      port numbers and services

    TCP connection lifetime

      Establishment

      data exchange

      teardown

      In-band and out of band data.

      programmer view: looks like a file + a litte asynchrony

    setup process

      are you there and willing to connect?

      Yes, I am...

      OK, let's start talking...

    teardown process

      I want to stop, and won't send more data, are you ready to stop?

      Yes, I'm ready to stop, let's do it.

      OK, I'm hanging up now

    This can't always work

      The two armies

      two small armies want to attack the valley

      The valley army can only be beaten if they attack at the same time

      messengers must go through the valley, and thus can't necessarily get through.

      No matter how many you send, you can't be sure to win

    Naming on the internet

      DNS is a thing of beauty

      Root servers keep track of who owns chunks of the namespace

      They delegate requests to others

      Each piece of information has a lifetime, so it can be cached

      responsibility for resolution is very widely distributed

      It's mostly quite fast

      This decouples structure of names from routing structure of network, as IP addresses decouple from physical structure

    HTTP as an application protocol

      lightness and speed

        For who?

      for the programmer

      open a socket, ask a question, get an answer, close the socket

      How many packets?

      How much latency?

      Proxy servers retransmit requests and data, and process them

      clients want to cache data

      character sets need to be represented

    This is how http 1.1 got to be so huge

      proxies

      caching (in a big chain)

      URL translation

      persistent connections