OSPF定义的5种网络类型

OSPF定义的5种网络类型:

  1. 点到点网络(point-to-point),由cisco提出的 网络类型,自动发现邻居,不选举DR/BDR,hello时间10s。
  2. 广播型网络(broadcast),由cisco提出的网络类型,自动发现邻居,选举DR/BDR,hello时间10s。
  3. 非广播型( NBMA)网络 (non-broadcast),由RFC提出的 网络类型,手工配置邻居,选举DR/BDR,hello时间30s。
  4. 点到多点网络 (point-to-multipoint),由RFC提出,自动发现邻居,不选举DR/BDR,hello时间30s。
  5. 点到多点非广播,由cisco提出的 网络类型,手动配置邻居,不选举DR/BDR,hello时间30s。
  6. 1. 点到点网络,比如T1线路,是连接单独的一对 路由器的网络,点到点网络上的有效邻居总是可以形成邻接关系的,在这种网络上,OSPF包的目标地址使用的是 224.0.0.5,这个 组播地址称为 AllSPFRouters.
  7. 1. 广播型网络,比如以太网, Token RingFDDI,这样的网络上会选举一个DR和BDR,DR/BDR的发送的OSPF包的目标地址为224.0.0.5,运载这些OSPF包的帧的目标MAC地址为0100.5E00.0005;而除了DR/BDR以外发送的OSPF包的目标地址为 224.0.0.6,这个地址叫 AllDRouters.
  8. 1. NBMA网络,比如 X.25,Frame Relay,和 ATM,不具备广播的能力,因此邻居要人工来指定,在这样的网络上要选举DR和BDR,OSPF包采用unicast的方式
  9. 1.点到多点网络 是NBMA网络的一个特殊配置,可以看成是点到点链路的集合. 在这样的网络上不选举DR和BDR.
  10. 1.虚链接: OSPF包是以unicast的方式发送
所有的网络也可以归纳成2种 网络类型:
  1. 传输网络(Transit Network)
  2. 末梢网络(Stub Network )

OSPF

在DR和BDR出现之前,每一台 路由器和他的所有邻居成为完全网状的OSPF邻接关系,这样5台路由器之间将需要形成10个邻接关系,同时将产生20条LSA.而且在多址网络中,还存在自己发出的LSA 从邻居的邻居发回来,导致网络上产生很多LSA的拷贝,所以基于这种考虑,产生了DR和BDR.
DR将完成如下工作
  1. 描述这个多址网络和该网络上剩下的其他相关 路由器.
  2. 管理这个多址网络上的flooding过程.
  3. 同时为了 冗余性,还会选取一个BDR,作为双备份之用.
DR BDR选取规则:DR BDR选取是以 接口 状态机的方式触发的.
  1. 路由器的每个多路访问(multi-access)接口都有个路由器优先级(Router Priority),8位长的一个整数,范围是0到255,Cisco路由器默认的优先级是1优先级为0的话将不能选举为DR/BDR.优先级可以通过命令ip ospf priority进行修改.
  2. Hello包里包含了优先级的字段,还包括了可能成为DR/BDR的相关接口的IP地址.
  3. 当接口在多路访问网络上初次启动的时候,它把DR/BDR地址设置为0.0.0.0,同时设置等待计时器(wait timer)的值等于 路由器无效间隔(Router Dead Interval).
DR BDR选取过程:
  1. 路由器X在和邻居建立双向(2-Way)通信之后,检查邻居的Hello包中 Priority,DR和BDR字段,列出所有可以参与DR/BDR选举的邻居(priority不为0).
  2. 如果有一台或多台这样的 路由器宣告自己为BDR(也就是说,在其Hello包中将自己列为BDR,而不是DR),选择其中拥有最高路由器优先级的成为BDR;如果相同,选择拥有最大路由器标识的。如果没有 路由器宣告自己为BDR,选择列表中路由器拥有最高优先级的成为BDR,(同样排除宣告自己为DR的路由器),如果相同,再根据路由器标识。
  3. 按如下计算网络上的DR。如果有一台或多台 路由器宣告自己为DR(也就是说,在其Hello包中将自己列为DR),选择其中拥有最高路由器优先级的成为DR;如果相同,选择拥有最大路由器标识的。如果没有 路由器宣告自己为DR,将新选举出的BDR设定为DR。
  4. 如果路由器X新近成为DR或BDR,或者不再成为DR或BDR,重复步骤2和3,然后结束选举。这样做是为了确保路由器不会同时宣告自己为DR和BDR。
  5. 要注意的是,当网络中已经选举了DR/BDR后,又出现了1台新的优先级更高的 路由器,DR/BDR是不会重新选举的。
  6. DR/BDR选举完成后,DRother只和DR/BDR形成邻接关系.所有的 路由器将组播Hello包到AllSPFRouters地址224.0.0.5以便它们能跟踪其他邻居的信息,即DR将泛洪update packet到224.0.0.5;DRother只组播update packet到AllDRouter地址224.0.0.6, 只有DR/BDR监听这个地址.
简洁的说:DR的筛选过程
  1. 优先级为0的不参与选举;
  2. 优先级高的 路由器为DR;
  3. 优先级相同时,以router ID 大为DR;
router ID 以 回环接口中最大ip为准;若无回环接口,以真实接口最大ip为准。
  1. 缺省条件下,优先级
  2. 邻居关系
邻接关系建立的4个阶段:
  1. 邻居发现阶段。
  2. 双向通信阶段:Hello报文都列出了对方的RID,则BC完成。
  3. 数据库同步阶段:主从协商;DD交换;LSA请求;LSA传播;LSA应答。
  4. 完全邻接阶段: full adjacency。
邻居关系的建立和维持都是靠Hello包完成的,在一般的 网络类型中,Hello包周期性的以 HelloInterval秒发送,有1个例外:在NBMA网络中, 路由器每经过一个PollInterval周期发送Hello包给状态为down的邻居(其他类型的网络是不会把Hello包发送给状态为down的路由器的).Cisco路由器上PollInterval默认60s Hello Packet以组播的方式发送给224.0.0.5,在NBMA类型,点到多点和虚链路类型网络,以 单播发送给邻居路由器。邻居可以通过手工配置或者Inverse-ARP发现。
OSPF 路由器在完全邻接之前,所经过的几个状态:
  1. Down:此状态还没有与其他 路由器交换信息。首先从其ospf接口向外发送hello分组,还并不知道DR(若为广播网络)和任何其他 路由器。发送hello分组使用 组播地址224.0.0.5。
  2. Attempt: 只适于NBMA网络,在NBMA网络中邻居是手动指定的,在该状态下, 路由器将使用 HelloInterval取代PollInterval来发送Hello包。
  3. Init: 表明在DeadInterval里收到了Hello包,但是2-Way通信仍然没有建立起来。
  4. two-way: 双向会话建立,而RID彼此出如今对方的邻居列表中。(若为广播网络:例如:以太网。在这个时候应该选举DR,BDR。)
  5. ExStart: 信息交换初始状态,在这个状态下,本地 路由器和邻居将建立Master/Slave关系,并确定DD Sequence Number,路由器ID大的的成为Master。
  6. Exchange: 信息交换状态,本地 路由器和邻居交换一个或多个DBD分组(也叫DDP),DBD包含有关LSDB中LSA条目的摘要信息。
  7. Loading: 信息加载状态:收到DBD后,将收到的信息同LSDB中的信息进行比较。如果DBD中有更新的链路状态条目,则向对方发送一个LSR,用于请求新的LSA。
  8. Full: 完全邻接状态,邻接间的链路状态数据库同步完成,通过邻居链路状态请求列表为空且邻居状态为Loading判 常见原因
  9. Hello间隔和Dead间隔必须相同才能建立邻接关系。
  10. 区域号码不一致。
  11. 特殊区域(如stub和nssa等)区域类型不匹配。
  12. 认证类型和密码不一致。
  13. 路由器ID相同。
  14. Hello包被ACLdeny。
  15. 链路上的MTU不匹配。
  16. 接口下OSPF网络类型不匹配。

你可能感兴趣的:(网络,token,路由器,hello,以太网)