The Network Layers Breakdown

Reading: chapter: 7.2, Lec17, Chapters 17-18 of the 6.02 notes, Chapter 19 of the 6.02 notes.

network layers

organization

Principle: adopt sweeping simplifications, networks are organized as layers (layering of protocols).

three-layer reference model example: a defense program has a procedure call and the procedure for single user.

  1. protocols involved in this example

    • protocol between client stub and service stub / the main program and the procedure it calls

    • remote procedure call (RPC) protocol -> improvement: convert single user -> multiuser by RPC

    • Send/receive message to/from network -> add a transport layer to communicate

  2. In usual layered organizations, a module has two interfaces. A network module has three (transport + presentation (data format, semantics) + application).

  3. Layered design: Each layer provides an interface to the layer above and hides interfaces below.

  4. Layers are abstracted as three parts: end-to-end layer, network layer, link layer. Application layer is not included.

    • Data flow from top down: message/stream -> segments -> packets -> frames
      • data sent from upper layer to the lower layer is called payload. The lower layer attached a header and trailer to the front and end of the data so the corresponding lower layer can process. That’s why layers can hide
    • link layer: packet switched network, send the bits of the packet across one link. Ex: ethernet, wifi, bluetooth
    • network layer: deliver a segment from the source to the destination. Ex: IP

end-to-end layer

Each layer considers the payload transmitted by the layer above to be information that it is not expected, or even permitted, to interpret.

Problems: Why the end-to-end layer is an unstructured library of service modules?

Different applications have a wide range of requirements for services and any lower layer decision in one app can be counterproductive fro at least some apps.

  1. RPC provides services hiding underlying network aspects from its app

    • presentation services: change data formats and semantics

    • transport services: streams/messages -> segments with lost, duplicated, out-of-order segments.

    • session services: search, handshake, …

  2. Open Systems Interconnect has seven layers. The additional layers are:

    • link layer -> strategy layer (data link layer) + physical layer

    • end-to-end layer -> application + presentation + transport + layer providing the session services

the end-to-end argument

Principle: the end-to-end argument: the application knows best. Don’t bury it in a lower layer, let the end points deal with it because they know best what they need.

Example: file transfer and checksum

When sending a file from A to B, B will recalculate the checksum anew after receiving the file to verify a complete delivery (application layer checksum).

Given the end-to-end approach, oen can add a link-layer checksum. This additional check does not eliminate the application layer check but can act as a performance enhancement for it observes failure sooner.

mapped and recursive apps

Decomposition a network has two forms: maaped, recursive.

  1. mapped composition: build network layer A on network layer B by mapping high-layer addresses to lower-layer network addresses.

    • example: Appletalk (add a better network technology), Internet protocol (internetworking)
  2. recursive composition: a three-layer network rests on a link layer of another network

    • example: tunnel (+encryption = VPN), overlay network
  3. The Internet links many network layers by mapping them all to a universal network layer using IP.

    • end-to-end protocols: TCP, UDP, RTP…
    • application protocols: FTP (file transfer), HTTP (www), SMTP, POP (mail dispatch and pickup), IRC (text messaging), VoIP (telephone), Gnutella, bittorrent (file exchange)…

olc

  1. protocol is a fancy name of contract for networks as spec for programming languages. It achieves agreements on the calling function and called one.
  2. IP is in the network layer. TCP is in a layer above IP.

packet switching

Takeaways from Lec17 packet switching:

  1. packet switched network:

    • design objective: efficiency and reliabilty
      • use address on the message
      • break down big source data to small packets
    • communication link is associated with an address.
    • packet is an atomic unit of delivery. It consists of a link (source addr, destination addr) and message (bits).
    • network topology
  2. statistical multiplexing: when too many packets come to a switch and exceed its receiving limit, it waits in queue. If queue is full, then the switch just drop the packet and let the end point deals with.

    • queue adds latency of data transmission.

    • It is better to store the packet inside switch which piles up tasks exceeding current processing limit of a switch

    • multiplexing/demultiplexing

  3. Real life traffic is like temporarily burst to 10 times of average bit rate.

    • A malicious virus example is DDOS attack on websites, that is a large amount of accessing the service out of limit of websites.
  4. Bandwidth is in terms of Herz. If it’s v, it refers to a range of frequencies of data transmission around the value v.

  5. Evaluation standards of network are: 1) rate of link, 2) delay (or latency)

    • propagation delay: time to send one bit
    • transmission delay: time to send size L bits over a link with bit rate c, L/c. It’s also the time from the first bit to the last bit arriving at the switch.
    • processing delay: host and switch deal with packet (header, checksums)
    • queueing delay: time spent waiting in queue