CCNP经典笔记

更新时间:2024-04-26 06:43:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

EIGRP

使用可靠传输协议(RTP)

协议无关模块(PDMs),可支持多种网络层协议

EIGRP内存中的内容

1. 邻居表:存放直连的也运行EIGRP的邻居路由器,用HELLO数据报来发现和维持邻居

关系

[下一跳路由器 | 接口]

2.拓扑表:存放去每个目的网络的最佳路由和备用路由 [目的网络 | 可行距离FD | 邻居距离AD | EIGRP邻居] AD,邻居距离(邻居去目的网络的距离);

FD,可行距离(自己去目的网络的距离)

扩散更新算法中:多个邻居可以到达相同网络时,以FD最小的路由作为最佳路由(current successor route),以AD < Fdmin的路由作为备用路由(feasible successor)]

2. 路由表:存放最佳路由

[目的网络 | 距离 | 出口端口 | 下一跳路由器]

EIGRP数据包种类 HELLO

Update,路由更新数据包 Query,查询数据包

Reply,回应数据包,用来回应查询数据包

ACK,前三种数据包的传输都是可靠的,所以需要通过ACK数据包来确认

邻居关系的建立:

1. 邻居关系的建立条件:用HELLO交换的AS自治系统号相同,路由协议中的K系数相

2. 邻居关系建立后开始交换路由信息 3. 计算和建立拓扑表和路由表

4. 维持邻居关系,每5s发送一个HELLO,若得不到回应,则删除邻居关系和相关的所有

路由

EIGRP的Metric值,默认情况下可认为是带宽和延时相关 <带宽值需要在接口上手工设置,延时则取决于接口类型。>

Metric的计算, 带宽,总是取去目的网络所有输出接口上带宽最小的,BW=10^7/带宽(K) 延时,是去目的网络所有输出接口的延时的累加(不要忘记连接目的地网络最末端的接口),以10微秒为单位

Metric = (BW + 延时)* 256 显然,带宽的影响远大于延时,也就是说Metric主要看带宽,

在带宽相同的情况下再观察延时(通常情况下收跳数影响)

IGRP和EIGRP的Metric值关系:Metric(EIGRP) = Metric(IGRP) * 256

EIGRP配置

router eigrp AS-number

network network-number [mask] 路由宣告时使用的是端口上所配置的网络ip和掩码 no auto-summary

EIGRP在不同网络的网络边界上会根据类做自动汇总。

对路由汇总的路由,EIGRP会自动产生一条指向空接口的路由(如,10.0.0.0/8 is a summary , Null 0)防止路由环路的产生

sh ip eigrp neighbour sh ip eigrp topology P 稳定状态

A 正在向邻居查询

两种静态路由写法的作用有细微不同

ip route 10.1.1.0 255.255.255.0 S0/0 认为10.1.1.0/24网络是直连的,管理距离为0 ip route 10.1.1.0 255.255.255.0 10.1.1.1 不认为它是直连的,管理距离为1,如果不是直连,是不能在EIGRP中发布的

路由汇总

(config-if)# ip summary-address eigrp AS-number network mask

1. 路由汇总是在接口上实现的,因此手工路由汇总是在接口模式下配置的

2. 无论是自动汇总还是手工汇总,路由器都会自动创建一条指向空接口NULL 0的路由 3. 只有所有被汇总的所有路由消失,汇总路由才会消失

4. 汇总后的metric值,为被汇总的路由的路由中metric值最小的

负载均衡

等长路由负载均衡

1. 如果ip包是路由器自己产生的,则每个数据包轮流选择不同的负载均衡路径 2. 如果ip包是转发的,则路由选择是基于目的地址的

3. 默认情况下,支持最多四条等长路由的负载均衡,最多可修改到支持六条等长路由

maximum-paths number

非等长路由负载均衡

1. 首先,必须是备用路由

2. 备用路由metric / 最佳路由metric < 设定的倍数 (config-router)# variance 倍数(默认

为1)

EIGRP带宽

1. 默认情况下,EIGRP路由广播最多达到端口带宽的50%。所以,接口带宽的设置还会影

响到路由广播占用带宽的情况

2. 如果一个物理接口上有多个虚电路,每个虚电路上EIGRP路由广播允许占用的最大带

宽是均分的。所以端口带宽的设置必须是 虚电路最小带宽 * 虚电路数量。

EIGRP认证

(config-if)# ip authentication mode eigrp AS-number md5

(config-if)# ip authentication key-chain eigrp AS-number name-of-chain (config)# key chain name-of-chain (config)# key key-id

链路两端的key-chain name,key id,key string都必须相同

EIGRP查询

1. 最佳路由丢失而且没有备用路由时,会向其余邻居发出查询(不会向丢失路由的邻居发

出查询)

2. 查询其实是一种报错机制,路由下毒,将一条路有的metric值设为最大2^32 – 1

3. 只有发出的所有查询都得到reply后,才能真正确认路由走向,并写入路由表,否则会

一直等待邻居的reply数据包,若等待时间过长,会解除邻居关系

4. 路由器越多,拓扑结构越深,冗余链路越多,路由表越具体,查询越多,甚至循环查询 5. 邻居收到查询时,如果路由表中没有该路由,不会继续查询,而是直接reply不可达

用路由汇总可解决循环查询,EIGRP Stub也可以解决循环查询

作为stub(末节)路由器,在建立邻居时,会告诉所有邻居自己是stub,不接受查询 (config-router)#eigrp stub [receive-only | connected | static | summary] #redistribute static 带宽 延时 可靠性

OSPF

1. 邻居表:存放能够互相交换链路状态信息的邻居信息

2. 拓扑表,即链路状态数据库LSDB:同一个area中每个路由器的LSDB应该是相同的 3. 路由表

优点:

1. 能够了解整个网络拓扑,所以计算精确,不会有环路,收敛速度快 2. 对网络拓扑结构要求层次化设计(主干区域+普通区域),普通区域与主干区域直连,普

通区域之间通讯需要通过主干区域。这是为了减小区域的大小,防止链路状态数据库过大,链路状态广播过于频繁和反复重算路由造成CPU高负担。因此,将路由器分成多个小区域,每个区域内路由器数量较少,每个路由器只了解本区域的拓扑结构,对于其他区域只需要了解其他area有哪些路由,这样将拓扑变化的影响(泛洪)只限于区域内。 3. 区域之间可以通过路由汇总的方法可以进一步优化

4. 层次化设计包括两层含义,拓扑结构的层次设计和ip地址规划的层次设计

5. 边界路由器ABR,它有至少两套拓扑表,很多设置都要在ABR上实现(如,路由汇总,

路由重发布

OSPF邻居

router-id是OSPF中唯一的表示一个路由器,在OSPF进程启动时 1. 选择router-id命令手工设置

2. 若无,选择loopback接口最大ip地址 3. 若无,选择up的物理接口最大ip地址 4. 若无,OSPF进程无法启动

5. 在OSPF进程重新启动之前,已选择的router-id是不会变化的

OSPF数据包类型(OSPF协议的地位与TCP、UDP同层,它的协议号为89,它的组播ip为224.0.0.5,OSPF数据包发送时只使用输出端口的主ip地址) Hello,发现和维持邻居关系

数据库表述数据包,包含自己LSDB中每条LSA的link id(链路状态id) + adv router(广播路由)+ Seq(序列号)

Link-State Update,需要确认

Link-State Acknowledgment,用于确认Link-State Update

HELLO数据包

[router-id | Hello and dead intervals(10s;40s)* | Neighbours(这台路由器在这个接口上发现的邻居) | area id* | router priority | DR ip address | BDR ip address | authentication password* | stub area flag(特殊表示字段)*]

只有当两台路由器*部分内容和子网掩码?都一致时才能建立邻居关系

LSA链路状态广播,每个LSA由link id(链路状态id) + adv router(广播路由)唯一标识,但一条LSA中包含里若干条Link信息 。此外还有Seq(序列号)来表示新旧程度。

邻居关系的建立

Down State[发送hello包] Init State[从对方的hello包中发现自己的router-id] Two-Way State(互相可以发现)[发送数据库描述数据包,包括MTU(MTU不同也无法建立邻居关系),选举DR和BDR]Loading State[发送链路状态请求和更新数据包进行学习(LSU是传输LSA的载体,是数据格式)]Full State

网络稳定后(即LSDB同步后)若再有变化,则发送单独的LSA。链路状态广播LSA只会在只能在Adjanecy邻居之间发送(即Full State)。

OSPF网络类型

1. P-to-P:专线(PPP,HDLC);FR或ATM的P-to-P子接口。这种情况下必须建立Full邻居

关系

2. 多路访问网络Multiaccess:有广播能力的BMA(以太网);没有广播能力的

NBMA(FR,ATM)。这种情况下不会在所有路由器之间建立完全邻居关系,而是指定DR,每个路由器只和指定路由器DR建立完全邻居关系(Full State),与其他路由器DRothers只建立two-way state关系。

DR的选举

1. 先看接口的OSPF优先级,default = 1 ,max = 255 , 0 = 不能成为DR。 2. 若相同,看router-id,大的将成为DR。

3. DR的全局是非抢占的,除非已有DR失效,否则其他路由器不能抢夺DR。 4. DR不是针对路由器的,而是针对接口的。(即同一网段中会选举一个DR)

5. 除了DR,Drothers还会与BDR建立完全邻居关系。BDR平时不会发送LSA,只会监

视DR,若DR失效,他就会取代DR的地位。 6. Drothers只能相互看到,不会发送LSA。

7. P-to-P网络中不选择DR,直接建立邻居关系。

SPF算法中,代价Cost = 100Mbps / 带宽(bps)

LSA的序列号

若收到LSA的序列号比LSDB中的序列号小(例如,邻居路由器重启),则会将LSDB中相应条目LSA回发

序列号的范围0x80000001 ~0x7FFFFFFF,LSA在数据库中的老化时间为1800s,所以即使网络稳定,路由器每过1800s也要发一条内容不变,序列号+1的LSA,用来刷新邻居路由器数据库中的LSA。(不同LSA的序列号空间相互独立)

序列号空间用完时,路由器会将LSDB中该条LSA的老化时间设置为最大,并发布这条老化时间为最大的LSA更新到其他路由器的数据库中,使得所有路由器的LSDB中相应的LSA条目超时清除

#sh ip ospf database 察看LSDB

OSPF配置

(config)# router ospf process-id [vrf vpn-name] 启动OSPF进程

1. 一个路由器上允许多个OSPF进程,process-id只具有本地意义,进程有独立的LSDB,

SPF计算和LSA flood,进程相互之间不交换路由信息,除非左路由发布 2. 一个接口只能参与一个OSPF进程

(config)# network ip-address wildcard-mask area area-id决定哪些接口参与OSPF (config-if)# ip ospf process-id area area-id [secondaries none] 邻居路由器之间只需要area-id相同,process-id可以不同

注意边界路由器上不同区域的配置要写在同一OSPF进程内,如 router ospf 50 network 10.64.0.2 0.0.0.0 area 0 network 10.2.1.2 0.0.0.255 area 1

(config-router)# router-id id 设置router id (config)#sh ip route ospf process-id

OSPF在非广播多路访问NBMA的处理方法

1. NBMA方式:适用于星型结构,hello,dead间隔 = 30,120??

1) 手工指定邻居(config-router)# neighbour ip-address手工指定邻居后发送的OSPF数

据包不再是组播数据包而是单播数据包;

2) 必须手工干涉DR选举,只有到每个节点都有PVC的router做DR。由于DR选举

和启动次序有关,所有升降优先级不一定能改变DR,正确的方法是把不能作为DR的路由器接口的有优先级都设置为0 (config-if)# ip ospf priority 0

2. 点对多点方式*:可以将端口的网络类型手动设置为p-to-m (config-if)# ip ospf network

point-to-multipoint ,适用于星型或部分全连接网络(注意:这种情况下网络中的所有借口都要如此配置成p-to-m,保持链路两端接口的网络类型一致,否则表面上看来邻居关系是建立的,但LSDB会出错,导致部分路由的缺失)

1) 能够自动发现邻居,不需要DR,条件是需要将广播复制到每一根PVC上(FR端

口上frame map的broadcast配置语句)

3. 点对点子接口方式:每个PVC做成一个点对点子接口,与方法2相比的不同是,每个

子接口都要消耗一个ip子网

4. 点对多点非广播方式:如果点对多点方式中,不能将广播复制到每个PVC上(意味着

无法自动发现邻居),则必须手动指定邻居 5. 处理成广播,全连接时??

链路状态广播类型

ABR区域边界路由器,不同OSPF区域的边界

ASBR自治系统边界路由器,将非OSPF管理的网络重分配到OSPF网络中 (config-router)# redistribute 类型E,外部路由

一般来说多区域结构,每个区域都必须和主干区域直连,否则 1. 和主干区域不直连

2. 主干区域是分成两半的,都会造成路由缺失

都需要在边界路由器上做virtual link的处理来做补救

注意点:1. 虚电路穿过哪个区域;2. 虚电路的另一端的router的router id (config-route)# area 所穿过的区域id virtual-link 虚电路另一端的routerid 类型IA,inter area,从其它区域学得

链路状态广播类型 6 组播OSPF所用 8 BGP

9,10,11 配合MPLS等高级功能使用

类型1 Router LSA(在链路状态数据库Router Link States中) 每台路由器都会产生类型一的广播,作用用于描述当前直连网络的链路状态信息,只能在区域内传播 Link id = 本路由器Router id sh ospf database router link-id

类型2 Network LSA(在Net Link States中) 由DR产生,作用宣告在一个传输网络Transic network上所连的路由器和该传输网络的网段,也用于描述当前网络的拓扑信息,只能在区域内传播。

Link id = DR在这个传输网络中接口的ip地址

类型3 Summary LSA(在Summary Net Link States中),由ABR产生,作用在每个区域内宣告其他区域中有哪些ip子网(即宣告区域以外的路由信息),传播范围是整个自治系统。 Link id = 被广播的路由的网络的网络号

类型4 Summary LSA(在asbr-summary中) 由ABR产生,作用用来宣告本区域内有的ASBR 的router-id(即宣告对外出口),会传遍整个自治系统,类型4与类型5同时作用

类型5 External LSA(在External Link States中)由ASBR产生,作用宣告外部路由,被宣告的路由的metric值为20,会传遍整个自治系统,类型4与类型5同时作用

O,本区域的路由记录,由类型1,类型2的链路状态广播产生 O IA,区域间的路由记录,由类型3的链路状态广播产生 O E,外部路由记录,由类型5的链路状态广播产生

O E1,E1的外部路由记录,外部路由的metric值会随着在自治区域内经过多台路由器而累加

O E2,E2的外部路由记录,外部路由的metric值在自治区域内不变(默认为20) O N, 类型7,只能出现于NSSA区域内,用于替代类型5的LSA

自治系统内如果有router id重复,可能会产生Link States项不正常,有路由丢失等可能(如果在同一区域内有router id重复,会有log提示)

(config-if )# ip ospf cost interface-cost在输出端口上更改cost值,可以影响OSPF的路由选择 默认cost = 100Mbps / 输出接口带宽(Mbps)

OSPF路由汇总

可以减少路由表的大小

OSPF的路由汇总只能在边界路由器(ABR,ASBR)上进行,它可以将一个区域内路由信息会总成一个大的网络发布给其他区域

ABR上的路由汇总

(config-router)# area area-id range address mask 将区域area-id内的路由信息汇总成一个大的网络address mask后发布给其他区域

ASBR上的路由汇总

(config-router)# summary-address address mask

在OSPF中引入默认路由

在路由器上配置默认路由,然后(config-router)# default-information originate,该路由作为外

部路由,以类型5宣告给其他路由器

OSPF区域类型

通过改变区域类型,也可以减小路由表的大小

1. 末节区域Stub Area,在此区域中不接受类型5的链路状态广播,即此区域中不可

能有O E记录,而是由ABR自动生成一条默认路由O* IA以类型3发布,在某一台路由器来看,就是有一条默认路由O* IA指向最近的ABR。

条件:不能是区域0;不能有virtual link;区域内不能有ASBR;建议区域内只有一个ABR

要将一个区域配置成stub area,就必须将区域内的所有路由器都配置(config-router)# area area-id stub,否则不匹配的路由器无法与其他路由器建立邻居关系 2. 完全末节区域Totally Stubby Area(cisco私有),在末节区域的基础上不接收类型

3的LSA,除了用于广播默认路由的,即此区域中除了一条O* IA记录外没有O IA记录。

相比于末节区域的配置,只需要在ABR上增加配置(config-router)# area area-id stub no-summary

3. 非纯粹末节区域Not-So-Stubby Area,条件,不接受类型5的链路状态广播,但允许

有ASBR。在NSSA区域中,ASBR发类型7的LSA广播外部路由(而不是类型5),该广播区域内的ABR收到该类型7的LSA后会翻译为类型5的LSA发布给其他区域,即在NSSA区域内部不会有类型5的LSA,但是能够向其他区域传递类型5的LSA(外部路由)。

(config-router)# Area area-id nssa [default-information-originate] [加这条参数后ABR才会发布默认路由,以类型7发布,该LSA只会在nssa区域内传播] [no-summary] [ABR上也可以加此参数成为非纯粹完全末节区域,ABR会发布默认路由,以类型3发布]

OSPF的认证

支持明文认证和MD5认证

(config-if)# ip ospf authentication //明文认证 (config-if)# ip ospf authentication-key password

(config-if)# ip ospf authentication message-digest //MD5认证 (config-if)# ip ospf message-digest-key key-id md5 password 邻居间的key-id,认证方式和password都必须相同

IS-IS

IS-IS的主干是有许多具有level1,level2 两层功能的路由器(功能等同于ABR)形成的骨干

两层路由: level 1,通过链路状态更新包LSP在同一区域内计算节点的可达性 level 2,通过链路状态更新包LSP在骨干上计算不同区域的可达性

integrated (or Dual) IS-IS同时支持IP和CLNS,但LSP的发布仍是用CLNS的格式,所以路由器必须支持CLNS

IS-IS 的metric值,默认全部为10,而与带宽无关。

终端系统-中间系统ES-IS,ES之间的交互要通过IS

IS-IS与OSPF的不同

区域边界

OSPF的区域边界为路由器

IS-IS的区域边界是链路,一台路由器只属于一个区域,通过链路连接不同区域 这是由于一台路由器只能有一个CLNS地址

路由状态广播类型

OSPF有多种类型的数据包(类型1,2,3…)

IS-IS只有链路状态数据包LSP一种类型的数据包,它通过不同字段来表示数据包的不同功能

区域类型

IS-IS只有一种区域类型,它的行为模式与完全末节区域类似,即去不同area的路由指向离自己最近的L1/L2(ABR)路由器

IS-IS在CLNS环境中的工作方式 NSAP address网络服务访问点地址,一个节点只有一个地址(不同于ip的一个接口有一个地址)

NSAP address [Area address(AFI + Area ID) | System ID | Service Selector] 如49.0001.0000.0000.0001.00

Area address的前两位(即AFI)是49为私有地址 Area id可变长,只要不超过20byte

System id在cisco的解决方案中为48位(有利于映射到mac地址) Service Selector用于区分服务(类似于端口) 如果Service Selector为00,则表示NET网络设备

L 1路由器,在区域内计算System ID的可达性(所以推荐在全网中System ID有唯一性) L 2路由器,在主干上计算Area ID的可达性

L 1路由器,通过收集同一区域内的ES的Hello包,得知并交换ES可达性 L 2路由器,相互交换区域可达性信息,即不同area id的出口

IS收到ES的数据包,首先比较自己和目的地址的area id,若一致,则从L1的数据库中查询路由;若不一致,则发向离自己最近的L1/L2路由器,由其通过L2的查询发向其他区域。(同一区域内转发时,只看System id,不看area id;不同区域间转发时,只看area id,不看System id)

Route leaking路由泄漏,将L2的路由泄露到L1数据库中,防止出现来回路由不对称。

PDU,数据链路层PDU=frame,网络层PDU=packet

IS-IS,ES-IS,CLNP属于网络层协议(与IP同层,比OSPF低一层),直接封装在数据链路层包头后。

IS-IS PDU类型 OSPF IS-IS Hello Hello DBD CSNP(完全序列号数据包,LSDB中每条LSP的link id, seq

number,age,用于广播网络中的DIS的数据库同步)

LSR PSNP(部分序列号数据包,部分LSP的link id, seq number,age

信息,用于p-to-p中的确认和广播网络中的对缺少路由的请求)

LSU(链路状态广播) LSP(链路状态信息) ACK

不同用途的LSP,都相同包头(PDU type, length, LSP ID, seq number, age),但通过不同字段(TLV,type,length,value)表示不同用途

LSP的seq number是线性的,默认老化时间是20min,刷新时间是900s

IS-IS不支持NBMA,处理方法,只能改成点对点子接口*,或全连接广播网络

IS-IS在广播网络中的模式 OSPF IS-IS 在广播网络中选举DR,BDR 选举DIS,作为一个伪节点,代表一个网络,以太

网上所有的IS(包括充当DIS的IS本身)都与DIS连接,用于同步以太网上所有IS的LSDB

不同之处,

IS-IS无备用DIS,因为DIS发送Hello包的时间间隔为10/3s DIS是可抢占的

所有路由器间都要两两建立邻居关系(而不是出于只能相互可见,但不发送数据的Two-way状态

邻居关系的建立原则,不同area的IS之间只能建立L2邻居关系。

IS-IS的配置

首先,必须进行CLNS地址和IP地址规划,注意System id要唯一,建议将mac映射为System id

(config)# router isis

(config-router)# net CLNS-address

(config-if)# ip route isis //将端口加入IS-IS

本文来源:https://www.bwwdw.com/article/tk3p.html

Top