CSS(八)

CSS144(八)

Flooding

Flooding 是一种简单的路由策略,主要用于网络中的数据包传播。它的核心思想是:每个接收到数据包的节点,将数据包转发到它所有的邻居(除了来源节点)。Flooding 通常用于特殊场景,如广播、网络发现、故障恢复等

eg:

假设 Ubuntu 桌面电脑(IP:192.168.1.100),连接在家庭路由器(IP:192.168.1.1)的局域网中。现在,电脑需要通过路由器访问外网。为了与路由器通信,Ubuntu 系统需要知道路由器的 MAC 地址。这时,会触发 ARP 协议的 Flooding

  1. 电脑知道路由器的 IP 地址(192.168.1.1,作为默认网关),但不知道其 MAC 地址
  2. 电脑需要发送 ARP 请求来获取路由器的 MAC 地址
  3. Ubuntu 生成一条广播数据包,目标是 "谁是 192.168.1.1?请告诉我你的 MAC 地址"
  4. 这条广播数据包使用局域网广播地址 FF:FF:FF:FF:FF:FF 作为目标 MAC 地址,表示发送给网络中的所有设备
  5. Flooding 传播:广播数据包通过局域网中的交换机(或集线器)传播,发送到同一网络中的所有设备,包括路由器和其他设备(如手机、笔记本等)
  6. 设备接收 ARP 请求
    1. 局域网中的每个设备都会收到这个 ARP 请求
    2. 非目标设备(如你的手机、其他电脑)会直接忽略请求
    3. 路由器检测到目标 IP 是自己的 IP 地址,因此会响应
  7. 路由器返回一个单播响应,告诉你的电脑:我的 MAC 地址是 AA:BB:CC:DD:EE:FF

ARP协议:

ARP(Address Resolution Protocol)是网络通信中的重要协议,主要用于将 IP 地址解析为 MAC 地址。在本地局域网中,设备通过 MAC 地址进行通信,而 IP 地址是网络层标识。ARP 桥接了两者,使设备能够正确建立通信

在以太网等局域网中,设备通过 MAC 地址进行直接通信。

但应用层和传输层基于 IP 地址设计,因此:

  1. IP 地址用于逻辑寻址 (如 192.168.1.1
  2. MAC 地址用于物理传输 (如 AA:BB:CC:DD:EE:FF

设备在发送数据包时,知道目标 IP 地址,却不知道目标 MAC 地址,需要通过 ARP 协议将 IP 地址解析为 MAC 地址

相关推荐
JanelSirry2 小时前
VMware+RockyLinux+ikuai+docker+cri-docker+k8s+calico BGP网络 自用 实践笔记(底稿)
网络·docker·kubernetes
chuxinweihui2 小时前
Socket编程UDP
linux·网络·网络协议·udp·通信
北京耐用通信2 小时前
神秘魔法?耐达讯自动化Modbus TCP 转 Profibus 如何为光伏逆变器编织通信“天网”
网络·人工智能·网络协议·网络安全·自动化·信息与通信
Ronin3052 小时前
【Linux网络】Socket编程:UDP网络编程实现Echo Server
linux·网络·udp·网络通信·socket编程
在路上看风景4 小时前
1.9 IP地址和Mac地址
网络
爱奥尼欧4 小时前
【Linux】网络部分——网络基础(协议与网络传输)
linux·网络·arm开发
捷米特研发一部6 小时前
Modbus TCP转RS485智能网关应用实例:集成工业测温器至云平台的数据采集方案
网络
kimi7046 小时前
HTTP的持续与非持续连接,HTTP报文格式
网络·网络协议·http
知北游天6 小时前
Linux网络:使用UDP实现网络通信(服务端&&客户端)
linux·网络·udp
半桔6 小时前
【网络编程】TCP 粘包处理:手动序列化反序列化与报头封装的完整方案
linux·网络·c++·网络协议·tcp/ip