首页 > 代码库 > The OSI Reference Model
The OSI Reference Model
International organization for standardization(ISO) developed a reference model for open system interconnection(OSI). The OSI reference model partitioned the communication process into seven layers and provide a framework for talking about the overall communications process.
概览:
具体:
Layer 1: physical layer
The physical layer has the following major functions:
it defines the electrical and physical specifications of the data connection. It defines the relationship between a device and a physical transmission medium (e.g., a copper or fiber optical cable). This includes the layout of pins, voltages, line impedance, cable specifications, signal timing, hubs, repeaters, network adapters, host bus adapters (HBA used in storage area networks) and more.
it defines the protocol to establish and terminate a connection between two directly connected nodes over a communications medium.
it may define the protocol for flow control.
it defines transmission mode i.e. simplex,half,full duplex
it defines topology
it defines a protocol for the provision of a (not necessarily reliable) connection between two directly connected nodes, and the modulation or conversion between the representation of digital data in user equipment and the corresponding signals transmitted over the physical communications channel. This channel can involve physical cabling (such as copper and optical fiber) or a wireless radio link.
Layer 2: data link layer
The data link layer provides a reliable link between two directly connected nodes, by detecting and possibly correcting errors that may occur in the physical layer. The data link layer is divided into two sublayers:
Media Access Control (MAC) layer - responsible for controlling how computers in the network gain access to data and permission to transmit it.(coordinate the transmission from the machines into the medium )
Logical Link Control (LLC) layer - control error checking and packet synchronization.
The Point-to-Point Protocol (PPP) is an example of a data link layer in the TCP/IP protocol stack.
Layer 3: network layer
The network layer provides the functional and procedural means of transferring variable length data sequences (called datagrams/packets) from one node to another connected to the same network. A network is a medium to which many nodes can be connected, on whichevery node has an address and which permits nodes connected to it to transfer messages to other nodes(hierarchical addressing scheme:分级寻址系统) connected to it by merely providing the content of a message and the address of the destination node and letting the network find the way to deliver ("route") the messageto the destination node. In addition to message routing, the network may (or may not) implement message delivery by splitting the message into several fragments, delivering each fragment by a separate route and reassembling the fragments, report delivery errors(dealing with congestion that occur from time to time due to temporary surges in packets traffic), etc.
Datagram delivery at the network layer is not guaranteed to be reliable.
(packet-switching network using a uniform routing procedure)
Layer 4: transport layer
The transport layer provides the functional and procedural means of transferring variable-length data sequences from a process in the source to a process in the destination host via one or more networks, while maintaining the quality of service functions.
An example of a transport-layer protocol in the standard Internet stack is Transmission Control Protocol (TCP), usually built on top of the Internet Protocol (IP).
The transport layer controls the reliability of a given link through sequence , flow control, segmentation/desegmentation, and error control(error detection and recovery). It can provide both connection-oriented service that involves the error-free transfer of a sequence of bytes or messages and an unconfirmed connectionless service that involves the transfer of individual messages. The transport layer also provides the acknowledgement of the successful data transmission and sends the next data if no errors occurred. The transport layer creates packets out of the message received from the application layer. Packetizing is a process of dividing the long message into smaller messages.
To optimize the use of network sevice, the transport layer may multiplexing several transport layer connections on to a single network layer connection. Or the transport layer may use splitting to supoort its connection over several network layer connection.
(segmentation) (multiplexing)
Note that the top four layers are end to end and involve the interaction of peer process across the network. In contrast the lower two layers involve interaction of peer-to-peer process across a single hop.
Layer 5: session layer
The session layer controls the dialogues (connections) between computers. It establishes, manages and terminates the connections between the local and remote application. It provides for full-duplex, half-duplex, or simplex operation, and establishes checkpointing, adjournment, termination, and restart procedures. The OSI model made this layer responsible for graceful close of sessions, which is a property of the Transmission Control Protocol, and also for session checkpointing and recovery, which is not usually used in the Internet Protocol Suite. The session layer is commonly implemented explicitly in application environments that use remote procedure calls.
Layer 6: presentation layer
The presentation layer establishes context between application-layer entities, in which the application-layer entities may use different syntax and semantics if the presentation service provides a big mapping between them. If a mapping is available, presentation service data units are encapsulated into session protocol data units, and passed down the protocol stack.
This layer provides independence from data representation (e.g., encryption) by translating between application and network formats. The presentation layer transforms data into the form that the application accepts. This layer formats and encrypts data to be sent across a network. It is sometimes called the syntax layer.[5]
The original presentation structure used the Basic Encoding Rules of Abstract Syntax Notation One (ASN.1), with capabilities such as converting an EBCDIC-coded textfile to an ASCII-coded file, or serialization of objects and other data structures from and to XML.
Layer 7: application layer
The application layer is the OSI layer closest to the end user, which means both the OSI application layer and the user interact directly with the software application. This layer interacts with software applications that implement a communicating component. Such application programs fall outside the scope of the OSI model. Application-layer functions typically include identifying communication partners, determining resource availability, and synchronizing communication. When identifying communication partners, the application layer determines the identity and availability of communication partners for an application with data to transmit. When determining resource availability, the application layer must decide whether sufficient network or the requested communication exists. In synchronizing communication, all communication between applications requires cooperation that is managed by the application layer.
The OSI Reference Model