前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >计算机通信流程

计算机通信流程

作者头像
Dreamy.TZK
发布2020-04-09 15:59:34
4090
发布2020-04-09 15:59:34
举报
文章被收录于专栏:小康的自留地

同一网段内计算机通信流程

参考地址:https://www.processon.com/view/5d784083e4b01080c73b9ca8

如上图为一个简单的同一网段内主机的示例。

如果计算机A向计算机B发送消息,那么

  1. 应用层会获取计算机B的ip地址(例如192.168.3.98,端口号为3456),并且将数据封装交给传输层
  2. 传输层会利用TCP协议将数据封装端口号(源端口号|目的端口号|数据),并交给网络层
  3. 网络层利用ip协议为数据封装IP地址(源IP地址|目的IP地址|源端口号|目的端口号|数据),并交给数据链路层
  4. 数据链路层进行判断判断自己的ARP表是否存在目的MAC地址。
    • 存在 利用以太网协议给数据封装MAC地址(源MAC地址|目的MAC地址|源IP地址|目的IP地址|源端口号|目的端口号|数据),并交付物理层。
    • 不存在 向本网段内发送一条ARP广播,含义为谁是IP 192.168.3.98,你的MAC地址是多少。 此时计算机B收到广播后,发现IP是找自己的则先将计算机A的ip与MAC记录到自己的ARP表里,然后给计算机A回复一个ARP响应包,告诉自己的MAC地址。 计算机A接收到回报之后利用以太网协议封包。并交付物理层
  5. 物理层顺着网线发送给主机B。
  6. 主机B从物理层逐层拆包获得数据。

不同网段内计算机通信流程

参考地址:https://www.processon.com/view/5d78ab24e4b0c5c942bee050

如图所示,不同网段通信。计算机A向计算机E发送消息。

  1. 计算机A从物理层到数据链路层的封包过程与同网段内的通信一致。
  2. 在数据链路层封装的MAC地址是默认网关的MAC地址
    • 如果主机A的ARP表内存在默认网关的MAC地址 封装MAC地址。(目的MAC为默认网关的MAC)
    • 如果不存在 计算机A将数据包暂存到缓存中,通过广播形式发送ARP请求包,请求默认网关MAC地址。 路由器B收到ARP请求后,先将A的IP与MAC存到自己的ARP表中,然后以单播形式回复其请求。 计算机A收到请求后进行封装。
  3. 数据首先会经过交换机A 交换机A只能将数据拆到数据链路层,获取MAC地址与端口,并且发送。如果ARP表中没有此地址则广播获取。
  4. 路由器三同理,将数据交给左边路由器。
  5. 左边路由器拿到数据后开始逐层拆包,拆到数据链路层,发现目的MAC是自己所以继续拆包到网络层发现目的IP不是自己,于是发送给目的IP所在网络的默认网关。但需要知道其MAC。
    • 如果ARP表中存在MAC地址 将MAC更换为 自己的MAC地址|默认网关的MAC地址|源IP地址|目的IP地址|源端口号|目的端口号|数据
    • 不存在 通过广播获取
  6. 右边路由器获取到数据后开始逐层下发。。。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 同一网段内计算机通信流程
  • 不同网段内计算机通信流程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档