OSI(网络七层协议)是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。
OSI层 | 功能 | TCP/IP协议 |
应用层(Application layer) | 文件传输,电子邮件,文件服务,虚拟终端 | TFTP,HTTP,SNMP,FTP,SMTP,DNS,telnet |
表示层(Presentation layer) | 数据格式化,代码转换,数据加密 | 没有协议 |
会话层(Session layer) | 接触或建立与其他接点的联系 | 没有协议 |
传输层(Transport layer) | 提供端对端的接口 | TCP,UDP |
网络层(Network layer) | 为数据包选择路由 | IP,ICMP,RIP,OSPF,BGP,IGMP |
数据链路层(Data link layer) | 传输有地址的帧,错误检测功能 | SLIP,CSLIP,PPP,ARP,RARP,MTU |
物理层(Pthsical layer) | 以二进制数据形式在物理媒体上传输数据 | ISP2110,IEEE802,IEEE802.3 |
1、各层功能:
(1)第七层:应用层
与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。
例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。
示例:TELNET,HTTP,FTP,NFS,SMTP等。
(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等。