MAC地址震荡,STP震荡,OSPF路由协议震荡

简介: MAC地址震荡,STP震荡,OSPF路由协议震荡

一.MAC地址震荡

原因

MAC地址表震荡也称为MAC地址漂移,是由网络环路造成的:


二层环路


假设现在网络还没收敛,主机X要去ping网段2。由于主机X不知道目标MAC,所以先是发送ARP请求。


先看交换机A收到了帧,查看了源MAC对应的是主机X,更新MAC地址表。查看目标MAC是FF,复制原数据帧N份,进行泛洪。从交换机A出来的帧其一到了网段2,这里都是正常的ARP请求。


但是从交换机出来的帧其二到了交换机B,交换机B和交换机A一样做相同的操作,更新MAC地址表,记录的是主机X和对应的端口。交换机B一看帧的目的MAC是FF,又进行泛洪,传回主机X和交换机B


上面的数据帧的传输已经是有问题了,再看主机X假设ping报文数据帧到B,B这个时候已经有刚刚A传来的对于主机X的MAC信息,但是B收到了新的帧,马上就更新了。但是,从主机B和交换机A,交换机B和主机X连的端口肯定不是同一个。这就导致了主机B的MAC表不断更新,而且还不稳定....


上面说的都是ARP,是广播帧。要是单播帧呢?交换机A和交换机B假设都已经学到了MAC表,主机X发出来的一个数据帧会传到A和B,然后它们又会传递网段2,这样就有了两个数据包。


除了会产生MAC地址震荡外,还会产生广播风暴:


当网络中存在环路(交换机A,B的两个端口,通过网线相互连接),就会造成每一帧都在网络中重复广播,引起广播风暴。


三层环路

三层环路是两个路由器之间的多个端口相互连接,形成一个环路导致的


正常路由



目的地址是:114.114.114.114


R2匹配默认路由,将数据包发送给R1,R1匹配默认路由发送给运营商。


产生环路路由

目的地址是:192.168.100.1


R2匹配默认路由,将数据包发送给R1,R1匹配192.168.0.0/16路由发送给R2,R2又发送给R1....R1和R2对此数据包来回发送直到ttl=0。


在三层转发时会自动引入ttl( Time To Live),每经过一次三层转发,减少1。


ttl值范围(0~255),ttl=0时数据包丢弃。


假如ttl=10,那么经过一次三层转发变为9,再次三层转发变为8....直到到达目标或者ttl=0丢弃


避免三层环路的方法

1.最小化路由汇总


用192.168.0.0/22替代R1指向R2的回程(192.168.0.0/16),包含的范围就比较小,192.168.0~3.0~255


其中R2直连的有192.168.1.0/24、192.168.2.0/24;


其中不存在的有192.168.0.0、192.168.3.0,如果此时访问192.168.100.1,R1因为没匹配到路由直接丢弃。


如果此时访问的目的地址是192.168.0.1



同样的环路问题又次出现,但此番汇总环路的目的ip地址范围只剩下192.168.0.0/24、192.168.3.0/24


2.null0路由

为了让这些网段可能产生三层的环路,可以配置null0路由


让192.168.0.0/24、192.168.3.0/24指向null0



目的地址是:192.168.0.1


R2匹配默认路由发送给R1;


R1根据最长掩码匹配原则匹配到192.168.0.0/24为最优,下一跳为null0,所以直接丢弃,避免了环路问题。


二.STP震荡

原因

为了避免环路,所以引入了STP生成树协议,但是当STP配置不正确或网络拓扑发生变化时,可能会导致STP计算出不同的生成树,交换机之间频繁地切换端口的状态,就会导致STP震荡

STP震荡与MAC地址震荡的区别与联系


联系


两者都与网络环路有关


区别


1.


MAC地址震荡是在数据包转发层面上的问题。


STP震荡是在网络拓扑计算和链路状态切换层面上的问题。


2.


STP震荡会导致交换机端口频繁变化,可能导致网络中断。


MAC地址震荡则会导致大量重复的数据包传播,消耗带宽和资源。


三.路由协议震荡

OSPF路由协议震荡

OSPF是动态路由协议,当某个链路一直down/up,OSPF就会一直更新,路由器就会一直重新计算路由,这就是OSPF路由震荡


1.多区域,区域间做路由汇总,解决区域内路由震荡带来的全网路由重新计算。


2.合理利用 stub 区域,比如 stub/totally stub/nssa/totally nssa 区域,让区域成为 stub 区域,其他区域的路由对该区域而言就是默认路由,其他区域动荡和该区域无关。



3.外部路由重发布到 OSPF,先做好汇总,比如静态路由指向 null0,然后重发布这条静态路由到 OSPF,这时,外部路由带来的震荡仅在外部路由域有影响,对 OSPF 路由域毫无影响。


BGP路由震荡

1.发布路由时,可先汇总好后指向 null0,然后 network 进 BGP,减少发布路由的条目。



2.BGP 有路由惩罚措施,一条路由频繁震荡,会惩罚为不可用路由,直到其稳定后,才可成为可用路由。


总的来说,防止路由协议震荡:


1.减小路由域

2.做好汇总

3.一定的震荡路由惩罚措施


目录
相关文章
|
数据安全/隐私保护 Windows
|
网络协议 算法 网络架构
【计算机网络】网络层 : IP 组播 ( IP 数据报传输方式 | 组播 IP 地址 | 组播 MAC 地址 | IGMP 协议 | 组播路由选择协议 )
【计算机网络】网络层 : IP 组播 ( IP 数据报传输方式 | 组播 IP 地址 | 组播 MAC 地址 | IGMP 协议 | 组播路由选择协议 )
710 0
【计算机网络】网络层 : IP 组播 ( IP 数据报传输方式 | 组播 IP 地址 | 组播 MAC 地址 | IGMP 协议 | 组播路由选择协议 )
|
Web App开发 网络架构
通过克隆MAC地址 破解网通电信封路由
通过克隆MAC地址 破解网通电信封路由 电信封路由方法一:先确定申请上网的电脑单机状态下已经能够上网。就说明该电脑网卡的MAC地址是合法的MAC地址。进入系统的MSDOS方式,发布ipconfig/all命令,就可以查找到该电脑网卡的MAC地址。
1306 0
|
8月前
|
前端开发 安全 测试技术
Postman Mac 版安装终极指南:从下载到流畅运行,一步到位
Postman 是 API 开发与测试的高效工具,支持各类 HTTP 请求调试与团队协作。本文详解 Mac 版下载、安装步骤,助你快速上手。同时推荐一体化 API 协作平台 Apifox,集文档、调试、测试于一体,提升开发效率与团队协同能力。
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
11月前
|
iOS开发 MacOS 索引
在不受支持的 Mac 上安装 macOS Tahoe 26
在不受支持的 Mac 上安装 macOS Tahoe 26
903 0
在不受支持的 Mac 上安装 macOS Tahoe 26
|
Oracle Java 关系型数据库
Mac电脑上安装和配置Flutter开发环境
Mac电脑上安装和配置Flutter开发环境
1070 158
|
Ubuntu Linux Shell
Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
通过这个过程,用户不仅可以定制自己的桌面外观,还可以学习到更多关于 Linux 系统管理的知识,从而更好地掌握系统配置和主题管理的技巧。
2430 12
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。