Intro to Client/Server Computing-3
The OSI Reference Model for Networks
(Part 1 & 2)
The Open System Interface (OSI) Reference Model specifies how data from an application in one computer moves through a network medium to an application running on another computer. The 7 layers are organized as media(1-physical, 2-data link, 3-network, 4-transport) and host(5-session, 6-presentation, 7-application). Media, here, refers to the mode by which data is transmitted over distance; e.g., over microwaves, coaxial cable, and so on. Host, here, refers to any computer on a network that is capable of running applications. All devices on a network, regardless of capability or description, are called nodes. (Nowadays, cases of the node that can't run a program are rare; they include dumb terminals). So the "host layers" are responsible for the final communications between the network and the application (such as a web browser).
There are several fundamentally different networking formats described by the OSI reference model; the different formats are called suites, and the TCP/IP (Internet Protocol) represents one such suite of 7 mutually compatible layers. Another, technically analogous suite is the UMTS cell phone standard, which also has seven layers--although not all of those layers are populated. Within each layer of each suite, there may be several alternative standards, which serve distinct purposes; as, for example, within the TCP/IP suite, the network layer (layer 3) includes both the Internet Protocol (IP) and the Internet Control Message Protocol (ICMP). Both are essential for data layer to function.
These layers can also be called protocol stacks, rather like a seven-story building with several different offices on each floor. Since the division between individual floors is somewhat subjective, it's conceivable that empty floors might not be counted. Still, at some future date, they might be.
Bear in mind that the purpose of the OSI reference model is to furnish a topology of all possible types of data networks. It is not always the case that each of type of data network will "see itself" in the same 7-layer model. For example, the TCP/IP model was developed separately from the OSI reference model; it lumps together the application (7), presentation (6), and session (5) layers; moreover, it refers to layer 3 as the "Internet layer" rather than the "network layer." Still, it is not hard to find the analogous layers in the simpler 5-tier model.
Two components of two different networks that occupy the same level in the OSI model are known as peers. Each layer in the OSI model interacts directly with either the layer directly underneath, the one directly overhead, and (sometimes) with peers. So, for example, the data layer (2) in a network interacts with the physical layer (1), the network layer (3), and other network's implementations of the data layer.
Layer 1: Physical
The physical layer includes the specs for cables and routers. The data link layer consists of the precise format for encoding data for transmission. All of the hardware and its technical requirements constitute layer one. Examples include serial connections, fiber optics (and connectors), coaxial connectors, DSL, and other tangible cable standards; also, standards for wireless transmission.
Layer 2: Data
Data needs to be transmitted in a particular format so that higher-order patterns can be communicated to the machines in the system. In the familiar TCP/IP suite, data is transmitted in packets corresponding to very specific parameters. One of the more famous examples of this is Ethernet, which has very detailed instructions for framing of packets. These packets can be likened to cars on a highway; in contrast, the continuous stream of data over a telephone line during a telephone conversation would be more comparable to a train, which is running down that length of railroad during the entire duration of the conversation. In order for transmissions of data to be transmitted this way coherently, protocols must exist to define what indicates the beginning and duration of a packet. Other protocols must exist to ascertain if the packet is valid, or if it is corrupted.
Examples of data protocols for the TCP/IP suite include, as mentioned, Ethernet (IEEE 802.3); WiFi (IEEE 802.11); Asynchronous Transfer Mode (ATM); Frame Relay; and Token Ring. Please observe this list is not exhaustive.
Layer 3: Network
This is the format that describes the actual network structure. IP is the component of the Internet suite that resides at the network layer (3); it reads the MAC address and uses it to route the packet in accordance with the network architecture. Part of the technical difficulty posed by IP is that it addresses a network of networks. Hence, a frame is likely to pass through many routers as it goes from network to network. The part of the network that an individual router is connected to is called a subnet; each node in the network is connected to a router within the subnet. The level 3 IP address directs the packet/frame to the correct subnet, but requires the address resolution protocol (ARP) to convert the IP address to the correct (layer 2) MAC address. The ARP often manages broadcasts between routers and all nodes on its subnet, which therefore imposes some technical constraints on the size of the subnet attached to a router. If the router addresses too many nodes, ARP requests will constantly be tying up the NIC's on the subnet.
Another component of the TCP/IP suite that is necessary for normal functioning is the Internet Control Message Protocol, which is used for error messages between networked computers (partial list of messages).
Layer 4: Transport
The transmission control protocol (TCP) is the other part, that resides at the transport layer (4). The TCP is responsible for converting packets into steady pipelines of data that a local application requires; or, when data is flowing down the protocol stack, the transport layer is responsible for splitting the datastream into packets.
An alternative protocol to TCP is Stream Control Transmission Protocol (SCTP), a somewhat more advanced data transmission standard that allows for networking along multiple transmission modes (like Ethernet & WiFi) at the same time. In network parlance, this is known as multi-homing. The link above explains the application possibilities in greater detail, but the basic concept is that a network with widespread multi-homing would enable a higher-order of parallelism.
Layer 5: Session
The session layer is the set of standards for coordinating and managing a period in which the host processor is connected to the network. In a client/server network, the session manager coordinates requests and responses between the local and remote applications; it manages the opening and closing of sessions. Session protocols determine if a connection between client and server are full-duplex (information can flow both directions simultaneously) or half-duplex (information can flow only one direction at a time).
In the TCP/IP suit, this is also managed by TCP (for the most part).
Layer 6: Presentation
Translates data into formats recognizable to the application layer. Also allows data security at this layer [*].
Multipurpose Internet Mail Extensions (MIME) is an example of a universally-used presentation layer protocol. What it does is allow the transmission of non-ASCII data, such as graphics or non-English characters (e.g., Æ, č, љ, ζ) to applications such as STMP, which can only recognize ASCII characters.
Layer 7: Application
This layer is responsible for managing applications and application interface with the rest of the network. An example is the Domain Name System (DNS), which correlates domain names (like news.bbc.co.uk) with an IP address. This then allows browsers to navigate the internet. Another important application-layer protocol is the already-mentioned SMTP, which manages email; or HTML, which allows a browser to generate a graphical display of Internet data.
ADDITIONAL READING & SOURCES: Cisco Systems, "Internetworking Basics"; RouterGod, "CCNA Bootcamp: the OSI Model";
Wikipedia: OSI Reference Model;
Labels: client/server