一个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
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。
================= 虽然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,
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.
======================== subnetwork independent functions ======================== 这个层定义一个CLNS如何传送数据包贯穿CLNP的网络和这些服务是如何被提交到传输层的。这一共是四个过程,update,decision,forwarding和receive process forwarding 和 receice process 没有什么好说的了,只是转发和接收PDUs而已,没有什么希罕的。
the update process ------------------------ update负责建立最新的L1和L2 link state datebase,L1 LSPs flooded到整个area,L2 LSPs flooded给所有的L2的adjacencies,这个范围在 IS-IS PDU FORMats 里有描述的。 每一个LSP包括一个 remaining lifetime, a sequence number and Checksum. remaining lieftime和OSPF中有所不同的是,LSA是从0开始增加到最大的数,而LSP是从最大的数减少到0,ISIS的最大数为1200,也就是20分钟,这个数字放在link state datebase,这个值会周期性更新,refresh时间是15分种,在lifetime还没有eXPire就Refresh,前后约25%左右的lifetime就reflesh,假如两个时间相差太大,LSP的lifetime到了0,还没有reflesh,那LSP在link state datebase中会保持到60秒,这中做ZeroAgeLifetime.
这段话说当一个router收到的LSP的Checksun是错误的时候,他会更新/清除这条他的datebase中的LSP-通过把这个LSP的Remain Lifetime值设置为0并把这条LSP flooding出去。 这个purge的行为使得产生这个LSP的Router收到这条remain-lifetime 置0的LSP后发出一条新的LSP。 这是ISIS与OSPF Purge的一个区别,在OSPF中只有产生这条LSA的Router才能Purge这个LSA, 而在ISIS中任何收到这个checkSum错误的router都可以Purge 这个错误的LSA by set remain-lifetime=0(这一段是playfair翻译的,在我学ISIS的过程中,得过他很多帮助)
a error-prone subnetwork, 答应接收的路由器开启清洗这个动作会大大增加越LSP traffic,为了克服这种事,加入ignore-lsp-error命令,这样接收的路由器就会忽视这个错误的LSP,而不是take the action of purge。因为LSP中有SNP(Sequence Number)所以接收路由器知道有一个LSP没有收到。
p to p 时,路由器直接传L1和L2 LSPs到邻居,broadcast subnetwork, LSPs使用multiast到所有的邻居,frame 携带的L1 LSPs有一个MAC目标地址0180.c200.0014,叫做All1ISs,L2的是0180.c200.0015,叫做All2ISs.
ISIS使用SNPs来承认和接收LSPs来维护link state datebase的同步。一共有两类SNPs,一个叫partial SNPs(PSNPs), 另一个叫 complete SNP(CSNPs).点对点使用PSNPs来明确(explicitly)承认收到LSPs,这包括下面内容: The LSPs ID The LSP's Sequence Number The LSP's Checksum The LSP's Remaining Lifetime
在p to p subnetwork, 当一个路由器传送一个LSP时,它设置一个周期性的timer叫minimum LSP Transmission intervval. 如要在路由器接收到一个PSNP的承认之前timer expire,一个新的LSP将被送出,CISCO的这个timer缺省值是5秒,更改这个timer用: isis retrnsmit-interval。
ISIS有一项有趣的能力,假如它的内存不足或者不能继续记录完全的link state base,它会发出信号通知别的路由器,这种内存超载的情况也许是因为area答应的网络过大的结果,假如一个路由器不能完成全部的link state datebase,它将设置一个自已的LSP的bit来标示,这就叫做OverLoad(OL)bit The OL bit 告诉路由器可能无法做出正确的路由决定,因为它的datebase还没有完成,而别的路由器仍然传输数据包给这个路由器,但是不使用它来传输数据,除非这个OL的bit被清除掉,因为OL bit令到路由器的hop along不能继续,也就是说被标识为OL的路由器不能做为下一跳,因此这个OL bit经常被人叫做hippiby bit.
全部的路由代价是一个outgoing接口的各个metric的总和,最大可设为1023, this small maximum is frequently pointed out as a limitation of ISIS because it leave little room for metric granularity in largo internetworks. the flip side of this criticism, however, is that limiting the metric to 1023 makes the SPF algorithm more efficient
ISIS不止把路由器分成L1和L2,还分成internal or external。 内部路由的意思是目标在同一个ISIS routing domain内,外部路由的意思就是目标在ISIS routing domain以外,所以L2路由器总可以做internal or external,而L1只能永远做interna.