基础知识
问题:在OSPF中链路类型分为几类,分别有什么作用?
分析及参考答案:
分别有4种:点到点连接另一台路由器(P2P);传输链路(transit);STUB链路;虚链路(virtual-link),其中P2P、transit、virtul-link三种网络结构描述了运行OSPF路由器与邻居之间的结构,而STUB链路则用于描述了结构中所存在的网段。
1. P2P描述了如点到点网络的链路类型,同时配合STUB链路可以完整的描述一条P2P网络类 型的邻居;
2. transit网络结构中描述了广播类型网络结构上的邻居信息,通过LINK-ID描述了广播网络中DR路由器的接口IP地址,通过LINK-DATA描述了和网络相连的始发路由器接口的IP地址。注意此处没有描述transit的网段信息,因为广播型网络中网络信息是通过2LSA由DR进行统一描述的,这一点也同时解释了为什么在广播类型的网络类型中需要保证接口的掩码一致才能形成邻居。
3. stub链路用于描述末梢网络以及配合P2P链路完成网络信息的描述。
4. virtual-link用于描述虚链路上的邻居关系。
扩展:对于环回口华为如何进行描述?友商CISCO如何描述?
1. 华为loopback接口默认为P2P类型,但是由于没有邻居,因而不产生结构类的LSA,只通告时会以STUB类型往外通告网络信息;在别的路由器上学习到的是32位路由。通过修改网络类型为broadcast可以使用其他路由器学习到该环回口的真实掩码路由。
2. 友商CISCO是STUB类型,通过修改网络类型为point-to-point可以使用其他路由器学习到该环回口的真实掩码路由。
OSPF Stub Network vs OSPF Transit Network
Transit and Stub networks 在规范RFC2328 这里有,你可以查看
https://tools.ietf.org/html/rfc2328#page-13
补充一下,这是在rfc2328中的一个表格:
注意:1.什么是transit network, 一般就是指具有多路访问的,比如常见的就是以太网,而且至少有两台路由器连接到这个网段, 但是p2p链路,就算真的连接到一个所谓的transit链路中,也不能算作lsa1的transit network
总而言之:
- Transit Networks 要维护邻居的信息
- Stub Networks 不需要维护邻居的信息
DY种情况 点到点网络
dis ospf routing 的结果:
这里你看到的type 这个字段,指的就是ospf的链路类型,(四种:点到点连接另一台路由器(P2P);传输链路(transit);STUB链路;虚链路(virtual-link))
为什么描述一个点到点链路(point-to-point)的LSA1有两条
比如在这个p2p的ospf网络中,一台路由器的lsa1 是使用了两条lsa1 来描述的
p2p这样的链路中,LSA1中有两条:
1条是用于描述这两台路由器他们的物理连接的链路,比如下面的100.0.0.1的这个链路上,有一个对方的RouterID是2.2.2.2的这一条
1条是用于描述路由器自己本身在什么网段,比如link ID是100.0.0.0 的这个stubnet这一条
当然马上有人又问,为什么狗日的整的这么复杂,为什么在点到点的链路中,LSA1需要两条呢,各位看清楚:
这条信息是不是用于知道对方的RouterID,2.2.2.2 是对方的RouterID的信息,自己的接口还有掩码没有详细的描述了,所以需要下面这条数据库:
这条也是LSA1 ,类型就是 stubnet ,这就是描述自己在什么网段下的信息,所以如果你的路由器在一个point-to-point的链路中,LSA1 是有两条用于描述这个接口信息的
怎么查看路由器的LSA1的数据库信息
dis ospf lsdb router 查看 link type ,可以看到stubnet 类型
总结:这个实验你使用了点到点ospf网络类型,在实验dis ospf lsdb router 你可以看到链路类型有P2P, stubnet
stubnet就是指这个链路不要邻居 ,P2p就是指点到点链路类型
第二种情况 广播型网络
dis ospf routing 查看ospf ,这个时候 100.0.0.0/24 的链路类型是 transit
dis ospf lsdb router 查看 , Transnet 类型就是说有邻居
总结:通过这个实验,广播型网络配置ospf之后,你可以使用dis ospf lsdb router 查看到链路类型有 Transnet , stubNet
Transnet是需要维护邻居的链路类型,StubNet是指不需要邻居的链路类型