Chapter  1-- Evolution of networks and some basic terms and network layering principals.

  1. Basic terms
    1. Bandwidth -- rate at which network can transmit data
    2. Latency -- delay between sending of signal and receiving of same signal.
    3. Baud -- number of symbols sent per second.  NOT the same as bandwidth.
    4. Half duplex -- network that carries data in one direction at a time.
    5. Full duplex -- net goes both ways simoltainiously.
    6. Turn-around time -- time needed to switch a half-duplex link to the other direction.
    7. LAN -- set of computers connected by local area net (normally ethernet).
    8. WAN -- larger geograpic region (wide area net, like a campus).
    9. MAN -- metropaulitan area net (biggest area without satalites or long distance links).
    10. Ethernet -- the most common LAN
  2. Networking Goals
    1. Bandwidth high
    2. Latency low
    3. Correctness (data is correct and accurate)
    4. Availablility
      1. Stay up in the face of dead hardware
      2. Stay up in the face of enemy attack
    5. Privacy
    6. Verifiability of authorship
    7. Interoperability
      1. Use standard software and hardware
      2. Use gateways that can convert
    8. Ease of use
    9. Low Cost
  3. Basic throughput formula
    1. Packet delivery time = latency + size/bandwidth
    2. Bandwidth = baud * log2(number_of_possible_symbols)
    3. Number of possible symbols = signal_strength/noise_strength
    4. Ineffeciancies can stem from
      1. Errors in transmissions
      2. Idle time (time not used for transmitting).
      3. Need for acknoledgements
      4. Turn-around time if it's a half duplex link.
      5. Addressing overhead
  4. Layering
    1. The basic idea is to not try and do to much at one.  Have each layer only offer a little more than the layer below it.  And offer access to the lower layers for application that want only simple services.
    2. Example:  Businessmen sending contract proposals. (see page 24)
      1. Businessman speaks into tape- hands secratay tape
      2. Secratary translates tape into written letter
      3. Fax machine sends written letter to Japan.
    3. Lessions learned.
      1. Can build complex services out of several simple layers.
      2. Each sending layer takes previous data, and (possibly) adds more data to it.
      3. Lower layers deal with more data than upper layers
      4. Each layers data is the above layers entire packet.
      5. Extra data is overhead.
      6. Extra data is needed for each layer to function.
      7. While upper layers are working, network media is idle (processing overhead).
      8. No layer need know how the pervious layer works.
        1. I could change yelling to sign language and everything would be OK (though speed accuracy might change).
        2. I can change Ethernet and TCP would still work (and Ethernet was not around when TCP was designed).
  5. Classes of communication services
    1. Two ways to classify -- Rate of data or guarentee made to sender
    2. Rate based scheme ...
      1. Asychronus (printing a file, event logging).
        1. Data can come at variable rate. (can temporarily exceed bandwidth, but not long term).
        2. Errors or drops are FIXED
        3. Optionally, receiver sees message as intended, but with possibly unlimited delay.
        4. Optionally, receiver sees only "best effort", with no gaurentees.
        5. With connections, order can guanrenteed.  without connections it is not.
      2. Sychonus (voice, video, data logging)
        1. Data comes at a fixed maximum rate. (limited by bandwidth)
        2. Data might be corrupted or lost in transit
        3. Voice would be delivered at fixed delay, with possible drops or background noise.
      3. Expedicted
        1. Example is ^C in telnet
        2. Just means data gets delivered before other data.
        3. Generally makes more sense in a connection oriented scheme.
    3. Guarentee based scheme
      1. If network promisses to get the data there, it cannot make any promisses about arrival rate
      2. If network promisses an acceptance rate, it cannot make any promisses about getting the data there.
      3. Cannot offer gaurenteed delay and correctness, because an unlikely set of errors might make that impossible.
  6. Standard layering
    1. General Thoughts
      1. Lower layers more important
      2. WIDELY accepted model, but not only reasonable one.
      3. Chart in Syllabus
    2. Application
      1. drives it all
    3. Presentation
      1. Converts between local format and standard format.
      2. Makes floating point numbers net standard, convert endianness, etc.
      3. Compression and encryption occur here.
    4. Session
      1. Does session negotiation (full duplex 8 bit even parity)
      2. Agrees on things like parity, protocol options, etc.
      3. The modem squeel at connection is session layer-like things.
    5. Transport
      1. Lowest layer that occures on both end computers but need not in between.
      2. Controls rate at which data is sent.
      3. Assembles packets in correct order for application
    6. Network
      1. Routes data between each individual node.
      2. reroutes based on congestion and such
    7. Data Link
      1. Does retransmission of corrupted or dropped data.
      2. Offers reliable datagrams
    8. Physical
      1. The physical connection.  Wires and electrical standards and such.
      2. Not really always a concern for C.S.  Alot of EE people here