相信很多读者看到协议,都有一种陌生而又熟悉的感觉。
参考书-《计算机网络》第七版
网络断了看TCP/IP协议的属性,cmd下ping网络是否连通都是利用了协议。
今天我们就来揭开协议的神秘面纱。
协议的体系结构和划分层次:
协议,是为数据交换而建立的规则、标准、约定,也叫网络协议。
注意,协议就是规则(如何交流,用什么语言,什么方式交流)。
只有遵循一定的规则,数据才能迅速完整的完成交换。
很多读者可能听说过OSI(open system interconnection)的七层协议标准(体系结构),遗憾的是这种标准(规则),到现在都只是理论。真正占领市场的体系结构是TCP/IP的四层协议结构。
为了学习方便,我们将聊一聊(撩一撩)图片中右边的五层协议结构。
各层的具体分工(作用):
o(╯□╰)o应用层(application layer),就是确定两个进程(程序实例)之间的通信(要交换数据的哪两个进程),使用何种应用协议(像telnet,ftp,http(s),SMTP。
(⊙^O^⊙)运输层(transport layer),两个进程通过什么协议进行通信。
其中,运输层协议使用最广的是TCP协议和UDP协议。
TCP(Transmission Control Protocol)-传输控制协议,提供面向连接的服务,先确定逻辑连接(不是真正意义上的连接,理论上的连接,即3次握手)再通信。传输单位是报文段(数据包的组合)。
UDP(User Datagram Protocol)-用户数据报协议,提供无连接的服务(就是数据我只发出去,你有没有收到我就不管了,不保证数据传输的可靠性),传输单位是用户数据报(用户自定义的一些数据包)。
上面两层就完成了大致的数据交换过程(是谁,用什么协议传输)。下面三层则是具体实现方法。
(๑• . •๑)网络层(network layer),把数据包分组(数据分组成包,就是第一章说到的内容,便于传输)。
网络层有一个很重要的功能,也就是IP寻址(告诉来源主机IP和目标主机IP)
ICMP(Internet Control Message Protocol)也存在于网络层,通常作为IP的控制信息使用(实际上就是它完成IP的寻址工作)。
-(*^_^*)-数据链路层(data link layer),解决数据在链路中怎么传输的问题。在第一个结点把数据包打包成帧(framing)(含有控制信息,从哪来,到哪去),下一个结点接收后拆除部分控制信息(用完了,没用了)拆回成数据包。
同时还进行查错,纠错(丢弃目的地错误的或没用的数据包,避免在后面的传输中浪费资源,或者对重要数据包要求重发)处理(路由器的另一个呼之欲出了-修理美化数据包)。
(≧﹏≦)物理层(physical layer),数据在传输过程中实际传输的都是二进制数字,1/0,如何用物理设备代表虚拟数字呢?(越来越细)
物理层便是解决这一问题。例如:用不同的电压代表不同的数字,用1v的电压代表数字1,5v的电压代表0(只是例子噢)。(n年前是用开关的开与闭代表0或1,电脑特别的大与它脱不了关系)
谁要交换数据,怎么交换都完成了,协议也就完成了统筹数据交换(设计规则,保证准确快速)的功能。
五层协议的具体实现过程:
实际传输过程中数据不是层对层(不可能交换这么多次,一般一次到位)传输。
在发送主机,数据按层次从上往下(下层为上层服务,帮它合成数据包,发送数据包)依次处理(加上首部(控制信息)),最后变成一整个大的二进制数据包,然后发送出去。
经过错综复杂的网络以后,到达目标主机,目标主机再按控制信息从下往上(逆回来)去除首部,经过应用层最后变回一开始的数据包,这样,经过协议的数据交换也就完成了。(在网络当中也是通过协议这样传输)
TCP/IP协议的四层结构把数据链路层和物理层合并成了网络接口层(都是具体如何传输)
我们知道了协议的结构以及各层的作用,也就对计算机网络(Computer Networks)有了初步的认识。
以后我会对计算机网络进行更深入的分析(深入剖析协议的体系结构,例:宽带接入技术,网络安全技术...)。
––THE END
有兴趣的朋友可以关注我了解进度(进度有点慢,不是我的错啊,毕竟其他的书可比这有趣多了(ฅ>ω<*ฅ))。
~\(^O^)/~ 欢迎发表评论,指出我的错误,或者有什么好的美化意见,都行,我会及时更新及时更改的。
百度词条入口
优秀文章分享
下一篇还在路上,敬请期待(ง •̀_•́)ง
*