探讨关于OSPF的network配置

一般什么时候用完整的IP地址,什么时候用网络地址?
OSPF是link state protocol,主要是interface状态(如ip address,mask,Hello time....)这些信息在Routers间建立adjency的过程中会通过LSAs被互换,直到同Area收敛,所有Routers有同样的link state database,然后以自己为根(root)建立SPF tree,最后在根据SPF计算出route table.Area内任何一个interface的变化都会被Update.
我们再看看OSPF执行时的过程:(简单举例)
int s1
ip add 10.1.1.1 255.255.255.0 (10.1.1.1/24)
int s2
ip add 172.2.0.1 255.255.255.0 (172.2.0.1/24)
int s3
ip add 172.3.0.1 255.255.0.0 (172.3.0.1/16)
int s4
ip add 172.4.0.1 255.255.0.0 (172.4.0.1/16)
route ospf 10
network 10.1.1.1 0.0.0.0 area 0
network 172.2.0.0 0.0.255.255 area 0
当进入OSPF 10,OSPF首先执行network 10.1.1.1 0.0.0.0,查找interface address,有匹配s0,分配至Area 0,然后再执行network 172.2.0.0.0.0.255.255 aera 0,匹配s2->Area 0,最后我们在其它Routers上看到的信息是:
172.16.0.0/24 is subnetted, 1 subnets
O 172.16.0.0 [110/128] via 192.168.0.1, 00:00:00, Serialx
10.0.0.0/24 is subnetted, 1 subnets
O 10.1.1.0 [110/74] via 192.168.0.1, 00:00:05, Serialx
在着里可以看到submask是24,忽略了在network中配制的inverse mask,为什么?
我们再看当添加新的network后有什么结果?
route ospf 10
network 10.1.1.1 0.0.0.0 area 0
network 172.2.0.0 0.0.255.255 area 0
network 172.0.0.0 0.255.255.255 area 1
network 0.0.0.0 0.0.0.0 area 2
show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
O IA 172.3.0.0/16 [110/933] via 192.168.0.1, 00:00:05, Serialx
O IA 172.4.0.0/16 [110/933] via 192.168.0.1, 00:00:02, Serialx
172.16.0.0/24 is subnetted, 1 subnets
O 172.16.0.0 [110/128] via 192.168.0.1, 00:00:10, Serialx
10.0.0.0/24 is subnetted, 1 subnets
O 10.1.1.0 [110/74] via 192.168.0.1, 00:00:05, Serialx
这里s3,s4都在Area 1(被标记为IA掩码16)。
总结:实际的网络范围在interface mask中已经说明了,这在所有的Routers的Link state database 被清楚标记,不会因OSPF的network配置而发生改变。而在OSPF的network配置中,inverse mask只是起到指明在本Router的OSPF process 中的网络范围的作用,如network 172.0.0.0 0.255.255.255指定范围从172.0.0.0 ~ 172.255.255.255,在次范围中的所有interface分配至Area 1,最后其他所有的地址被分配到Area 2。
如果在Stub Area 中,没有Loopback interface的情况下,甚至可以简单配制为
router ospf 20
network 0.0.0.0 255.255.255.255 area x
这样就不用单独指定网络范围了。在其它类型中,推荐配置使用interface ip address,0.0.0.0即精确匹配,以防止错误发生。如:
network 10.1.1.1 0.0.0.0 area 0

network 192.168.20.4 0.0.0.0 area 0 中0.0.0.0怎么理解?

首先看下面一个例子:三个路由器互联
R1------R2------R3

R1上的三个接口
s1:192.168.20.6/30
s0:192.168.40.9/30
e0:192.168.30.1/24
!
router ospf 4
network 192.168.20.4 0.0.0.3 area 0
network 192.168.40.8 0.0.0.3 area 0
network 192.168.30.0 0.0.0.255 area 0

A答案:0.0.0.3都是按照255.255.255.252的掩码反过来的,0.0.0.0 是255.255.255.255的反掩码,也就是说只在IP地址为192.168.30.0的接口上运行ospf,但是路由器不一定让你写进去192.168.30.0这个IP地址的,因为0的IP代表一个子网或网段的。

建议你看一看IP地址和子网掩码的原理,以及access-list方面的资料,ospf里面写的反掩码和access-list用的是一样的道理.

在配置OSPF时候,你如果只想在一个接口运行OSPF就network的时候直接跟上这个IP地址和0.0.0.0 就可以了

B答案:ospf宣告网络有两种方式 1是网段+反码+区域 2是接口地址+0.0.0.0+区域
谁能帮解释以下 第二种方法接口地址后为什么跟的是0.0.0.0 小弟不解 望高手指点。
Ospf中Network命令里的0.0.0.0是反掩码,即敏感位,这和ACL中的反掩码是一个道理的!
network 172.16.32.1 0.0.0.0 area 1,就表示全部敏感,即只有172.16.32.1这个ip地址的接口参与Ospf。
如果是:network 172.16.32.1 0.0.0.255 area 1的话,就表示只敏感前三段,即只要是172.16.32.X的ip地址的接口都将参与Ospf,这就可能有好几个接口参与Ospf了。
0.0.0.0是个比较好的习惯,如果一个路由器上的接口的ip地址是不支持汇总的话,并且为了防止非Ospf接口参与Ospf,0.0.0.0是推荐的反掩码,这就限定了只有这个IP地址的接口才能参与Ospf。
这和掩码位是不同的概念,Ospf的Lsa通告中的掩码位是参考接口上的Mask位的。

C答案:反码中:0代表精确匹配,1代表不关注。

反码全为O,那么就代表4个八位位组全部要精确匹配。实际上这个时候就只能有一个地址。那当然是接口地址了。

访问控制列表在使用全0反码时,不是还可以用Host关键字来代替吗。

这样就好理解了。

D答案:这么多人说了 我再说的简单点 0是要完全匹配的 255是无所谓的 拿一楼的例子 net172.16.32.1 0.0.0.0 area 1 指的就是 如果路由 必须要路由此ip地址 其他地址不予以路由 net 172.16.32.1 0.0.0.255 area 1 指的是 路由172.16.32.0这个网段任何在这个网段内的IP地址都予以路由 就是这么回事
0要完全匹配
255指 不必匹配

你可能感兴趣的:(职场,休闲,ospf,network配置)