ISIS:中央系统到中央系统
基于OSI模型开发;
集成的ISIS,基于OSI开发后转移到TCP/IP模型执行;
故集成的ISIS既可以在OSI模型,也可在TCP/IP模型工作;
ISIS是在ISP中使用的一个IGP协议,其归属于无类别链路状态;使用的SPF算法;
OSI模型的网络层协议: 1、CLNS 无连接的网络服务 2、CONS 面向连接的网络服务
CLNS存在子协议:
- CLNP 类似于TCP/IP的IP协议 寻址
- ISIS ----类似于TCP/IP中的RIP/OSPF/EIGRP.... 学习路由条目的协议
- ESIS----类似于TCP/IP中的ICMP/ARP/IGMP PC和路由器间的协议
集成的ISIS和OSPF协议比较相似,但是工作半径相当较大,且工作原理较简单;
ISIS和OSPF的区别:
- 周期更新时间 OSPF 30min 60min老化 ISIS 15min 20min老化
- 逻辑骨干0
- ISIS中一台设备只能在一个区域中
- ISIS的仅两种LSP(类似OSPF中的LSA)
- 度量计算方式不同
- 仅存在邻接关系;
在配置ISIS时,由于ISIS基于OSI模型开发,而在OSI模型中,存在IP地址外,还存在NSAP地址;故在TCP/ip模型中配置ISIS也必须先配置NSAP地址;
IDP(初始域)
AFI----权威格式部分----固定1个字节---16进制数;需要付费使用 49为私有
IDI-----权威格式ID------可变长-----47.0006.
DSP(域的指定)
HODSP---高的DSP位
系统ID---6个字节----在ISIS中类似OSPF的RID,全网必须独一无二
49.0001.1111.1111.1111.00
NSEL---固定一个字节---类似TCP/IP中的端口号,在ISIS协议中为0;
NSEL 为0的NSAP地址又被称为nat地址;
理解:
-
- 1111.1111.1111. 00
AS号 区域 RID 全0
配置:
r1(config)#router isis a 启动时,可以配置进程名;若不定义进程名,为0;
r1(config-router)#
r1(config-router)#net 49.0001.1111.1111.1111.00 配置NSAP地址
宣告:1、激活接口 2、传递路由
r1(config-)#int s1/1
r1(config-if)#ip router isis a
r1(config-if)#int lo0
r1(config-if)#ip router isis a
华为
[R2]isis 1
[R2-isis-1]network-entity 49.0001.2222.2222.2222.00
[R2]interface LoopBack 0
[R2-LoopBack0]isis enable 1
配置完成后,邻居间使用hello包建立邻接关系,生成邻居表:
r1#show isis neighbors
System Id Type Interface IP Address State Holdtime Circuit Id
r2 L1L2 Se1/1 12.1.1.2 UP 29 00
华为
[R1]display isis peer
Peer information for ISIS(1)
System Id Interface Circuit Id State HoldTime Type PRI
2222.2222.2222 GE0/0/0 1111.1111.1111.01 Up 26s L1(L1L2) 64
2222.2222.2222 GE0/0/0 1111.1111.1111.01 Up 27s L2(L1L2) 64
Total Peer(s): 2
r1#show clns neighbors
System Id Interface SNPA State Holdtime Type Protocol
r2 Se1/1 *HDLC* Up 21 L1L2 IS-IS
r1#show isis hostname
Level System ID Dynamic Hostname (a)
2 4444.4444.4444 r4
2 3333.3333.3333 r3
1 2222.2222.2222 r2
* 1111.1111.1111 r1
华为
[R2]display isis name-table 1
在邻居表中将邻居的RID和主机绑定查看;
默认ISIS间工作,无日志信息;可以开启显示功能
r1(config)#router isis a
r1(config-router)#log-adjacency-changes all
华为
[R2]isis 1
[R2-isis-1]log-peer-change
重启ISIS进程
r1#clear isis *
r1#clear clns neighbors
华为
<R1>reset isis peer 2222.2222.2222
重启所有的isis邻居
<R1>reset isis all
在邻接关系建立后,邻居间交换LSP(LSA)----链路状态协议数据单元
收集完成后生成数据库表和拓扑表:
r1#show isis database
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
r1.00-00 * 0x00000009 0x8977 1128 1/0/0
r2.00-00 0x00000009 0x56F1 1116 1/0/0
IS-IS Level-2 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
r1.00-00 * 0x00000008 0xE9BD 1121 0/0/0
r2.00-00 0x0000000A 0xE5FA 1116 0/0/0
r3.00-00 0x00000006 0x4B3E 882 0/0/0
r4.00-00 0x00000004 0x10CF 882 0/0/0
华为
<R1>display isis lsdb
r1#show isis database verbose查看数据库明细
华为
<R1>display isis lsdb verbose
r1#show isis topology 查看拓扑表
华为
<R1>display isis brief
再之后,ISIS协议基于拓扑表和数据表计算最佳路径,然后将其加载到路由表中;
使用字母i标示学习到的条目;管理距离为115;华为为15
度量存在-----1、狭义度量 2、广义度量
狭义度量---每个接口无论参数默认为10;可以在1--63范围内修改;
r1(config)#int s1/1
r1(config-if)#isis metric 11
华为设备修改狭义度量
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]isis cost 15
ISIS使用LSP来进行信息交互:LSP存在4种类型
Level 0 路由器同PC间使用
Level1 同一区域内使用
Level 2 区域间路由器沟通
Level 3 AS间的路由沟通
ISIS的工作原理和选路规则:
工作在不同级别的下的设备可以发出不同的LSP;主要L1/2信息;
默认所有设备均工作于L1/2模式下;
总结:
- ISIS的骨干区域为逻辑骨干---所有连续的L2和L1-2路由器的集合构成了ISIS的逻辑骨干区域
- 一个区域内至少有一台设备属于逻辑骨干,否则该区域将无法访问其他区域;
- 骨干区域内的路由器拥有全网的路由;
- L1路由器只能和区域内的L1和L1/2路由器建立邻居关系;
L1和L2路由器不能建立邻居关系;
选路规则:
- L1路由器访问某个目标时,先查看是否和目标在同一区域,若在通过L1路由访问,若不在使用缺省路由通过本地最近的L1-2路由器访问;
- L2路由器访问某个目标时,直接通过L2数据库访问;
- L1-2路由器访问目标时,先查看是否和目标在同一区域,若在通过L1路由访问,若不在通过L2数据库访问
注:L1-2路由器会向本区域内的L1路由器下放缺省路由;
条件:1、该L1-2路由器和L1路由器在同一区域
2、该L1-2路由器必须连接了其他的区域
r1(config)#router isis a
r1(config-router)#is-type level-1
华为
[R6]isis 1
[R6-isis-1]is-level level-1
ISIS的数据包类型:
ISIS存在9种数据包;集成的ISIS在TCP/IP模型中工作时,其实际包跨层封装到2层;
在以太网中,目标MAC地址尾号为14标示L1路由,15标示L2路由;
Hello包---邻居发现、建立、保活;10s hellotime 30s dead time;
在拥有DIS时helle time 为3.3s,deadtime 为10s;
LSP(LSA)
PSNP(部分序列号的PDU)--类似OSPF中的LSR或ACK
CSNP(完整序列号的PDU)--类似OSPF中的DBD报文
以上4种报文存在L1和L2两种;另在MA网络使用了专门的HELLO包;
PSNP CSNP
广播型网络中: LSR DBD,默认由DIS周期10s发送
点到点网络中: ACK DBD,邻接关系建立发送一次
ISIS的接口网络类型:
- 广播
- 点到点
注:在ISIS中不存在NBMA概念,使用点到点来工作;
广播型网络---以太网,为避免重复LSP更新,存在DIS的角色,类似OSPF中的DR;
没有BDR;在广播网络中非DIS间虽然建立了邻接关系,但不交换LSP;
DIS的选举规则:1、优先级高 默认64 大优 2、接口MAC大
r1#show isis neighbors
System Id Type Interface IP Address State Holdtime Circuit Id
r2 L1 Fa0/0 10.1.1.2 UP 8 r2.02
r2 L1 Se1/1 12.1.1.2 UP 23 00
华为
[R6]display isis interface g0/0/0
Interface information for ISIS(1)
Interface Id IPV4.State IPV6.State MTU Type DIS
GE0/0/0 001 Up Down 1497 L1/L2 Yes/No
Yes/no的顺序和level1 2有关系
r1# show clns is-neighbors
System Id Interface State Type Priority Circuit Id Format
r2 Fa0/0 Up L1 64 r2.02 Phase V
r2 Se1/1 Up L1 0 00 Phase V
r1(config)#int f0/0
r1(config-if)#isis priority 65 修改优先级,默认抢占
华为
[R8]interface g0/0/0
[R8-GigabitEthernet0/0/0]isis dis-priority 77
ISIS的路由泄露:
默认L1-2路由器仅向同一区域的L1路由器发送一条缺省;若希望该L1-2路由器在发送缺省路由的基础上再发送部分明细路由;那么需要该路由器将L2数据库中的部分路由泄露到L1数据库中来
- 必须使用扩展ACL列表抓取网络号
r2(config)#access-list 100 permit ip 4.4.4.0 0.0.0.0 any
- 泄露
r2(config)#router isis
r2(config-router)#redistribute isis ip level-2 into level-1 distribute-list 100
将ACL列表100中的条目重发布到L1数据库中
泄露进入的条目,使用字母ia 标示;种子度量为148;
华为
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 7.7.7.7 0.0.0.0
[R1]isis 1
[R1-isis-1]import-route isis level-2 into level-1 filter-policy 2000
修改DIS 优先级
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]isis dis-priority 88
修改metric
华为
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]isis cost 30
修改发送hello包间隔时间
华为
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]isis timer hello 5
修改hold时间
华为
[R2-GigabitEthernet0/0/0]isis timer holding-multiplier 15
ISIS手工汇总: 仅仅针对L2 LSP信息汇总
汇总
[R3]isis 1
[R3-isis-1]summary 192.168.0.0 255.255.252.0
查看:
ISIS路由认证 :与EIGRP 认证类似
第一步定义key-chain
[R1]keychain ccna mode absolute
[r1-keychain]key-id 1
[R1-keychain-keyid-1]key-string huawei
[R1-keychain-keyid-1]quit
调用
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]isis authentication-mode keychain ccna level-2
[R1-GigabitEthernet0/0/1]isis authentication-mode md5 123
ISIS 路由泄漏:
注意在路由泄漏中,使用route-map或distribute-list 都是用定义感兴 趣的路由信息(将那些Level-2路由进行泄漏)
华为
抓流量
[R1]ip ip-prefix xx permit 9.9.9.9 32
[R1-isis-1]import-route isis level-2 into level-1 filter-policy ip-prefix xx
查看:
缺省路由
华为
[R1]isis 1
[R1-isis-1]default-route-advertise
查看:
BGP:边界网关路由协议
工作于AS之间;标准的EGP协议;
AS:自治系统 0-65535 其中1-64511 公有 64512--65535 私有
EGP协议的特征:
1、可控性
2、可靠性
3、AS-BY-AS
BGP特点:
- 无类别路径矢量 -----距离的升级版---AS-BY--AS
- 使用单播更新来发送所有信息;基于TCP 179端口工作
- 触发、增量更新
- 具有丰富的属性来取代IGP中度量进行选路
- 可以在进项和出项对流量实施强大的策略
- 默认不被用于负载均衡-----通过各种选路规则仅仅产生一条最佳路径
- BGP支持认证和聚合(汇总)
BGP的数据包类型:所有的数据包均基于TCP会话传递
- open报文---用于建立邻居关系,默认仅发送一次,存在RID--规则同OSPF一样
- Keepalive--用于保活邻居关系,60s周期 180s hold time 实际保活TCP会话
- Update -----目标网络号+属性
- Notification---报错信息
BGP的工作过程:
- IP可达
- 建立TCP会话
- 使用open 报文建立邻居关系---生成邻居表
- 使用update传递路由信息,生成BGP表;之后将BGP中最优路径加载于路由表中
- 之后收敛完全,仅keeplive周期保活
- 若出现结构变化,进行触发更新,就变化信息发送update即可
名词注解:
EBGP:不同AS间的邻居关系,通过该种邻居学习到的条目管理距离为20
IBGP:同一AS内的邻居关系,通过该种邻居学习到的条目管理距离为200
BGP的防环机制----水平分割
- EBGP水平分割----条目在传递过程中将记录所有经过的AS号,若接收到条目中,存在本地AS号,将拒绝接收
2、IBGP水平分割-----从一个IBGP邻居处学习到的条目不能传递给下一个IBGP邻居;
解决方法:全连邻居关系 或者使用 联邦和路由反射器来解决;
BGP的路由黑洞问题:
由于BGP协议可以非直连建邻,故可能出现控制层面可达,数据层面不可达的情况;
解决方法:
- 物理全连
- 邻居关系全连
- 将BGP路由重发布IGP(LAB)
- MPLS (推荐)
配置:
r1(config)#router bgp 1 启动协议时,使用真实AS号,不存在多进程概念
r1(config-router)#
r1(config-router)#bgp router-id 1.1.1.1 建议配置RID
建立邻居关系:
- 直连EBGP邻居,直接使用物理接口建立
r1(config-router)#neighbor 12.1.1.2 remote-as 2 对端物理接口ip地址及所在AS号
- 建立IBGP邻居关系---使用环回建立邻居关系,链路备份和负载均衡等效果
r2(config)#router bgp 2
r2(config-router)#neighbor 3.3.3.3 remote-as 2
r2(config-router)#neighbor 3.3.3.3 update-source loopback 0 一旦使用环回建立邻居关系,就必须修改更新源地址
- EBGP邻居关系存在多条路径时,也建议使用环回建立邻居关系
【1】ip可达问题
r4(config)#ip route 5.5.5.0 255.255.255.0 45.1.1.2
r4(config)#ip route 5.5.5.0 255.255.255.0 54.1.1.2
【2】建立BGP邻居关系
r4(config)#router bgp 2
r4(config-router)#neighbor 5.5.5.5 remote-as 3
r4(config-router)#neighbor 5.5.5.5 update-source loopback 0
默认IBGP邻居间TTL值设定为255,EBGP邻居为1;
r4(config-router)#neighbor 5.5.5.5 ebgp-multihop ?
<1-255> maximum hop count
<cr> 255
r4(config-router)#neighbor 5.5.5.5 ebgp-multihop
当建立邻居配置完成后,邻居间将先建立TCP会话:
r1#show tcp brief
TCB Local Address Foreign Address (state)
64289A10 12.1.1.1.179 12.1.1.2.14396 ESTAB
当会话建立后,邻居间使用open报文建立邻居关系,生成邻居表:
r1#show ip bgp neighbors 查看邻居关系,但该表过大不易查看
r1#show ip bgp summary
BGP router identifier 1.1.1.1, local AS number 1
BGP table version is 1, main routing table version 1
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
12.1.1.2 4 2 15 15 1 0 0 00:11:25 0
状态处显示数字即为邻居关系已经建立,数字表示从该邻居处学习到的路由条目数量;
路由宣告:
无论本地路由表中的条目是通过何种方式获取,均可宣告到BGP协议中;
BGP协议可以宣告本地路由表中任何条目,但宣告时必须同本地路由表中的记录完全一致;
r1(config)#router bgp 1
r1(config-router)#network 1.1.1.0 mask 255.255.255.0
宣告完成,将生成BGP表;用于装载所有本地发出和接收到的条目
r1#show ip bgp
BGP table version is 2, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale 状态
Origin codes: i - IGP, e - EGP, ? - incomplete 一种属性--起源属性
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.0/24 0.0.0.0 0 32768 i
状态 目标网络号 属性
标示可用---可以加表(路由表)
* 不可用----*被r取代---不装载--本地通过其他更好的协议已经学习到了该条目
被s取代---被人为的抑制--不得传递
>标示优---可以加表,可以传递
优的条件:1、同步问题---一条条目需要本地通过IGP和BGP同时学习到,为避免路由黑洞;该限制可以关闭,且IOS版本12.2(8)T 以上系列路由器默认关闭该功能
2、下一跳可达问题---当一条条目传递给EBGP邻居时将自动修改下一跳地
址为本地,但若传递给IBGP邻居,将不修改任何参数
r2(config)#router bgp 2
r2(config-router)#neighbor 3.3.3.3 next-hop-self 传递条目到该邻居时,自动修改下一跳为本地
BGP的MA网路下一跳问题:
在MA网络由于ICMP重定向,故BGP可以寻找到最佳下一跳地址;
r1#debug ip bgp updates 查看BGP更新包
r2#clear ip bgp * 硬重启 断开所有邻居间的TCP会话,让后再重新建立
r2#clear ip bgp * soft 软重启,重新收发所有路由信息,不断开邻居关系
r1#clear ip bgp 123.1.1.2 和某个邻居进行硬重启
r1#clear ip bgp 123.1.1.2 soft ? 和某个邻居进行软重启,可选择方向
in Soft reconfig inbound update
out Soft reconfig outbound update
<cr>
r1#show ip bgp neighbors 123.1.1.2 advertised-routes 查看BGP表中本地发送给邻居的条目
r1#show ip bgp neighbors 123.1.1.2 received-routes 查看BGP表中从该邻居处接收到的条目
% Inbound soft reconfiguration not enabled on 123.1.1.2 但默认没有专门的内存用于存在信息
r1(config)#router bgp 1
r1(config-router)#neighbor 123.1.1.2 soft-reconfiguration inbound 创建专门的空间,建议查看