静态路由的原理与配置、动态路由
路由技术:
二层(数据链路层)——交换机:mac地址、mac地址表(转发数据的依据)。
三层(网络层)——路由器:IP地址、路由表(数据转发表)。
一、路由表的主要作用:
决定设备的三层数据包的转发关系。目标网络能匹配路由表,从相应接口转发;若不能匹配路由表,则drop(丢弃)掉该数据包,不会像交换机那样泛洪(广播)。
二、路由协议的分类
路由协议:静态路由——管理员手工配置路由
动态路由——路由器间自动学习路由
1.局域网内——IGP(内部网关路由协议)
距离矢量路由协议——RIPV1、RIPV2、EIGRP(思科)
链路状态路由协议——OSPF、ISIS(LS)
2.互联网 ——EGP(外部网关路由协议)——BGPV4(版本4)
路由传递依据路由表
静态路由的优点:运行稳定,节省设备链路开销
缺点:对大型网络来说,工作量较大,拓扑一旦发生了改变,维护量变大。
建议:小型网络使用静态路由(总共配置少于十条路由),中大型网络使用动态路由。
路由:从源主机到目标主机的转发过程
路由器的作用:
1、能够将数据包转发到正确的目的地
2、转发过程中选择最佳路径的设备
选取最优路由时的标准:
- 子网掩码长度最长的最优先匹配
- 选取路由协议中优先级最小的最优先匹配
DIRECT |
0 |
OSPF |
10 |
IS-IS |
15 |
STATIC |
60 |
RTP |
100 |
OSPF ASE |
150(OSPF和RIP重分发路由时,由RIP学习进OSPF路由协议的路由) |
OSPF NSSA |
150 |
IBGP |
256 |
EBGP |
256 |
- 相同路由协议的情况下,选取metric值最小的最优先匹配。
每种协议metric值定义的不相同,静态路由和路由优先级有关,这个是人为指定的,RIP协议和跳数有关,跳数越小越优;OSPF协议和带宽有关,带宽最大最优先;metric时用来判定链路质量优劣的
- 如果以上都没有路由可以匹配得上,就匹配默认路由
路由表的定义:路由器中维护的路由条目的集合
路由表的形成:
1、直连网段:配置IP地址、端口UP状态、形成直连路由
2、非直连网段:对于非直连的网段,需要静态路由或动态路由,将网段添加到路由表中
默认路由-匹配的是所有网段:
1、当路由器在路由表中找不到目标网络的路由条目时,路由器把请求转发到默认路由接口
2、默认路由时静态路由的一种特殊方式,它属于静态路由的一种,使用它是有条件的,只能在末梢网络中使用
浮动路由:
指的是配置两条静态路由,默认选取链路质量优(带宽大的)作为主路经,当主路经出现故障时,由带宽较小的备份路由顶替,保持网络的不中断
路由器转发数据包的封装过程:源目IP保持不变,源目MAC随着传输设备不同而不同
交换机与路由器对比 |
|
交换机工作在数据链路层 |
路由器工作在网络层 |
①根据“MAC地址表”转发数据 |
①根据“路由表”转发数据 |
②硬件转发 |
②路由选择 |
|
③路由转发 |
- 动态路由
动态路由:不需要手工写路由,路由器之间能够自己互相学习(基于某种路由协议实现)
特点:
①减少了管理任务
②占用了网络带宽
动态路由协议的概述:邻居路由器之间路由协议应保持一致
度量值:跳数、带宽、负载、时延、可靠性、成本
收敛:所有运行同一种路由协议的路由器使所有路由表都达到一致状态的过程
按照路由执行的算法分类
1、距离矢量路由协议
依据从源网络到目标网络所经过的路由器的个数选择路由
RIP、IGRP
2、链路状态路由协议
综合考虑从源网络到目标网络的各条路径的情况选择路由
OSPF、IS-IS
一、RIP路由协议工作原理
1、RIP 是距离矢量路由协议
2、RIP的概述
①定期更新(30s)
②邻居
③广播更新、组播更新
④全路由表更新
RIP的度量值与更新时间
- RIP度量值为跳数:最大跳数为15跳,16跳为不可达
- RIP更新时间:每隔30s发送路由更新消息,UDP520端口
- RIP路由更新消息:发送整个路由表消息
路由环路的原因:定期更新,更新周期长
执行水平分割可以阻止路由环路的发生
1、从一个接口学习到的路由消息,不再从这个接口发送出去
2、同时也能减少路由更新消息占用的链路带宽资源
RIPV1和RIPV2
版本 |
RIPV1 |
RIPV2 |
区别 |
有类路由协议 |
无类路由协议 |
广播更新(255.255.255.255) |
组播更新(224.0.0.9) |
|
不支持VLSM |
支持VLSM |
|
自动路由汇总,不可关闭 |
自动汇总可关闭,可手工汇总 |
|
不支持不连续子网 |
支持不连续子网 |
- RIPV1:
①跨越主类网络边界:指的是两个不同的主类网络之间的路由网段,跨越主类网络边界的路由器会自动把路由汇总成主类显示
实列1:
R1配置信息
<Huawei>undo terminal monitor
<Huawei>system-view
[Huawei]user-interface console 0
[Huawei-ui-console0]idle-timeout 0 0
[Huawei-ui-console0]sysname R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 10.1.1.1 24
[R1-GigabitEthernet0/0/0]undo shutdown
[R1-GigabitEthernet0/0/0]quit
[R1]rip
[R1-rip-1]network 10.0.0.0
R2配置信息
<Huawei>undo terminal monitor
<Huawei>system-view
[Huawei]user-interface console 0
[Huawei-ui-console0]idle-timeout 0 0
[Huawei-ui-console0]sysname R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 10.1.1.2 24
[R2-GigabitEthernet0/0/0]undo shutdown
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 172.16.1.2 24
[R2-GigabitEthernet0/0/1]undo shutdown
[R2-GigabitEthernet0/0/1]quit
[R2]rip
[R2-rip-1]network 10.0.0.0
[R2-rip-1]network 172.16.0.0
R3配置信息
<Huawei>undo terminal monitor
<Huawei>system-view
[Huawei]user-interface console 0
[Huawei-ui-console0]idle-timeout 0 0
[Huawei-ui-console0]sysname R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 172.16.1.3 24
[R3-GigabitEthernet0/0/0]undo shutdown
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 12.1.1.3 24
[R3-GigabitEthernet0/0/1]undo shutdown
[R3-GigabitEthernet0/0/1]quit
[R3]rip
[R3-rip-1]network 172.16.0.0
[R3-rip-1]network 12.0.0.0
R4配置信息
<Huawei>undo terminal monitor
<Huawei>system-view
[Huawei]user-interface console 0
[Huawei-ui-console0]idle-timeout 0 0
[Huawei-ui-console0]sysname R4
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 12.1.1.4 24
[R4-GigabitEthernet0/0/0]undo shutdown
[R4-GigabitEthernet0/0/0]quit
[R4]rip
[R4-rip-1]network 12.0.0.0
②无跨越主类网络边界
R1配置信息
<Huawei>undo terminal monitor
<Huawei>system-view
[Huawei]user-interface console 0
[Huawei-ui-console0]idle-timeout 0 0
[Huawei-ui-console0]sysname R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 10.1.1.1 24
[R1-GigabitEthernet0/0/0]undo shutdown
[R1-GigabitEthernet0/0/0]quit
[R1]rip
[R1-rip-1]network 10.0.0.0
R2配置信息
<Huawei>undo terminal monitor
<Huawei>system-view
[Huawei]user-interface console 0
[Huawei-ui-console0]idle-timeout 0 0
[Huawei-ui-console0]sysname R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 10.1.1.2 24
[R2-GigabitEthernet0/0/0]undo shutdown
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 10.1.2.2 24
[R2-GigabitEthernet0/0/1]undo shutdown
[R2-GigabitEthernet0/0/1]quit
[R2]rip
[R2-rip-1]network 10.0.0.0
R3配置信息
<Huawei>undo terminal monitor
<Huawei>system-view
[Huawei]user-interface console 0
[Huawei-ui-console0]idle-timeout 0 0
[Huawei-ui-console0]sysname R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 10.1.2.3 24
[R3-GigabitEthernet0/0/0]undo shutdown
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 10.1.3.3 24
[R3-GigabitEthernet0/0/1]undo shutdown
[R3-GigabitEthernet0/0/1]quit
[R3]rip
[R3-rip-1]network 10.0.0.0
R4配置信息
<Huawei>undo terminal monitor
<Huawei>system-view
[Huawei]user-interface console 0
[Huawei-ui-console0]idle-timeout 0 0
[Huawei-ui-console0]sysname R4
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 10.1.3.4 24
[R4-GigabitEthernet0/0/0]undo shutdown
[R4-GigabitEthernet0/0/0]quit
[R4]rip
[R4-rip-1]network 10.0.0.0
- RIPV2:
在RIPV1实列1中R1、R2、R3、R4末尾加上RIPV2配置命令
version 2
undo summary
- OSPF协议
OSPF是链路状态路由协议(链路状态表)
相比较RIP,OSPF拥有触发性更新、周期性更新快等优点
在自治系统(AS)内:内部网关协议(IGP)
在自治系统(AS)间:外部网关协议(BGP)
OSPF工作过程
三张表:邻居列表
链路状态数据库
路由表
过程:建立邻接关系----链路状态数据库----最短路径树----路由表
OSPF区域:分为骨干区域(Area 0)、非骨干区域(Area 1/2/3...)
为了适应大型的网络,OSPF在AS内划分多个区域,每个OSPF路由器只维护所在区域的完整链路状态信息(LSA)。
所有非骨干区域必须与骨干区域直接相连,骨干区域Area 0 负责区域间路由信息传播。
Router ID : OSPF区域内唯一标识路由器的IP地址
Route ID选取规则:
使用route-id 命令指定Router ID
选取路由器loopback接口上数值最高的IP地址
如果没有loopback接口,在物理端口中选取IP地址最高的
DR和BDR
DR:指定路由器 BDR:备份,监测DR,随时顶替
其他路由器(DRothers)只和DR、BDR形成邻接关系
DR和BDR的选举方法:
自动选举DR和BDR
网段上Router ID 最大的路由器将被选举为DR,第二大的将被选举为BDR。
手工选择DR和BDR
优先级范围是0-255,数值越大,优先级越高,默认为1
如果优先级相同,则需要比较Router ID
如果路由器的优先级被设置为0,它将不会参与DR和BDR的选举
选举过程:(BDR通过发送HELLO包来监测) 2s/次
路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器。
OSPF的组播地址:
224.0.0.5 ----DRother
224.0.0.6 ----DR/BDR
OSPF的度量值是Cost值
Cost值=108 /BW(带宽) 带宽越大,cost值越小,OSPF越优先
最短路径是基于接口指定的代价(cost)计算的。
OSPF数据包----IP-89
承载在IP数据包内,使用协议号89
OSPF数据包类型
类型 |
描述 |
HELLO包 |
用于发现和维持邻居关系,选举DR和BDR |
数据库描述包(DBD) |
用于向邻居发送摘要信息,以同步链路状态数据库 |
链路状态请求包(LSR) |
在路由器收到包含新信息的DBD后发送,用于请求更详细信息 |
链路状态更新包(LSU) |
收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA |
链路状态确认包(LSAck) |
确认已经收到LSU,每个LSA需要被分别确认 |
OSPF邻接关系的建立(七个状态机)
OSPF启动的第一个阶段是使用HELLO报文建立双向通信的过程
OSPF启动的第二个阶段是建立完全邻接关系
邻居状态:
1、DOWN:邻居状态机的初始状态,是指在过去的Dead-Interval时间内没有测到对方的HELLO报文。
(1-2) Attempt:只适用于NBMA类型的接口,处于本机状态时,定期向那些手工配置的邻居发送HELLO报文
2、Init :本状态表示已经收到了邻居的HELLO报文,但是该报文中列出的邻居中没有包含我的Router ID(对方没有收到我发的HELLO报文)。
3、2-Way:本状态表示双方互相收到了对端发送的HELLO报文,建立了邻居关系。在广播和NBMA类型的网络中,两个接口状态是DRother 的路由器之间将停留在此状态。
其他情况状态机将继续转入高级状态
4、ExStart :在此状态下,路由器和他的邻居之间通过互相交换DBD报文(该报文不包含实际的内容,只包含了一些标志位)来决定发送时的主/从关系。建立主/从关系主要是为了保证在后续的DBD报文交换中能够有序的发送。
5、Exchange :路由器将本地的LSDB用DBD报文来描述,并发给邻居。
6、Loading :路由器发送LSR报文向邻居请求对方的DBD报文。
7、Full :在此状态下,邻居路由器的LSDB中的所有LSA本路由器全都有了。即,本路由器和邻居建立了邻接状态(adjacency)。
OSPF将网络划分为四种类型
点到点网络 (Point-to-Point)
广播多路访问网络 (Broadcast MultiAccess BMA)
非广播多路访问网络 (None Broadcast MultiAccess NBMA)
点到多点网络 (Point-to-Multipoint)
OSPF的特点:
可适应大规模网络,路由变化收敛速度快,无路由环,支持变长子网掩码VLSM,支持区域划分,支持以组播地址发送协议报文。
OSPF与RIP比较:
|
OSPF |
RIPV2 |
RIPV1 |
协议类型 |
链路状态 |
距离矢量 |
距离矢量 |
CIDR |
支持 |
支持 |
不支持 |
VLSM |
支持 |
支持 |
不支持 |
自动聚合 |
不支持 |
支持 |
不支持 |
手动聚合 |
支持 |
支持 |
不支持 |
路由泛洪 |
组播更新 |
周期组播更新 |
周期广播 |
路径开销 |
带宽 |
跳数 |
跳数 |
路由收敛 |
快 |
慢 |
慢 |
跳数限制 |
无 |
15 |
15 |
邻居认证 |
支持 |
支持 |
不支持 |
分级网络 |
支持(区域) |
不支持 |
不支持 |
更新 |
事件触发更新 |
路由表更新 |
路由表更新 |
路由计算 |
Dijkstra |
Bellman-Ford |
Bellman-Ford |
OSPF建立邻居的条件
- Router ID不能相同
- HELLO时间必须一致
- DEAD时间必须一致
- 区域ID必须相同
- 认证必须相同
- STUB标志位必须相同(直连路由器特殊区域要求一致)
- 三层MTU不匹配无法形成邻接关系(一边是Exstart,一边是Exchange)
- OSPF版本号不同(目前版本为2)
- 当OSPF网络类型是MA时,要求掩码一定一致(两个邻居),因为会出现DR和LSA-2,无法描述网段
单区域OSPF配置
Ospf 1 route-id 1.1.1.1
Area 0
Network 1.1.1.1 0.0.0.0
Network 10.1.1.0 0.0.0.255
Return
Display ospf peer 查询邻居状态
Display ospf interface g0/0/0 查询ospf
<>reset ospf process 清除
Ospf dr-priority 255 设置优先级
多区域OSPF配置
Ospf 1 route-id 1.1.1.1
Area 0
Network 1.1.1.1 0.0.0.0
Area 1
Network 10.1.1.0 0.0.0.255
Return
路由器分类:OSPF路由器种类
- 区域内路由器IR(Internal Router)
该类路由器的所有接口都属于同一个OSPF区域
- 区域边界路由器ABR(Area Border Routers)
该类路由器可以同时属于两个以上的区域,但其中一个必须是骨干区域,ABR用来连接骨干区域和非骨干区域,可以是实际连接,也可以是虚连接
- 骨干路由器BR(Backbong Routers)
该类路由器至少一个接口属于骨干区域
因此,所有的ABR和位于Area 0的内部路由器都是骨干路由器
- 自治系统边界路由器ASBR(As Boundary Routers)
与其他AS交换路由信息的路由器称为ASBR
虚链路
使用场合:只能一个非骨干区域跨越一个非骨干区域时用
作用:帮助这个非骨干区域获取完整lsdb
命令:在非骨干区域的中转域打
R10:ospf
Aera 1
Vlink-peer 对端 router-id
R18:ospf
Aera 1
Vlink-peer 对端 router-id
注意:虚链路只能帮助一个非骨干区域跨越非骨干区域,虚链路属于区域0
查询虚链路状态:display ospf vlink
Rip和ospf重分发的命令
Ospf 1
Import-route rip 1 cost 100
Rip 1
Import-route ospf 1 cost 0(rip的cost值指的是跳数,当超过15跳时路由就不传了,因此要设小)
LSA
LSA的类型 |
特点 |
第一类LSA:Router-LSA |
由每个路由器生成,描述了路由器的链路状态和花费,传递到整个区域 |
第二类LSA:Network-LSA |
由指定路由器DR生成,描述了本网段的链路状态,传递到整个区域 |
第三类LSA:Net-summary-LSA |
由ABR生成,描述了区域内某一网段的路由,传递到相关区域 |
第四类LSA:ASBR summary-LSA |
有ABR产生,但是它是一条主机路由,指向ASBR路由器地址路由 |
第五类LSA:自治系统外部LSA (Autonomous system external LSA) |
有ASBR产生,告诉相关自治区的路由器通往外部自治区的路径 自治系统外部LSA是唯一不和具体的区域相关联的LSA通告,将在整个自治系统中进行泛洪 |
第六类LSA:组成员LSA |
目前不支持组播ospf(Mospf协议) |
第七类LSA:NSSR外部LSA |
由ASBR产生,几乎和第五类LSA通告是相同的,但是NSSA外部LSA通告仅仅在始发这个NSSA外部LSA通告的非末梢区域内部进行泛洪 |
查看LSA命令
- 查看1类LSA: display ospf lsdb router (区域内路由)
- 查看2类LSA:display ospf lsdb network (DR通告本区域路由)
- 查看3类LSA:display ospf lsdb summary (区域间LSA)
- 查看4类LSA: display ospf lsdb asbr (外部指向ASBR路由)
- 查看5类LSA:display ospf lsdb ase (外部路由)
- 查看7类LSA:display ospf lsdb nssa (nssa区域产生的外部路由)
末梢、完全末梢、次末节、完全次末节 (特殊区域)
末梢——阻止4 、5类LSA传递进stub区域,由ABR产生默认路由指向stub区域
Ospf
Area 2
Stub
完全末梢——阻止3 、4 、5类LSA传递进stub区域,会由ABR生成一条默认路由给stub 区域
Ospf
Area 3
Stub no-summary(ABR上敲)
次末节(非纯末梢)——阻止4 、 5类LSA传递OSPF,将5类的LSA转变为7类LSA,由下一台ABR将7类LSA再次转为5类LSA
完全次末节(纯末梢)——阻止3、 4、 5类LSA传递进OSPF,会由ABR下发一条默认路由指向nssa区域
Ospf
Area 3
Nssa no-summary(ABR上敲)
重分发
重分发过程中下发默认路由
Ospf里下发默认路由给其他ospf邻居
default-route-advertise always cost 0
Rip 里下发默认路由给rip邻居
default-route originate cost 0