关于网络通讯的数据包是如何构造

首先来理解一下osi七层模型和tcp/ip四层模型
在这里插入图片描述

在我们学习生涯中,我们往往提到的OSI模型较多,但是偏向于实践的还是TCP、IP体系的参考模型,这里OSI七层模型是出现时间是位于TCP/IP模型之后的,当时是国际组织为了统一通讯标准出现的一套网络模型,但是由于TCP/IP模型在OSI模型之前,而且在OSI参考模型发布之后TCP/IP模型已经在世界上得到了广泛的应用致使无法普及OSI参考模型,所以我们现在的网络模型普遍使用的是TCP/IP网络模型体系,而OSI则用作学习将TCP/IP更详细的划分开来便于学者学习。

对于初学者来说,这里有一个概念可能是难搞懂的,那就是什么是 网络模型 ?

我们现在以身份证为例,我们身份证通常是由18位阿拉伯数字及字母X组成,其次我们身份证每一位或者连续的一串数字都带有特殊含义,例如他可以标识这个身份证来自哪个省份,这个身份证的主人是某年某日某月出生的以及性别是男是女,我们将这些特殊含义的数字按一定规律的方式排列即可得到一个人的一些身份信息,为了方便每个人都遵守这个排列方式,我们需要制定一个身份证号的编号模型,只要有上户口的人,派出所就可以按照这个模型为你编制一个身份证号码。按照这个逻辑我们是不是可以自己做一个身份证号码模型呢?
在这里插入图片描述
按照这个模型,以后只要有人上户口直接按照身份证码模型填充相对应的数字即可做出一张身份证。
所以我们不难发现,用模型的好处就是为了能够统一标准供人们理解具体含义。

回到网络模型,我们具体来看一下计算机与计算机之间通讯数据包是如何构造的

我们在使用一个软件的时候
首先
当我们点击从发送开始,计算机内部就开始工作了,首先计算机将你输入的信息经历第一次打包,首先计算机将Hello打包到应用层(应用层主要包含软件之间交互的主要内容):
在这里插入图片描述
确认TCP建立连接的端口,因为我们两台计算机传输数据是TCP专门为两台电脑的软件建立了一条管道,这个管道专门负责两台计算机某个软件的通讯,所以得确认双方管道的号码,这个号码就是端口号所以现在开始第二次打包,这个过程我们需要我们我们计算机软件端口号和目标计算机软件的端口号,所以开始打包:
在这里插入图片描述
现在二次打包完成,第三次打包要确认我的IP地址和目标IP地址,因为端口号是确定具体某一个IP的某一软件,现在还不足以确定IP地址,我们现在需要确定IP地址,是谁发给谁的,所以现在开始第三次打包:
在这里插入图片描述
现在第三次打包完成,我们现在已经填充了四层模型中的三个模型了。最后一个模型数据链路层,为了更加精确的确定目标主机,数据链路层还要添加一个省份象征,那就是MAC地址,MAC地址的值在每一台电子设备的值都是唯一的。现在开始第四次打包:
在这里插入图片描述

现在TCP/IP模型四层已经都填上了,现在的问题是如何让网线传输过去?

现在我们将填上的信息从模型中按顺序排成一列就是 Hello我的端口号:4456(计算机自动分配的)目标端口号:8808我的IP:192.168.1.1目标IP:192.168.1.5我的MAC地址:58-FE-23-68-DA-BC目标MAC地址:58-AC-23-BC-9E-CB

注意了计算机只识别重要信息,其余的中文和符号在内部处理的时候都会去掉,在内部就会变为:
Hello44568808192168111921681558FE2368DABC58AC23BC9ECB

但是网线只认识电压,现在还不够让网线认识这串字符,现在将这串字符按顺序变为二进制
100100011001011101100110110011011111101001101001101011101101110001110001100001110001100011110011100101100011101101110001100011100011100011110011100101100011101101110001100011101011101011110001000110100010111001011001111011011100010001001000001100001010000111101011110001000001100001111001011001110000101000011111001100010110000111000010
当然计算机内部具体是怎么讲数据包的内容打包成二进制的肯定不是这样,我这里只包含了一些简要信息

然后通过网卡将这些0和1变成低电压和高电压,虽然不是学电工的,但是我应该是觉得高电压是电人的,低电压是有点电人的,这些数据通过网线传到另一台电脑之后,计算机通过设备识别电压来确定数字是0还是1,当这个电压很电人就是1,不怎么电人就是0,每秒识别上万次!

后因为这个数据是遵守网络模型的,另一台计算机参考网络模型逆着来拆分数据,即可得到双方的MAC地址IP地址,所需通讯的软件!

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值