1. ATT位:ISIS非骨干区域的“指路明灯”
如果你是第一次接触ISIS协议,看到“ATT位”这个词可能会有点懵。别担心,咱们先把它想象成一个“信号灯”。在一个大型的园区网络或者运营商网络里,网络被划分成很多个区域,就像一个大城市被分成不同的行政区。有些区域是核心的“骨干区域”,负责高速转发和互联;更多的则是普通的“非骨干区域”,主要负责接入终端用户。
那么问题来了:一个在“朝阳区”(非骨干区域)的设备,怎么知道去“海淀区”(另一个非骨干区域)或者去“核心商务区”(骨干区域)的路该怎么走呢?它自己手里的地图(Level-1链路状态数据库LSDB)只记录了本区域内的道路信息。这时候,ATT位这个“信号灯”就亮起来了。当非骨干区域里的设备,通过查看链路状态报文(LSP),发现其中有一个LSP的ATT位被置为1,它就立刻明白了:“哦!发这个LSP的家伙(一台Level-1-2路由器),它同时连接着骨干区域,是个‘关口’!”于是,这台非骨干区域的设备就会自动生成一条默认路由,下一跳就指向这个“关口”。所有去往本区域之外的目的地,数据包都会先被送到这个关口,由它来负责接下来的寻路。
所以,ATT位本质上是一个标记位,存在于Level-1-2路由器生成的Level-1 LSP中。它的唯一作用就是向本区域(Level-1区域)内的所有邻居广播:“我连接着骨干区域,想去外面世界的,都来找我!”这个机制精巧地解决了区域间路由的发现问题,避免了在每个非骨干区域路由器上手动配置默认路由的麻烦,实现了自动化和可扩展性。理解ATT位,是理解ISIS区域间路由互通的关键第一步。
2. ATT位置位的核心条件:发现“异域”LSP
上一节我们知道了ATT位是“信号灯”,那这个灯什么时候会亮呢?或者说,一台身兼两职的Level-1-2路由器,凭什么就认定自己“连接着骨干区域”,从而有资格在发给本区域的“小广告”(Level-1 LSP)里点亮这盏灯呢?
这里有一个非常关键且容易误解的点。很多初学者会想当然地认为:“只要我这台Level-1-2路由器,同时建立了Level-1邻居和Level-2邻居,那我就肯定连接着骨干区域了呀。”这个想法很自然,但不完全准确。ISIS协议的设计比这更严谨一些。
让我们回到那个经典的实验拓扑,这也是理解这个问题的绝佳场景。假设有R1, R2, R3三台路由器。R1和R2在区域49.0001内,建立了Level-1邻居关系。R2和R3试图建立Level-2邻居关系。这里请注意,建立Level-2邻居关系时,并不要求双方区域ID相同。这是ISIS和OSPF一个很大的不同:OSPF的骨干区域(Area 0)要求所有路由器区域ID一致,而ISIS的骨干区域是由连续的Level-2(或Level-1-2)路由器构成的逻辑骨干,不强制绑定于某个特定区域ID。
现在,我们来做第一个实验:把R3的区域ID也设置为49.0001。这时,R2和R3区域ID相同,它们成功建立了Level-2邻居。一切看起来都很完美,对吧?但查看R2生成的Level-1 LSP,你会发现,ATT位并没有被置1!非骨干区域内的R1,也就不会生成指向R2的默认路由。为什么?因为从R2的视角看,它在Level-2的“世界”里(Level-2 LSDB中),看到的只有来自R3的LSP,而R3的LSP里宣告的区域ID是49.0001——这和R2自身的区域ID一模一样。
所以,R2会做出如下判断:“我确实有Level-2邻居,但我Level-2邻居所


6965

被折叠的 条评论
为什么被折叠?



