Dr. Mark Humphrys

School of Computing. Dublin City University.

Home      Blog      Teaching      Research      Contact

My big idea: Ancient Brain


CA114      CA170

CA668      CA669      Projects

Introduction to Networks (more)

  Functions of each layer

TCP/IP stack

1.2 Hardware

Host or Node - machine on a network
Server - machine that provides some service to a Client.
Packet - piece of data being transmitted.
Router - machine on the network whose (sole) function is to route packets to correct destination (i.e. it switches packets between a choice of at least 2 outgoing lines). In wide-area network (Internet) there are many issues here.

A router.
From here.

Transmission technology:
  1. Broadcast links - comms channel shared by all machines on network.
    Any packet sent is received by all machines. It may be addressed to all, or subset, or to only one.
    If not addressed to you, it is received, address field read, and then ignored.
    e.g. Ethernet

  2. Point-to-point links - connection from machine A to machine B.
    Point-to-point network consists of many such links. To get from one machine to another, packet has to travel through a number of other machines.
    e.g. Internet.

  1. Personal area network
  2. Local-area network
  3. Metropolitan-area network, e.g. Cable TV, or Fixed wireless
  4. Wide-area network, e.g. Internet

1.3 Software

1.3.1 Protocol stack

Network built as layers.
Job of each layer is to offer services to higher layers, and hide from those higher layers the details of how the services are implemented.
e.g. Link in network changes from fiber optic to wireless. Lower layer has to change radically. But service it provides to higher layer is unchanged. Higher layer never knows that physical nature of link has changed.
Same concept as virtual machine
or "information hiding" good practice in OO.

Conceptually, layer n on machine A talks to layer n on machine B (its peer).
The data actually travels down, along physical link, and then up through layers.
All this is hidden from layer n, which seems to be talking direct to layer n on other machine.

Headers and trailers

Layers often add control data to the message to be read (and then removed) by their peer layer on other side:

Here there is a limit to message size on the network, so this message is broken up and later re-assembled.
This is handled by layer 3 on each side. Higher layers do not need to know.

1.3.2 Some services a layer might provide

1.3.3 Connection-oriented v. Connectionless

  1. Connection-oriented service - like phone system.
    Set up link. Then push bits through same path. All arrive in order they were sent. Then remove link.

  2. Connectionless service - like postal system.
    Each packet has address of destination and is routed separately.
    They may travel on different links. They may arrive out of order.
Reliable service - never loses data. Receiver ack's the receipt of each message.
Acks mean overhead. Sometimes no point e.g. phone over Internet - if a few bits lost so what.
Whereas file transfer must be reliable.

1.4 OSI stack v. Internet (TCP/IP) stack

OSI model of how to set out the layers is universally used to discuss networks.
In practice, OSI networks lost to the Internet (TCP/IP) model.
Despite this, the OSI model is even how we talk about the TCP/IP model.

Functions of each layer

  1. Physical
    1. How to send raw bits on the channel (e.g. how many volts to represent 1, how many nanosec a bit should last).

  2. Data Link
    1. Error recovery. (e.g. Message broken into small units - frames. Frames checked for errors. Acks sent. If bad frame ask for re-transmit.)
    2. Flow control.
    3. Access to shared channel in broadcast medium.

  3. Network
    1. Routing
    2. Addressing
    3. Internetworking
    4. Traffic
    5. Quality of service (delays, jitter)

  4. Transport
    1. What type of service to provide to actual apps (e.g. reliable, preserve-order, connectionless, etc.)
    2. When A talks to B, and data travels through intervening router machines 1 .. n, it goes:

      TA - NA - DA - D1 - N1 [R] - D1 - D2 - N2 [R] - D2 ... - Nn - Dn - DB - NB - TB

      [R] = routing decision made at this point

    3. In other words, Transport layer is the first end-to-end layer.

  5. Session
    1. Manage dialogue between end-user application processes.
    2. Establishes checkpointing, adjournment, termination, and restart procedures.

  6. Presentation
    1. Syntax and semantics of data
    2. MIME encoding of binary data for email
    3. Encryption

  7. Application
    1. End-user applications
    2. e.g. ftp, http, telnet, email

TCP/IP stack

Abstract stack

1.5.2 Connection-oriented networks

ATM - Connection-oriented protocol.
Suitable for streaming video/audio (whereas Internet protocol IP is not so suitable).
Was meant to replace IP, but didn't.
Widely used in telephone system backbone, often for moving IP packets.
The debate is still ongoing, as people try to establish high-quality streaming video/TV over IP.

1.6 Network Standards

IEEE 802.* standards.
Important ones marked with *.

ancientbrain.com      w2mind.org      humphrysfamilytree.com

On the Internet since 1987.

Wikipedia: Sometimes I link to Wikipedia. I have written something In defence of Wikipedia. It is often a useful starting point but you cannot trust it. Linking to it is like linking to a Google search. A starting point, not a destination. I automatically highlight in red all links to Wikipedia and Google search and other possibly-unreliable user-generated content.