Computer networks -- 2007-2008 -- info.uvt.ro/Course 3

From Wikiversity
Important! These pages are somehow outdated and it is recommended to consult the newer version at Computer networks -- 2008-2009 -- info.uvt.ro (by Ciprian Crăciun).

Quick links:


Network architecture models[edit]

Concepts[edit]

  • layers;
  • layer transparency:
    • each layer speaks only with the one below;
    • symmetry -- each layer is concerned only with the dialog with it's counterpart;
  • layer or protocol stack;

Models[edit]

Theoretical models:

Historical models:

Current models:

  • TCP/IP -- the successor of DPA;

Comparison[edit]

OSI DNA SNA DPA
7) Application 8) User 7) Transaction services 4) Process / application
7) Network administration
6) Presentation 6) Network application 6) Presentation services
5) Session 5) Session control 5) Data flow control
4) Transport 4) Communication (task-to-task) 4) Transmission control 3) Host-to-host
3) Network 3) Routing 3) Route control 2) Inter-network
2) Data link 2) Data link 2) Data link control 1) Network access
1) Physical 1) Physical 1) Physical control

OSI[edit]

Concepts:

  • layers;
  • services:
    • what a specific layer does -- the semantics;
  • interfaces:
    • how the layers access one another;
    • what are the inputs, outputs, and expected behavior;
  • protocols:
    • how the messages of a certain layer looks -- syntax;

Layers:

  • physical;
  • data link;
  • network;
  • transport;
  • session;
  • presentation;
  • application;

Physical layer[edit]

Data link layer[edit]

  • Computer networks -- 2007-2008 -- info.uvt.ro/Course 2#Data link layer;
  • wikipedia:Data link layer;
  • it controls the physical layer;
  • it handles small byte packets -- a couple of kilo octets;
  • it transforms the packets into a stream of bits which is sent to the lower level;
  • it must detect and try to correct receive errors;
  • it should have a simple flow control mechanism;
  • it should control the medium access timing;
  • it handles either unicast or broadcast communication;
  • implemented directly into the hardware;
  • examples: as the data link layer is very closely related with the physical layer, please see the above examples;

Network layer[edit]

  • Computer networks -- 2007-2008 -- info.uvt.ro/Course 2#Network layer;
  • wikipedia:Network layer;
  • routes the packets from the source to destination;
  • routes could be static or dynamic (either at packet level or connection level);
  • if a node has multiple data links, and depending on the destination it chooses one;
  • it should avoid bottlenecks by implementing flow control mechanisms;
  • it involves an addressing scheme;
  • usually it connects heterogeneous networks, meaning that:
    • the addressing could be different;
    • the maximum packet size for the data link could differ;
  • this layer is usually implemented inside the operating system, but it could also be an hardware implementation for efficiency;
  • examples:

Transport layer[edit]

Session layer[edit]

  • Computer networks -- 2007-2008 -- info.uvt.ro/Course 2#Session layer;
  • wikipedia:Session layer;
  • usually from this layer up they are implemented directly by the application, and not by the operating system;
  • it could offer the following services:
    • user authentication and authorization;
    • encryption;
    • message authentication;
    • compression;
    • in case of dropped connection it could try to reconnect without the user intervention;
  • it could also provide support for combining messages from different connections to be combined into a single dialog between multiple parties;
  • it could synchronize messages from different connections -- for example audio and video stream for a video conferencing application;
  • it could handle transaction setup and termination between multiple parties -- also two step commit transactions;
  • usually it is unused;
  • possible examples:

Presentation layer[edit]

  • Computer networks -- 2007-2008 -- info.uvt.ro/Course 2#Presentation layer;
  • wikipedia:Presentation layer;
  • it involves the syntax used by the application layer;
  • it could define message structure;
  • it could serialize / deserialize or encode / decode the messages directly into objects, presenting to the application layer an object stream;
  • big-endian / little-endian conversion;
  • it could also apply ASCII to UNICODE (different versions, like UTF) transformations;
  • the encryption and compression operations could be also done at this level;

Application layer[edit]

DNA[edit]

Layers:

  • physical;
  • data link;
  • routing;
  • task-to-task;
  • session control;
  • network application;
  • network administration;
  • user;
Physical layer
  • concerned with the establishment of physical connections, sending and receiving bit strings;
  • it uses the EIA RS-232C standard between the DTE (data terminal equipment) and DCE (data circuit equipment);
  • the implementation of this layer includes the input and output routines for each communication equipment (modems, etc.);
Data link layer
  • it ensures error free transmission;
  • it ensures ordered transmission;
  • it uses the DDCMP protocol (digital data communication protocol);
Routing layer
  • it ensures the data delivery between the sender and the receiver;
  • it constructs the path between the destination and the source based on individual link between adiacent nodes;
  • it tries to detect a minimum cost path;
Task-to-task layer
  • it involves connection management; data flow control; segmentation and reassembly; error detection;
  • it is the core layer being responsible for the reliability and efficiency of the communication process;
Session control layer
  • manages logical connections for applications;
Network application layer
  • it defines some primitives that shall be used by upper levels;
  • it exports functions for file access, file transfer, terminal connectivity, etc.;
Network administration layer
  • this layer provides primitives that allow the administrators to manage the entire network;
  • it uses the NICE (network information control exchange) protocol;
User layer
  • it is addressed for application specific protocols;
  • it uses the services of the network application and administration layers;

SNA[edit]

SNA was developed by IBM in the 1970 to support network terminals connected to mainframes.

Node types:

  • terminals;
  • terminal controllers;
  • front-end processors;
  • host computers;

More nodes of the previous types put together are named a domain.

Each of these nodes contained one or more NAU (network addressable units), each process or application needing to connect to a NAU before contacting or being contacted.

There are three types of units:

  • LU (logical units) -- applications, subsistems, terminals connecting the users;
  • PU (physical units) -- one for each node, managing the host node;
  • SSCP (system services control point) -- one for each host computer, with control functions for a domain;

Layers:

  • physical control;
  • data link control;
  • route control;
  • transmission control;
  • data flow control;
  • presentation services;
  • transaction services;
Physical control
again with the purpose to exchange bit strings -- by using the RS-232C protocol.
Data link control
assures the correct data exchange between two nodes -- by using SDLC (synchronous data link control) protocol;
Route control
  • establishes a path between source and destination NAUs;
  • because an IBM network is hierarchical (in subnetworks) we have three sub layers:
    • virtual routing -- establishing the global routing from subnetwork to subnetwork;
    • explicit routing -- the route inside each subnetwork;
    • parallel paths -- computes different paths to ensure a better efficiency;
Transmission control + Data flow control
  • manages the logical connections;
  • synchronizes the exchange speed between two nodes;
  • encrypts or decrypts the data;
  • handles transmission errors;
Presentation services
  • handles various data transformations (like compression / decompression);
Transaction services
  • offers services for data distribution, document exchange, file management;

TCP/IP[edit]

Layers:

  • host-to-network;
  • internet;
  • transport;
  • application;

Links:

Host-to-network layer[edit]

  • it could be split into:
    • data link -- just like in the case of OSI;
    • physical link -- again like in OSI;
  • it should be concerned with the transport of an IP packet;
  • it could be replaced with a tunneling protocol:

Internet layer[edit]

Transport layer[edit]

Generic:

  • generically it involves managing dialogues between hosts;
  • the most known protocol are TCP and UDP;

TCP (transmission control protocol):

  • wikipedia:Transmission Control Protocol;
  • it is a connection-oriented, stream based protocol;
  • it fragments the byte stream into packets;
  • it reassembles the packets at the destination;
  • it handles lost packets;
  • it controls the data flow, ensuring a fast sender will not flood a slow receiver;
  • it implies some overhead;
  • the addressing is IP + port;

UDP (User datagram protocol):

  • wikipedia:User Datagram Protocol;
  • it is a connection-less, datagram based protocol;
  • it is unreliable and unordered;
  • it implies lower overhead;
  • the addressing is just like in the case of TCP;

Other useful protocols -- they are at the application layer:

Application layer[edit]

  • the protocol at this level are not specified by the model, and user designed;

TCP/IP vs OSI comparison[edit]

  • OSI is a theoretical model; TCP/IP is a real wold model;
  • OSI is generic; TCP/IP is more focused on solving a problem;
  • there is not only one document describing the TCP/IP models;
  • the OSI model clearly distinguishes between services, interfaces, and protocols; TCP/IP model does not have such a clear distinction;
  • in the case of TCP/IP first the protocols were developed, and only after the model was created;
  • OSI allows only connection-oriented in the upper layers; meanwhile TCP allows also connection-less protocols;
  • TCP/IP can only be used to describe itself -- it can not be generalized and applied to other protocol stacks; OSI can;
  • TCP/IP host-to-network layer, is in fact an interface -- it resumes to two operations send packet, receive packet;
  • TCP/IP ignores data-link and physical layers;

Application protocols[edit]

Common protocols:

Special protocol that are used as wrappers:

Historical protocols: