11 帧中继链路与上层协议的交互
2008-08-19 23:15
15页的东西,很长,帧中继链路和OSPF网络类型的交互,很乱,再整理一下吧:都有些什么呢?嗯,有这些:
一、很NA的理论;
二、用Tunnel搭建远距离的链中继二层链路;
三、帧中继与OSPF网络类型的交互,这个最杂了,总结一下吧:
关于帧中继的不支持广播的问题:
1、帧中继是NBMA非广播型多路访问,由于不支持广播,所以在帧中继链路上运行依赖广播的RIP V1,是起不来的,当然,对于依赖组播的RIP V
2、EIGRP和OSPF,也是跑不下来的,实验中可以看到(组播在后面,现在还不怎么有概念)。怎么解决这个问题呢?在MAP映射里面加broadcast参数,将一个数据包复制成几份扔到各个DLCI管道里面去。反向ARP的话是自动加了这个参数的,手动映射的话必须得注意加上这个参数。再说一个吧,rip v2在帧中继链路上默认在主接口是关闭了水平分割的,但子接口开启,而EIGRP是默认开启的。
2、关于OSPF在帧中继链路上的问题:
(1)邻居建立的问题:解决方法:改网络类型、单播建邻居
(2)角色混乱的问题:解决方法:改优先级,spoke端不参与竞选
(3)数据通信的问题:解决方法:做二层PVC和IP地址的映射(不增加PVC)
多播又是怎么发送数据包的?(这个不急,可以学了多播了再说)
OSPF有五种网络类型,在帧中继链路上默认是NBMA,即或是帧中继二层链路加上了广播参数,即二层支持广播,OSPF也认为组播包发不出去而不发HELLO包,所以邻居关系无法建立,协议无法运行。
解决方法1:改OSPF网络类型,让OSPF用组播建立邻居:
改OSPF网络类型为点对多点,这时不管二层链路是全互联还是HUB-AND-SPOKE,角色混乱问题和路由数据包的发送问题都不存在值得注意的是:这个MA域的所有路由上的OSPF链路类型必须一致,否则即使能建立邻居,也不能正常传递路由.还有在HUB-AND-SPOKE二层链路上,各个路由器都会出现所有参与OSPF的路由器接口地址的32位主机路由;看一下二层链路是多点子接口的情况,现在是三个路由器多点子接口全互联,也就是三个路由器都还连着其他网络.将主接口和子接口的反向ARP关掉,或者不关开启LMI本地管理协议,在子接口做MAP映射.结果很正常,三个问题都没有出现(很奇怪,看了一下OSPF的接口,这是默认的NBMA三层网络,为什么在多点子接口下就不存在上述三个问题了呢?).这是三层网络为默认的NBMA的情况, NBMA都没有问题,改成点到多点应该更没有问题吧. 看一下,的确没有这三个问题,不过要注意的是这时会生成MA网络中参与OSPF
的接口地址的32位主机路由.现在看二层是HUB-AND-SPOKE的情况.这又是畸形
网络了,在OSPF默认为NBMA的情况下,会出现两个DR,这时将SPOKE端优先级改为0解决第二个邻居关系建立问题,再做二层MAP映射解决第三个数据包封装问题.再将OSPF默认的NBMA网络改成点到多点,就是和二层链路类型一样啦.在MA 网络中所有路由器相应接口上改,结果没有没有出现数据包封装问题,一切正常.要注意的是每台路由上都会出现其他两个路由在这个MA网络中参与OSPF的接口地址的32位主机路由.最后看点对点全互联的二层链路,这相当于三个路由器连成一个环,最后显示没有出现上述三个OSPF的问题,注意这时OSPF默认的网络类型为点到点.将OSPF网络类型改为点到多点.结果正常,就是多了几条主机路由.再看点对点HUB-AND-SPOKE,这就相当于三个路由器串一起了,没什么好说的,将OSPF改成点到多点无非就是多两条主机路由就是,没有任何问题.
改OSPF网络类型为广播,这时如果帧中继二层链路是主接口全互联,则一切正常,如果是HUB-AND-SPOKE链路,则会出现路由器角色混乱问题,这时应该解决下一个问题将SPOKE端优先级改为0,不让其参与角色竞选,没有意义。接下来还得解决SPOKE端数据包传输的问题,因为这时虽然OSPF邻居建立了,路由条目也计算出来了,但是SPOKE端之间没有二层映射,在二层封装时会失败。解决方法是将对端SPOKE的地址映射到本路由器和HUB端的DLCI上,这样不用全互联节省资金,还解决了数据包的传输问题.再来看一下二层链路为点到多点子接口的情况.如果是点到多点子接口全互联的话不会出现任何问题,但是如果是点到多点HUB-AND-SPOKE链路,则又会出现两个DR,所以哈,又得改两端的优先级,还要做映射.这个就不多说了哈.最后看一下点到点全互联二层链路,默认的是点到点网络类型,改成广播,结果数据包封装正常,角色有点小问题.看点到点非全互联的情形.结果什么样呢?两个DR,但是数据包封装好像没有问题.这个和主接口不一样.
改OSPF网络类型为点对点:这样肯定不行的啦,不管底层是主接口全互联还是HUB-AND-SPOKE.太变态了,真佩服自己,这样的实验也要做.呵呵,显示一会和这个路由器建立邻居,一会和那个路由器建立邻居,反正最后都不行.哈哈,我想路由器快被我整崩溃了哈!再看一下点对多点子接口全互联,改成点对点网络不行,点对多点子接口的HUB-AND-SPOKE,也不行.最后看一下点到点的HUB-AND-SPOKE 二层链路,这个就相关于三个路由器串成一串了.OSPF默认的针对这种点地点的二层帧中继链路都是点对点的网络类型,没有任何问题哈.针对点对点全互联的二层链路,OSPF默认也是点对点的网络类型哈,没有任何问题.这就是OSPF为什么要有这么多网络类型的原因:更好的适应底层网络.
解决方法2:不改OSPF网络类型,用单播建邻居:
如果底层是主接口全互联的话,在所有路由器上将MA网络中其他路由指为Neighbor就可以了哈.如果只在一台路由器上打一条neighbor命令,必须再将另外两个路由的优先级改为0,让他们不参与角色竞选才行.否则,我靠,一个MA网络,两个DR,1认为4是DR,5认为1是DR,路由条目更是混乱.呵呵,变态吧,畸形吧!子接口由于不存在上述三个问题,这个就不看了哈,不想变态了.
如果是HUB-AND-SPOKE链路的话,我看看啊,这个只需要在HUB端打上neighbor 命令,不过也得改优先级,否则也会出现两个DR.还有啊,还得解决第三个数据包