根据百度百科给出的定义,OSI中文名叫网路通信系统互联参考模型,它是一个7层结构的网络通信模型。

osi的7层从上到下分别为,7,应用层 6,表示层 5,会话层 4,传输层 3,网络层 2,数据链路层 1,物理层。

其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。

 

    1.应用层

    通常我们写一个程序,如果这个程序不与其他计算机进行通信,那么我们就不需要为这个程序编写关于通信服务的代码。但是如果这个程序需要与其他计算机进行信息交流,那么你就必须为这个程序开发通信代码,这就是我们说的应用层。 我们常见的应用层协议有FTP(文件传输协议),Telnet(远程登录协议),SMTP(电子邮件协议),NFS(网络文件服务协议),网络管理协议(SNMP)。后面我会挑出常用的协议专门的写一篇。

    2.表示层

    这一层主要定义数据在传输是的格式和数据的加密,如FTP允许用二进制和ASCII格式的数据经行传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。

    3.会话层

    这一层也比较好理解,两台计算机间的通信需要双方都同意后才能开始数据交流,交流一旦成立就成为一次会话。而会话层就是定义了一次会话如何开始,控制和结束一个会话。包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。

    4.传输层

    我们知道数据在传输时大部分情况下都是分块发送的这有利于数据的传输效率。所有当我们接送到远程计算机传来的数据时,我们就必须定义是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。

    5.网络层

    这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单位长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。

    6.数据链路层

    它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。示例:ATM,FDDI等。这一层后面会专门的去学习。

    7.物理层

    OSI的物理层规范是有关传输介质的特这些规范通常也参考了其他组织制定的标准。连接头、帧、帧的使用、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。