这是CCNA培训课程中的两个重要的路由选择协议:EIGRP(
Enhance Internal Gateway Routing Protocol ,
增强型内部网关路由协议--Cisco专用)和OSPF(
Open Shortest Path First
,开放的最短路径优先).下面就这两个协议的基本配置做简要说明,至于协议的工作原理和特征相信大家会找到这方面的文本资料的!
EIGRP
和
OSPF
6.1
EIGRP
介绍
6.1.1
EIGRP
的特征
Cisco
私有的高级距离矢量路由协议。是
IGRP
的增强型版本
.(Enhance Internal Gateway Routing Protocol ,
增强型内部网关路由协议
)
6.1.2
EIGRP
表
1
邻居表(
Neighbors Table
):
运行
EIGRP
路由协议并建立邻接(
Adjacency
)关系的直连路由器列表。存储用哪个接口连接的下一跳路由器。
2
拓扑表(
Topology Table
):
从每个
EIGRP
邻居学习到的所有路由列表。存储的通过每个邻居到达目标的
FD
和
AD
值。
FD
(
Feasible Distance
,可行距离
):从自己通过某个邻居到达目标网络的度量值总和。
AD
(
Advertised Distance
,通告距离
):邻居通告的从自己到达目标网络的度量值总和。
3
路由表(
Routing Table
):
从
EIGRP
拓扑表或其他路由进程中得到的最佳路由列表。存储最佳路由。
6.1.3
EIGRP
包类型
Hello
包
建立邻居关系(
Establish neighbor relationships
);
Update
包
发送路由更新(
Send routing updates
);
Query
包
向邻居询问相关路由信息(
Ask neighbors about routing information
);
Reply
包
回复对查询的相关路由信息(
Respond to query about routing information
);
ACK
包
确认一个可靠的数据包(
Acknowledge a reliable packet
)
6.1.4
EIGRP
的度量值
1
EIGRP
度量值的计算参数:默认使用带宽(
Bandwidth
)、延迟(
Delay
)。还可以使用可靠性、负载、
MTU
。
2
EIGRP Metric=
(
10
7
/
链路最低带宽(单位为
Kbps
)
+
链路的总延迟
/10
)
*256
6.2
EIGRP
的关键技术
6.2.1
邻居的发现和恢复
1
EIGRP
的
Hello
包:
Hello
包的目标地址为
224.0.0.10
,
Hello
包中的
K
值和
AS
号不匹配将不能成为邻居。认证也必须要匹配
.
2
EIGRP
的
Hello
计时器
在大于等于
1.544Mbps
的链路上,
Hello Time=5s
;
Holdtime
(保持时间)
=15s
。
在小于
1.544Mbps
的链路上,
Hello Time=60s
;
Holdtime
(保持时间)
=180s
。
3
EIGRP
建立邻接的条件
Hello
包必须通过接口的主地址(
Primary Address
)来传输;
6.2.2
EIGRP
可靠传输协议(
Reliable Transport Protocol
,
RTP
)
1
EIGRP
的可靠性
2
EIGRP
的重传策略(
Retransmission Policy
)
RTO
(
Retransmission Timeout
,重传超时)
=SRTT
(平均往返时间)
*6
;
RTO<200ms
,则
RTO
使用
200ms
;
RTO>5000ms
,则
RTO
使用
5000ms
。
3
EIGRP
的传输机制
EIGRP
传输的
Window=1
,(
Stop and wait
,停等机制)
4
EIGRP
邻居的重置
6.2.3
DUAL
有限状态机制(
Finite-State Machine
,
FSM
)
1
DUAL
术语
DUAL
:弥散更新算法。用于在
EIGRP
拓扑表中计算最佳路由的路由算法。
2
DUAL
有限状态机制的处理过程
3
EIGRP
的
Successor
在所有通过邻居的路径中选择
FD
值最小的路径。
4
EIGRP
的
FS
在所有非
SUCCESSOR
路径中选择
AD
值小于
SUCCESSOR
路径
FD
值的路径。
5
DUAL
实例
6.2.4
协议依赖模块(
PDM
)
6.3
配置和检查
EIGRP
6.3.1
配置
EIGRP
Router(config)#router eigrp [AS
号
(1-65535)] (
保证每个路由器上
AS
号相同
)
Router(config-router)#network [
网络号
] [
通配符掩码
]
通配符掩码
(Wildcard Mask)
:也称为反掩码。用
0
表示检查与之对应的地址位的值;用
1
表示忽略与之对应的地址位的值。
Route(config-router)#passive-interface [
接口
]
如果在
RIP
路由进程中使用此命令
,
此接口将不发送也不接收
RIP
信息
;
如果在
EIGRP
进程中使用
,
此接口将不发送
EIGRP
信息
,
但可以接收
EIGRP
信息。
6.3.2
EIGRP
检查命令
1 #show ip eigrp neighbors
(查看
EIGRP
的邻居表)
2 #show ip route eigrp (D)
3 #show ip protocolos
4 #show ip eigrp interface
(查看路由器上哪些接口运行了
EIGRP
进程)
5 #show ip eigrp topology
(查看路由器的拓扑表)
6 #show ip eigrp traffic
(查看
EIGRP
的流量)
7 #debup eigrp packet
(时事查看
EIGRP
数据包传递过程)
6.3.3
EIGRP
的默认路由
1
先创建一个静态默认路由到
ISP
;
2
把连接到
ISP
的网络地址通过
EIGRP
通告到其他路由器;
3 Router(config)#ip default-network [
连接
ISP
的主网的网络地址
]
6.3.4
EIGRP
的路由汇总
1
自动汇总
router
)
#auto-summary
(默认打开)
2
手工汇总:
If)#ip summary-address eigrp [AS
号
] [
汇总的网络地址
] [
子网掩码
]
6.3.5
EIGRP
的认证
l
在全局模式下定义一个
keychain
:
RouterX(config)#
key chain [
链名称]
l
指定一个
Key-id
:
RouterX(config-keychain)#
key [key-id]
l
指定认证口令:
RouterX(config-keychain-key)#
key-string [
口令]
l
在接口指定认证方式:
RouterX(config-if)#
ip authentication mode eigrp [autonomous-system] md5
l
在接口指定认证的
keychain
:
RouterX(config-if)#
ip authentication key-chain eigrp [AS
号
] [key chain
名称
]
6.4
OSPF
介绍
1
链路状态路由协议:
OSPF
(
Open Shortest Path First
,开放的最短路径优先)协议。
2
链路和链路状态:
链路:参与
OSPF
进程的路由器接口
链路状态:运行
OSPF
路由协议的路由器接口的状态信息,包括网络地址、
IP
地址、网络类型、链路的成本、邻居信息。
3
链路状态的数据结构
1)
邻居表:也叫邻接数据库(
Adjacency Database
)
2)
拓扑表:也叫拓扑数据库;也叫链路状态数据库(
Link-state Database
,
LSDB
)
3)
路由表:也叫转发数据库(
Forward Database
)。
4
链路状态路由协议的网络分层
OSPF
:分为
0 area
,也叫主干区域(
Backbone Area
),还叫传输区域(
Transit Area
)
标准区域:也叫非主干区域。
主干路由器:在区域
0
中的路由器;
内部路由器:在标准区域中的路由器;
区域边界路由器(
Area Border Router
,
ABR
):负责将标准区域连接到主干区域的路由器。
自治系统边界路由器(
Autonomous System Border Router
,
ASBR
):将
OSPF
管理域连接到其他自治系统的路由器。
5
OSPF
的邻接
(1)
在点到点的
WAN
链路上:两个邻居完全邻接(
Full Adjacency
)
(2)
多路访问(
Multiaccess
)网络:邻居只与
DR
和
BDR
建立完全邻接。
DR
(
Designated Router
,指定路由器):负责在多路访问网络中与其他路由器建立邻接关系的路由器;
BDR
(
Backup designated Router
,备份指定路由器):对
DR
的备份。
DRother
(其他路由器):除
DR
和
BDR
之外的其他路由器,
DRother
和
DRother
之间不能形成邻接关系。
6
OSPF
计算
SPF
算法:
7
LSA
的操作
LSA
(
Link-state Advertise
,链路状态通告)
6.5
OSPF
的包类型
类型
1
:
Hello
包
类型
2
:
DBD
包(
Database Description
数据库描述包):
LSDB
汇总摘要信息。
类型
3
:
LSR
包(
Link-state Request
,链路状态请求包):
类型
4
:
LSU
包(
Link-state Update
,链路状态更新包):
类型
5
:
LSAck
:链路状态确认包。
1
OSPF
数据包的头部格式:
2
邻居关系――
Hello
包
Hello
包的目标地址为
224.0.0.5
Hello
包的大小为
50byte
。
默认为:
Hello Time=10s Dead Interval Time
(死亡间隔时间)
=40s
。
3
建立双向通信
经过三个状态:
1)
Down state
(失效状态)
2)
Init State
(初始状态)
3)
2-way state
(双向状态)
4
发现网络路由
4
)
Exstart state
(预启动状态):选择主(
Master
)
/
从
(Slave)
路由器的状态,接口
RID
较大的作为
Master
路由器先发送
DBD
包;接口
RID
较小的作为
Slave
路由器后发送
DBD
包。
5
)
Exchange state
(交换状态):互送
DBD
包的过程。
5
增加链路状态的条目
6
)
Loading state
(加载状态):
7
)
Full state
(完全邻接状态):
LSDB
完全同步的状态。
6
维护路由信息
1
)网络发生变化的时候,发生变化的路由器通过
LSU
用地址
224.0.0.6
发送
DR
和
BDR
;
DR
再将此
LSU
用
224.0.0.5
发送给所有与自己建立了邻接关系的路由器。
2
)网络没有发生变化的时候,由产生
LSA
的源路由器每
30
分钟洪泛(
Flood
)到所有与自己建立了邻接关系的路由器。
6.6
配置
OSPF
路由协议
6.6.1
OSPF
的基本配置
Router(config)#router ospf [process ID
,进程号,
1-65535]
Process Identifier
(进程
ID
):本地有意义,和其他路由器的进程
ID
可以不一致;用于标识唯一一个
OSPF
数据库。
Router(config-router)#network [
网络号
/
地址
] [
通配符掩码
] area 0
通配符掩码的使用:
用
0
表示检查与之匹配的地址位的值;用
1
来表示忽略与之匹配的地址的值。
6.6.2
检查
OSPF
的配置
1
#show ip protocols
2
#show ip route ospf (O)
OSPF
不支持自动汇总,只支持手工汇总。
OSPF
的度量值是用成本(
COST
)来表示的。
Cisco IOS
下,
COST=10
8
/
带宽(单位为
bps
)
3 #show ip ospf interface [
接口
]
(查看接口运行
OSPF
的情况)
4 #show ip ospf
(查看路由器上
OSPF
的运行情况)
5 #show ip ospf neighbors
(查看
OSPF
的邻居信息)
#show ip ospf database
(查看
OSPF
的
LSDB
)
6 #debug ip ospf packets
(时事查看
OSPF
包的运行情况)
6.7 OSPF
的网络类型
6.7.1
点到点网络(
Point to point
)
不选举
DR
和
BDR
。
6.7.2
广播多路访问网络(
Broadcast Multiaccess
)
需要选择
DR
和
BDR
。
使用接口的优先级最高的路由器作为该网段的
DR
,运行
OSPF
进程的接口优先级默认为
1
,可以手动调整接口的优先级:
-if)#ip ospf priority [0~255]
优先级最高的路由器成为
DR
,次高的为
BDR
,其他路由器为
DRother
。优先级为
0
则永远不能当选为
DR
或
BDR
。
重启
OSPF
的路由进程:
#clear ip ospf process
如果优先完全一致,则选择
RID
最大的路由器作为
DR
,次大的为
BDR
,其他路由器为
DRother
。
RID
(
Router ID
):
由路由器逻辑接口的最高
IP
地址组成,如果没有逻辑接口则使用物理接口最高
IP
地址组成。
6.7.3
NBMA
(
Non-Broadcast Multiacess
,非广播多路访问)
手工指定邻居、手工指定
DR
和
BDR
6.7.4
NBMA
网络中的五种模式
6.8
OSPF
的配置选项
6.8.1
指定
OSPF
的
RID
Router(config-rouer)#router-id [RID
地址
]
6.8.2
配置
OSPF
的默认路由
Router(config-router)#default-information originate [always] metric [metric
值
]