其他分享
首页 > 其他分享> > 12 数据通信过程-两台PC机的故事

12 数据通信过程-两台PC机的故事

作者:互联网

大家好!
我是小黄,很高兴又跟大家见面啦 !
拒绝水文,从我做起 !!!!
今天更新的是:


创建时间:2021年2月1日
软件: eNsp_Client 、SecureCRT 、MindMaster


在这里插入图片描述

数据通信过程:

1. 数据通信过程分类:

1. 1 相同网段下的数据通信过程?

在这里插入图片描述
在这里插入图片描述

  1. 主机A封装ICMP 数据包-Ping包、因为不知道目标MAC地址所以封装失败,触发ARP泛洪。
  2. 主机A到主机B的ARP请求-通过全F的目标MAC地址来回应主机B的MAC。|原MAC地址|目的MAC地址|目的IP原IP|ICMP数据部分|

与运算:主机A的子网掩码和目标IP的子网掩码进行对比,检查是否在同一网段

  1. 主机B收到ARP请求回应ARP-把自己的MAC地址回应给主机A、主机B会把主机A的MAC地址,写入到自己的ARP缓存表中。
  2. 主机A重新封装ICMP,发出。
  3. 主机B收到ICMP请求,回复Replay。
  4. 主机A收到主机B ICMP回应。

1. 2 不同网段下的数据通信过程?

在这里插入图片描述

在这里插入图片描述

  1. 通过ARP缓存表找到下一跳的MAC地址。
  2. 如果表项里面没有下一跳的MAC地址,主机A会发送ARP请求。

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

  1. 服务器A接收到该数据帧后,发现目的MAC为自己的MA,于是会继续处理该数据帧。
  2. 服务器A检查TCP头部的目的端口,然后将数据段发送给应用层的HTTP协议进行处理。

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

当网关收到数据包时会如何处理?

  1. 网关检查是否具有到达目的网络的路由条目(有-转发、没有-丢弃)
  2. 如果存在转发路径,则为数据包添加一个新的二层帧头和帧尾,并继续转发
  1. 封装HTTP数据,应用层。
  2. 封装传输层-打上目标端口号80 、目标端口号:大于1027、TCP相关字段封装。
  3. 封装网络层-目标IP地址,原IP地址 、查找路由,下一跳,我应该把数据下一步发给谁?
  4. RTA收到-解封装处理,目标MAC地址是我,继续解封装,发现目标IP不是我、启动路由转发,看自己路由表,有没有去往目标网段的路由条目。
  5. RTA转发-重新封装数据的二层、把发出去数据的原接口MAC地址作为原MAC,把下一跳的目标MAC地址作为目标MAC封装、查找ARP缓存得知,如果没有下一跳的MAC,依然触发ARP请求
  6. 服务器A收到数据包-解封数据包:

解封数据链路层:看目标MAC地址,是自己继续解封。
解封网络层:目标IP地址,是自己继续解封。
解封传输层:看目标端口号,目标端口号:80、应该把数据交给上层的HTTP协议程序处理。

2. 数据传输错误基本排错思路:

  1. 永远不要忽略或者小看物理层的问题。(线有没有插对、设备有没有正常启动)
  2. 在逻辑上要时刻把通信过程装在脑子里,数据是有来有回,怎么去的,怎么回的,走两步,没病走两步。(逐级检查)
  3. 善用 各种协议和工具排错,比如ping和arp。

3. 其他应用层协议 :

在这里插入图片描述


各位路过的朋友,如果觉得可以学到些什么的话,点个赞 再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。

每个小伙伴的关注都是本人更新博客的动力!!!
请微信搜索【 在下小黄 】文章更新将在第一时间阅读 !
在这里插入图片描述

把握现在 ,展望未来 ,加油 !


由于水平有限 ,写的难免会有些不足之处 ,恳请各位大佬不吝赐教 !

标签:PC机,ARP,12,封装,数据通信,主机,地址,MAC
来源: https://blog.csdn.net/weixin_44519789/article/details/113497443