面试问题:
1.大型网络拓扑中,100台路由器部署,使用什么协议??
RIP
OSPF
IS-IS
说出优缺点
优点:
RIP实现简单,配置容易,易于管理。
OSPF
适应范围广,支持大规模网络,最多可支持几百台路由器;
支持掩码,对VLSM提供很好的支持;
快速收敛,网络拓扑结构发生变化后立即在自治系统中同步;
无自环;
区域划分,减少了占用的网络带宽;
支持验证,以保证报文交互的安全性;
组播发送,减少对其他设备的干扰;
等价路由:支持到同一目的地址的多条等价路由;
IS-IS
能够同时应用在TCP/IP和OSI环境中,集成性好;
直接在链路层上运行,报文直接封装在链路层报文中,支持CLNS、IP等多种协议
缺点:
RIP:
只适用于小型、简单的网络,不适用与大型、复杂的网络;
不能支持VLSM,IP地址分配效率低;
周期性广播整个路由表,低速链路及广域网云中应用中吃性能;
收敛速度慢.
OSPF:
配置相对复杂;
路由负载均衡能力较弱(SPF虽然能根据接口的速率、连接可靠性等信息,自动生成接口路由优先级,但通往同一目的的不同优先级路由,OSPF只选择优先级较高的转发,不同优先级的路由,不能实现负载分担。只有相同优先级的,才能达到负载均衡的目的,不像EIGRP那样可以根据优先级不同,自动匹配流量。)
IS-IS:
只支出点对点和广播链路;
协议中整个路由器只能全部属于一个区域;
历史上是为CLNS路由而制定的,发展比较缓慢,对于IP的支持很多地方需要改进,是一个不是很成熟的协议
谈谈你对ospf和isis比较?
它们有很多共同之处,都是链路状态路由协议,都使用SPF算法,VSLM 快速会聚。
从使用的目的来说没有什么区别。
从协议实现来说OSPF其于TCP/ ip协议簇,运行在IP层上,端口号89;ISIS基于ISO CLNS,设计初是为了实现ISO CLNP路由,在后来加上了对IP路由的支持。从具体细节来说:
1、区域设计不同,OSPF采用一个骨干AREA0与非骨干区域,非骨干区域必须与AREAO连接。ISIS由L1 L2 L12路由器组成的层次结构,它使用的LSP要少很多,在同一个区域的扩展性要比OSPF好。
2、OSPF有很多种LSA,比较复杂并占用资源,而ISIS的LSP要少很多,所以在CPU占用和处理路由更新方面,ISIS要好一些。
3、isis 的定时器允许比OSPF更细的调节,可以提高收敛速度。
4、OSPF数据格式不容易增加新的东西,要加,就需要新的LSA,而ISIS可以很容易的通过增加TLV进行扩展,包括对IPV6等的支持。
5、从选择来说,ISIS更适合运营商级的网络,而OSPF非常适合企业级网络。
IGP 协议 内部网关协议
IGP 属于同一个AS 自治系统号,内部路由器使用相同的路由协议或者不同的路由协议,RIP OSPF IS-IS
EGP 协议 外部网关协议
属于不同的AS,通过BGP协议进行路由的传递和更新,或者进行路径的选择
OSPF Open shortest path First
重要特征:
链路状态协议
基于IP协议,协议号 89
所有的路由器使用组播地址224.0.0.5 还有224.0.0.6
OSPF 默认路由优先级:
Route Preference: 10 区域内或区域间
ASE Route Preference: 150 外部路由(引入的路由)
怎样快速理解OSPF?
将OSPF看做是车载导航系统,它将每条道路都收集到自己的数据库里。当计算上海到北京的最短路径时,有以下选择:
沈海高速—长深高速—荣乌高速—京沪高速 京沪高速—滨莱高速—荣乌高速 京沪高速—泰新高速—京台高速—廊沧高速
现在分析一下:
第一条路径最短,优先选择。如果遇到中途“荣乌高速”严重堵车,可以提前切换到京沪高速,提高通行的效率。
OSPF比RIP优秀的地方是,OSPF对整网的拓扑结构了如指掌,一旦某一条路径断了,可以及时选择备份链路,对通信的影响小。所以与RIP相比,OSPF是链路状态协议,而RIP是距离矢量协议。
三张表:
1.邻居表
邻居关系:若两台路由器能用同一种路由协议交换路由信息,则两者互为邻居。
邻接关系:若两台路由器都将对方识别为邻居路由器,并判定己方同样为对方所识别,且经过验证,双方可以“畅通无阻”地交换路由信息,则两台路由器建立邻接关系。
在OSPF网络中,为了交换路由信息,邻居设备之间首先要建立邻接关系,邻居(Neighbors)关系和邻接(Adjacencies)关系是两个不同的概念。
邻居关系:OSPF设备启动后,会通过OSPF接口向外发送Hello报文,收到Hello报文的OSPF设备会检查报文中所定义的参数,如果双方一致就会形成邻居关系,两端设备互为邻居。
邻接关系:形成邻居关系后,如果两端设备成功交换DD报文和LSA,才建立邻接关系。
2.链路状态数据库 LSDB
3.路由表
OSPF 区域概念:骨干区域和非骨干区域
1.推荐OSPF 必须存在区域0 骨干区域
2.
区域内描述的是详细的拓扑信息,详细的描述拓扑结构的链路状态信息。
区域间传递的是抽象的路由信息。
原则:
1.所有的非骨干区域必须与骨干区域相连
2.骨干区域不能被分割
为了避免区域间路由环路,非骨干区域之间不允许直接相互发布区域间路由信息。
路由器的角色:
1.ABR area border router 区域边界路由器
2.ASBR 自治系统边界路由器
ABR(区域边界路由器),需要满足以下三个条件才能成为一台真正意义上的ABR:
1、至少连接两个区域
2、连接的区域中有一个是区域0(骨干区域),至少有一个接口属于区域0
3、在区域0中至少有一个活跃的邻居
ASBR:引入外部路由协议的路由器 (产生5类LSA的路由器)
OSPF配置:
配置方法:
1.区域宣告
//进程ID,本地有效,如果直接回车,默认创建进程ID 为 1
ospf 1
//使能区域0
area 0.0.0.0
//network作用,该接口使能OSPF协议,且把该接口宣告进OSPF协议中
network 11.1.1.1 0.0.0.0
//宣告一个网段地址。推荐:只宣告某个接口的主机地址,不是宣告一个网段
network 12.1.1.0 0.0.0.255
2.接口宣告
ospf 1 area 0.0.0.0 area 0.0.0.1 interface GigabitEthernet0/0/1 ip address 10.1.1.3 255.255.255.0 ospf enable 1 area 0.0.0.1 //前期条件,OSPF进程下存在该区域number
[AR2][AR2]dis ospf int //查看使能OSPF接口
OSPF Process 1 with Router ID 12.1.1.2 Interfaces Area: 0.0.0.0 (MPLS TE not enabled) IP Address Type State Cost Pri DR BDR 12.1.1.2 P2P P-2-P 48 1 0.0.0.0 0.0.0.0 22.1.1.1 P2P P-2-P 0 1 0.0.0.0 0.0.0.0 Area: 0.0.0.1 (MPLS TE not enabled) IP Address Type State Cost Pri DR BDR 10.1.1.2 Broadcast Waiting 1 1 0.0.0.0 0.0.0.0
[AR2]dis ospf peer brief //查看OSPF邻居关系
OSPF Process 1 with Router ID 12.1.1.2 Peer Statistic Information ---------------------------------------------------------------------------- Area Id Interface Neighbor id State 0.0.0.0 Serial4/0/1 12.1.1.1 Full 0.0.0.1 GigabitEthernet0/0/1 10.1.1.3 Full 0.0.0.1 GigabitEthernet0/0/1 10.1.1.4 Full ----------------------------------------------------------------------------[AR2][AR2]dis ospf lsdb //查看OSPF链路状态数据库 LSDB OSPF Process 1 with Router ID 12.1.1.2 Link State Database Area: 0.0.0.0 Type LinkState ID AdvRouter Age Len Sequence Metric Router 12.1.1.2 12.1.1.2 660 60 80000004 48 Router 12.1.1.1 12.1.1.1 677 60 80000003 48 Sum-Net 44.1.1.1 12.1.1.2 410 28 80000001 1 Sum-Net 10.1.1.0 12.1.1.2 556 28 80000001 1 Sum-Net 33.1.1.1 12.1.1.2 359 28 80000001 1
dis ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib------------------------------------------------------------------------------Public routing table : OSPF Destinations : 4 Routes : 4 OSPF routing table status : Destinations : 4 Routes : 4Destination/Mask Proto Pre Cost Flags NextHop Interface 10.1.1.0/24 OSPF 10 49 D 12.1.1.2 Serial4/0/1 22.1.1.1/32 OSPF 10 48 D 12.1.1.2 Serial4/0/1 33.1.1.1/32 OSPF 10 49 D 12.1.1.2 Serial4/0/1 44.1.1.1/32 OSPF 10 49 D 12.1.1.2 Serial4/0/1OSPF routing table status : Destinations : 0 Routes : 0
dis ospf routing
OSPF Process 1 with Router ID 12.1.1.1 Routing Tables Routing for Network Destination Cost Type NextHop AdvRouter Area 11.1.1.1/32 0 Stub 11.1.1.1 12.1.1.1 0.0.0.0 12.1.1.0/24 48 Stub 12.1.1.1 12.1.1.1 0.0.0.0 10.1.1.0/24 49 Inter-area 12.1.1.2 12.1.1.2 0.0.0.0 22.1.1.1/32 48 Stub 12.1.1.2 12.1.1.2 0.0.0.0 33.1.1.1/32 49 Inter-area 12.1.1.2 12.1.1.2 0.0.0.0 44.1.1.1/32 49 Inter-area 12.1.1.2 12.1.1.2 0.0.0.0
[AR2]dis ospf brief
OSPF Process 1 with Router ID 12.1.1.2 OSPF Protocol Information RouterID: 12.1.1.2 Border Router: AREA Multi-VPN-Instance is not enabled Global DS-TE Mode: Non-Standard IETF Mode Graceful-restart capability: disabled Helper support capability : not configured Applications Supported: MPLS Traffic-Engineering Spf-schedule-interval: max 10000ms, start 500ms, hold 1000ms Default ASE parameters: Metric: 1 Tag: 1 Type: 2 Route Preference: 10 ASE Route Preference: 150 SPF Computation Count: 12 RFC 1583 Compatible Retransmission limitation is disabled Area Count: 2 Nssa Area Count: 0 ExChange/Loading Neighbors: 0 Process total up interface count: 3 Process valid up interface count: 2
<AR1>ping -a 11.1.1.1 44.1.1.1
PING 44.1.1.1: 56 data bytes, press CTRL_C to break Reply from 44.1.1.1: bytes=56 Sequence=1 ttl=254 time=80 ms Reply from 44.1.1.1: bytes=56 Sequence=2 ttl=254 time=70 ms Reply from 44.1.1.1: bytes=56 Sequence=3 ttl=254 time=140 ms Reply from 44.1.1.1: bytes=56 Sequence=4 ttl=254 time=50 ms Reply from 44.1.1.1: bytes=56 Sequence=5 ttl=254 time=20 ms --- 44.1.1.1 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 20/72/140 ms
router-id
作用:
1.在网络中标识自己
2.虚连接 会用router-id
router-id 要保证在每个OSPF进程中全网唯一。
选举原则:
1.优先选择手工配置的 (推荐方法)
2.如果没有手工指定router-id,优先使用环回口地址,如果有多个环回口地址,选择环回口地址大的
3.如果没有环回口地址,使用物理接口地址,优选物理接口地址大的
router-id配置方法:
1.路由管理中的配置
//如果没有手工指定router-id,该路由器中所有的动态路由协议都使用该地址作为协议的router-id
[AR1]router id 111.1.1.1 Info: Router ID has been modified, please reset the relative protocols manually to update the Router ID.
2.ospf 1 router-id 111.1.1.1 //指定OSPF进程中的router-id
Info: The configuration succeeded. You need to restart the OSPF process to validate the new router ID.
注意:手工指定router-id以后,一定要重启OSPF进程
reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y
OSPF header packet:
影响邻居建立的字段:
router id area id
authe type 无认证 type =0 明文认证 type=1 密文认证 type=2
authentication Data
OSPF hello packet:
netmask hello dead time option (E/N) priority
影响OSPF建立邻居的条件:
1.router id --------header packet
同一个区域相邻的设备router-id不能相同
同一个区域不相邻的设备,router-id可以相同,但是会影响路由的接收
不同的区域,不相邻的设备,router-id可以相同,也不会影响路由的接收
Dec 8 2018 15:02:47-08:00 AR1 %%01OSPF/4/CONFLICT_ROUTERID_INTF(l)[3]:OSPF Router id conflict is detected on interface. (ProcessId=256, RouterId=1.1.1.22, AreaId=0.0.0.0, InterfaceName=Serial4/0/1, IpAddr=1.1.1.12, PacketSrcIp=2.1.1.12) dis ospf error
21 : Router id confusion
2.区域ID ---header packet
直连的接口区域ID一定要相同
dis ospf error
1 : Bad area id
3.掩码
默认情况下以太链路(网络类型为broadcast)掩码长度必须相同
默认情况下串行链路掩码长度可以不同 或者(网络类型为P2P链路掩码长度可以不同)
网络类型P2MP,掩码长度必须相同,(也可以不相同,但是必须通过OSPF P2MP-netmask-ignore忽略对网络掩码的检查)
interface Serial4/0/1 ospf network-type p2mp //修改OSPF网络类型为P2MP ospf p2mp-mask-ignore //忽略对网络掩码的检查
dis ospf error
HELLO packet errors:
8 : Netmask mismatch
4.hello 及dead time 必须相同
不同的OSPF的网络类型hello time 和dead time时间不一样
默认情况下,dead time 是hello时间的4倍
当修改hello time,dead time会自动发生变化
如果只修改dead time,hello time不会自动发生变化
interface Serial4/0/1 ospf timer hello 15 //修改hello时间15s ospf timer dead 45 //修改dead 时间45s
[AR1]dis ospf int s4/0/1 OSPF Process 1 with Router ID 11.1.1.1 Interfaces Interface: 12.1.1.1 (Serial4/0/1) Cost: 48 State: P-2-P Type: P2P MTU: 1500 Timers: Hello 15 , Dead 45 , Poll 120 , Retransmit 5 , Transmit Delay 1 HELLO packet errors: 0 : Netmask mismatch 7 : Hello timer mismatch4 : Dead timer mismatch
5.认证
6.option 选项 E/N位
7.MTU值 DD报文
8.silent-interface 禁止接收和发送OSPF报文
一般配置在连接终端的接口,不会影响路由的通告
注意:千万不要配置在路由器之间相连的接口
配置:
ospf 1 router-id 11.1.1.1 silent-interface all //所有使能OSPF的接口都会被变成静默接口 undo silent-interface Serial4/0/1 //排除S4/0/1接口
9.过滤 OSPF报文
acl number 3000 rule 10 deny ip interface Serial4/0/1 traffic-filter inbound acl 3000 //接口调用ACL
10.NBMA
reset ospf counters debug ospf packet diusDec 8 2018 15:05:30.578.2-08:00 AR1 RM/6/RMDEBUG: Source Address: 12.1.1.1diusDec 8 2018 15:05:30.578.3-08:00 AR1 RM/6/RMDEBUG: Destination Address: 224.0.0.5diusDec 8 2018 15:05:30.578.4-08:00 AR1 RM/6/RMDEBUG: Ver# 2, Type: 1 (Hello)diusDec 8 2018 15:05:30.578.5-08:00 AR1 RM/6/RMDEBUG: Length: 48, Router: 11.1.1.1diusDec 8 2018 15:05:30.578.6-08:00 AR1 RM/6/RMDEBUG: Area: 0.0.0.0, Chksum: d996diusDec 8 2018 15:05:30.578.7-08:00 AR1 RM/6/RMDEBUG: AuType: 00diusDec 8 2018 15:05:30.578.8-08:00 AR1 RM/6/RMDEBUG: Key(ascii): * * * * * * * *diusDec 8 2018 15:05:30.578.9-08:00 AR1 RM/6/RMDEBUG: Net Mask: 255.255.255.0diusDec 8 2018 15:05:30.578.10-08:00 AR1 RM/6/RMDEBUG: Hello Int: 10, Option: _E_diusDec 8 2018 15:05:30.578.11-08:00 AR1 RM/6/RMDEBUG: Rtr Priority: 1, Dead Int: 40diusDec 8 2018 15:05:30.578.12-08:00 AR1 RM/6/RMDEBUG: DR: 0.0.0.0diusDec 8 2018 15:05:30.578.13-08:00 AR1 RM/6/RMDEBUG: BDR: 0.0.0.0diusDec 8 2018 15:05:30.578.14-08:00 AR1 RM/6/RMDEBUG: # Attached Neighbors: 1diusDec 8 2018 15:05:30.578.15-08:00 AR1 RM/6/RMDEBUG: Neighbor: 22.1.1.1diusDec 8 2018 15:05:30.578.16-08:00 AR1 RM/6/RMDEBUG:
OSPF 网络类型:
网络类型: OSPF网络类型
以太网链路 ----广播
串行链路 ----P2P
帧中继链路 ----NBMA
网络类型 hello & dead time 是否存在DR或者BDR 是否自动发现邻居broadcast Hello 10 Dead 40 存在DR和BDR 可以自动P2P Hello 10 Dead 40 不在DR和BDR 可以自动P2MP Hello 30 Dead 120 不在DR和BDR 可以自动
会自动产生接口地址为32位的主机路由
NBMA
loopback 默认的网络类型是P2P,不管ip地址掩码多少位,OSPF只学到32位的主机路由(注意和cisco区别)
virtual-link
注意:
P2P---broadcast 可以建立邻居关系,但是学不到路由
OSPF cost计算
cost =100M参考带宽/接口的物理带宽 bandwidth
cost的总和=计算去往目的地沿途数据层面出方向接口的总和
或者控制层面的入方向
数据层面:数据业务的访问层面
控制层面:路由更新,策略的层面
ECMP 路由负载
配置1:
interface Serial4/0/1 ospf cost 1 //修改OSPF cost值为1
配置2:
ospf 1 router-id 11.1.1.1 设置通过公式计算接口开销所依据的带宽参考值。 bandwidth-reference 1000 //修改参考带宽
[AR1]dis ospf int OSPF Process 1 with Router ID 11.1.1.1 Interfaces Area: 0.0.0.0 (MPLS TE not enabled) IP Address Type State Cost Pri DR BDR 11.1.1.1 P2P P-2-P 0 1 0.0.0.0 0.0.0.0 12.1.1.1 P2MP P-2-P 1 1 0.0.0.0 0.0.0.0 21.1.1.1 Broadcast BDR 1 1 21.1.1.2 21.1.1.1
---------------------------------------
根据公式100000000/带宽,可计算各种接口开销的缺省值,如下:
56kbit/s串口,开销的缺省值是1785。
64kbit/s串口,开销的缺省值是1562。
E1(2.048Mbit/s),开销的缺省值是48。
Ethernet(100Mbit/s),开销的缺省值是1。
路由选择
(1)最长匹配原则
(2)从相同协议学到相同的路由前缀和掩码的时候,比较metric值,metric值越小越优先
(3)从不同的协议学到相同的路由前缀和掩码时候,比较优先级,优先级越小越优先
OSPF报文类型:
1.Hello 建立邻居关系
2.DD 交互链路状态信息LSA
3.LSR 用于请求缺少的LSA
4.LSU 用于更新LSA
5.LSACK 用于确认
LSA link-state advertisement 链路状态通告 不是数据包
ospf建立邻居的过程:
1.DOWN
2.attempt NBMA
3.init
4.two-way
5.exstart
开始发送DD报文,Master/Slave 在此状态下选举 router-id大的成为master
由Master来决定发送DD报文,来决定DD序列号
I位为1 表明开始协商 DD报文
M位为1 表明不是ospf router 发送最后一个包,M位为0,表明是OSPF路由器发送的最后一个包
M/S为1 表明为master 主从关系协商
更为形象的解释:
OSPF的5个数据包:
Hello:五大作用——发现邻居、建立邻居关系、维持邻居关系、选举DR、BDR、确保双向通信。
DD:数据库描述数据包的信息。
LSR:链路状态请求数据包,查看收到的LSA是否在数据库。
LSU:链路状态更新数据包,用于LSA的泛洪扩散和发送LSA去响应链接状态请求数据包。
LSACK:链路状态确认数据包。
Hello:我要去饭店吃饭,那么肯定要点餐,点餐之前服务人员肯定会和我们说“欢迎光临!先生几位?”“你好,两位!”那么这个过程就是我们建立邻居,这一问一答,我们的关系就建立起来了。
DD:既然要点餐,那肯定少不了菜单,DD报文就是我们OSPF中的“菜单”,它包含了当前设备已知的所有路径信息的摘要,就像饭店的菜单一样,样式、价格很明确。
LSR:作为顾客我在查看菜单之后就要决定吃什么,所以我再向店家告知我要吃什么的时候,这个过程就是真正的“点餐”,而LSR就是我在查看了菜单之后决定要吃的菜品,首先我要的肯定是菜单中有的,并且是可用的。
LSU:点餐过后就要上菜了!LSU就是上菜的过程,把我要的具体LSA端上餐桌,然后被我消化掉。
LSACK:酒足饭饱之后,要做最后一件事:结账。LSACK就是在确认对店家的菜品满意后,把账结了。
在华为设备里面,默认不会检查MTU值,默认为0
DD报文通过隐式确认
6.exchange
7.loading
8.full
DR和BDR选举:
作用:减少邻接关系,降低OSPF 协议流量
在MA网络中,才会涉及DR和BDR的选举
DR是基于链路的,基于接口的,而不是基于路由器
224.0.0.5 ---ALLospfrouter
224.0.0.6 ---DRrouter & BDR
DR 指定路由器
BDR 备份指定路由器 为了防止DR挂掉,起到备份作用。当DR挂掉时候,BDR成为DR
Drother 普通路由器
DR和所有的路由器建立邻接关系
DR和BDR选举原则:
前提条件 在选举期内 默认时间为40s waiting time等于hold time时间
1.先选BDR,然后才选DR
2.选DR 接口的优先级越大越优先,默认为1 优先级范围(0-255)如果优先级为0,放弃选举,成为DRother Drohter之间处于two-way
3.如果优先级相同,则比较router-id大,越大越优先
4.选举期结束以后,DR不能被抢占
5.DR失效,则BDR成为DR
NBMA non-broadcast
interface GigabitEthernet0/0/0 ip address 21.1.1.1 255.255.255.0 ospf network-type nbma //修改网络类型为NBMA
手工指定邻居关系
#ospf 1 router-id 11.1.1.1 peer 21.1.1.2 //指定对端的接口IP地址[AR1]dis ospf int g0/0/0 OSPF Process 1 with Router ID 11.1.1.1 Interfaces Interface: 21.1.1.1 (GigabitEthernet0/0/0) Cost: 1 State: DR Type: NBMA MTU: 1500 Priority: 255 Designated Router: 21.1.1.1 Backup Designated Router: 21.1.1.2 Timers: Hello 30 , Dead 120 , Poll 120 , Retransmit 5 , Transmit Delay 1 [AR1]=debug ospf event
帧中继配置:
R1:
interface Serial4/0/0 link-protocol fr //设置链路层封装方式为FR undo fr inarp //关闭自动逆向地址解析 fr map ip 100.1.1.5 105 broadcast //映射地址及DLCI fr map ip 100.1.1.6 106 broadcast ip address 100.1.1.1 255.255.255.0
R5:
interface Serial4/0/0 link-protocol fr undo fr inarp fr map ip 100.1.1.1 501 broadcast ip address 100.1.1.5 255.255.255.0 ospf enable 1 area 0.0.0.2
R6:
interface Serial4/0/0 link-protocol fr undo fr inarp fr map ip 100.1.1.1 601 broadcast ip address 100.1.1.6 255.255.255.0 ospf enable 1 area 0.0.0.2#
注意点:
1.R1端 HUB端一定要是DR 接口优先级为255,
Spoke端作为DRother 接口优先级为0
最终采用的方案:修改网络类型为Broadcast或者P2MP(推荐方法)
LSA的类型:
路由器LSA::路由器链路Router-id; 接口地址; 接口网络; 接口花费可使用show ospf database router命令查看
网络LSA:由DR通告,如果是点对点的网络类型,没有LSA2
网络汇总LSA:由ABR生成的区域间的路由信息
ASBR汇总LSA:ABR始发,在整个OSPF域中泛洪
AS外部LSA:由ASBR生成的外部路由
NSSA区域外部LSA:ASBR始发
一条Router-LSA可以描述多条链接,每条链接描述信息由Link ID,Data,Link Type和Metric组成,其关键字含义如下:
Type:链接类型(并非OSPF定义的四种网络类型),Router LSA描述的链接类型主要有:
Point-to-Point:描述一个从本路由器到邻居路由器之间的点到点链接,属于拓扑信息。
TransNet:描述一个从本路由器到一个Transit网段(例如MA网段或者NBMA网段)的链接,属于拓扑信息。
StubNet:描述一个从本路由器到一个Stub网段(例如Loopback接口)的链接,属于路由信息
1.LS seq 序列号越大,该LSA越新
2.LS age 越小越新
刷新时间 30分钟
max-age 1个小时 3600s
如果点到点链路 :拓扑信息
link-id :邻居的router-id
Data : 宣告该router LSA的接口ip地址,也就是自身的接口IP地址
Link Type: P-2-P
Metric : 1
如果MA链路:拓扑信息
link-id :DR的接口IP地址
Data:宣告该router LSA的接口ip地址,也就是自身的接口IP地址
Link Type: TransNet
Metric : 1 表示到达DR的开销值
P2P 描述的连接中包含路由信息携带网络号及掩码
TransNet描述的链接中仅包括与DR的连接关系及开销,没有网络号/掩码及共享链路上其他路由器的任何信息。
dis ospf abr-asbr //查看路由器的角色 OSPF Process 1 with Router ID 55.1.1.1 Routing Table to ABR and ASBR RtType Destination Area Cost Nexthop Type Intra-area 11.1.1.1 0.0.0.2 1 135.1.1.1 ABR Intra-area 33.1.1.1 0.0.0.2 1 135.1.1.3 ABR
dis ospf lsdb router //查看1类LSA
1.SPF算法
(1)构建 SPF树
根据1类中的P2P,transnet 和2类LSA中的拓扑信息,构建SPF树干
(2)计算最优的路由
根据SPF树干及1类LSA中的Stubnet及2类LSA,计算出最短的路径
3类LSA的过滤:通告者是ABR
第一种方法:
通过前缀列表进行匹配路由
acl ---只能够匹配前缀,不能够匹配掩码
前缀列表 ---可以匹配前缀,也可以匹配掩码
需求:过滤44.1.1.1/32的三类LSA,放行其他
ip ip-prefix 44 index 10 deny 44.1.1.1 32 //拒绝44.1.1.1/32 ip ip-prefix 44 index 20 permit 0.0.0.0 0 less-equal 32 //允许其他路由
ospf 1 router-id 22.1.1.1 area 0.0.0.0 filter ip-prefix 44 import //匹配到的前缀信息,不允许进入区域0或者: area 0.0.0.1 filter ip-prefix 44 export //匹配到的前缀信息,不允许离开区域1
第二种方法:
interface GigabitEthernet0/0/0 ospf filter-lsa-out summary //对OSPF接口出方向的3类LSA进行过滤
为防止区域间的环路OSPF定义了骨干区域和非骨干区域和三类LSA的传递规则。
1、OSPF划分了骨干区域和非骨干区域,所有非骨干区域均直接和骨干区域相连且骨干区域只有一个,非骨干区域之间的通信都要通过骨干区域中转,骨干区域ID固定为0。骨干区域不能被分割。
2、OSPF规定从骨干区域传来的三类LSA不再传回骨干区域。
3、OSPF要求ABR设备至少有一个接口属于骨干区域
4、从非骨干区域接收到的3类LSA,ABR能接收到,但不会使用这条3类LSA
域外的路由 :
ospf 1 router-id 55.1.1.1 import-route static //把路由表中存在的静态路由,引入到OSPF协议的数据库中
dis ip routing-table 155.1.1.0 24 verbose Route Flags: R - relay, D - download to fib------------------------------------------------------------------------------Routing Table : PublicSummary Count : 1Destination: 155.1.1.0/24 Protocol: O_ASE Process ID: 1 Preference: 150 Cost: 1 NextHop: 24.1.1.2 Neighbour: 0.0.0.0 State: Active Adv Age: 00h02m34s Tag: 1 Priority: low Label: NULL QoSInfo: 0x0 IndirectID: 0x0 RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/0 TunnelID: 0x0 Flags: D
5类LSA:
cost值 :默认为1.描述ASBR到达目的外部路由的cost值
type:默认为2,不会将ospf域内的cost值进行累加
tag值:默认为1,主要用于路由策略
FA地址:默认为0.0.0.0 ,也会存在非0.0.0.0 的情况
作用:用于描述如何从ASBR到达外部目的地
4类LSA
cost值:ABR到达ASBR的cost值
作用:用于描述如何从ABR到达ASBR
ospf 1 router-id 55.1.1.1 import-route static cost 100 type 1 tag 666 //修改外部路由的外部开销值为100,type为1,tag为666 area 0.0.0.2
type2 = 外销开销值 (不累加,默认)
type1 = 外部开销值+ 内部开销值
OSPF路由的选路原则:
1.区域内 > 区域之间 > type 1 > type 2
2.type1 = 外部开销值+ 内部开销值 .cost值越小越优先
如果cost值相同,来自于同一个区域,则路由负载。
3.type2 = 外销开销值 (不累加,默认)
先比较外部开销值,cost值越小越优先。
如果外部开销值相同,则比较内部开销值,cost值越小越优先。
如果内部开销值也相同,则比较区域号ID大的。
如果来自于同一个区域,则路由负载。
负载的条件:
1.cost值一致。
2.区域一致。
FA地址:作用为了解决次优路由,防环
FA地址:默认为0.0.0.0 ,也会存在非0.0.0.0 的情况
首先检查type5 LSA的FA地址是否为0.
如果为0,说明路由必须经过ASBR转发,那么就要优先选择到达ASBR metric 最短路径的。
如果FA非0.那么优选到FA地址metric值最短的路径,而且到FA的路由必须为域内或域间的,否则外部路由无法装载进路由表中。
配置:
R5-R1 建立OSPF邻居
R5-R3 建立RIP邻居
R5:
ospf 1 router-id 55.1.1.1 import-route rip 1 //把rip的路由引入到OSPF 数据库中
R5:
rip 1 undo summary version 2 network 135.1.0.0 import-route ospf 1 //把OSPF 路由引入到RIP协议中
<AR4>dis ospf lsdb ase 133.1.1.1 OSPF Process 1 with Router ID 44.1.1.1 Link State Database
Type : External
Ls id : 133.1.1.1
Adv rtr : 55.1.1.1
Ls age : 1005
Len : 36
Options : E
seq# : 80000001
chksum : 0x265b
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 2
Forwarding Address : 135.1.1.3 //FA非0情况,此FA地址的路由必须以域内或者域间路由存在,外部才会存在路由表中
Tag : 1
Priority : Medium
<AR4>dis ospf lsdb summary 135.1.1.0 OSPF Process 1 with Router ID 44.1.1.1 Area: 0.0.0.1 Link State Database
Type : Sum-Net
Ls id : 135.1.1.0
Adv rtr : 22.1.1.1
Ls age : 433
Len : 28
Options : E
seq# : 80000001
chksum : 0x8207
Net mask : 255.255.255.0
Tos 0 metric: 49
Priority : Low
dis ospf routing OSPF Process 1 with Router ID 44.1.1.1 Routing Tables Routing for Network Destination Cost Type NextHop AdvRouter Area 24.1.1.0/24 1 Stub 24.1.1.4 44.1.1.1 0.0.0.1 44.1.1.1/32 0 Stub 44.1.1.1 44.1.1.1 0.0.0.1 144.1.1.1/32 0 Stub 144.1.1.1 44.1.1.1 0.0.0.1 10.1.1.1/32 49 Inter-area 24.1.1.2 22.1.1.1 0.0.0.1 10.1.1.2/32 1 Inter-area 24.1.1.2 22.1.1.1 0.0.0.1 11.1.1.1/32 49 Inter-area 24.1.1.2 22.1.1.1 0.0.0.1 22.1.1.1/32 1 Inter-area 24.1.1.2 22.1.1.1 0.0.0.1 55.1.1.1/32 50 Inter-area 24.1.1.2 22.1.1.1 0.0.0.1 135.1.1.0/24 50 Inter-area 24.1.1.2 22.1.1.1 0.0.0.1
dis ip routing-table protocol ospf Route Flags: R - relay, D - download to fib------------------------------------------------------------------------------Public routing table : OSPF Destinations : 9 Routes : 9 OSPF routing table status : Destinations : 9 Routes : 9Destination/Mask Proto Pre Cost Flags NextHop Interface 10.1.1.1/32 OSPF 10 49 D 24.1.1.2 GigabitEthernet0/0/0 10.1.1.2/32 OSPF 10 1 D 24.1.1.2 GigabitEthernet0/0/0 11.1.1.1/32 OSPF 10 49 D 24.1.1.2 GigabitEthernet0/0/0 22.1.1.1/32 OSPF 10 1 D 24.1.1.2 GigabitEthernet0/0/0 55.1.1.1/32 OSPF 10 50 D 24.1.1.2 GigabitEthernet0/0/0 111.1.1.0/24 O_ASE 150 1 D 24.1.1.2 GigabitEthernet0/0/0 133.1.1.1/32 O_ASE 150 1 D 24.1.1.2 GigabitEthernet0/0/0 135.1.1.0/24 OSPF 10 50 D 24.1.1.2 GigabitEthernet0/0/0 155.1.1.0/24 O_ASE 150 100 D 24.1.1.2 GigabitEthernet0/0/0
OSPF 汇总:
域间汇总: 针对3类LSA的汇总 只能在ABR上进行汇总
只通告汇总的路由,不通告明细
R2:ABR
ospf 1 router-id 22.1.1.1 area 0.0.0.1 abr-summary 172.16.0.0 255.255.252.0 //注意区域,想汇总的明细来自于哪个区域,就进入哪个区域进行汇总
3类LSA过滤:
area 0.0.0.1 abr-summary 172.16.0.0 255.255.252.0 not-advertise //汇总以后,不通告该3类LSA的汇总
[AR2]dis ospf lsdb summary 172.16.0.0 self-originate OSPF Process 1 with Router ID 22.1.1.1 Area: 0.0.0.0 Link State Database
Type : Sum-Net
Ls id : 172.16.0.0
Adv rtr : 22.1.1.1
Ls age : 21
Len : 28
Options : E
seq# : 80000001
chksum : 0x584
Net mask : 255.255.252.0
Tos 0 metric: 1
Priority : Low
域外汇总: 针对外部路由的汇总,针对5类LSA,只能在ASBR上进行汇总
R5: ASBR
ospf 1 router-id 55.1.1.1 asbr-summary 192.168.0.0 255.255.0.0 //针对外部路由进行汇总,汇总默认的cost值等于自身cost值1加上外部引入的cost值1 asbr-summary 192.168.0.0 255.255.0.0 cost 5 //手工设置汇总以后的cost值
5类LSA的过滤:
asbr-summary 192.168.0.0 255.255.0.0 not-advertise //外部路由汇总以后,不通告
[AR5]dis ospf asbr-summary OSPF Process 1 with Router ID 55.1.1.1 Summary Addresses Total summary address count: 1 Summary Address net : 192.168.0.0 mask : 255.255.0.0 tag : 0 (Not Configured) status : Advertise Cost : 5 (Configured) delay : 0 (Not Configured) Destination Net Mask Proto Process Type Metric 192.168.2.0 255.255.255.0 RIP 1 2 10 192.168.1.0 255.255.255.0 RIP 1 2 10 The Count of Route is : 2
<AR5>dis ospf lsdb ase 192.168.0.0 self-originate OSPF Process 1 with Router ID 55.1.1.1 Link State Database
Type : External
Ls id : 192.168.0.0
Adv rtr : 55.1.1.1
Ls age : 8
Len : 36
Options : E
seq# : 80000001
chksum : 0x6fb9
Net mask : 255.255.0.0
TOS 0 Metric: 5 //优选手工设置的cost值为5.
E type : 2
Forwarding Address : 0.0.0.0
Tag : 1
Priority : Low
OSPF 默认路由:
默认情况,在OSPF协议中,不能把0.0.0.0/0的静态默认路由,通过外部引入的方式引入到OSPF区域中
default-route-advertise,默认情况下不会产生默认路由
前提条件:该路由表中必须有默认路由,才会产生一条5类LSA的0.0.0.0/0 默认路由
ip route-static 0.0.0.0 0.0.0.0 null 0 //在现网中,默认路由的下一跳,写真实的接口IP地址ospf 1 router-id 55.1.1.1 default-route-advertise //下发默认路由,default-route-advertise always //always参数,不管路由表中是否存在默认路由,自身都会产生一条5类LSA的0.0.0.0/0默认路由 ,推荐做法efault-route-advertise always cost 10 //设置下发默认路由的cost值为10
[AR5]dis ospf lsdb ase 0.0.0.0 self-originate OSPF Process 1 with Router ID 55.1.1.1 Link State Database
Type : External
Ls id : 0.0.0.0
Adv rtr : 55.1.1.1
Ls age : 12
Len : 36
Options : E
seq# : 80000001
chksum : 0xf89d
Net mask : 0.0.0.0
TOS 0 Metric: 1
E type : 2
Forwarding Address : 0.0.0.0
Tag : 1
Priority : Low
虚连接:逻辑上属于区域0
注意:当区域0做认证时候,虚连接也必须使能认证。
应用的场景 :
1.远离区域0
2.分割区域0
3.不存在骨干区域,只有非骨干区域之间相连的情况
4.为了备份,防止区域0被分割
配置:
R6:
ospf 1 router-id 66.1.1.1 area 0.0.0.26 //传输区域 vlink-peer 22.1.1.1 //指对方设备的router-id,不是接口IP地址
[AR6]dis ospf vlink OSPF Process 1 with Router ID 66.1.1.1 Virtual Links
Virtual-link Neighbor-id -> 22.1.1.1, Neighbor-State: Full //邻居状态一定要FULL,虚连接邻居建立成功
Interface: 26.1.1.6 (GigabitEthernet0/0/1) Cost: 1 State: P-2-P Type: Virtual Transit Area: 0.0.0.26 Timers: Hello 10 , Dead 40 , Retransmit 5 , Transmit Delay 1 GR State: Normal
option选项 ---hello报文
默认情况下,E位为1 --可以接收外部路由的
E位为0,N位为0 ----stub区域
E位为0,N位为1 ----NSSA区域
Dec 22 2018 10:58:55-08:00 AR5 %%01OSPF/3/NBR_DOWN_REASON(l)[1]:Neighbor state leaves full or changed to Down. (ProcessId=256, NeighborRouterId=1.1.1.11, NeighborAreaId=33554432, NeighborInterface=GigabitEthernet0/0/0,NeighborDownImmediate reason=Neighbor Down Due to Inactivity, NeighborDownPrimeReason=Area Option Mis-match, NeighborChangeTime=2018-12-22 10:58:55-08:00)
dis ospf error OSPF Process 1 with Router ID 55.1.1.1 OSPF error statistics General packet errors: 0 : IP: received my own packet 25 : Bad packet 0 : Bad version 0 : Bad checksum 0 : Bad area id 0 : Drop on unnumbered interface 0 : Bad virtual link 0 : Bad authentication type 0 : Bad authentication key 0 : Packet too small 0 : Packet size > ip length 0 : Transmit error 0 : Interface down 0 : Unknown neighbor 0 : Bad net segment 25 : Extern option mismatch
OSPF特殊区域:
1.stub区域
过滤4类,5类LSA,存在1类、2类、3类LSA
由stub区域的ABR设备产生一条3类LSA 0.0.0.0/0的默认路由,发布给stub区域中的其他路由器
配置:特殊区域的所有设备都要配置
ospf area 0.0.0.2 stub //把区域2设置为stub区域
2.totally stub区域
过滤3类、4类、5类LSA,只存在1类、2类LSA
由stub区域的ABR设备产生一条3类LSA 0.0.0.0/0的默认路由,发布给stub区域中的其他路由器
配置:特殊区域的所有设备都要配置
ospf area 0.0.0.2 stub no-summary //把区域2设置为stub区域,stub 区域的ABR上配置就可以
[AR5]dis ospf lsdb summary 0.0.0.0 OSPF Process 1 with Router ID 55.1.1.1 Area: 0.0.0.2 Link State Database
Type : Sum-Net
Ls id : 0.0.0.0
Adv rtr : 33.1.1.1
Ls age : 787
Len : 28
Options : None
seq# : 80000001
chksum : 0x54e5
Net mask : 0.0.0.0
Tos 0 metric: 1
Priority : Low
Type : Sum-Net
Ls id : 0.0.0.0
Adv rtr : 11.1.1.1
Ls age : 339
Len : 28
Options : None
seq# : 80000001
chksum : 0x1b35
Net mask : 0.0.0.0
Tos 0 metric: 1
Priority : Low
3.NSSA Not-so-stub-area
过滤4类,5类LSA,由NSSA区域的ABR设备产生一条7类LSA O N2 0.0.0.0/0的默认路由
本NSSA区域的路由器可以拥有ASBR,可以引入外部路由,该外部路由以7类LSA的形式在NSSA区域中存在。
由NSSA区域的ABR路由器将7类LSA转换成5类LSA,如果有多个ABR,router-id大的ABR成为转发者路由器。
配置:属于nssa区域的所有设备都需要配置
ospf 1 router-id 55.1.1.1 area 0.0.0.2 nssa //把区域2设置为nssa区域
ospf 1 router-id 11.1.1.1 nssa translator-always //强制指定R1作为转发者参数:no-import-route //NSSA区域中的路由器,不允许引入外部路由
dis ip routing-table protocol ospf Destination/Mask Proto Pre Cost Flags NextHop Interface 0.0.0.0/0 O_NSSA 150 1 D 135.1.1.3 GigabitEthernet0/0/0 O_NSSA 150 1 D 135.1.1.1 GigabitEthernet0/0/0
4.totally NSSA 区域
过滤3类、4类,5类LSA,由NSSA区域的ABR设备产生一条3类LSA 0.0.0.0/0的默认路由
配置:属于nssa区域的ABR设备需要配置
ospf 1 router-id 11.1.1.1 area 0.0.0.2 nssa no-summary //把区域2设置为totally nssa区域
[AR5]dis ip routing-table protocol ospf Destination/Mask Proto Pre Cost Flags NextHop Interface 0.0.0.0/0 OSPF 10 2 D 135.1.1.1 GigabitEthernet0/0/0 OSPF 10 2 D 135.1.1.3 GigabitEthernet0/0/0[AR5]dis ospf lsdb nssa self-originate OSPF Process 1 with Router ID 55.1.1.1 Area: 0.0.0.2 Link State Database
Type : NSSA Ls id : 155.1.1.0 Adv rtr : 55.1.1.1 Ls age : 659 Len : 36 Options : NP seq# : 80000001 chksum : 0xdbdb Net mask : 255.255.255.0 TOS 0 Metric: 100 E type : 2 Forwarding Address : 55.1.1.1 Tag : 666 Priority : Low
[AR5][AR5][AR5]dis ospf lsd[AR5]dis ospf lsdb
OSPF认证:在OSPF header 包头格式中
认证的类型:
1.null --type=0
2.明文 ---type=1
3.密文 --type=2
接口认证及区域认证:
接口认证优于区域认证
接口认证:
明文认证:
interface GigabitEthernet0/0/0 ip address 24.1.1.4 255.255.255.0 ospf authentication-mode simple cipher huawei
密文认证:
interface GigabitEthernet0/0/0 ospf authentication-mode md5 1 cipher huawei
区域认证:
如果区域使能认证,该区域下的接口都使能认证
明文认证:
ospf 1 router-id 22.1.1.1 area 0.0.0.1 authentication-mode simple cipher huawei
密文认证:
ospf 1 router-id 22.1.1.1 area 0.0.0.1 authentication-mode md5 1 cipher huawei
注意:
如果区域0认证,存在虚链路时,虚链路也要进行认证
[AR4]dis ospf error OSPF Process 1 with Router ID 44.1.1.1 OSPF error statistics General packet errors: 0 : IP: received my own packet 20 : Bad packet 0 : Bad version 0 : Bad checksum 0 : Bad area id 0 : Drop on unnumbered interface 0 : Bad virtual link 13 : Bad authentication type //认证的类型不匹配 7 : Bad authentication key //密码不对 0 : Packet too small 0 : Packet size > ip length 0 : Transmit error 0 : Interface down 0 : Unknown neighbor 0 : Bad net segment 0 : Extern option mismatch 0 : Router id confusion
[AR4]dis ospf brief Area: 0.0.0.1 (MPLS TE not enabled) Authtype: Simple Area flag: Normal[AR2]dis ospf brief | in Auth Area: 0.0.0.1 (MPLS TE not enabled) Authtype: MD5 Area flag: Normal
MTU值 最大传输单元 1500
MRU 最大接收单元
默认情况下,华为设备是不协商MTU值,忽略检查该值。
在DD报文中,华为设备不协商MTU值,默认为0
如果强制协商MTU值,MTU不匹配时候,ospf邻居状态卡在exstart或者exchange状态
interface GigabitEthernet0/0/0 mtu 1400 ip address 24.1.1.2 255.255.255.0 ospf mtu-enable //强制检查DD报文中的MTU值
OSPFv3
基本配置:
ospfv3 1 router-id 11.1.1.1 area 0interface GigabitEthernet0/0/1 ipv6 enable ipv6 address auto link-local //使用链路本地地址即可建立邻居 ospfv3 1 area 0.0.0.0 //启动OSPFv3的区域0interface LoopBack0 ipv6 enable ipv6 address 2011::1/128 //用于数据转发的全局单播地址 ospfv3 1 area 0.0.0.0
dis ospfv peer //查看邻居表OSPFv3 Process (1)OSPFv3 Area (0.0.0.2)Neighbor ID Pri State Dead Time Interface Instance ID66.1.1.1 1 Full/DR 00:00:33 GE0/0/2 0
努力学习,勤奋工作,让青春更加光彩
再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达