同一子网通信

添加交换机后的通信流程


1. 同一子网内(使用交换机)
  1. 判断是否在同一子网

    主机A通过子网掩码判断主机B的IP地址是否属于同一子网。若在同一子网,主机A需要通过ARP获取主机B的MAC地址。

  2. ARP请求(广播)

    • 主机A发送广播ARP请求,内容为:"谁的IP地址是主机B的IP地址?请告诉我你的MAC地址。"
    • 该广播帧的目的MAC地址为FF-FF-FF-FF-FF-FF,交换机收到后会将广播帧转发到所有端口(除源端口外)。
  3. ARP响应(单播)

    • 主机B收到ARP请求后,回复单播ARP响应,内容为:"我是主机B,我的MAC地址是XX:XX:XX:XX:XX:XX。"
    • 交换机根据主机B的MAC地址和端口映射关系,将ARP响应帧转发到主机A的端口。
  4. 数据传输(单播)

    • 主机A获取主机B的MAC地址后,构造数据帧:
      • 源MAC地址:主机A的MAC地址
      • 目的MAC地址:主机B的MAC地址
    • 交换机根据MAC地址表,将数据帧从主机A的端口转发到主机B的端口。

2. 跨子网内(使用交换机和路由器)
  1. 判断目标是否在同一子网
    • 主机A通过子网掩码计算主机B的IP地址网络号,发现主机B位于不同子网。
    • 公式

网络地址=IP地址 & 子网掩码

  1. 发送数据到默认网关

    • 主机A将数据包发送到默认网关(路由器或三层交换机)。
    • 链路层封装
      • 源MAC:主机A的MAC地址
      • 目的MAC:默认网关的MAC地址(通过ARP解析获取)。
    • IP层封装
      • 源IP:主机A的IP地址
      • 目的IP:主机B的IP地址
  2. 交换机转发数据帧

    • 交换机根据MAC地址表,将数据帧从主机A的端口转发到路由器的端口。
  3. 路由器处理数据包

    • 路由器接收数据帧后,剥离链路层头部,检查目标IP地址。
    • 根据路由表确定下一跳(可能需多级路由):
      • 若目标子网直连路由器,直接转发到对应接口。
      • 若需经过其他路由器,转发至下一跳地址。
  4. ARP解析下一跳MAC地址

    • 路由器通过ARP请求解析下一跳接口或目标主机的MAC地址。
    • 示例
      • 路由器接口IP:10.0.0.1 → 目的子网:192.168.2.0/24
      • 路由器发送ARP请求解析主机B的MAC地址(若直连)。
  5. 数据包转发至目标子网

    • 路由器重新封装链路层帧:
      • 源MAC:路由器出接口的MAC地址
      • 目的MAC:主机B的MAC地址(通过ARP解析)。
    • 通过目标子网的交换机将数据帧转发至主机B。
  6. 主机B响应数据

    • 主机B构造响应数据包:
      • 源IP:主机B的IP地址
      • 目的IP:主机A的IP地址
    • 响应数据通过反向路径返回,可能经过不同路由器。
关键点
  • 交换机的作用
    • 在同一子网内,交换机负责转发数据帧(基于MAC地址表)。
    • 在跨子网通信中,交换机将数据帧转发到路由器。
  • 路由器的角色
    • 负责跨子网的数据包转发和路由选择。
    • 逐跳更新链路层MAC地址,IP地址保持不变。

示例数据包变化
跳数 源MAC 目的MAC 源IP 目的IP
主机A → 交换机 AA:AA:AA:AA:AA 00:11:22:33:44:55 192.168.1.10 10.0.0.5
交换机 → 路由器 AA:AA:AA:AA:AA 00:11:22:33:44:55 192.168.1.10 10.0.0.5
路由器 → 主机B 55:44:33:22:11 BB:BB:BB:BB:BB:BB 192.168.1.10 10.0.0.5

同一子网内:交换机基于MAC地址表转发数据帧。

跨子网内:交换机将数据帧转发至路由器,路由器逐跳转发至目标子网。

相关推荐
其实防守也摸鱼20 分钟前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·运维·网络·人工智能·学习·安全·macos
treesforest9 小时前
平时上网留下的IP地址,到底能被查到什么?
网络·网络协议·tcp/ip·ip地址·ip查询·定位服务
多巴胺梦想家9 小时前
06 代数系统:运算背后的结构之美
网络·拓扑学
小锋学长生活大爆炸10 小时前
【福利】最新免费领取云服务器和虚拟主机攻略
网络·github
81250353311 小时前
第 60 篇:IP选项:那些被遗忘的功能
网络·tcp/ip·智能路由器
IT小盘12 小时前
04-大模型流式输出原理-SSE与Python实现
开发语言·网络·人工智能·python
网络研究院13 小时前
2026年上半年十大网络攻击和数据泄露事件
网络·安全·漏洞·风险·数据·泄露·事件
我星期八休息14 小时前
网络编程—UDP与TCP
linux·运维·网络·数据库·网络协议·tcp/ip·udp
玖玥拾14 小时前
Unity 3D 笔记(十四)Unity/C# Socket 网络笔记3
服务器·网络·unity·c#
数智化管理手记15 小时前
财务大数据怎么管住资金风险?财务大数据和财务数智化到底怎么结合?
大数据·网络·数据库·人工智能·数据挖掘