The Open Systems Interconnect (OSI) reference model is the basis of commercially available network service architectures. Other network protocols, developed independently, conform loosely to the model. The TCP/IP Internet Protocol suite is an example.
The OSI reference model is a convenient framework for networking concepts. Basically, data are injected into a network by a sender. The data are transmitted along a communication connection and are delivered to a receiver. To do this, a variety of networking hardware and software must work together.
The OSI reference model divides the functions of networking into seven layers, as depicted in Figure 1-1.
Each protocol layer performs services for the layer above it. The ISO definition of the protocol layers provides designers some freedom of implementation. For example, some applications skip the presentation and session layers to interface directly with the Transport layer.
The hardware layer of the model. On SPARC(TM) systems, it consists of the connector to the network transmission medium, any multiplexor boxes, and cables.
Does the sending and receiving. On the sending end, Ethernet (or similar) software organizes the data into packets of appropriate size and packages them. The packaging includes the physical address of the intended receiver. The layer also transmits the message packets and retransmits them if needed.
On the receiving end, the Ethernet hardware recognizes packets with its address and receives them. The Ethernet software strips the transmission packaging and reassembles the data. It can detect transmission errors.
Does the message routing, including translation from logical to physical addresses. The Internet Protocol (IP) is the normal network layer for SPARC systems.
Controls the flow of data on the network. In SunOS 5.8, any of the Transport Layer Interface (TLI), the Transmission Control Protocol (TCP), or the User Datagram Protocol (UDP) can be used. In SPARC systems, connection mode service is typically provided through TCP, and connectionless service is typically provided through UDP.
Manages reliable sessions between processes. Remote Procedure Calls (RPC) belong at this layer. The interface at this layer allows remote communication using function call semantics.
Performs the translation between the data representation local to the computer and the processor-independent format that is sent across the network. In the SunOS 5.8 environment, the processor-independent data format is XDR.
At this top layer are the user-level programs and services. Examples of user-level programs are telnet, rlogin, ftp, and yppasswd. Examples of services are NFSTM, NIS, and DNS.
Industry standards have been or are being defined for each layer of the reference model. Two standards are defined for each layer: one specifies the interface to the services provided by the layer, and the other specifies the protocol observed by the services in the layer. Users of a service interface standard should be able to ignore the protocol and any other implementation details of the layer.
The transport layer (layer 4) is the lowest layer of the model that provides applications and higher layers with end-to-end service. This layer hides the topology and characteristics of the underlying network from users. The transport layer also defines a set of services common to many contemporary protocol suites including the ISO protocols, Transmission Control Protocol and TCP/IP Internet Protocol Suite, Xerox Network Systems (XNS), and Systems Network Architecture (SNA).
In RPC programming, the term "network" is frequently used as a synonym for transport or transport type.
The Transport Layer Interface (TLI) is modeled on the industry standard Transport Service Definition (ISO 8072). It also can be used to access both TCP and UDP. It is implemented as a user library using the STREAMS I/O mechanism.