与很多协议一样, EIGRP也使用了路由器ID (RTD)的概念,用一个4字节的编号来标识某个路由器实例。每个地址家族实例拥有自已独立的RID。工程师可以在一台路由器上,为多个EIGRP进程和地址家族实例使用相同的RID。最初, EIGRP的RID是用来在应用了重分布的EIGRP环境中预防路由环路的。在将外部路由注人到EIGRP域中时, RID用来标识路由的来源(路由器)。每条外部路由都关联着一个RTD,这正是将它重分布到EIGRP中的那台路由器的RTDo如果路由器接收到的外部路由携带着与本地相同的ⅢD,路由器就会丢弃这条路由。在多台路由器都执行了路由重分布的网络中,这个特性能够减少网络中出现路由环路的可能性。最初, EIGRP的内部路由中并不通告RID。不过在最近的IOS中,内部路由也同样通告EIGRP的RID了。因此,在EIGRP中通告的每一条路由(内部或外部)都携带着RID,标明是哪台路由器将它汪人到EIGRP中o RID的应用逻辑并没有发生改变一二路由器会丢弃所有携带着自已RID的路由。下例展示了通告路由中携带的EIGRP RID。
 
10.0.2.0/24被作为内部路由通告,这条路由已经携带了通告路由器的RID 10.255.255.2
 
下边的输出展示了一条重分发路由也携带了起源路由器的ID 10.255.255.2,和之前的起源路由器一样。
 
EIGRP RID的选取规则与OSPF一样。路由器会优先选择eigrp router-id命令配置的RID;如果工程师没有手动配置的话,路由器会从所有启用了的环回接口中选择最大的IP地址作为ⅢD;如果工程师没有配置环回接口,或者没有启用了的环回接口,路由器会从所有启用了的接口中选择最大的IP地址作为RID.一旦路由器选定了RID,它就不能再重新生成RID,除非工程师移除了EIGRP进程、手动配置了RID,或者删除了手动配置的RTD。在通过命令eigrp router-id手动配置RID时,不能使用0.0.0.0和255.255.255.255;除此之外的其他值都是有效且可用的。如果路由器的RID发生了改变,它就会断开并重新建立邻接关系,从而导致短暂的连通性问题。如果在一台正在运行的路由器上更改了它接口的IP地址,并且并没有重新启动路由器,在这种情况下, EIGRP的RID并不会发生变化。不过这种做法在特定环境中有可能带来问题,比如在网络中添加一台新路由器,让它使用其他路由器的地址,并且更改了地址的路由器并没有重启。这样一来,网络中就可能有两台路由器使用相同的EIGRP RID ,它们将无法学到对方注人到EIGRP中的路由。路由器并不会在日志消息中指出这一情况,不过在EIGRP事件目志中倒是可以看到一条比较隐蔽的目志消息,如下
 
在接收到的更新中忽略172.16.1.0/24路由
 
 
以前,要想查看当前的RID有点费劲。在以前的IOS版本中,能够显示路由器RTD的地方只有命令show ip eigrp topoIogy和命令show ipv6 eigrp topoIogy的第一行,详见例8-180从IOS 15.0(1)M版本开始,在新命令show eigrp protocoIs中也包含了EIGRP的RTD信息。在较新的IOS版本中,命令show ip protocoIs的输出内容中也包含了EIGRP的RID信息。下例展示了查看RID的几种方式。它的RID使用的是环回接口地址10.255.255.1/32。
 
以下两个命令都显示相同的输出,对于两个ipv4和IPv6,这个路由器使用相同的RID,代替这些命令,可以使用新的命令 show eigrp address-family ipv4 topology和 show eigrp address-family ipv6 topology
 
show eigrp protocols 命令在单个输出中涵盖所有配置的进程和地址家族实例信息,RID展示在Router-ID行。
 
 

EIGRP-15-其他和高级的EIGRP特性-1-路由器ID的更多相关文章

  1. atitit.高级编程语言的特性 and 未来趋势与进化.doc

    atitit.高级编程语言的特性 and 未来趋势与进化.doc 1 编程语言的发展历程 1 1.1 编程语言的进化,起始发现背后的思想 :不论什么两个系统之间的复杂性,都能够通过加入一个抽象层要屏蔽 ...

  2. Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性

    简介 Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很 ...

  3. Java 15 正式发布, 14 个新特性,刷新你的认知!!

    JDK 15 2020/09/15 如期而至! 这个时间牛逼啊,和苹果发布会同天? OracleJDK 15 发布地址: https://www.oracle.com/java/technologie ...

  4. EIGRP-16-其他和高级的EIGRP特性-2-非等价负载分担

    与大多数内部路由协议不同的是, EIGRP能够将流量负载分到多条非等价路径上,而不仅仅使用去往目的地最近距离的那一条路径.提供这项功能的特性称为非等价负载分担.   非等价负载分担的核心概念是可行后继 ...

  5. iOS开发——高级篇——Objective-C特性:Runtime

    Objective-C是基于C语言加入了面向对象特性和消息转发机制的动态语言,这意味着它不仅需要一个编译器,还需要Runtime系统来动态创建类和对象,进行消息发送和转发.下面通过分析Apple开源的 ...

  6. 简易数据分析 15 | Web Scraper 高级用法——CSS 选择器的使用

    这是简易数据分析系列的第 15 篇文章. 年末事情比较忙,很久不更新了,后台一直有读者催更,我看了一些读者给我的私信,发现一些通用的问题,所以单独写篇文章,介绍一些 Web Scraper 的进阶用法 ...

  7. 我还在生产玩 JDK7,JDK 15 却要来了!|新特性尝鲜

    自从 JDK9 之后,每年 3 月与 9 月 JDK 都会发布一个新的版本,而2020 年 9 月即将引来 JDK15. 恰巧 IDEA 每四五个月会升级一个较大的版本,每次升级之后都会支持最新版本 ...

  8. Redis高级命令及特性(安全性)

    高级命令 ​ keys * : 返回满足的所有键 ,可以模糊匹配 ​ exists :是否存在指定的key,存在返回1,不存在返回0 ​ exprie:设置某个key的过期时间 ​ ttl:查看剩余时 ...

  9. C#高级编程之特性

    特性定义 MSDN的描述:使用特性,可以有效地将元数据或声明性信息与代码(程序集.类型.方法.属性等)相关联. 将特性与程序实体相关联后,可以在运行时使用反射这项技术查询特性. 参考此处作者的解释 h ...

随机推荐

  1. Django之form表单常用字段与插件

    from django.shortcuts import render,HttpResponse from django import forms from app01 import models f ...

  2. FTP上传 -首先上传文件到的那台电脑得安装ftp

    /*↓↓↓↓ add upload ftp file 2014-03-16*/        /*↓↓↓↓ add 2014-03-16 ftp upload file*/    var $ftpse ...

  3. 如何覆盖elementUI样式

    question: 在某个组件里面更改element-Ui的样式,而不影响全局. solution: 在需要更改的组件里新增一个style标签[重点:不要加scoped],然后直接获取class设置样 ...

  4. 存储系列之 Linux ext2 概述

    引言:学习经典永不过时. 我们之前介绍过存储介质主要是磁盘,先介绍过物理的,后又介绍了虚拟的.保存在磁盘上的信息一般采用文件(file)为单位,磁盘上的文件必须是持久的,同时文件是通过操作系统管理的, ...

  5. 【linux】linux下java环境安装

    1:下载jdk的包,通过ftp传到服务器 2:解压 tar zxvf jdk-8u181-linux-x64.tar.gz 3:环境配置 编辑配置文件: vim /etc/profile 在文件下插入 ...

  6. 用开源软件TrinityCore在Debian 10上搭建魔兽世界8.3.0.34220的服务器

    用开源软件TrinityCore在Debian 10上搭建魔兽世界8.3.0.34220的服务器 TrinityCore是魔兽世界(World of Warcraft)的开源的服务端.目前支持魔兽的3 ...

  7. Java——多线程基础知识

    多线程进程和线程的区别:每一个进程拥有自己的一整套变量,而线程则共享数据.java.lang.Thread    static void sleep(long millis) 线程休眠给定的毫秒数,用 ...

  8. shiro配置springboot的基本配置

    标准配置 对比 https://www.cnblogs.com/xiaozhang666/p/12058341.html  的对应注入查看 package com.zys.sys.config; im ...

  9. Java Serializable(序列化)的总结

    1.序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来.虽然你可以用你自己的各种各样的方法来保存object states,但 ...

  10. 我天!xx.equals(null) 是什么骚操作??

    问题背景 我的天,最近做 Code Review 看到一个同事的骚操作,他写了一个工具类,大概是这样的: public static boolean isNull(Object object){ re ...