最后更新:2022-06-26 13:01:58 手机定位技术交流文章
1.关于网络包的基本知识
网络包由两个部分组成:头部和数据。 控制信息如目的地地址放在头部,而数据就是我们想要传输的。
控制信息(头部)是用来告诉发送者在传输过程中我要去哪里的。
2.网络包传输的过程
对于由TCP/IP协议生成的网络包,结构相同,具体长度相同
前面提到的TCP头条由协议堆中的TCP模块添加,图中的IP头条和MAC头条由TCP底部的IP协议模块添加。
IP协议正在添加头条的过程中,访问服务器的IP地址将被写入IP标题中,这样,IP协议(路由器)可以根据数据包发送的方向写入MAC头部;IP协议也写入下一路由器的Ethernet地址(MAC地址),这样,Ethernet协议(连接器)也知道该包含哪个路由器。
网络中的传输设备有路由器和集权器,路由器是根据IP协议传输包的设备,集权器是根据Ethernet协议传输包的设备。
所以网络包传输的一般过程是,带到MAC头的记录路由器地址转移方向,到达目标路由器后,通过路由器查看IP头条,镜子本身的IP表修改了MAC头部下一个路由器的地址,然后向它发送数据包。收集者通过观察MAC的头部,与他自己的Ethernet表相比,向目标路由器发送数据包。如此反复,直到你到达最终目标服务器为止。

3. IP头部
IP头的格式如下:

这些IP模块中最重要的是接收器的IP地址,由TCP模块向IP模块报导,而TCP模块也由应用程序的IP地址报导。
除此之外,发送者的IP地址需要填入IP头条中。用于多卡电脑,IP模块需要检查路由表,看看哪个网络卡与目标IP地址相符,只需填写该网络卡的IP地址。路由器也有这个形式,原理和这里一样。
可以通过路径打印命令(例如图)查看路径表

在图表的第一个列中,网络目的地是与目标IP地址对应的表。最后一个栏是当前计算机上的相应的网络卡的IP地址。IP头条的接收者和发送者填入两者。如果目标地址IP不匹配,默认在第一个行中使用网络卡发送数据.
顺便说一下,Gateway代表下一个路由器的IP地址,它将被包入这个IP,然后相应的路由器将将包入目标地址。 MAC字节将Gateway的IP地址转换为 MAC字节内存在的相应的 MAC地址。
4. MAC头部
MAC头部长这样
您可以看到,当IP模块生成MAC头时,您必须填写发送者MAC地址和接收者MAC地址。
发送方的MAC地址足够了解直接发送的网络卡的ROM,接收方的IP地址有点棘手。
IP模块根据路由表中的 Gateway 列的内容确定发送包的发送者,发送者会找到与 IP 地址相符的 MAC 地址。
谁知道MAC地址?当然目标路由器会知道它有多少 MAC地址。所以我们需要一次广播,向同一Ethernet上的所有设备发送一个包,包正在询问XX.XX.XX.谁的IP地址是XX?告诉我你的MAC地址,”然后目标路由器会说,“嗯,这是我的IP,我的MAC地址是.."然后IP模块收到了这个MAC地址,填写此地址给MAC模块.大功告成。
广播方法是ARP, Address Resolution Protocol, address analysis protocol。
当然,不能一次广播每个数据包,这并不乏味,并且计算机将保存一个查询后的表,叫做ARP缓存表,类似于DNS分析缓存表,以便更快地查询MAC地址。
如果您想查看这个表, 请输入 arp -a.
现在,IP模块完成了包装任务,现在是将数据交给网络卡的时候了。
5.由网络卡完成的工作
数据包从内存复制到网络卡缓冲区,然后发送到网络卡内部的MAC模块发送数据包命令,然后MAC模块开始工作。
MAC模块在数据包的开端添加一个消息头和初始帧节点,并在数据包的末端添加一个FCS(检查序列)来检测错误,然后按照图所示的网络数据包

头部是一个同步波形的钟,它使接收者不知道如何正确阅读下的数据。 最初的帧节点用来提醒接收者,然后是数据体,你应该注意接收者。 一般来说,内容是图中所示的
最后的FCS用于检查数据在数据包传输过程中是否损坏,FCS内部有一个非常复杂的公式,类似CRC错误检查。
这些头条被添加后,MAC模块将数据包转换成通用电报,然后从PHY(MAU)模块转换成可以通过网络传输的格式,然后通过网络发送。
本文由 在线网速测试 整理编辑,转载请注明出处。