(在阅读本篇文章之前,推荐先了解OSI架构,TCP/IP模型以及常见的一些网络设备。)
通信之路——几分钟带你了解OSI通信之路——用最简洁的文字告诉你互联网协议TCP/IP通信之路——网桥,网关,交换机,路由器都是什么意思?
1992年,一款叫做QQ的聊天软件横空出世,自此,人们进入了一个线上交流的全新时代。
看老马笑的多开心~
不知道大家有没有思考过,一条信息是怎么从我电脑发到对方电脑上的呢?这期间发生了什么?
当然了,消息不可能是凭空出现在对方屏幕上的,不然真有这技术咱们躺在床上动动脑袋就可以去月球了,其实消息的发送和接收是一件比较复杂的事情,期间要经历很多次封装,解析和变化的过程,下面我们来看看它所跨过的“千山万水”。
一条信息的流程
这里要注意,标题的信息不仅指文字信息,还包括邮件,语音消息,视频等等;
我们再来熟悉一下OSI七层结构(这个非常重要),具体的说明在文章开头链接中已有说明,故此处再不赘述。
协议分层及含义
下面我们来看一下在实际生活中是如何工作的:
如上图所示,我们可以把主机A理解成自己的手机或者电脑,主机B是对方,我们现在给B发了一条信息,每一层都会对我们这条信息进行加工。我们将主机A发送的过程叫做封装过程,主机B接收的过程叫做解封装过程。
简单示意如下:
封装:
应用层:发送数据---------表示层:数据格式转换,加密,压缩等----------会话层:建立连接-----------传输层:差错校验,流量控制,TCP/UDP传输,添加端口号信息(源端口,目标端口)+数据------------网络层:分组,数据包(IP地址+数据)--------数据链路层:帧(帧头(帧头包含Mac地址)+帧数据)------------物理层:比特流(0,1)
解封装:
物理层:比特流(0,1)---------数据链路层:帧(帧头(帧头包含Mac地址)+帧数据)--------网络层:分组,数据包(IP地址+数据)-------传输层:差错校验,流量控制等;UDP/TCP(传送和接收端口信息+数据)---------会话层:建立连接-----------表示层:数据格式转换,解密,解压缩等-----------应用层:接收数据
不难看出,解封装是对封装的逆操作。
另外,在这一系列的过程中,信息的格式也是一直变动的,自上而下过程是:
数据(上三层)—数据段(传输层)—数据包(网络层)—数据帧(链路层)——比特流(物理层)。
这里需要注意一点,除了协物理层,其他协议层——协议层之间是透明的,也叫虚链接,意思是存在着逻辑上的链接,但不存在实际上的链接。
下面放一张动图来帮助大家更加直观的了解:
我们可以看到,数据最终会变成比特流在传输介质上传递,这也是为什么早期网速慢的重要原因。那时候大多使用铜缆,效率和速率都比较低。现在光纤普及,网速得到了极大的提升。
所以,一条消息的传递还真不是件容易的事情,在这个过程中,还有相当多的协议来辅助完成工作,比如用来传输信息的TCP/UDP,重定向的ICMP协议,以及IP/MAC转换的ARQ地址解析协议。如果您对此类知识感兴趣,欢迎关注我,我会持续发文。最后谢谢您的观看,
5975

被折叠的 条评论
为什么被折叠?



