Dr. Mark Humphrys

School of Computing. Dublin City University.

Home      Blog      Teaching      Research      Contact


CA170      CA216      CA249      CA318      CA651

w2mind.computing.dcu.ie      w2mind.org


  Functions of each layer

TCP/IP stack

1.1 Uses of Networks

Might be easier to list things they can't be used for!
  1. Communication - Email was the 1st killer app of the Internet (1970s-80s)
    1. email
    2. chat, messaging, social networking
    3. VoIP, videophone, skype.com

  2. Access to info and services - Web was the 2nd killer app (1990s)
    1. text, news, research
    2. images, flickr.com
    3. audio, video, music, streaming radio and TV, youtube.com, IPTV
    4. programs, software archives, Windows Update

  3. Work
    1. Communication - email, messaging, videoconferencing, email mailing lists
    2. Collaboration - write docs in team, Google Docs
    3. Sharing info - stock database, customer database, Intranet (may be international internal network)
    4. Resource sharing - printers, scanners
    5. Universities - tele-learning
    6. Hospitals - tele-medicine
    7. Mobile workers - taxis, fleets, trucks, ships, aircraft, military
    8. B2B - parts from suppliers - Extranet
    9. Job search
    10. Virtual reality - 3D representation of a real city where you can see the real shops, restaurants, etc.

  4. Home
    1. Communication - email, chat, discussion groups, home pages, blogs
    2. Social networking - Facebook, Twitter
    3. Games
    4. Virtual reality - Second Life, which has a virtual Dublin
    5. Internet has revolutionised these industries:
      1. Music - piracy, pay-to-view, iTunes.
      2. TV and Movies - piracy, pay-to-view, Netflix.
        YouTube gives entirely new environment for TV and Movies - trailers always available, old clips, compilations, mash-ups, ads (none of these things could exist before).
      3. Dating
      4. Porn
      5. Gambling
      6. Healthy hobbies, like my hobby of Genealogy - pay-to-view remote access to databases
    6. Access to services - bank, tax
    7. B2C - selling online
      1. buying information - subscriptions, music
      2. buying objects by post - amazon
      3. buying tickets - travel, events
      4. research before buy - cars, houses
      5. online auctions
      6. customer support
    8. C2C - ebay
    9. Resource sharing - home network - share broadband Internet access
    10. Home LAN with all devices. e.g. Belkin WeMo.
    11. Family and friends Intranet

  5. How to navigate:
    1. follow links in pages
    2. type in URLs found offline
    3. search - Google, Yahoo
    4. Top 100 most popular websites in Ireland
    5. Top 500 most popular websites

Nice summary of how the Internet is changing our lives:

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 *.

Feeds      HumphrysFamilyTree.com

Bookmark and Share           On Internet since 1987.