同一子网通信

添加交换机后的通信流程


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 小时前
DHCP深度解析:从自动连接到七层之谜
网络
源远流长jerry20 小时前
WebSocket 消息传输:帧格式、掩码机制与代理污染攻击防护
网络·websocket·网络协议
Geometry Fu20 小时前
《无线传感网络》WSN 第3讲 MAC协议 知识点总结+习题讲解
网络·网络协议·无线传感器网络·wsn
qq_3106585121 小时前
webrtc源码走读(五)核心引擎层——传输模块
服务器·网络·音视频·webrtc
hgz071021 小时前
内存、磁盘、网络监控
网络
Xの哲學1 天前
Linux SLUB 内存分配器深度剖析: 从设计哲学到实战调试
linux·服务器·网络·算法·边缘计算
ICT系统集成阿祥1 天前
基于路由器的串口数据 IP 封装传输配置手册
网络·网络协议·tcp/ip
天上飞的粉红小猪1 天前
网络基础概念
linux·服务器·网络·c++
Salt_07281 天前
DAY 54 对抗生成网络
网络·python·神经网络·机器学习·计算机视觉
进击的横打1 天前
【车载开发系列】总线物理层规范中篇
网络·车载系统