科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道ISIS路由协议

ISIS路由协议

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

ISIS是一个分级的链接状态路由协议,基于DECnet PhaseV 路由算法。ISIS和OSPF一样建立一个双层分级结构拓扑,但和OSPF不同的是ISIS划分area是连接中,也就是说两台路由器中间来划分area

作者:中国IT实验室 2007年9月18日

关键字: 路由协议 EIGRP igrp SNMP CISCO 网络协议

  • 评论
  • 分享微博
  • 分享邮件

  ISIS是一个分级的链接状态路由协议,基于DECnet PhaseV 路由算法。ISIS可以在不同的子网上操作,包括广播型的LAN、WAN和点到点链路。ISIS是一个链接状态协议,实际上与OSPF非常相似,它也使用Hello协议寻找毗邻节点,使用一个传播协议发送链接信息。ISIS消息使用序列号,但它只是一个简单的加法计数器。当计数器计到最大值时,一个ISIS路由器没有别的选择,只能伪造一个错误触发对所有旧信息的刷新。然而,因为序列号有3 2 比特长,使得到达最大值之前有很大的序列号空间,所以这不是什么问题。但是,至少存在两个技术问题:ISIS使用一个小的度量值(6 比特),严重限制了能与它进行转换的信息;而且链接状态也只有8 比特长,路由器能通告的记录只有256个。一个非技术问题是ISIS受OSI约束,使得与OSPF相比它的发展比较缓慢。这个限制的原因是由于SPF的要求;但现在的Wide-metric使这个范围变成24位的扩展解决了这个问题。

  一个非技术问题是ISIS受OSI约束,使得以前与OSPF相比它的发展比较缓慢。但现在的ISIS在非OSI即RFC方面(Integrated)ISIS有了很多的扩展使得他的发展比OSPF更容易实现对新的要求的支持如IPV6或者TE而且更简单易实现

  

  一个路由器是intermediate system(IS),一个主机就是end system(ES),在一个主机和路由器之间运行的协议叫ES-IS,路由器与路由器之间运行的协议是IS-IS

  

  一个subnetwork属下的接口叫:subnetwork point of attachment(SNPA),它只是一个概念上的东西,实际上它是一个subnetwork提供的服务点,由SPNA定义的,不是实际的物理界面,SNPA的概念特性对应于子网的概念特性。

  

  PDU:就是一个OSI层上的一个节点到它的另一端(peer)的对应层上的节点,所以一个帧也叫做Date Link PDU(DLPDU),也因此一个网络层的packet也叫做network PDU(NPDU),这个date unit功能类拟于OSPF的LSA,我们称它为Link State PDU(LSP),与LSA不同的是它封装在OSPF报头之后,然后才到IP数据包。

  

  an LSP is itself a packet.

  

  =====================

  ISIS AREAS

  =====================

  ISIS和OSPF一样建立一个双层分级结构拓扑,但和OSPF不同的是ISIS划分area是连接中,也就是说两台路由器中间来划分area

  

  L1_Router---------|----------L2_Router

  

  以上的竖线就是ISIS划分的area的地方,而OSPF则不是,它是在一个路由器当中划分的,一个路由器中只要有两个接口接到不同的area,这个路由器就叫做ABR

  

  area0-------ABR_Router------area1

  

  ISIS中对路由器的称呼又和OSPF又所不同,它只有三类,一个是完全在一个area内的,OSPF叫内部路由器,ISIS叫L1,而OSPF的ABR在ISIS中叫做L1/L2,还有一类是backbone里的路由器,全都叫做L2,这样,L1/L2路由器就会维护两个line state datebase,而与ABR不同的是,L1/L2路由器不通告L2的路由给L1,因此所有的L1路由器永远不会知道area外的路由,这种情况和OSPF的tutally stubby area是非常像的,如果L1内的路由目的地是在自已的area以外,这个L1路由将被转发到一个L1/L2路由器上,而L1/L2路由器传送一个L1的路由到另一个area时,它在LSP设置一个bit叫Attached(ATT) bit9来告诉别的L1路由器这条路由可以到达。

  

  OSPF用spf算法来计算一个area内的路由器,而ISIS在这一点上也是不同的,它在内部area (inter-area) 时所使用的方法是distance vector算法。

  

  ISIS中L1/L2路由器维护两个分离的L1和L2的link state datebase,将计算完全独立的L1和L2拓扑自已SPF tree。

  

  ISO 10589 中说ISIS路由器可以使用virtual link来连接物理分离的area到backbone,这和OSPF是一样的,但是这个功能CISCO就做不到的,反而别的路由器生产商可以做到。

  

  =================

  AREA ID

  =================

  一个L1,也就是说完全在一个area内的路由器,它的area ID或者说area address是与该路由器的全部参数有关,也就是说不是什么一个接口的最高IP地址就能决定一个area ID,这和OSPF又是大大的不同。ISIS可以有上限为三个的area address,这在area transitions的是候是很有用的。

  在一个domain中,一个ISIS的路由器一定要有一个唯一标识,这可以用system ID来完成,这个system ID与OSPF的router ID是一样的,area ID和sytem ID可以用一个地址,==========both the area ID and the system ID are defined on an ISIS router by a single address the network entrigy title。

  

  注:system ID就是router ID,在area内的时候做识别用,area ID则在area之间做识别用。

  

  =================

  Network Entity Titles

  =================

  虽然ISIS使用TCP/IP,但它仍然是CLNP协议,因而ISIS中跑的数据包叫CLNS PDUs,这样子就算一个完全是IP环境,一个ISIS的路由器也一定有ISO地址,ISO地址就是一个network address,ISO 8348.10 描述network entity titles,长度可以是8-20 字节(octetes)它描述该设备area ID and system ID,

  

  注:NET是为一个ISIS路由进程指定的区域地址和系统标识。该参数可以是一个地址,也可以是一个名字。

  

  ISO为不同的系统设计了很多东西给Network entity titles,这个NET的地址格式可以有很大的灵活性和扩展性。NET可长可短,包含的信息可多可少,这要视忽你的需要,但是有一点要记住,在一个routing domain里,system ID的长度一点一样!一般来说是6个字节,也一般使用标识的接口的MAC的地址。当然,system ID在一个routing domain一定要是是独一无二的。

  

  ==================

  ISIS Functionla Organization

  ==================

  OSI model 中的network layer是由两小layer组成的,一个是subnetwork independetn sublayer, 下面的半层是subnetwork dependent sublayer,根据名字来看就知道dependent sublayer与下面的date link layer有着莫大的关系,而independent layer则独立的layer。当然,network layer要再细分会分成更复杂,但这时太不细讲了。

  

  subnetwork dependent functions

  它把不同类型的date link的帧规律化,再上交给dependent layer

  下面是它的具体功能:

  -从指定的不同的subnetwork接收或者发送PDUs。

  -在subnetwork交换ISIS的hellp PDUs来发现邻居和建立adjacentcies,

  -维护adjacencies

  -链路信号分离,或者说传送OSI的PDUs的过程和传送IP数据包的过程

  

  OSPF中定义了四种网络类型,而ISIS中只有两个,呵呵,这就太好了,总算看到比OSPF简单的东西了,以前在看OSPF四种拓扑时曾晕倒数次,这下对这里应该快速浏览一下就行了吧。

  ISIS只有两种类型,一种是broadcast subnetwork 和 point to point 或者说是 general topology subnetworks,

  broadcast subnetwork 就算于OSPF的multi-access

  p to p 就是nonbroadcast, subnewwork 可以是 PVC,像T1,又或者用动态来建立,如x.25的SVCs。

  好了,这里拓扑就已经讲完了

  

  ======================

  neighbors and adjacencies

  ======================

  ISIS用交换ISIS hello PDUs发现邻居,10秒发一次,这和OSPF又是一样的 ,改这个参数用 isis hello-interval 命令

  虽然这个hello PDUs在broadcast和p to p 这两种拓扑中略有一点不同,但是本质信息却是相同的,如自已的识别,能力,发heloo的接口参数。如果两个邻居各自能力和接口参数协商好了,那他们就成为adjacent了。

  

  ISIS的L1和L2的邻居是分开来========isis froms separate adjacencies for L1 and L2 neighbors. L1 router from L1 adjacencies with L1 and L1/L2 neighbors, and L2 router from L2 adjacencies with L2 and L1/L2 neighbors. neighboring L1/L2 router from both an L1 adjcacnecy and an L2 adjacency. 一个L1和L2路由器不会adjacent关系

  

  一旦adjacency的关系建立后,hello PDUs就扮演keepalive的角色,呵呵,好熟悉喔

  关于hold time 的概念下面举一个例子,A路由器在hello中还有一个hold time的参数,通知它的邻居B在宣告A路由器完蛋前需要等等下一个hello的时间有多久,如果我没记错的话OSPF好像是4次。这么说他比OSPF收敛要快10秒了。改这个参数用 isis hello-multiplier,呵呵,命令太多,比较难记,不过很多命令都有规律,一般改OSPF的东西前面的命令是 ip ospf,不懂时打个?号就行了,而改ISIS的东西用 isis ? 试试

  

  如果想看ISIS的neighbor表可以用:show clns is-neighbors

  在这个命令中

  system id 和 interface就不说了,state 可以是 init 表明邻居是adjacent,priority参数是选DR时用的(broadcast network)

  circuit ID的意思是这样的,它的第一个字节说的是ISIS接口的唯一标识,如果这个接口是在一个broadcast multiacess network里,那ciscuit ID 将与DR的system ID并置,就是接在一起的意思。和这个全部东西加起来就是大家所知的LAN ID,(又来一个新的ID,faint)或者叫它pseudonde(匿名)ID更好一些,下面兴个例子

  circuit ID是0000.0c76.5b7c.02

  system ID是0000.0c76.5b7c

  pseudonode ID是02

  

  最后一个是adjacency的格式:

  intergrated ISIS的格式永远是phase v

  OSI/DECnet phase V.

  indicating OSI/DECnet phase v. the only other adjacency FORMat is DECnet phase IV.

  

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章