isis是一种与ospf很相似的网络协议(属于动态路由协议),它被应用在巨大规模网络,如运营商以及银行等。
同样的它也是基于链路状态算法,支持clnp网络,ip网络。与ospf不同的是,它是基于数据链路层报文传输,而ospf则是在ip层进行计算。
它可以自动的发现远程网络,只要网络拓扑结构发生了变化,路由器就会相互交换路由信息,不仅能够自动获知新增加的网络,还可以在当前网络连接失败时找出备用路径。
无类路由协议 管理距离115 度量值每一个接口为10 。
2.整体拓扑
ISIS路由器类型可以分为3种,即L1路由器(Leve-1)、L2路由器(Leve-2)和L1/2(Leve-1/2)路由器。 为了支持大规模的路由网络,ISIS在自治系统内采用骨干区域与非骨干区域两级的分层结构。一般来说,将Leve-1路由器部署在非骨干区域,Leve-2路由器和 Level-1/2路由器部署在骨干区域。每一个非骨干区域都通过 Level-1/2路由器与骨干区域相连。一个运行IS-IS协议的网络,它与OSPF的多区域网络拓扑结构非常相似。也就是说 L1 至 L2 必须要经过 L1/2 相连。(L1不能学习到L2,但是L2可以学习到L1,L1只有默认路由)还有DIS选举(优先级相同时,MAC大的为DIS)
3.isis 与OSPF的3个不同点:
(1)在1s-1s中,每个路由器都只属于一个区域,而在OSPF中一个路由器的不同接口可以属于不同的区域
(2)在1S-1S中,单个区域没有骨干与非骨干区域的概念。而在OSPF中Area0被定义为骨干区域
(3)在|s-1s中,Leve-1和Leve2级别的路由都采用SPF算法,分别生成最短路径树( ShortestPath Tree,spT)。而在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由需要通过骨干区来转发。
4.网络实体名称NET(Network Entity Title)指的是设备本身的网络层信息,可以看作是一类特殊的NSAP(SEL=00)。NET的长度与NSAP的相同,最多为20个字节,最少为8个字节。在路由器上配置IS-IS时,只需要考虑NET即可,NSAP可不必去关注。
例如有NET为:ab.cdef.1234.5678.9abc.00,则其中Area Address为ab.cdef,System ID为1234.5678.9abc,SEL为00。
NET由三部分组成:
区域ID,区域ID的长度可以是变化的(1~13个字节)。且同一区域中所有节点的区域地址都必须相同 。
系统ID,长度为固定值6个字节。
最后一个字节SEL,其值必须为00。
IS-IS与 CLNP、ES-IS和 IDRP协议相结合,为整个网络提供完整的路由选择)ISO发布的OSI七层模型中的网络层:
CLNS:无连接网络服务(IS-IS (Routing,IGP))
CLNP:无连接网络协议(类似IP,IPX),CLNS是为CLNP所支撑的服务
CONS(Connection Oriented Network Service)面向连接的服务
CONP:面向连接网络协议(Connection-Oriented Network Protocol),如x.25
ES-IS:终端系统和中间系统路由交换协议(End System to Intermediate System Routing Exchange protocol)
IDRP:域间路由选择协议(IInter-Domain Routing Protocol)
IS-IS:中间系统到中间系统协议(Intermediate System to Intermediate System)
OSI网络层定义了两种服务:CONS与CLNS
基于CLNS的服务由以下网络层协议支持
– CLNP:无连接网络层协议
– ES-IS:终端系统-中间系统路由协议
– IS-IS :中间系统-中间系统路由协议
isis协议实验如下:
配置IP:
R1-L1 192.160.1.254 13.1.1.1
R2-L1 192.160.2.254 23.1.1.2
R3-L1/2 13.1.1.3 23.1.1.3 34.1.1.3
R4-L2 192.160.4.254 34.1.1.4
PC1 192.160.1.1
PC2 192.160.2.1
PC4 192.160.4.1
网络是无法连通的。
发现PT 这个模拟器不支持isis命令,只能换GNS3 模拟器了。
R1 13.1.1.1 (loopback 1.1.1.1
R2 23.1.1.2 (loopback 2.2.2.2
R3 13.1.1.3 23.1.1.3 34.1.1.3 (loopback 3.3.3.3
R4 34.1.1.4 (loopback 4.4.4.4
配置isis协议:每个接口都需要关联isis进程号.
R1#
configure terminal
clns routing开启CLNS服务
interface e 0/1
clns router isis 在接口上启用CLNS路由选择isis
isis circuit-typelevel-1 在接口中修改链路类型为L1,默认级别为L1/L2(修改接口类型,优化了路优表)
router isis 1启用ISIS路由协议、进程号1(1-65535)
is-type level-1设置路由器类型L1
no shutdown 开启端口
router isis 启动isis协议
is-type level-1 设置路由器类型L1
net 11.0000.0000.0011.00配置NET地址;NET地址由区域地址(11)、系统ID(0000.0000.0011)和NSEL(00)组成
exit
下面另外一种配置方法:
clns routing开启CLNS服务
router isis 1启动isis协议进程号为1
is-type level-1 设置路由器类型L1
net 11.0000.0000.0011.00配置NET地址;NET地址由区域地址(11)、系统ID(0000.0000.0011)和NSEL(00)组成
interface e 0/1
ip router isis 1 在接口中关联isis进程
isis circuit-type level-1该接口和邻居就只能建立level-1的邻居(修改接口类型,优化了路优表)
查看R1、R2、R3、R4路由表 show ip route
发现R1 没有R2、R4的路由信息、而R2、R3、R4有R1的路由信息。
因为默认情况下,L2的路由不会注入到L1中,即使通过L1/2路由器也不行。
所以发现L1 的R1 无法ping通L2的R2和R4 ,但是R2和R4 是可以ping通R1 的。
所以L1要访问L2 ,就需要路由泄露。
ISIS路由泄露:就是把 L2 区域的具体的路由发布到 L1 区域当中去,从而是 L1 能够选择更优的路由。
access-list 100 permit ip host 1.1.1.0 any
redistribute isis ip level-2 into level-1 distribute-list 100
这样L1 区域 就可以访问L2 区域了。