CCNP个人学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
01路由表的来源
1.路由表的来源有三种:直连的路由、静态路由、动态路由;
2.动态路由协议可分为三种:距离矢量路由协议、链路状态路由协议、混合路由协议;1.直连路由
由路由器根据接口的IP地址和子网掩码计算而得出。
2.静态路由
1.静态路由
静态路由是管理员告诉路由器它不知道的网络怎么走,它自己知道的(它直连的网络)你就别说了;而动态路由协议是路由器本身要告诉其它路由器与它直连的网络有哪些,所以它只发布与它直连的网络;
R1(config)#
R1(config)#ip route 192.168.10.0 255.255.255.0 192.168.20.2
//ip route +网络号+子网掩码+下一跳地址
或
R1(config)#ip route 192.168.20.0 255.255.255.0 fastEthernet 0/1
//ip route +网络号+子网掩码+出口接口
R1(config)#no ip route 192.168.20.0 255.255.255.0 fastEthernet 0/1 //删除静态路由
2.浮动路由
浮动静态路由本身是静态路由,浮动的含义是当原来的路由失效时,该路由才开始启动;因此在配浮动静态路由时需要将其管理距离做相应的调整,使得大于正常使用的其他路由协议获悉的路由。
//管理距离:直连C为0;静态为1;EIGRP为90;OSPF为110;RIP为120;
R1(config)#
R1(config)#ip route 192.168.10.0 255.255.255.0 fastEthernet 0/1 130 //浮动路由
//相对于一般静态路由,浮动静态路由只不过是在后面多加一个管理距离而已
//正常情况下,浮动路由不会出现路由表中
3.默认路由
R1(config)#
R1(config)#ip route 0.0.0.0 0.0.0.0 fastEthernet 0/1 //默认路由
3.动态路由
1.距离矢量路由协议
1).运行距离矢量路由协议的路由器定期向自己的邻居广播或组播更新自己的整个路由表;//RIPv2组播IP为224.0.0.9;
2).配置:
router rip
network 10.0.0.0
version 2
end
show ip route
debug ip rip
show ip interface brief
show ip protocols
no router rip
2.链路状态路由协议
1).运行链路状态路由协议的路由器之间不传输路由条目,它们之间传输的是链路状态(路由器某接口的带宽、掩码、接口类型等);
2).OSPF需要一个层次化的网络结构,它包含两种不同层次的区域:传输区域(骨干area0)和普通区域(非骨干区域);
//所有的非骨干区域必须和骨干区域相连;
3).配置:
router ospf 1 //1为进程号,只具有本地意思
network 10.10.10.1 0.0.0.0area 0 //network+IP地址+0.0.0.0+area 0
network 20.20.20.0 0.0.0.255 area 0 //network+网络号+反掩码+area 0
end
show ip protocols
show ip ospf interface
show ip ospf neighbor //查看OSPF邻居表
show ip ospf database //查看OSPF拓扑表
show ip route ospf //查看OSPF路由表
no router ospf 1
3.混合路由协议
1).具有链路状态的特性——使用三张表:邻居表、拓扑表、路由表;
具有距离矢量的特征——路由器之间直接传递路由条目;
2).配置:
router eigrp 90 //90为自治系统号,路由器之间要想交换路由信息,自治系统号必须相同network 10.10.10.1 0.0.0.0 //按照链路状态路由协议的配法,没有区域号
network 16.0.0.0 //按照距离矢量路由协议的配法
no auto-summary
end
show ip route
show ip protocols
show ip eigrp interfaces
show ip eigrp neighbors //查看eigrp的邻居表
show ip eigrp topology //查看eigrp的拓扑表
show ip route eigrp //查看eigrp的路由表
no router eigrp 90
02路由信息协议RIP
路由协议可分为距离适量路由协议和链路状态路由协议;
1.RIP简介
RIP,Routing Information Protocol,路由信息协议,是一种内部网关协议。
1.RIP的默认管理距离是120;
2.RIP使用UDP的520端口;
3.RIP是距离矢量路由协议,使用跳数为度量值,最大跳数为15;
4.定期广播整路由表;Version 2为组播(224.0.0.9);
2.RIP的路由表
//收到的路由信息的跳数先加1,再和本路由表比较
3.RIP定时器
1.路由更新定时器
默认是30秒,即:Sending updates every 30 seconds
2.路由失效定时器
默认是180秒,即:Invalid after 180 seconds
3.抑制定时器
默认也是180秒,即:hold down 180
4.路由刷新定时器
默认240秒,即:flushed after 240
4.RIP的配置
1.基本配置
R1(config)#
R1(config)#router rip //开启RIP协议
R1(config-router)#network 1.0.0.0 //发布自己直连的主类网络号,v1和v2都不带掩码
R1(config-router)#network 16.0.0.0
R1(config-router)#
2.查看路由表
R1#show ip route
R 6.0.0.0/8 [120/1] via 16.16.16.6, 00:00:05, Serial0/1
/*R表示是通过RIP学到的;6.0.0.0/8是学到的网络,因为RIP是一个有类路由协议,且自动进行汇总;[120/1]中的120表示的是RIP的管理距离,1表示的是RIP的跳数;“via 16.16.16.6”,表示去往6.0.0.0的下一跳路由器直连接口的IP地址是16.16.16.6;“00:00:05”,是收到最后一次路由更新的时间;“Serial0/1”,是本路由器去往6.0.0.0路由的外出接口;*/
3.负载均衡
R1(config)#router rip
R1(config-router)#maximum-paths 6
//RIP默认支持4条路径的负载均衡,最大可支持6条;
4.查看路由协议
R1#show ip protocols
Routing Protocol is "rip"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Sending updates every 30 seconds, next due in 22 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Redistributing: rip
Default version control: send version 1, receive any version
Interface Send Recv Triggered RIP Key-chain
Serial0/1 1 1 2
Loopback0 1 1 2
Automatic network summarization is in effect
Maximum path: 6
Routing for Networks:
1.0.0.0
16.0.0.0
Routing Information Sources:
Gateway Distance Last Update
16.16.16.6 120 00:00:25
Distance: (default is 120)
5.debug ip rip
R1#debug ip rip
RIP protocol debugging is on
6.水平分割
R1#show ip int s0/1
Split horizon is enabled //水平分割默认是开启的
R1(config)#int s 0/1
R1(config-if)#no ip split-horizon //关闭水平分割
7.被动接口
R1(config-if)#router rip
R1(config-router)#passive-interface loopback 0 //被动接口
//被动接口不再往外发送路由更新包,但仍然会接收其他路由器发过来的路由更新包
8.单播更新
R1(config)#router rip
R1(config-router)#passive-interface default //设置所有端口为被动接口
R1(config-router)#neighbor 16.16.16.6 //指定邻居
9.触发更新
R1(config)#int s 0/1
R1(config-if)#ip rip triggered //启动触发更新
R1(config-if)#no ip rip triggered //关闭触发更新
R1(config)#router rip
R1(config-router)#default-information originate //R1宣告自己是默认路由
R1(config-router)#ip route 0.0.0.0 0.0.0.0 lo 0 //配置路由
R6#show ip route
R* 0.0.0.0/0 [120/1] via 16.16.16.1, 00:02:32, Serial0/1
//这是一条默认路由,但不是静态的默认路由,而是通过RIP学到的一条默认路由
//浮动静态路由,通过设置管理距离实现
11.更改定时器的值
R1(config)#router rip
R1(config-router)#timers basic ?
<0-4294967295> Interval between updates //第一个是更新时间
R1(config-router)#timers basic 30 ?
<1-4294967295> Invalid //第二个是失效时间
R1(config-router)#timers basic 30 180 ?
<0-4294967295> Holddown //第三个是抑制时间
R1(config-router)#timers basic 30 180 180 ?
<1-4294967295> Flush //第四个是刷新时间
R1(config-router)#timers basic 30 180 180 240
5.RIPv1和RIPv2
1.RIPv1更新用的是广播,RIPv2更新用的是组播(224.0.0.9);
2.RIPv1是有类的,RIPv2支持VLSM和CIDR(在路由更新中,携带有子网掩码的路由选择信息);
3.RIPv2支持明文和MD5验证;
4.RIPv2可以关闭自动汇总,并支持手工汇总;
6.关闭RIPv2的自动汇总
R6(config)#router rip
R6(config-router)#ver 2
R6(config-router)#no auto-summary
RIPv2手工汇总
R1(config)#int f0/1
R1(config-if)#ip summary-address rip 23.23.0.0 255.255.0.0
7.RIPv2的路由验证
只有RIPv2才支持认证。
1.设置密钥
R1(config)#key chain zqh
R1(config-keychain)#key 1 //可以设置多个密钥
R1(config-keychain-key)#key-string cisco //设置密码
R1(config)#int s0/1
R1(config-if)#ip rip authentication mode ?
md5 Keyed message digest
text Clear text authentication
R1(config-if)#ip rip authentication mode md5 //指定认证模式R1(config-if)#ip rip authentication key-chain zqh //指定密钥名称
8.RIP版本共享
R1(config)#int f0/0
R1(config-if)#ip rip send version 1 2
03增强型内部网关协议EIGRP
1.EIGRP基本介绍
1.EIGRP在IP包头的协议号是88;其中,OSPF是89,TCP是6,UDP是17;
这就意味着EIGRP不能使用TCP的可靠传输,必须要有自己的可靠传输机制;
2.EIGRP Features,EIGRP的特性:
a.快速汇聚,100%无环:通过DUAL算法来实现;
b.部分更新:更新中只包含已变化的链路信息,而不是整个路由表;
c.支持多种网络层协议:RIGRP使用协议无关模块来支持IPv4,IPv6,AppleTalk和IPX;
d.使用多播和单播而不是广播;多播地址为224.0.0.10;
e.支持自动汇总和手动汇总,支持变长子网掩码VLSM:EIGRP是一种无类路由协议,通告每个目标网络的子网掩码;
f.在不同数据链路层协议和拓扑之间提供无缝连接性:EIGRP能够适应不同类型和速度的介质,并可限制EIGRP占用的W AN链路带宽;
g.精密的度量值:EIGRP度量值算法与IGRP相同,但EIGRP度量值是IGRP度量值的256倍;
h.支持等价负载均衡和非等价负载均衡;
PS:
a.和大多数IP路由协议一样,EIGRP依靠IP分组来传送路由信息;EIGRP路由进程是一项传输层功能,使用协议号88,这就使得EIGRP自己必须提供可靠传输的方法;
b.EIGRP在主网络边界自动进行路由汇总,但可禁用这项功能;EIGRP还支持创建超网;
3.EIGRP的4种重要技术:
a.邻居发现协议:通过定期地发送小型Hello分组实现;
b.可靠传输协议RTP:RTP负责确保EIGRP分组按顺序地传递给所有邻居,它支持多播和单播分组的混合传输;
c.DUAL有限状态机;
d.协议无关模块;
4.EIGRP的三张表:邻居表、拓扑表、路由表;
//邻居表,存放的是物理直连的、跑EIGRP的邻居;
5.EIGRP的数据包:
1).Hello:建立邻居关系;使用组播,不可靠的方式发送;
2).Update:发送路由更新;使用单播或组播,可靠的方式发送;
3).ACK:使用单播方式,不可靠的方式发送;
4).Query:向邻居查询路由信息;使用组播或单播方式,可靠的方式发送;
5).Reply:回复邻居的查询;使用单播方式,可靠的方式发送;
6.EIGRP的度量值:带宽、延迟、可靠性、负载、MTU;
//度量值和IGRP一样,但数值要乘以256,放大差别
//默认情况下,只使用带宽和延迟;
2.扩散更新算法DUAL
1. SD,源到目的的距离,是指从数据源到目的网络距离;
FD,可行距离,是指最小的SD;
AD,通告距离,是指相邻路由器到目的地的度量;
2.可行性条件FC:AD小于FD;
即邻居的AD必须小于后继S的FD,才有可能成为可行后继FS;
3.EIGRP后继,是满足可行性条件,并具有最小SD的一个相邻路由器;
可行后继,是指满足可行性条件但没有被选作后继的一个相邻路由器;
//若有可行后继,EIGRP能够立刻恢复
//是FD而不是AD决定了哪条路径是最佳路由,并被加入到路由表中,AD只是被用来计算FD的;
3.EIGRP度量值的计算
A.复合度量值
/*DUAL根据EIGRP复合度量值来选择路由;计算EIGRP复合度量值时使用5个变量,但默认情况只使用其中的两个。
*/
a.带宽K1:源到目标之间的最小带宽;
b.延迟K3:路径上接口的累计延迟;
//默认只使用以上两种
c.负载K2:源到目的地之间链路上的最重负载,基于分组速率和接口的配置带宽;
d.可靠性K4:源到目的地之间的最低可靠性,基于存活时间;
e.最大传输单元MTUK5:路径中的最小MTU;
B.加权求和
//EIGRP通过将前往网络的路径的各种变量加权求和来计算度量值
a.默认情况下,K1=K3=1,K2=K4=K5=0;
b.权重与变量的对应关系是:K1=带宽,K2=负载,K3=延迟;K4=可靠性;K5=0;
c.计算公式:
度量值=K1*带宽+[(K2*带宽)/(256-负载)]+K3*延迟;
/*如果这些K值取默认值,公式将变成:
度量值=带宽+延迟;*/
如果K5不等于0,还要执行下述运算:
度量值=度量值*[K5+K4]
//K值在Hello分组中传输,K值不匹配可能破坏邻接关系;
4.EIGRP的配置
1.基本配置
router eigrp 90
net 10.10.10.0 0.0.0.255
net 20.20.20.0 255.255.255.0 //正反掩码皆可
//反掩码中,0表示必须匹配,1表示无所谓
no auto-summary
metric weights 0 0 0 1 0 0 //表示只使用延迟来进行路由的度量
exit
int f0/1
bandwidth kilobits
end
show ip protocols //查看eigrp的编号
show ip interfaces //查看eigrp的network配置是否正确
show ip eigrp neighbors
show ip eigrp topology
show ip route eigrp
debug eigrp packets
debug eigrp neighbors
debug ip eigrp
debug ip eigrp summary
2.查看EIGRP的运行情况
a.查看EIGRP的三张表
show ip eigrp neighbors//查看EIGRP邻居表
H:邻居建立的顺序
Address:建立邻接关系使用的地址
Interface:建立邻接关系使用的接口
Hold:邻接关系超时时间,默认为三倍Hello时间,也就是15秒;
/*修改Hello时间:
R2(config)#int s 0/2
R2(config-if)#ip hello-interval eigrp 90 60 */
SRTT:平均往返时间,是一个动态统计值,统计往返数据包的传输延时;RTO:重传超时计时器,两个重传数据包之间的时间间隔,默认为SRTT的6倍;Q Cnt:EIGRP数据包传输队列长度,一般为0,如果为非0值,则网络中有拥塞;Seq Num:传输序列号;
show ip eigrp topology//查看EIGRP拓扑表
P:表示被动;
(2297856/128256):前者为FD,后者为AD;
show ip route eigrp//查看EIGRP路由表
/*EIGRP路由表项由字母“D”和“E X”标识;“D”表示在相同自治系统内的路由,而“E X”表示从不同自治系统接收的路由。
*/
b.查看其它
show ip protocols //显示路由协议进程的参数和状态
show ip route //查看路由表
show ip eigrp traffic //显示发送和接收的EIGRP分组数
c.EIGRP debug命令
debug eigrp packets [hello | …] //显示发送和接收的EIGRP分组类型
debug ip eigrp //显示接口发送的接收的EIGRP分组
debug ip eigrp summary //显示有关EIGRP活动的摘要信息
debug eigrp neighbors //显示EIGRP发现的邻居以及Hello分组内容
debug eigrp fsm
//慎动debug命令,因为它们可能耗用大量的路由器资源
3.passive接口
passive接口的作用:
a.禁止通过被动接口建立邻接关系;
b.禁止通过被动接口接收或发送路由更新;
c.让EIGRP进程通告被动接口连接的子网;
命令:passive-interface {type number} | default
/*type number:指定不发送路由更新的接口类型和接口号;
default:(可选)将路由器所有接口的默认状态设置为被动状态;
no passive-interface s0/1 //关闭被动接口*/
R2(config)#router eigr 90
R2(config-router)#passive-interface s0/2
R2(config)#router eigr 90
R2(config-router)#no passive-interface s0/2
4.向EIGRP注入默认路由
EIGRP支持三种方式来向路由表中注入默认路由:
1.用ip route写一条默认路由,再在EIGRP进程中重分发下静态;
2.用ip route写一条默认路由,再在EIGRP路由模式使用network 0.0.0.0发布下;
//使用此方法,将会让路由器所有接口都发布到EIGRP进程中
3.ip default-network注入:
ip default-network 主类网络
network 主类网络
ip route 主类网络子网掩码null 0 //如果路由表中有关于主类网络的路由,此行可省略
5.EIGRP的手工汇总
1.EIGRP可在网络的任何地方进行手工汇总,条件是路由表中有更具体的路由;
一个接口一旦配置手工汇总,路由器马上创建一个路由,指定Null0(用于防环);这条路由只在本地使用,不会传递其它路由器;
最后一条具体路由消失后,汇总路由将从路由表中被删除;如果再添加上一条,汇总自动恢复;
汇总路由使用最小的具体路由度量值作为其度量值;
2.配置
router eigrp 90
no auto-summary //配置手工汇总之前,要把自动汇总关了
exit
int s0/1
ip summary-address eigrp 90 1.1.0.0 255.255.0.0
//ip summary-address eigrp 1 Ip地址子网掩码
EIGRP的汇总是在接口模式下完成的,也就是说EIGRP的汇总可以在网络中的任意一点进行,而且EIGRP的汇总是支持超网汇总的,可以对主类网络进行汇总,而不像RIP那样只能对子网进行汇总。
6.EIGRP的非等价负载均衡
1.EIGRP的等价负载均衡默认是4条,最多可配置为6条;
//如果配置为1,则表示关闭负载均衡;
2.配置非等价负载均衡:
router eigrp 90
variance multiplier
//虽然是非等价负载均衡,但不满足可行性条件的,是不能负载均衡的
7.EIGRP在WAN链路上占用的带宽
a.配置接口带宽:
命令:bandwidth kilobits //kilobits是以kbit/s为单位的带宽值
//命令bandwidth指定的是虚拟带宽,使用它并不能调整接口的实际带宽
b.默认情况下:EIGRP最多占用接口或子接口的配置带宽的50%;在接口或子接口上,可以使用接口配置命令ip bandwidth-percent eigrp as-number percent来调整这个比例;
6.EIGRP在广域网中的应用
1.广域网链路一般分为两种:点到点链路(PPP、HDLC)、多点链路(Frame-Relay);
2.EIGRP默认最多占用50%的带宽,这里的带宽是参考带宽,可以通过bandwidth命令来更改;
可以更改EIGRP占用的带宽百分比,在接口模式下,使用命令ip bandwidth-percent eigrp as-number percent;
7.EIGRP认证
1.EIGRP只支持MD5认证,不支持简单的密码认证;
2.MD5认证的三个概念:Key、KeyID、Key Chain(密钥链);
发送的时候只发送KeyID和Key的hash值,而不传输明文的Key;
3.配置:
1).在接口上启用MD5认证:
int s0/1
ip authentication mode eigrp as-number md5 //启用MD5认证
ip authentication key-chain eigrp as-number ChainName //用key-chain中的那一个key
end
2).定义Key-chain:
//进入全局配置模式
key chain ChainName //创建key chain,两端的KeyChainName可以不一样
key keyID //在keychain模式下指出keyID
key-string text //在keychain-key模式下设置这个keyID对应的password
//一个key chain可以配置多个keyID;
8.EIGRP在企业网中的应用
1.影响网络可扩展性的因素有:
1).邻居间交换的路由信息数量;2).拓扑变化时所涉及的路由器的数量;
3).拓扑的深度;深度是指信息到达所有路由器必须经过的跳数;拓扑的深度会影响汇聚时间;
4).网络中的可选路径数;
2.EIGRP的查询进程
1).一个EIGRP路由器的路由表中丢失某一网络N的路由条目,并且没有无FS时,路由器首先将条目N设置为Active状态,然后向它所有的邻居路由器发送Query包,;
2).若邻居也没有此网络N的任何路由信息,则邻居也进行扩散计算同时该路由条目进入Active状态;若邻居包含此路由信息,则发送包含此路由信息的Reply包;
3).若在三分钟内没有收到任何邻居关于网络N的路由条目Reply包,则此路由器进入SIA 状态,并重置与未应答的邻居之间的邻接关系;这将导致路由器将从这些邻居那里获悉的所有路由都置为Active状态,并将知道的所有路由重新通告给该邻居;
/*1.SIA,Stuck In Active,粘滞在Active状态;
2.EIGRP增强查询功能:SIA-Query,SIA-Reply;
3.路由器如果3分钟没有收到对查询的应答,就会进入SIA状态,这个时间是可以更改的:timer active-time [time-limit | disabled]
4.导致路由进入SIA状态的最常见的原因:路由器太忙无法回答、路由器之间的链路质量低劣、单向链路;*/
PS:
1.被动路由:表明EIGRP路由器有一个到目的地的合法后继并且EIGRP工作正常;
2.主动路由:表明EIGRP路由器已经失去了它的后继,它没有任何可用的可行后继,并且当前该路由器正主动地搜索提到的路由以实现收敛;
3.限制EIGRP的查询范围
1).使用汇总限制,方法是在接口模式下使用ip summary-address eigrp;
查询范围:仅当路由表中包含与网络完全匹配的条目时(网络和掩码都一样),远程路由器才会进一步传播对该路由的查询;
2).EIGRP Stub,一个Stub路由器会告诉它所有的邻居我是一个Stub路由器,EIGRP路由器不会向Stub路由器查询任何路由信息;Stub路由通常用在hub-and-spoke拓扑中;
配置:
router eigrp 90
eigrp stub [receive-only | connected | static | summary]
/*receive-only:只接受,不发送路由;
connected:只允许stubk路由器发送直连的路由;
static:只允许stubk路由器发送静态的路由;
summary:只允许stubk路由器发送汇总的路由;
注意:Default is connected and summary. */
3).妥善关闭:使用goodbye消息功能实现,旨在改善EIGRP网络的汇聚时间;
当EIGRP进程关闭(或使用no network将network命令删除)时,路由器将主动广播一条goodbye消息,让邻接路由器知道拓扑即将发生变化;
/*GoodBye消息以hello分组的方式发送,在GoodBye消息中,所有的K值都被设置为255;然而,当接口被关闭或路由器重启时,EIGRP路由器不会发送goodbye消息;*/
9.考试
1.EIGRP邻居关系建立条件
a.物理直连,莫忘宣告直连网络号;
b.AS号匹配;
c.K值匹配;
2.EIGRP路由表项则字母“D”和“D EX”标识,“D”表示在相同自治系统内的路由,而
“D EX”表示从不同自治系统接收的路由;EIGRP内部路由的管理距离为90,而外部路由的管理距离为170;
2.0.0.0/24 is subnetted, 1 subnets
D 2.2.2.0 [90/2297856] via 23.23.23.2, 00:00:14, Serial1/1
23.0.0.0/24 is subnetted, 1 subnets
C 23.23.23.0 is directly connected, Serial1/1
12.0.0.0/24 is subnetted, 1 subnets
D EX12.12.12.0 [170/2681856] via 23.23.23.2, 00:01:01, Serial1/1
04开放式最短路径优先OSPF
1.OSPF基本介绍
1.与距离矢量不同,链路状态路由协议是采用增量更新的,并且它传的是链路状态;
2.链路状态路由协议有三张表:邻居表、拓扑表、路由表;
3.通过可靠的扩散算法相同area的各路由器将其它路由器扩散的拓扑信息收集起来,组成一张一致的、完整的拓扑图,依靠SPF算法计算出自己的路由表;
即:相同区域内的每一个路由器都有一个本区域的、完整的拓扑表;
4.链路状态是分层的,分两层:骨干区域和非骨干区域;
区分区域的好处:1).最小化路由表;2).一个区域网络发生变化的时候其它区域不受影响;
5.区域的边界在路由器上,即一个接口只能在一个区域中,而一个路由器可以多个区域中;
1).在area 0中的路由器称为骨干路由器;
2).在区域边界的路由器称为区域边界路由器ABR(Area Border Router),它的作用是将非骨干区域连接到骨干区域;
6.OSPF通过Hello包形成Adjacencies,要想形成邻居,以下参数必须一致:Hello/dead interval、Area-ID、Authentication password、Stub area flag;
OSPF的邻居分两种:
一种是点到点的链路(PPP/HDLC),OSPF路由器会很快识别并形成full Adjacent;
另一种是局域网链路,路由器只与DR/BDP形成邻居;
2.OSPF数据包的类型和作用
1.OSPF没有使用TCP/UDP协议,而是直接在IP数据包中封装,协议号是89;
//EIGRP是88,TCP是6,UDP是17
2.OSPF的五种数据包:
Hello:建立,保持邻居;
Database Description:数据库描述,相当一本书的目录;
Link-State Request:链路状态请求;
Link-State Update:即LSU,里面是LSA;
Link-State Acknowledgement:确认;
3.在多路访问链路上,为了减少邻居的形成,引入了DR的概念;OSPF路由器只和DR建立邻居关系;
非根路由器向DR路由器发送信息时,使用224.0.0.6;
DR路由器向非根路由器发送信息时,使用224.0.0.5;
3.OSPF的基本配置
router ospf 110 //110为进程号,本地有次;进程号不同不影响邻居的形成
network 16.16.16.1 0.0.0.0 area 0 //network+接口IP地址+0.0.0.0+area+区域号network 1.1.1.0 0.0.0.255 area 0 //network+网络号+反掩码+area+区域号
network 0.0.0.0 0.0.0.0 area 0 // network+0.0.0.0+0.0.0.0+area+区域号
/*关于network 0.0.0.0 0.0.0.0 area 0,表示可以是任意网段的任意主机,即将本路由器的所有接口加入area 0中;*/
//也可以在接口模式下,使用ip ospf 110 area 0命令开启OSPF
router-id 10.10.10.10 //手工指定RID
/*路由器ID:路由器在OSPF网络中的标识;选取RID的两条原则:
一是手工指定的优先;二是Loopback接口覆盖物理接口;三是选取最高的IP地址(此接口可以不跑OSPF);
更改RID:
如果是自动选举的RID,要更改RID必须重启路由器或删除再打开OSPF进程;
如果是手工指定的话,清一下进程就可以更换,命令是clear ip ospf process;*/
show ip ospf interface
show ip ospf interface brief
show ip protocol
show ip ospf process-id
show ip ospf neighbor //查看OSPF邻居表
show ip ospf database //查看OSPF拓扑表
show ip route ospf //查看OSPF路由表
4.OSPF网络类型
//OSPF的网络类型有三种:点到点、广播多路访问BMA、非广播多路访问NBMA
1.点到点(PPP、HDLC)
没有选举DR/BDR必要;
自动检测接口类型;
所有OSPF数据包都使用组播地址224.0.0.5;
2.广播多路访问(以太网)
//DR、BDR、DROther
需要选举DR/BDR;
其它的路由器必须只与DR/BDR形成完全的邻居关系;
Packets to the DR and the BDR use 224.0.0.6;Packets from DR to all other routers use 224.0.0.5;/*说一个路由器是DR/BDR,指的是这个路由器的某一个接口在某一个广播域中是DR/BDR;一个网络(或者说一个广播域)有一个DR/BDR;
DR/BDR的选举:
1.高优先级的OSPF路由器将被选举为DR,次高优先级的OSPF路由器将被选举为BDR;
如果一个路由器的优先级是0,则意味着这个路由器没有资格做DR或BDR;
//配置优先级:在接口模式下,使用ip ospf priority number,范围是0~255,默认为1
2.RID高的选举DR/BDR;
3.DR/BDR的选举是非抢占性的,即DR/BDR选举之后,如果有优先级更高的路由器接入,DR/BDR不会更改;*/
3.非广播多路访问(X.25、Frame-Relay、ATM)
在NBMA网络中可以连接多个路由器,但没有广播的能力,当然组播也支持不了;
需要选举DR/BDR;
OSPF邻居不能自动发现;
帧中继接口类型与OSPF网络类型:
5.路由器与LSA的类型
1.路由器的类型:
区域内路由器Internal Routers;骨干路由器Backbone Router;
区域边界路由器ABR(Area Border Router);自治系统边界路由器ASBR;
2.LSA的类型:
Type 1:Router LSA
区域中的每一个路由器都会产生;
只在一个区域内传输,不会通过ABR;
使用RouterID来标识区域内的不同路由器;
Type 2:Network LSA
由DR产生;
使用在一个广播或非广播多路访问的区域中;
只在一个区域内传输,不会通过ABR;
Type 3:Summary LSA
由ABR产生;
用于将一个区域中的路由信息传输到另一个区域;
对于区域的每一个子网,OSPF都会用一个3类的LSA将之扩散到Area0中;
/*默认情况下,OSPF不会自动对一组连续的子网进行汇总;
因此应该考虑在ABR上手工配置路由汇总;*/
Type 4:Summary LSA
首先有ASBR产生一个1类的路由器LSA,所在区域的ABR收到后,创建一个4类LSA,
并扩散到Area 0;其他的ABR将重新生成一个4类LSA,并在自己的区域中进行扩散;作用是通告ASBR,它里面的内容是ASBR的RouterID;
Type 5:External LSA
由ASBR产生,传输到整个自治系统,中间不发生更改;
通告自治系统外部的路由;
6.OSPF的数据库和路由表
1.一个区域一个数据库,如果一个路由器是ABR,那它会有多个数据库;
2.同一个区域中的路由器的数据库是一样的;
3.路由表中OSPF的路由类型:
O E1和O E2都是外部路由,它们的区别是计不计算内部代价,O E1计算内部代价,每经过一个路由器要加10;而O E2不计算内部代价;
4.OSPF花销的计算:默认情况下=(100Mbps)/(bandwidth in Mbps);
修改带宽:bandwidth value
7.OSPF路由汇总
1.汇总的好处:
最小化路由表;拓扑变化本地化;减少Type 3和Type 5的LSA的洪泛,节省CPU资源;
2.汇总的配置:
//在路由进程下进行汇总,而不是在接口下
8.OSPF特殊区域类型
1.OSPF除了骨干区域和规则区域之外,还有Stub区域、Totally Stubby区域;
所谓Stub区域,它不接受5类LSA;
所谓Totally Stubby区域,它不接受3类、4类、5类LSA;但有一条3类的默认路由;//Totally Stubby特性是CISCO私有的
2.何时使用Stub区域:
只有一个ABR;没有ASBR;这个区域不能是Area 0;区域中也没有虚电路经过;
区域中的所有路由器都知道这是一个Stub区域(在Hello包中);
3.配置:
4.No-So-Stub区域(即NSSA):
该区域允许Type 7 LSA,禁止Type 5 LSA;
Type 7 LSA由ASBR产生,由ABR转换成Type 5 LSA;
NSSA的配置:
//7类LSA是跟区域相关的,而5类LSA是与区域无关9.OSPF认证
1.OSPF支持简单口令认证和MD5认证;
2.简单口令认证的配置:
3.MD5认证的配置:
//命令:debug ip ospf adja
10.虚电路
1.OSPF采用分层的思想,把一个大型的网络分成了不同的区域,骨干区域和非骨干区域,非骨干区域必须与骨干相连;
这里的相连,可以是物理直连,也可以是虚电路;
05操纵路由更新
1.路由重分发redistribute
1.基本知识
1.路由器可以重分发静态路由和直连路由,也可以重分发来自其他路由协议的路由;
重分发总是向外的,执行重分发的路由器不会修改其路由表;
路由必须位于路由表中才能被重分发;
2.实现重分发时需要考虑的因素:1).路由反馈;2).路由信息不兼容;3).汇聚时间不一致;
//在OSPF中,重分发而来的路由默认为2类(E2)
//重分发到RIP或EIGRP时,必须要为重分发的路由指定种子度量值,否则无效
5.重分发和分类:
单点重分发:单向重分发、双向重分发;//单点故障
多点重分发:多点单向重分发、多点双向重分发;//多点重分发很可能导致路由环路
2.基本配置
1.重分发到RIP
R1(config)#router rip
R1(config-router)#redistribute protocol [id] metric metric-value[match route-type] [router-map map-tag]
/*metric-value的值:静态路由和直连路由的默认种子度量值为1,而其他重分发而来的路由的种子度量值为无穷大,此时必须要指定种子度量值(跳数);*/
2.重分发到OSPF
R1(config)#router ospf 1
R1(config-router)#redistribute protocol [id] [metric metric-value] [metric-type type-value] [router-map map-tag] [subnets] [tag tag-value]
/*type-value,指定通告到OSPF路由选择域的外部路由的外部链路类型,取值为1或2,默认为2;
subnets,指定应该同时重分发子网路由,如果没有指定subnets关键字,则只重分发主类网。