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 地址

相关推荐
Eric.Lee20217 分钟前
查看ubuntu机器正在使用的网络端口
网络·ubuntu·php
Zero-Talent17 分钟前
TCP/IP协议
运维·服务器·网络
Du_chong_huan21 分钟前
1.7 计算机网络和因特网的历史 | 《计算机网络:自顶向下方法》精读版
运维·服务器·网络
Java成神之路-1 小时前
DNS 与 CDN 底层原理深度剖析:从域名解析到内容分发全链路解析
网络·网络协议·tcp/ip
AI浩2 小时前
UCAN:用于轻量级超分辨率中扩展感受野的统一卷积注意力网络
网络
echome8883 小时前
Python 异步编程实战:asyncio 核心概念与最佳实践
开发语言·网络·python
Predestination王瀞潞3 小时前
5.4.3 通信->WWW万维网内容访问标准(W3C):WWW(World Wide Web) 协议架构(分层)
前端·网络·网络协议·架构·www
喵喵爱自由3 小时前
Docker容器共享宿主机-安全网络
网络·安全·docker
星爷AG I3 小时前
15-6 威胁性信息(AGI基础理论)
网络·agi
旺仔.2913 小时前
Linux系统基础详解(二)
linux·开发语言·网络