网络协议分为7层。首层是物理层、数据链路层、网络层、传输层、会话层、表示层、最后是应用层。
中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端,点到点的数据流。
物理层
打个比方,网上购物后,卖家利用一些工具火车或船运,汽车等把货物送到你手里。而在计算机网络中,信息(货物)的传输我们最直观的感觉就是靠的光纤,双绞线等介质,同时计算机底层是识别二进制数据的,光纤等设备通过电信号(光信号)来表示这些二进制数据,比如大家都用10V表示1 0V表示0,并且规定统一了传输介质的特性,只要各个厂家共遵循这些特质就能正确传递数据了。
即,电脑之间(准确来说网络设备之间)物理连接的介质,以及网络设备与网络终端之间数据传递的规则称之为物理层,其中的数据是以比特的形式传递的。
数据链路层
有的买家在天津,有的在北京,所以要将仓库的货物分类封装。在链路层中,需要将比特流组合成字节的组合。类似于把地址相同的货物放到同一个集装箱中,只要集装箱到达,货物也就自然到达。这种把比特流组合成字节的组合我们称之为数据帧。对数据进行处理封装成数据帧并传递和错误检测的层就是数据链路层。
它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。示例:ATM,FDDI等。
网络层
发货,从广州--上海(可以广州-长沙-上海;或者广州-福州-上海),网络层就是负责选择最佳路径,并保证数据始终沿着最佳路径传输。路由器的功能就是选合适的路径。
这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。
传输层
货物可能很贵重你买了保险,可能就是很便宜的东西,丢了也无所谓。对于不同的货物有不同的态度,传输层就是负责将数据进行可靠或者不可靠传递,负责终端之间的传送。
这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。
会话层
收货后在小区部分有不同的收货地点,信息传递给对方计算机某些特定的程序,会话层用来区分不同的进程。
它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。
表示层
对传输数据进行解密压缩等,针对不同类型数据进行格式描述。
这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。
应用层
应用层有点复杂,但是是我们接触的最多的,简单的说,就是我们从屏幕上看到的信息,提供人(小白)和计算机交流的层
与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序就需要实现OSI的第7层。示例:TELNET,HTTP,FTP,NFS,SMTP等。