Computer networks -- 2007-2008 -- info.uvt.ro/Course 3
Quick links:
- front;
- courses 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13;
- laboratories agenda, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, evaluation, tools, repository.
Network architecture models
editConcepts
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
editTheoretical models:
- OSI -- Open systems interconnection -- wikipedia:OSI model;
Historical models:
- DNA -- Digital network architecture -- wikipedia:DECnet;
- SNA -- System network architecture -- wikipedia:IBM Systems Network Architecture;
- DPA -- DOD (department of defense) protocol architecture;
Current models:
- TCP/IP -- the successor of DPA;
Comparison
editOSI | 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
editConcepts:
- 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- Computer networks -- 2007-2008 -- info.uvt.ro/Course 2#Physical layer;
- wikipedia:Physical layer;
- it concerned with signal processing (analog or digital);
- it involves more electronics than informatics;
- it handles raw data, usually a stream of bits -- for example modems;
- examples:
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:
- wikipedia:Internet Protocol -- IPv4, IPv6;
- wikipedia:Internetwork Packet Exchange -- IPX;
Transport layer
edit- Computer networks -- 2007-2008 -- info.uvt.ro/Course 2#Transport layer;
- wikipedia:Transport layer;
- it's main purpose is to split larger packets into smaller ones, and reassemble them on the other side;
- also it should reorder messages at the destination -- if applicable;
- in the case of reliable protocols it should resend the missing messages;
- in case of connection-oriented protocol it manages the connection establishment and destruction;
- this layer is usually implemented inside the operating system;
- examples:
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
editDNA
editLayers:
- 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
editSNA 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
editLayers:
- 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:
- IP over IP;
- IP over PPP;
- VPN;
- as a funny side note see wikipedia:IP over Avian Carriers;
- overlay networks;
Internet layer
edit- wikipedia:Internet Protocol;
- it handles IP packets;
- it is based on packet-oriented, connection less, unreliable inter-network layer;
- it is the core of the stack;
- it allows hosts to insert packets inside the network, and lets these packets reach the destination;
- each packet travels the network independently; as side-effects:
- packets might be lost;
- packets could be rearranged;
- packets could be received multiple times;
- it handles network congestion;
- the packets used are the IP packets;
- helper protocols over:
- wikipedia:Internet Control Message Protocol -- mainly used for error messages, and network diagnostic;
- wikipedia:Internet Group Management Protocol -- mainly used for multicasting;
- wikipedia:Address Resolution Protocol -- resolving a network address into a hardware address;
- wikipedia:Reverse Address Resolution Protocol;
Transport layer
editGeneric:
- 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
editCommon protocols:
- wikipedia:Hypertext Transfer Protocol -- HTTP;
- wikipedia:File Transfer Protocol -- FTP;
- wikipedia:Domain Name System -- DNS;
- wikipedia:Dynamic Host Configuration Protocol -- DHCP;
- wikipedia:Network Time Protocol -- NTP;
- wikipedia:Secure Shell -- SSH;
- wikipedia:TELNET;
- wikipedia:Simple Mail Transfer Protocol -- SMTP;
- wikipedia:Post Office Protocol -- POP3;
- wikipedia:Internet Message Access Protocol -- IMAP;
- wikipedia:Extensible Messaging and Presence Protocol -- XMPP;
- wikipedia:Internet Relay Chat -- IRC;
- wikipedia:Simple Network Management Protocol -- SNMP;
- wikipedia:Network News Transfer Protocol -- NNTP;
Special protocol that are used as wrappers:
- wikipedia:Transport Layer Security -- TLS/SSL;
Historical protocols: