互联网网络数据(第一弹)
当今世界,我们已经迎来了5G时代,从互联网诞生到现在,越来越多的人已经熟悉并享受这个拥有网络的世界,它拉近了人与人之间的距离,从以前的车马邮件都慢,到现在的不管远在何处,都能随时随地与家人,朋友,联系。那么网络到底是怎么进行沟通的呢?本篇文章就简述本人对网络传输的一些见解。
一:分层的意义
什么是分层,就是将一个完整的整体拆分成零散的,富有层次感的小段落,这样有助于我们在日常学习中能够更好的吸收,归纳总结知识点。
二:OSI分层
(一):ISO
国际标准化组织(International Organization for Standardization,简称为ISO)是标准化领域中的一个国际性非政府组织。ISO一来源于希腊语ISOS”,即“EQUAL”——平等之意。ISO成立于1947年,是全球最大最权威的国际标准化组织,全体大会是ISO最高权力机构,理事会是ISO重要决策机构,中国是ISO常任理事国。 [6] 中国是ISO的正式成员,代表中国参加ISO的国家机构是中国国家标准化管理委员会(由国家市场管理监督总局管理)。
(二):OSI
意为开放式系统互联。国际标准化组织制定了OSI(Open System Interconnection)模型。这个模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。[1至4层被认为是低层,这些层与数据移动密切相关。5至7层是高层,包含应用程序级的数据。每一层负责一项具体的工作,然后把数据传送到下一层。每一层之间相互独立却又不可分割,上层依赖下层。
1:物理层
L1层
物理层为最底层的分层,是网络传输的基础,创造满足数据传输的物理条件,如网线,网卡等
2:数据链路层
L2层
数据链路层为第二层,主要作用是建立逻辑链接,进行物理地址寻址(MAC),其主要物理设施为交换机,将上层的数据加上源和目的方的MAC地址封装成数据帧交给物理层,当发现数据错误时,可以重新传送数据帧
3:网络层
L3层
网络层作为第三层,其主要作用是进行IP地址寻址,实现不同的网络之间的路径选择,其主要物理设备为路由器,将上层数据加上源和目的方的IP地址封装成数据包发送给第二层
4:传输层
L4层
传输层作为第四层,其主要作用是定义数据传输的协议端口号,(TCP和UDP协议),将上层数据加上端口号封装成数据段,交给L3,实现网络中不同主机上的用户进程之间的数据
5:会话层
L5
会话层作为第五层,其主要作用是建立、管理、终止会话,管理是否允许不同机器上的用户之间建立会话连接关系
6:表示层
L6
表示层作为第六层,其主要作用是将用户的数据进行翻译,压缩,例如我们打字的字体是中文,但是电脑的语言是二进制,这里就由表示层将文字翻译成二进制语言,进行压缩,解压,数据加密等工作
7:应用层
L7
应用层作为第七层,也是最上层,是用户实际操作的界面,实现人与机器的交互。
正确的层次为L7—L1,由人在界面上输入想要发送的数据(L7),数据输入好了后交给表示层(L6),进行翻译,压缩等工作,再交给会话层(L5),建立连接一个会话,下一步交给传输层(L4),定义数据的协议端口号,再给到网络层(L3),加上源IP地址和目的方的IP地址,再把数据交给数据链路层(L2),由数据链路层加上源MAC地址和目的方的MAC地址,最后交给物理层(L1),通过网线,宽带等链接,发送数据。
三:设备与层的对应关系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JyGpX9bm-1649842766630)(https://h----yang.oss-cn-shanghai.aliyuncs.com/Snipaste_2022-04-12_16-13-42.png)]
如图所示,相应的层都有相应的设备进行操作
四:端到端、点到点
所谓端到端,点到点的连接,则是有着本质的区别,端到端的连接是发送端与接收端之间的连接,如PC1和PC2之间进行微信会话,则这个通话就是端到端的一次连接,它无视中间的其他设备连接
而点到点的连接,则是每个设备之间的连接,如PC1和交换机之间的连接,交换机和路由器之间,都属于点到点的连接
五:数据封装与解封装
在此之前,有一个概念需要说下。就是OSI模型和TCP/IP模型的区别,OSI模型就是上文说的七层模型,但是在TCP/IP模型中只有五层模型,它将上三层,即应用层、表示层、会话层合在一起,统称为应用层
5.1数据封装
当上层数据在应用层进行翻译,压缩之后,传给传输层,传输层为它加上TCP协议,交给网络层,网络层收到数据后加上源IP头部和目的方IP头部,送给数据链路层,数据链路层收到后,加上源MAC地址和目的方MAC地址,最后交给物理层,由物理层一比特波的形式发送出去,这是数据发送端的一个从上而下的数据封装过程
5.2数据解封装
当接收端接收到发送端发来的数据后,开始进行解封装,这是一个由下往上的过程,首先由物理层发送到物理层,再由接收端的物理层交给上层数据链路层,上局链路层收到数据后,开始确认源MAC地址和目的方MAC地址(该目的方MAC地址则为自己的地址),确认无误后将数据交给网络层,网络层确定源IP地址和目的方IP地址,此时,已经可以确定自己确实为接收端,数据没有发送错误。再由网络层交给传输层,确定端口号协议(TCP/UDP)。再将上层数据交给应用层,分别建立会话,将数据解压,翻译,最终呈现在接收端的显示屏上面。完成一次完整的数据发送
各层之间的通信营由平级在读取,如应用层进行翻译压缩,则应由接收方进行解压翻译,传输层确定的TCP/UDP协议,则由接收方的传输层读取。网络层、数据链路层、物理层,也应由相对应的层来读取数据。
5.3数据传输的过程
如此图所示,数据在发送方打包好之后,在发送给接收端的过程中,并不是一成不变的,而是会在数据链路层和网络层之间反复进行封装与解封装的过程,打个不是很恰当的比喻,当发送端的物理层接收到由链路层发送过来的数据时,开始向外发送数据,此时会由交换机接收到数据,交换机则会对消息进行确认,但我们都知道交换机时数据链路层的物理设备,作用是加上MAC地址,所以,它会对数据进行解封装,目的是为了查看MAC地址是否正确,当地址正确之后,会再次进行封装,交给物理层传给下一个设备,路由器。路由器是网络层的设备,目的是为了确认源IP地址和目的方的IP地址的正确与否,此时也会进行解封装,检查正确后,在此进行封装,继续由物理层进行传送。依图所示,数据来到了接收方区域,首先路由器接收到发送方的数据,进行解封装检查,看到IP地址和MAC地址确实是这里的,再进行封装继续传送,来到了交换机,交换机查看了MAC地址后确定了接收端,确定了之后交给接收端。接收端开始解封装,依次去掉MAC地址头部、IP地址头部,TCP/UDP端口号协议头部,会话层建立会话,表示层进行解压,翻译,最终呈现在应用层上面。可以说其中有多少的设备,就会进行多少次的封装与解封装的过程。此时就是一个数据发送的完整版。
六:总结
网络模型的建立,利用分层学习的方法,客观上展现了数据发送的全过程,将复杂的网络数据过程简化,为我们展现了OSI七层原理。在此之后,由简单阐述了设备与层的关系,以及解释了什么是端到端,什么是点到点,最后描述了数据封装,数据解封装,和数据传输过程中封装与解封装的大概过程。
最后总结一句:
瑞斯拜!