思科新版ccna认证工程师必看路由环路的产生及解决方法

本文主要是介绍思科新版ccna认证工程师必看路由环路的产生及解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

思科新版ccna认证工程师必看路由环路的产生及解决方法有人说过在当今的网络通讯流量中,百分之八十左右的资源都被浪费,只有不到五分之一的资源被有效利用。这个资源浪费的罪魁祸首之一就是网络环路的产生,产生的环路不但浪费了设备的CPU及内存资源,还有就是链路的带宽资源。

防环机制就是在这样糟糕的环境下产生的净化机制。通常我们的网络环路分为第二层环路和第三层环路,所有环路的形成都是由目的路径不明确导致混乱而造成的。

二层环路也就是我们说的交换机环路,它是由交换机广播消息的恶性循环产生的。三层环路则是在路由器上产生的环路。

距离矢量路由协议只是简单地将自己的路由表周期性地通告出去,同时也将收到的有效路由加载到路由表中,并通过累加的度量值来体现到达目标网络的距离,因此运行距离矢量路由协议的路由器并不了解整个网络的拓扑结构,这些特点使得网络中非常容易出现路由环路。

  当R1路由器一侧的X网络发生故障,则R1路由器收到故障信息,并把X网络设置为不可达,等待更新周期来通知相邻的R2路由器。但是,如果相邻的R2路由器的更新周期先来了,则R1路由器讲从R2路由器那学习了到达X网络的路由,就是错误路由,因为此时的X网络已经损坏,而R1路由器却在自己的路由表内增加了一条经过R2路由器到达X网络的路由。然后R1路由器还会继续把该错误路由通告给R2路由器,R2路由器更新路由表,认为到达X网络须经过R1路由,然后继续通知相邻的路由器,至此路由环路形成。

综上,路由环路的问题对于网络而言危害是巨大的,因此从网络设计、协议设计的角度都应该充分考虑到环路的隐患及可能性,并加以规避。

解决三层环路的方法:

  1. 定义最大跳数:

为了避免RIP路由在网络中被无休止地转发,定义了路由的最大跳数为15跳,也就是说,当一条路由的度量值达到16跳时,该路由被视为不可用,路由所指向的网段被视为不可达。

  1. 水平分割:

一种消除路由环路并加快网络收敛的方法是通过叫做“水平分割”的技术实现的。其规则就是不向原始路由更新来的方向再次发送路由更新信息。

  1. 路由毒化:

当一个网络变为不可达时,发现这个变化的路由器立即触发一个16跳的路由更新来通知网络中的路由器——目标网络已经不可达,这种路由被称为毒性路由。

  1. 毒性逆转:

从某个接口学到路由后,当它从该接口发送Response报文时会携带这些路由,但是这些路由度量值被设置为16跳。可以清除对方路由表中的无用路由。

  1. 触发更新:

正常情况下,路由器会定期将路由表发送给邻居路由器。而触发更新就是立刻发送路由更新信息,以响应某些变化。检测到网络故障的路由器会立即发送一个更新信息给邻居路由器,并依次产生触发更新通知它们的邻居路由器,使整个网络上的路由器在最短的时间内收到更新信息,从而快速了解整个网络的变化。思科新版ccna认证工程师必看路由环路的产生及解决方法

这篇关于思科新版ccna认证工程师必看路由环路的产生及解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/643289

相关文章

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4

Java方法重载与重写之同名方法的双面魔法(最新整理)

《Java方法重载与重写之同名方法的双面魔法(最新整理)》文章介绍了Java中的方法重载Overloading和方法重写Overriding的区别联系,方法重载是指在同一个类中,允许存在多个方法名相同... 目录Java方法重载与重写:同名方法的双面魔法方法重载(Overloading):同门师兄弟的不同绝

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

springboot中配置logback-spring.xml的方法

《springboot中配置logback-spring.xml的方法》文章介绍了如何在SpringBoot项目中配置logback-spring.xml文件来进行日志管理,包括如何定义日志输出方式、... 目录一、在src/main/resources目录下,也就是在classpath路径下创建logba

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

SQL Server中行转列方法详细讲解

《SQLServer中行转列方法详细讲解》SQL行转列、列转行可以帮助我们更方便地处理数据,生成需要的报表和结果集,:本文主要介绍SQLServer中行转列方法的相关资料,需要的朋友可以参考下... 目录前言一、为什么需要行转列二、行转列的基本概念三、使用PIVOT运算符进行行转列1.创建示例数据表并插入数

maven异常Invalid bound statement(not found)的问题解决

《maven异常Invalidboundstatement(notfound)的问题解决》本文详细介绍了Maven项目中常见的Invalidboundstatement异常及其解决方案,文中通过... 目录Maven异常:Invalid bound statement (not found) 详解问题描述可

C++打印 vector的几种方法小结

《C++打印vector的几种方法小结》本文介绍了C++中遍历vector的几种方法,包括使用迭代器、auto关键字、typedef、计数器以及C++11引入的范围基础循环,具有一定的参考价值,感兴... 目录1. 使用迭代器2. 使用 auto (C++11) / typedef / type alias