3层ospf路由器设备接线图上配ospf,一直配不上,哪位大神知道哪里出了问题。!!!

H3C 3层交换机 vlan ospf配置_百度知道
H3C 3层交换机 vlan ospf配置
我们这有两台交换机,每台都配置了很多vlan 如何通过 ospf 实现 两台交换机vlan之间的互通。端口还需如何配置
我有更好的答案
两台交换机新建互联vlan,两台交换机互联vlan配置同一网段地址;将两台交换机互联,互联端口使用access模式,加入互联vlan;两台交换机分别配置ospf路由,宣告自身所连网段;好吧,可以了…
为您推荐:
其他类似问题
3层交换机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
CCNA,CCNP配置OSPF学习笔记总结.doc 382页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
第一章:网际互联
什么是互联网络:当用路由器将两个或多个LAN或WAN连接起来,并用协议(如IP)配置逻辑网络寻址方案时,就创建了一个互联网络。
网络分段:将一个大的网络划分为一些小的网络。可使用路由器、交换机、和网桥来实现网络分段。
广播域:所谓广播域是指网段上所有设备的集合,也就是广播帧传输的范围,一般是由路由来设定边界(因为路由不转发广播)。
在网络中使用路由器的好处
A:默认时路由器不会转发广播
B:路由器可以根据第3层(网络层)信息(比如IP地址)对网络进行过滤
一、 为什么需要IP 地址?
IP 地址唯一区分和标识资源所属的主机,
IP 地址由网络号和主机号组成
网关地址:实现不同网段的主机通信,也就是网关用于解决主机和外网的通信
二、 IP 地址的分配原则
2. 按块划分
3. 可扩展性
5. 业务对应性
三、 IP 地址的分类
一般分成五类:
私有地址:
可用地址:能够在设备上和主机上配置的地址
不可用地址:主机位全0 的表示网络本身;主机位全1 表示该网络内的所有主机
路由器的四种功能
数据包转发
数据包过滤
网络之间的通信
网桥、交换机、路由器的比较
Bridge Switch Router
通常工作层 数据链路层 数据链路层 网络层
分离广播域 否 否 是
分离冲突域 是 是 是
端口数 少 多 少
国际标准化组织ISO)的开放系统互联OSI)模型
应用层):应用程序与网络的接口解决通信的可用性问题,是实际应用程序之间的接口。
应用层的常见协议,,HTTP 、FTP 、TFTP、 TELNET、 SNMP 、POP3、 SMTP 、DNS 、DHCP
表示层):为应用层提供数据,并负责数据转换和代码的格式化。如数据压缩、加密解密、多媒体操作等。
会话层) :负责建立、管理和终止表示层实体之间的会话连接。提供3种不同的方式来组织它们之间的通信,单工、半双工和全双工。使不同应用程序的数据与其他应用程序的数据保持隔离。
---上三层定义了终端系统中的应用程序将如何彼此通信---
--下四层定义了怎样进行端到端的数据传输---
传输层) :作用:为应用层提供端到端的传输服务,将数据分段并重组为数据流。在互联网络的发送方主机和目的主机之间建立逻辑连接。
提供的功能有:流量控制、可靠的(面向连接的、窗口机制、确认)或不可靠的通信。
常见协议:TCP UDP
工作原理:
TCP:面向连接的、可靠的、有序的、流量控制的
Tcp 的数据结构:
Tcp 的协议包叫段:segment
Tcp 的端口号:源端口号由发送方的系统进程随机产生大于等于1024 的一个端口号,目标端口一般都为知名端口号。
常见协议的端口号:
FTP:20、21
Telnet:23
TACACS:49
DHCP:67、68
NETBIOS:137、138、139
HTTPS:443
工作原理:UDP: 无连接的,不可靠的,无序的,无流量控制的
UDP 的数据结构: TCP 只支持目标IP 是单播的上层应用
UDP 支持目标IP 是单播和多播以及广播的上层应用
端口号分为:
1.熟知端口号:0‐1023 由IANA 指派和控制
2.注册端口号: IANA 不指派也不控制,可在IANA 注册,防止出现重复。
3.动态端口: 不用指派、注册,可由任何进程来使用,是短暂端口。
网络层) :作用:提供主机的传输服务,通过IP 地址标识不同主机,负责设备寻址,跟踪网络中设备的位置,并决定传送数据的最佳路径,这意味着网络层必须在位于不同地区的互联设备之间传送数据流。
在网络层有两种类型的包:数据包(被动路由协议如IP和IPv6等)、路由更新包(主动路由协议如RIP、RIPv2、EIGRP和OSPF等)。
版本:目前基本取值4,因为Ipv6 有自己的报文结构
首部长度:4bit,取值0~15,一个单位代表4 个字节,首部最大60 字节
服务类型:8bit,前三个比特表示优先级,
总长:16bit,表示数据包最大长度65535 字节,
标识:16bit,为了使分段后的各个数据包能够准确重组,
标志:3bit,第一个比特保留,第二个比特表示Don’t Fragment ,第三个比特表示More Fragment,
偏移量:13bit,用在分片中,
TTL:8bit,防止IP 包循环。每经过一个路由器TTL 减一, 协议:8bit,标识传输层的协议;TCP 为6;UD
正在加载中,请稍后...三层交换机怎么配ospf_百度知道
三层交换机怎么配ospf
帮忙把两个三层交换机之间配置ospf的过程写下来
我有更好的答案
R1路由器的配置:帧中继静态映射、 NSSA网络类型及NSSA边界路由器的配置、 NSSA网络中的DR路由器和邻居路由器的配置、 区域网络的发布、 环回接口的配置、(config)#interface Loopback0(config-if)#ip address 10.1.1.1 255.255.255.0(config-if)# no shut(config)#interface Loopback1(config-if)#ip address 10.1.2.1 255.255.255.0(config-if)# no shut(config)#interface Loopback2(config-if)#ip address 10.1.3.1 255.255.255.0(config-if)# no shut //配置环回接口地址。interface FastEthernet0(config-if)#ip address 10.10.1.1 255.255.255.0(config-if)#no shut //配置 fast e0接口ip地址(config)#interface FastEthernet1(config-if)#ip address 172.16.4.1 255.255.255.0(config-if)#no shut //配置 fast e1接口ip地址(config-if)#ip ospf priority 10 //接口的优先级为10,把R8路由器接口的配为0,这样R1将为区域4中的DR(config)#inteface s0(config-if)ip address 172.16.1.1 255.255.255.0(config-if)#no shut //配置 s0 ip地址(config-if)#encapsulation frame-relay ietf //so接口封装成帧中继,且类型为ietf(config-if)#no frame-relay inverse-arp //取消动态反向ARP(config-if)#frame-relay map ip 172.16.1.2 100 broadcast //定义静态的帧中继,即静态的映射本地和远端的DLCI。对端IP为 172.16.1.2(R3的S0接口地址) ,dlci为 100。路由器之间是否广播与否与此处的broadcast无关。此处只是配置是否有广播或组播功能。就算有广播功能,邻居路由器之间不广播还是没用。(config-if)#frame-relay map ip 172.16.1.3 101 broadcast //定义静态的帧中继,对端IP为 172.16.1.3(R4的S0接口地址) ,dlci为 101(config-if)#ip ospf network non-broadcast //定义网络类型为NBMA,非广播。(config-if)#ip ospf priority 10 //接口的优先级为10,把R3和R4的接口定义为0,这样R1成为区域1的DR。(config)#router ospf 1(config-router)#network 10.1.1.0 0.0.0.255 area 0 //发布环回接口10.1.1.0参与ospf进程,且属于区域0(config-router)#network 10.1.2.0 0.0.0.255 area 0 //发布环回接口10.1.2.0参与ospf进程,且属于区域0(config-router)#network 10.1.3.0 0.0.0.255 area 0 //发布环回接口10.1.3.0参与ospf进程,且属于区域0(config-router)#network 10.10.1.0 0.0.0.255 area 0 //发布接口E0接口10.10.1.0属于区域0(config-router)#network 172.16.4.0 0.0.0.255 area 4 //发布接口E1 172.16.4.0属于区域4(config-router)#area 1 nssa //区域1属于 nssa区域(config-router)#area 1 nssa defaultinformation-originate //产生并传播默认路由到 nssa区域1中。只有边界路由器做此配置。所以只有R1路由器配置此命令,R1是边界路由器(config-router)#area 1 nssa no-summary //不把汇总路由传进NSSA区域(config-router)#neighbor 172.16.1.3 priority 0 //设定邻居路由器。因为区域1网络设定为NBMA网络,为no-broadcast。不广播消息,所以需要手工配置邻居。且把对方设优先级设为0.(config-router)#neighbor 172.16.1.2 priority 0 //手工设定邻居路由器。只有 point-to-point型NBMA网络和 点到多点型NAMA网络才不需要neighbor命令手工设定邻居。且把对方设优先级设为0.(config-router)#area 4 virtual-link 10.8.1.1 authentication authentication-key cisco //定义虚拟链路,把区域5经过中转区域4,再与区域0相连。并且认证文本为cisco(config-router)#area 0 rang 10.1.0.0 255.255.0.0 //把区域0里的环回接口IP地址汇总 R2路由器的配置:(config)#interface Loopback0(config-if)ip address 10.2.1.1 255.255.255.0 //定义环回接口地址(config-if)# no shutinterface FastEthernet0(config-if)#ip address 10.10.1.2 255.255.255.0(config-if)#no shut(config)#inteface s0(config-if)#encapsulation frame-relay ietf //so接口封装成帧中继,且类型为ietf(config-if)#ip ospf network point-to-point //指定网络为NBMA的点到点网络类型。(config-if)#interface s0.11 point-to-point //定义子接口 s0.11,且为点到点类型。还有一种为点到多点(config-subif)#ip adderss 172.16.2.1 255.255.255.0 //定义子接口的IP地址,多个子接口要属于不同子网(config-subif)#encapsulation frame-relay ietf //子接口封装为帧中继(config-subif)#frame-relay interface-dlci 100 //动态的映射本地DLCI和远端DLCI,此处的100为本地DLCI值。(config-if)#interface s0.12 point-to-point //定义子接口 s0.11,且为点到点类型(config-subif)#ip adderss 172.16.3.1 255.255.255.0 //定义子接口的IP地址(config-subif)#encapsulation frame-relay ietf //子接口封装为帧中继(config-subif)#frame-relay interface-dlci 101 //动态的映射本地DLCI和远端DLCI,此处的101为本地DLCI值(config)#router ospf 1(config-router)#network 172.16.2.0 0.0.0.255 area 2(config-router)#network 10.2.1.0 0.0.0.255 area 0(config-router)#network 10.10.1.0 0.0.0.255 area 0 //发布所属接口参与哪个区域的OSPF进程(config-router)#area 2 stub no-summary //把区域2配置成绝对末节区域。只有在绝对末节域的边界路由器上才需要加上 no-summary关键字。不把汇总传到完本末节区域内//因为NBMA网络的点到点类型不需要选举DR路由器,所以不需要指定优先级(config-router)#summary(config-router)#redistribute eigrp 100 metric 100 subnets //把EIGRP中的路由重分发到OSPF中,且METRIC值为100。且分发子网(config-router)#default-information originate always //把EIGRP的默认路由通告给OSPF网络中。(config)#router eigrp 100 //配置eigrp进程(config-router)#network 172.18.1.0 255.255.255.0 //发布参与EIGRP进程的网络(config-router)#no auto-summary //不进行自动汇总(config-router)#redistribute ospf 1 metric 5 1 1500 subnets //把OSPF 1中的路由分发到EIGRP中去。R3路由器的配置:(config)#interface Loopback0(config-if)#ip address 10.3.1.1 255.255.255.0(config-if)# no shut //配置环回接口地址。interface FastEthernet0(config-if)#ip address 10.10.1.1 255.255.255.0(config-if)#no shut //配置 fast e0接口ip地址(config)#inteface s0(config-if)ip address 172.16.1.2 255.255.255.0(config-if)#no shut //配置 s0 ip地址(config-if)#encapsulation frame-relay ietf //so接口封装成帧中继,且类型为ietf(config-if)#no frame-relay inverse-arp //取消动态反向ARP(config-if)#frame-relay map ip 172.16.1.1 99 broadcast //定义静态的帧中继,即静态的映射本地和远端的DLCI。这里的远端为R1的S0接口IP和dlci号(config-if)#ip ospf network non-broadcast //定义网络类型为NBMA,非广播。(config-if)#ip ospf priority 0 //接口的优先级为0(config)#router ospf 1(config-router)#network 172.16.1.0 area 1(config-router)#network 10.3.1.0 area 1 //环回接口也为区域1(config-router)#area 1 nssa //区域1属于 nssa区域R4路由器的配置:(config)#interface Loopback0(config-if)#ip address 10.4.1.1 255.255.255.0(config-if)# no shut //配置环回接口地址。(config)#inteface s0(config-if)ip address 172.16.1.3 255.255.255.0(config-if)#no shut //配置 s0 ip地址(config-if)#encapsulation frame-relay ietf //so接口封装成帧中继,且类型为ietf(config-if)#no frame-relay inverse-arp //取消动态反向ARP(config-if)#frame-relay map ip 172.16.1.1 99 broadcast //定义静态的帧中继,即静态的映射本地和远端的DLCI。这里的远端DLCI为R1的S0接口IP。(config-if)#ip ospf network non-broadcast //定义网络类型为NBMA,非广播。(config-if)#ip ospf priority 0 //接口的优先级为0config)#inteface s1(config-if)ip address 172.17.1.1 255.255.255.0(config-if)#no shut //配置 s1 ip地址(config)#router rip(config-router)#version 2(config-router)#network 172.17.1.0 255.255.255.0 //参与RIP路由进程的RIP(config-router)#no auto-summary //不自动进行汇总(config)#router ospf 1(config-router)#network 172.16.1.0 area 1(config-router)#network 10.4.1.0 area 1 //环回接口也为区域1(config-router)#area 1 nssa //区域1属于 nssa区域(config-router)#redistribute rip metric 100 metric-type 1 subnets //把rip路由选择AS中的路由重分发到OSPF中,且到OSPF中的外部路由类型为 1,且同时分发子网。(config-router)#summary-address 172.17.0.0 255.255.0.0 //汇总外部路由,即把从OSPF自治系统外部分发进来的路由进行汇总。这里假设了R7路由器连接了172.17.2.0和172.17.3.0的网络。(config-router)#default-information originate always [metric 50] //把默认路由通告给OSPF区域。即把到达RIP网络的默认路由通告给OSPF区域,不是把OSPF网络的默认路由通告给RIP。在NSSA区域的边界路由器上是把默认路由通告给常规区域。//当有多条路由通告到OSPF区域时,后面加上度量值,以选择最优的默认路由。//(config-router)#neighbor 172.16.3.1//这条在这里不用设定设定。因为已经在R2路由器的S0把NBMA网络定义为点到点类型了。如果只在环回接口上定义了类型为点到点类型的NBMA网,则此处需定义邻居,否则不会和R1成为邻居。R5路由器的配置:(config)#interface Loopback0(config-if)#ip address 10.5.1.1 255.255.255.0(config-if)# no shut //配置环回接口地址。(config)#inteface s0(config-if)ip address 172.16.2.1 255.255.255.0(config-if)#no shut //配置 s0 ip地址(config-if)#encapsulation frame-relay ietf //so接口封装成帧中继,且类型为ietf(config-subif)#frame-relay interface-dlci 101 //动态的映射本地DLCI和远端DLCI,此处的101为本地DLCI值(config-if)#ip ospf network point-to-point //定义网络类型为点对点(config)#router ospf 1(config-router)#network 172.16.2.0 area 2(config-router)#network 10.5.1.0 area 2 //环回接口也为区域2(config-router)#area 2 stub //把区域2配置成绝对末节区域。只有在绝对末节域的边界路由器上才需要加上 no-summary关键字。不把汇总传到完本末节区域内//因为NBMA网络的点到点类型不需要选举DR路由器,所以不需要指定优先级R6路由器的配置:(config)#interface Loopback0(config-if)#ip address 10.6.1.1 255.255.255.0(config-if)# no shut //配置环回接口地址。(config)#inteface s0(config-if)ip address 172.16.3.1 255.255.255.0(config-if)#no shut //配置 s0 ip地址(config-if)#encapsulation frame-relay ietf //so接口封装成帧中继,且类型为ietf(config-subif)#frame-relay interface-dlci 102 //动态的映射本地DLCI和远端DLCI,此处的101为本地DLCI值(config-if)#ip ospf network point-to-point //定义网络类型为点对点(config)#router ospf 1(config-router)#network 172.16.2.0 area 2(config-router)#network 10.6.1.0 area 2 //环回接口也为区域2(config-router)#area 2 stub //把区域2配置成绝对末节区域。只有在绝对末节域的边界路由器上才需要加上 no-summary关键字。不把汇总传到完本末节区域内//因为NBMA网络的点到点类型不需要选举DR路由器,所以不需要指定优先级R7的配置:(config)#interface Loopback0(config-if)#ip address 10.7.1.1 255.255.255.0(config-if)#no shut(config)#inteface s0(config-if)ip address 172.17.1.2 255.255.255.0(config-if)#no shut //配置 s0 ip地址interface FastEthernet0(config-if)#ip address 192.168.8.1 255.255.255.0(config-if)#no shut //配置 fast e0接口ip地址config)#router rip(config-router)#version 2(config-router)#network 172.17.1.0 255.255.255.0 //参与RIP路由进程的RIP(config-router)#network 10.7.1.0 255.255.255.0 //环回接口网段(config-router)#network 172.17.2.0 255.255.255.0(config-router)#network 172.17.3.0 255.255.255.0(config-router)#no auto-summary //不自动进行汇总R8的配置(config)#interface Loopback0(config-if)#ip address 10.8.1.1 255.255.255.0(config-if)# no shut //配置环回接口地址。interface FastEthernet0(config-if)#ip address 172.16.4.2 255.255.255.0 //配置 fast e0接口ip地址(config-if)#no shut(config-if)#ip ospf priority 0 //定义此接口在172.16.4.0网段的优先级,优先级为0,所以不能成为DR(config)#inteface s0(config-if)ip address 172.16.5.1 255.255.255.0(config-if)#no shut //配置 s0 ip地址(config-if)#encapsulation frame-relay ietf //so接口封装成帧中继,且类型为ietf(config-if)#no frame-relay inverse-arp //取消动态反向ARP(config-if)#frame-relay map ip 172.16.5.2 100 broadcast //定义静态的帧中继,即静态的映射本地和远端的DLCI。(config-if)#ip ospf network point-to-point //定义网络类型为点到点类型的NBMA (config)#router ospf 1(config-router)#network 172.16.4.0 area 4(config-router)#network 10.8.1.0 area 4(config-router)#network 172.16.5.0 area 5(config-router)#area 5 stub(config-router)#area 4 virtual-link 10.1.1.1 authentication authentication-key cisco //此处的10.1.1.1为路由器R1的ROUTER ID。虚拟链路对端路由器和ROUTER ID,而不是对端路由器的接口IP。 区域4指的是中转区域号R9的配置:(config)#interface Loopback0(config-if)#ip address 10.9.1.1 255.255.255.0(config-if)#no shut(config)#inteface s0(config-if)ip address 172.18.1.2 255.255.255.0(config-if)#no shut //配置 s0 ip地址interface FastEthernet0(config-if)#ip address 192.168.1.1 255.255.255.0(config-if)#no shut //配置 fast e0接口ip地址。因为要接多个网段,就需要在此接口上接三层交换机,在此接口上配置子接口。在此不作解释。(config)#router eigrp 100 //配置eigrp进程(config-router)#network 172.18.1.0 255.255.255.0 //发布参与EIGRP进程的网络(config-router)#network 192.168.1.0 255.255.255.0(config-router)#network 192.168.2.0 255.255.255.0(config-router)#no auto-summary //不进行自动汇总
采纳率:83%
每个3层交换机分别起2个svi口 配上IP ,...254每个三层交换机配置与所连接的2层交换机对应vlan3层交换机之间的线应为3层线,,因此每条线两端的接口为3层口 应配置ip地址 且不再同一网段下联2层交换机的接口应配置为TRUNK模式启用交换机的路由功能,配置OSPF宣告参与到OS进程的接口对应的网络最后:设置PC地址,互PINGPC&ping 192.168.40.1 Pinging 192.168.40.1 with 32 bytes of data:Reply from 192.168.40.1: bytes=32 time=156ms TTL=126Reply from 192.168.40.1: bytes=32 time=156ms TTL=126Reply from 192.168.40.1: bytes=32 time=156ms TTL=126Reply from 192.168.40.1: bytes=32 time=156ms TTL=126
本回答被提问者采纳
每个3层交换机分别起2个svi口 配上IP ,...254每个三层交换机配置与所连接的2层交换机对应vlan3层交换机之间的线应为3层线,,因此每条线两端的接口为3层口 应配置ip地址 且不再同一网段下联2层交换机的接口应配置为TRUNK模式启用交换机的路由功能,配置OSPF宣告参与到OS进程的接口对应的网络最后:设置PC地址,互PINGPC&ping 192.168.40.1 Pinging 192.168.40.1 with 32 bytes of data:Reply from 192.168.40.1: bytes=32 time=156ms TTL=126Reply from 192.168.40.1: bytes=32 time=156ms TTL=126Reply from 192.168.40.1: bytes=32 time=156ms TTL=126Reply from 192.168.40.1: bytes=32 time=156ms TTL=126
这样配置没有意义啊 因为3层交换机本身的VLAN是互通的 你现在直接配置OSPF不起作用
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
三层交换机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。OSPF&详解&(3)
路由协议选择OSPV vs.
EIGRP&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& 路由协议规划选择原则
& OSPF vs. EIGRP路由协议特性比较
OSPFv3协议详解&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& 与Version2的差别
& 实现细节
OSPF MTR                                          &朱皓
& OSPF MTR
& MTR与相关技术的比较
我司OSPF链路状态数据库分析&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& OSPF概述
& OSPF路由计算过程
& 路由计算例析
关于OSPF不同区域负载分担的问题&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&陈志刚
& 问题的提出
& 问题的分析
& 问题的解决
& 解决办法的分析
& 思考过程的补充
路由协议选择 OSPF vs.
路由协议规划选择原则
在互联网飞速发展的今天,TCP/IP协议已经成为数据网络互联的主流协议.各种网络上运行的大大小小各种型号路由器,承担着控制本世纪或许最重要信息的流量,而这成百上千台路由器间的协同工作,离不开路由协议.因此在大型网络的规划构建中,选择适当的路由协议是非常重要的.目前常用的单播路由协议有多种,如RIP,OSPF,IS-IS,BGP,以及Cisco私有的IGRP/EIGRP协议等.不同的路由协议有各自的特点,分别适用于不同的条件之下.
互连是网络构建最基础和最本质的要求,选择适当的路由协议需要以此为目标,并综合考虑以下因素:
路由选择协议的开放性
开放性的路由协议保证了不同厂商都能对本路由协议进行支持,这不仅保证了目前网络的互通性,而且保证了将来网络发展的扩充能力和用户构建网络时的设备选择空间,这点在很多情况下是需要重点考虑的
网络的拓扑结构
网络拓扑结构直接影响协议的选择.例如RIP这样比较简单的路由协议不支持分层次的路由信息计算,对复杂网络的适应能力较弱.对于比较复杂的网络,需要使用处理能力更强的协议,如OSPF,EIGRP等.
网络结点数量
不同的协议对于网络规模的支持能力有所不同,需要按需求适当选择,有时还需要采用一些特殊技术解决适应网络规模方面的扩展性问题.农发展银行全国网络节点较多,路由信息也非常多,而且网络状况会千变万化,将导致路由刷新相对频繁,所以对路由协议的性能提出很高的要求.如能支持的节点数,路由选径是否最佳,路由算法必须具有鲁棒性,快速收敛性,灵活性等.
网络间的互通及关联要求
通过划分成相对独立管理的网络区域,可以减少网络间的相关性,有利于网络的管理和扩展.可通过划分区域等形式,路由协议要能支持减少网络间的相关性.必要时还要考虑路由信息安全因素和对路由交换的限制策略管理.
管理和安全上的要求
通常要求在可以满足功能需求的情况下尽可能简化管理.但有时为了实现比较完善的管理功能或为了满足安全的需要,例如对路由的传播和选用提出一些人为的要求,就需要路由协议对策略的支持.
根据以上原则,现在各种大型网络构建中,为节省投资,保证网络的持续扩展性,都在使用开放,标准而又健壮的协议.如整个金融系统网络都在由IBM专有的SNA体系向开放标准的TCP/IP体系过渡,由于竞争的作用,这将会大大降低银行网络的构建及维护费用;又如建行网络在改造构建中,全网使用开放标准的OSPF+BGP路由协议,将使得网络在以后的扩展中具有更多的选择空间,不会受到使用某一封装标准而带来的扩展限制.
OSPF vs. EIGRP路由协议特性比较
OSPF和EIGRP都是近年来出现的比较好的动态路由协议,OSPF以协议标准化强,支持厂家多,受到广泛应用,IETF推荐使用的内部网关路由协议(IGP);而EIGRP协议由厂商Cisco公司发明,并靠其在业界的影响力和市场份额,也受到部分用户的认同.然而这两种协议究竟哪种更好,谁更适合网络未来发展的需要?这部分就用户普遍关心的问题,我们从技术角度客观分析这两种协议各自的优缺点,以便网络集成商和企业用户在网络设计规划时能作为参考.
OSPF协议简介
& OSPF是Open Shortest Path
First(即"开放最短路由优先协议")的缩写.它是IETF组织开发的一个基于状态算法应用在自治系统内部的路由协议.在IP网络上,它通过收集和传递自治系统内部设备的状态信息来动态地发现并传播路由.
每一台运行OSPF协议的路由器总是将本地网络的连接状态,(如可用接口信息,可达邻居信息等)用LSA(链路状态
广播)描述,并扩散到整个自治系统中去.这样,每台路由器都收到了自治系统中所有路由器生成的LSA,这些LSA的集合组成了LSDB(链路状态数据库).由于每一条LSA是对一台路由器周边网络拓扑的描述,则整个LSDB就是对该自治系统网络拓扑的真实反映.
根据LSDB,各路由器运行SPF(最短路径优先)算法.构建一棵以自己为根的最短路径树,这棵树给出了到自治系统中各节点的路由.在图论中,"树"是一种无环路连接图.所以OSPF计算出的路由也是一种无环路的路由.
OSPF协议为了减少自身的开销,提出了以下概念:
DR(Designated Router)
在各类可以多址访问的网络中,如果存在两台或两台以上的路由器,该网络上要选举出一个"指定路由器"(DR)."
指定路由器"负责与本网段内所有路由器进行LSDB的同步.这样,两台非DR路由器之间就不再进行LSDB的同步.大大节省了同一网段内由于协议报文造成的带宽开销.
区域(Area)
OSPF可以根据自治系统的拓扑结构和层次管理需求划分成不同的区域(Area),这样区域边界路由器(ABR)向其它区域发送路由信息时,以网段为单位生成摘要LSA.这样可以减少自治系统中的LSA的数量,以及路由计算的复杂度.
OSPF使用4类不同的路由,按优先来说分别是:区域内路由,区域间路由,第一类外部路由,第二类外部路由
区域内和区域间路由描述的是自治系统内部的网络结构,而外部路由则描述了应该如何选择到自治系统以外目的地的路由.一般来说,第一类外部路由对应于OSPF从其它内部路由协议所引入的信息,这些路由的花费和OSPF自身路由的花费具有可比性;第二类外部路由对应于OSPF从外部路由协议所引入的信息,它们的花费远大于OSPF自身的路由花费,因而在计算时,将只考虑外部的花费.
OSPF协议特点
&总的来说,由于OSPF发展成熟,厂商支持广泛,已经成为世界上使用最广泛的IGP,尤其在企业级网络,也是IETF推荐的唯一的IGP.其他路由协议所能适应的网络和具备的主要优点,OSPF都能适应.
1.OSPF是真正的loop-free(无路由自环)路由协议:源自其采用算法本身(链路状态及最短路径树算法)的优点;
2.OSPF收敛速度快:能够在最短的时间内将路由变化传递到整个自治系统并完成路由重新计算;
& 3.支持等价路由负载分担,能更有效地利用链路资源;
4.提出区域(Area)划分的概念,将自治系统划分为不同区域后,通过区域之间的对路由信息的摘要,大大减少了整个自治系统所需传递的路由信息数量,减轻了对路由器的性能需求和管理难度,也使得路由信息不会随网络规模的扩大而急剧膨胀;
& 5.协议设计精巧,将协议自身的报文开销控制到最小.主要采用的技术如下:
&&&&用于发现和维护邻居关系的是定期发送的是不含路由信息的Hello报文,非常短小.包含路由信息的报文时是触发更新的机制(有路由变化时才会发送).但为了增强协议的健壮性,每1800秒全部更新一次.
在广播网络中,使用组播地址(而非广播)发送报文,减少对其它不运行OSPF的网络设备的干扰.
在各类可以多址访问的网络中(广播,NBMA),通过选举DR,使同网段的路由器之间的路由交换(同步)次数由0
(N*N)次减少为0(N)次.
提出STUB区域的概念,使得STUB区域内不再传播引入的AS外部路由,并可以控制其它LSA的传入.
在ABR(区域边界路由器)上支持路由聚合,进一步减少区域间的路由信息传递.
在点到点接口类型中,通过配置按需拨号属性(OSPF over On Demand
Circuits),使得OSPF不再定时发送hello报文及定期更新路由信息,保证低速链路上能节约网络带宽的消耗.只在网络拓扑真正变化时才发送更新信息.
& 6.通过严格划分路由的级别(共分四级),提供更可信的路由选择.
7.良好的安全性,OSPF支持基于接口的明文及MD5协议报文验证,可以很好地防止恶意攻击和错误配置
& 8.OSPF适应各种规模的网络,经过适当的规划可以支持多达数千台.
9.具备链路状态路由协议能感知全局网络拓扑相关信息的特点,可以扩展支持流量工程,最大程度地提高骨干网络资源的使用效率.
EIGRP协议简介
EIGRP和早期的IGRP协议都是由Cisco发明,是基于距离向量算法的动态路由协议.
& EIGRP(Enhanced Interior Gateway Routing
Protocol)是增强版的IGRP协议.它属于动态内部网关路由协议,仍然使用矢量-距离算法,但它也具有一些链路状态路由协议的特点,因此有些文献也称其为"混合型算法路由协议".但它的实现比IGRP已经有本质上的改进,其收敛特性和操作效率比IGRP有显著的提高.
& EIGRP的收敛特性是基于DUAL(Distributed Update
Algorithm)算法的.DUAL算法的特性使得路径在路由计算中根本不可能形成环路.它的收敛速度可以与已存在的其它任何路由协议相匹敌.
EIGRP协议特点
EIGRP协议主要具有如下特点:
精确的路由开销计算和多网络协议的支持
EIGRP协议继承了IGRP协议的最大的优点:混合矢量路由权.EIGRP协议在路由计算中要对网络带宽,网络时延,信道占用率,信道可信度等因素作全面的综合考虑,所以EIGRP的路由计算更为准确,更能反映网络的实际情况.同时EIGRP协议支持多种网络协议,如IPX,CLNP.
较少的带宽占用
使用EIGRP协议的路由器之间周期性的发送很小的Hello报文,以此来保证从前发送报文的有效性及邻居的可达性.路由更新的发送使用增量发送方法,即每次只发送发生变化的路由.发送的路由更新报文采用可靠传输,没有收到确认信息则重新发送,直至确认.EIGRP还可以对发送的EIGRP报文进行控制,减少EIGRP报文对接口带宽的占用率,从而避免连续大量发送路由报文而影响正常数据业务的事情发生.
无环路由和较快的收敛速度
路由计算的无环路和路由的收敛速度是路由计算的重要指标.EIGRP协议由于使用了DUAL算法,使得EIGRP协议在路由计算中不可能有环路路由产生,同时路由计算的收敛时间也有很好的保证.因为,DUAL算法使得EIGRP在路由计算时,只会对发生变化的路由进行重新计算;对一条路由,也只有此路由影响的路由器才会介入路由的重新计算.
协议安全支持协议报文MD5认证
为确保路由获得的正确性,运行EIGRP协议进程的路由器之间可以配置MD5认证,对不符合认证的报文丢弃不理,从而确保路由获得的安全.
任意掩码长度的路由聚合
EIGRP协议可以通过配置,对相关的EIGRP路由进行任意掩码长度的路由聚合,从而减少路由信息传输,节省带宽.
支持等价和非等价路由负载分担
EIGRP一大特点就是不但可以支持等价路由负载分担,而且可以支持非等价路由负载分担,在几条不同开销的链路上按比例发送流量,能更有效地利用链路资源,这点是OSPF所做不到的.
& 但由于支持非等价路由负载分担对路由器造成一定的压力,并且可能会有路由环路,因此即使是Cisco公司,也不推荐使用此特性.
协议配置简单
使用EIGRP协议组建网络,路由器配置非常简单,它没有复杂的区域设置,也无需针对不同网络接口类型实施不同的配置方法.使用EIGRP协议只需在路由器上启动EIGRP路由进程,然后再使用network命令使能网络范围内的接口即可.
OSPF和EIGRP的比较
OSPF和EIGRP都是收敛速度较快并且不会形成环路的算法,网络带宽占用较小,使用灵活,安全性较好的路由协议.但是从以上分析可以看出,各自还是有优缺点.
OSPF的缺点
配置相对复杂:由于网络区域划分和网络属性的复杂性,需要网络分析员有较高的网络知识水平才能配置和管理OSPF网络,但由于OSPF使用的广泛性,绝大部分管理员都熟悉OSPF,问题并不大.
路由负载均衡能力较弱:OSPF虽然能根据接口的带宽等信息,自动生成接口路由开销,但通往同一目的的不同开销路由,OSPF只选择最优路径转发(当然,可以支持等价路由负载分担),不同开销的路由,不能实现负载分担,不象EIGRP那样可以配置一个范围,根据链路开销不同,按比例发送流量.
EIGRP的缺点
1.EIGRP没有区域(area)的概念,不适合层次性较强的网络部署.而OSPF的大规模网络的情况下,可以通过划分区域来规划和限制网络规模.所以EIGRP适用于网络规模相对较小的网络,这也是矢量距离路由算法(RIP协议就是使用这种算法)的局限所在.EIGRP虽然也可以划分自治系统并互相引用,但是这样的组网方案在实际中很少使用,效果不及OSPF的划分区域理想,也不如OSPF+BGP的实现方案.
2.没有在拨号链路上的DC扩展:运行EIGRP的路由器之间必须通过定时发送Hello报文来维持邻居关系,这种邻居关系即使在拨号网络上,也需要定时发送Hello报文,这样在按需拨号的网络上,无法定位这是有用的业务报文还是EIGRP发送的定时探询报文,从而可能误触发按需拨号网络发起连接,尤其在备份网络上,引起不必要的麻烦.所以一般运行EIGRP的路由器,在拨号备份端口还需配置Dialer
list和DIaler
group,以便过滤不必要的报文,或者运行TRIP协议,这样做增加路由运行的开销.而OSPF可以提供对拨号网络按需拨号的支持,只用一种路由协议就可以满足各种专线和拨号网络应用的需求.
3.EIGRP的无环路计算和收敛速度是基于分布式的DUAL算法的,这种算法实际上是将不确定的路由信(active
route)散播(向邻居发query报文),得到所有邻居的确认后(reply报文)再收敛的过程,邻居在不确定该路由信息可靠性的情况下又会重复这种散播,因此某些情况下可能会出现该路由信息一直处于active状态(这种路由被称为stuck
in active route),并且,如果在active
route的这次DUAL计算过程中,出现到该路由的后继(successor)的metric发生变化的情况,就会进入多重计算,这些都会影响DUAL算法的收敛速度.而OSPF算法则没有这种问题,所以从收敛速度上看,虽然整体相近,但在某种特殊情况下,EIGRP还有不理想的情况.比如说对于狭长形的网络拓扑结构,如果一端路由器的网络路由丢失,丢失路由的路由器将向所有邻居发起查询,每个邻居又会向各自的所有邻居发起查询.在狭长形的网络拓扑结构中,一端的路由信息变化需要较长时间才能传递到另外一端,然后才能从远端向回收敛,效率不理想.
& 4.在共享网段上,EIGRP路由器将两两交换路由信息,但是OSPF因为选举DR,BDR,所有路由器将只和DR,BDR交换路由信息.这样EIGRP将会使用更多的带宽来传递协议报文,当一个共享网段上有大量EIGRP路由器时,协议报文对带宽的占用更加严重.
5.EGIRP是Cisco公司的私有协议.Cisco公司是该协议的发明者和唯一具备该协议解释和修改权的厂商,没有受到外界监督与完善.Cisco公司对该协议的修改没有义务通知任何其他厂家和使用该协议的用户,因此会在网络升级扩展中导致运行的安全隐患;从另外一个角度,如果用户使用了这种协议组网,由于担心网络扩展而出现的隐患,从而选择了单一设备,则又将陷入封闭网络的怪圈,步入使用SNA这种私有网络体系的后尘,最终使得网络的构建及维护费用都大大增加.而OSPF是开放的协议,是IETF组织公布的标准.世界上主要的网络厂商都支持该协议,所以它的互操作性和可靠性由于公开而得到保障,并因为竞争的存在也使得网络的构建在合理的价格范围内,而在众多的厂商支持下,该协议也会不断走向更加完善.
OSPF与EIGRP的比较总结
& 下面是OSPF和EIGRP路由协议简单的比较:
从EIGRP网络到OSPF网络的迁移
一个已经部署EIGRP协议的网络,如何在尽量减少对现有业务和流量的冲击的前提下,整网切换到OSPF协议,是很多已经选择部署EGIRP协议用户在网络路由协议迁移和网络扩容时的疑虑.很容易想到的是删除原来路由器上与EIGRP相关的配置,再在各个路由器上配置OSPF,但这样粗暴的迁移肯定会对正在运行的业务造成中断,无疑是不可取的.实际上路由协议的平滑迁移远没有想象的困难.按照一定正确的切换操作步骤,可以保证在切换过程中基本上始终保持网络的连通性,对现有业务基本没有什么影响,所有的工作只是简单的配置命令的修改而已.
& 路由协议的平滑迁移主要是利用路由优先级(Huawei VRP称为Preference,Cisco
IOS称为Distance)的差异,当多个路由协议运行的时候,路由是基于各自协议的优先级来决定谁加入路由表中(通常数值大的优先级反而低).主要的操作步骤如下:
& 1.做好OSPF的网络规划,比如区域划分,路由策略等;
2.在已经运行EIGRP的路由器上迭加配置OSPF,首先将OSPF的路由优先级设置比EIGRP的要低(数据更大),再启动相应接口,加入相应的区域;
3.按第二步完成所有相关路由器的配置,在此过程中,由于EIGRP的路由更优先,即使OSPF学习到相关路由,也不会加入到路由表中,所有路由器的路由表都是完整,而且路由都是连通的;
4.等待一定时间(视网络规模而定),OSPF路由收敛后再将所有路由器上的EIGRP的优先级改为比第二步中设置的OSPF优先级更低(或在OSPF配置中将OSPF的优先级改为比迁移前EIGRP的更高),此时由于OSPF已经收敛,OSPF路由马上会替换EIGRP路由到路由表中去来指导报文转发.
5.删除所有路由器上的EIGRP配置,并按需要将OSPF路由优先级改为缺省值(由于只有OSPF运行,可以不修改),由于在第四步路由已经切换到OSPF,一般来说现在流量并不会中断,至此,整网的路由协议就由EIGRP平滑切换到OSPF
虽然采用上述方法切换短暂的路由循环和黑洞路由依然有可能存在,但可能性很小,而且迁移风险小,此外,由于在迁移过程中最后删除EIGRP进程之前保留了原来的路由协议,如果由于某种原因希望改回原来的配置是非常容易的.需要考虑的一点是,由于在迁移过程中要启动两套路由协议,如果网络过大,要注意所涉及的路由器的性能需求是否满足(CPU性能和内存大小)及所需要配置的工作量,可以先做好配置的脚本,通过网管系统来配合采用自动更新配置的手段来操作.
IPv6 OSPFv3协议详解 RFC
本文基于RFC 2470介绍了OSPFv3与OSPFv2的区别和实现,对继承OSPFv2的内容可以参考RFC
2328,这里不再赘述.
OSPFv3是在原有OSPFv2基础上开发的支持IPv6的协议,这使用的仍然是链路状态算法,OSPFv2的基本机制,如泛洪(flooding),DR选举,区域划分,SPF算法保持不变.相对于OSPFv2,OSPFv3最大的变化就是对IPv6地址的支持,以及对IPv6体系架构的兼容.另外,OSPFv3在OSPFv2的基础上,对功能做了增强.
IPv6中使用地址/前缀长度描述地址,而没有子网掩码的概念.IPv6中的链路(link)就类似于IPv4中子网或网络.因此,本文中也使用链路(Link)表达类似的意思.
与Version2的差别
OSPFv3保留了OSPFv2的大部分机制.为了支持IPv6地址,IPv6报文结构和体系,OSPFv3主要做了以下修改:
从per-sub到per-link
IPv6使用链路(link)表示节点赖以在链路层通信的媒介或工具.Interface连接到链路上.多个IPv6地址前缀可以分配到一个单独的链路上;对连接到链路上的两个节点,即使他们的IPv6地址前缀不同,也可以直接通信.
相应的OSPFv3也是运行在链路上,而不象IPv4中是基于网段的.链路的概念取代了OSPFv2中的网络和子网.因此,我们说OSPF接口是连接到链路上而不是子网上.这一变化影响了hello报文的接收以及hello报文和Network-LSA的内容.
在OSPFv3中,OSPF协议报文头和大部分LSA中去掉了地址部分,从而与网络层协议无关.具体说来有以下方面:
& 除了LSU报文中的LSA载荷包含IPv6地址信息外,其他的协议报文中都不含有地址字段;
& Router-LSA和Network-LSA中去掉了网段地址,用拓扑信息取而代之;
& OSPFv3中Router ID,Area ID和Link State
ID保留IPv4中的格式----32bit;
& 在所有类型的网络中,包括广播和NBMA,都使用Router ID来识别邻居;
& LSA的泛洪范围归纳为3类,放在LSA的LS类型域(Field).这三类是:
区域范围:LSA只在一个OSPF区域内部传播,LSA包括Router-LSA,Network-LSA,Inter-Area-Prefix-LSA,Inter-Area-Router-LSA和Intra-Area-Prefix-LSA,nssa-external-LSA,group-memberhip-LSA(很少使用)
自治系统范围:LSA在整个自治系统内传播,这类LSA只有AS-external-LSA.
& 链路本地范围:Link-LSA
OSPFv3支持在单链路上运行多实例.这使得多个供应商在共享一台甚至多台网络设备的情况下,仍然可以保持各自网络的独立运行.在OSPFv2中,是通过设置不同的OSPF验证来实现的.
在单链路上运行多实例是通过在OSPF报文头和OSPF接口数据结构中包含实例号(Instance
ID)做到的.实例号只影响OSPF报文接收.
使用link-local地址
IPv6中的本地链路地址用于单链路上的邻居发现,无状态自动配置等等.对于以本地链路地址作为源地址的报文,IPv6路由不作转发.本地链路单播地址范围是FF80/10.
OSPFv3假定每个路由器的物理接口都分配了本地链路单播地址.除了虚链路之外,所有的OSPFv3接口都使用本地链路单播地址作为报文的源地址.路由器从链路上学到其他路由器的本地链路单播地址,再使用这些地址作为转发报文的下一跳.
& 虚连接使用全球范围地址或本地站点地址作为OSPF报文源地址.
& 本地链路地址只出现在Link-LSA中,其他OSPF
LSA不使用本地链路地址.Inter-area-prefix-LSA,AS-exteranl-LSA和intra-area-prefix-LSA中决不能携带本地链路地址.
OSPFv3本身没有认证(Authentication)功能.因此,OSPFv3报文头中去掉了Autype和Authentication字段.相应的,所有的OSPF区域和接口数据结构都去掉了认证相关域(Field)
OSPFv3的认证依赖于IPv6报文的认证头和IP封装安全有效载荷报头.OSPFv3通过这些IP报文头来确保路由交换的完整性和认证/保密.
OSPFv3报文利用IPv6标准的16位完整校验和防止报文数据的随机错误.该校验和覆盖了整个OSPF报文和伪IPv6头.
OSPFv3报文直接封装在IPv6报文中.OSPFv3报文头中去除了原有的地址相关字段,作到与网络协议无关.所有的地址信息都放在各种LSA中.OSPFv3报文的具体变化有(分别见图一-----图三):
&&OSPF版本变为3;
& hello报文和DD报文的Option字段扩展到24位;
& OSPF报文头除去了Authentication和Autype字段;
& Hello报文不含有任何地址信息,包含Interface
ID.发送路由器为链路上的接口分配Interface ID,并用Interface
ID唯一的标识这些接口.在Ntwork-LSA,使用DR的Interface ID作为Link State
在报文Option字段增加了'R-bit'和'V6-bit'.在SPF运算处理Router-LSA时会用到这两个参数.若'R-bit'为空则路由器可以在OSPF拓扑分发时不转发transit流量;this
can be used in multi-homed hosts that want to participate in the
routing protocol.'V6-bit'为空,则路由器可以在OSPF拓扑分发时不转发IPv6报文.若设置了'R-bit'但'V6-bit'为空,路由器不转发IPv6报文,但可能转发其他协议体系的报文.
& OSPFv3支持在单个链路上运行多个OSPF协议实例(OSPF protocol
instance).在OSPFv3报文头中增加了'Instance ID'字段
OSPFv3报文头格式
OSPFv3的报文头如下图所示:
Type:报文类型,1--Hello,2--DD,3--LSR,4--LSU,5--LSAck
Packet Length:包括标准OSPF报文头的OSPF报文长度,长度单位Byte.
Router ID:每个OSPFv3进程的唯一标识.
Area ID:区域标识符
Checksum:包括IPv6 pseudo-header的OSPF报文校验和
Instance ID:实例号.
OSPFv3中,LSR和LSAck报文的发送保持不变.Hello,DD和LSU报文的发送有所不同.
Hello报文格式
OSPFv3 Header:参见OSPFv3报文头格式
ID:接口标识,在路由器上唯一标识接口
Rtr Priority:路由器优先级
Hellointerval:发送Hello报文的间隔
RouterDeadinterval:此计时器超时后,邻居Down掉
Neighbor ID:邻居的Router ID
Options:V6:为0时,不参加路由计算
E---在Hello报文中,此位为0时,表示此区域不传播As-External-LSA
MC--是否多播
N---Type-7 LSA处理相关
R---为0时,表明产生此条LSA的路由器状态down掉了
DC--是否支持按需电路
DD报文格式
Options:与Hello报文中的Option相同
Interface MTU:本地接口的MTU值
I:Initial,初始化位,为1时表明是第一个DD报文
M:More,表明接下来还有DD报文
MS:主/从位(Master/Slave),为1时,表明为主(Master)
DD sequence number:DD报文的序列号
List of LSA Header:LSA头部的集合,用于授受方检查LS数据库
LSR(LS Request)请求所需的LSA
Link State ID:LSA的标识
LS Type:参考LSA格式部分
LSU(LS Update)回复所请求的LSA
#LSAs:报文里包含的LSA数目
LSAck报文确认收到LSA
LSA头和Router-LSA,Network-LSA中去掉了所有的地址内容.Router-LSA和Network-LSA描述了路由域的拓扑结构,而该结构与具体的网络层协议无关.增加了新的LSA用来分发IPv6地址信息和下一跳信息.一些IPv4中的LSA名称改变了,以保持所有LSA意思的一致性.LSA的具体变化有:
Option字段从LSA头中拿走放到了Router-LSA,Network-LSA,Inter-Area-Router-LSA和Link-LSA中.同时,Option字段扩展到24bit;
& LSA类型字段扩展到16bit(占据了原来Option与LSA
Type的位置),最高的3位表示泛洪范围和对未知类型LSA的处理:
LSA中的地址格式为[前缀,前缀长度]取代过去的[地址,掩码].缺省路由的前缀长度为0;
Router-LSA和Network-LSA不包含地址信息,即完全独立于具体的网络层协议;
& 完整的路由器接口信息可能分布在多个Router
LSA中,接收路由器在进行SPF运算时需要综合同一路由器发出的多个Router-LSA;
出现一类新的LSA:Link-LSA.这类LSA只在本地链路上传播,不能被扩散到链路以外的范围.增加Link-LSA有三个目的:
& 为连接到同一链路上的其他路由器提供本设备的本地链路地址;
& 向连接到同一链路上的其他路由器通告本链路的IPv6前缀列表;
声明本链路上生成的Network-LSA的Option字段集;
在IPv4中,router-LSA携带了路由器的IPv4接口地址,该地址与IPv6中的本地链路地址相当.只在OSPF计算路由的下一跳时会用到这些地址信息,因此,Router-LSA中的这些地址信息不需要传播到本地链路以外的区域.IPv6中使用Link-LSA分发这些地址更为有效.而仅仅通过接收Hello报文,路由器是无法学到本地链路地址的;在NBMA网络上,路由器和下一跳路由器不一定会交互Hello报文,他们是通过DR来感知对方的存在.
& the Option field in the Network LSA is set to
the logical OR of the Options that each router on the link
advertises in its
Link-LSA.路由器将它的Link-LSA中的本链路路由器的Option字段值相与,得到自己的Option字段值.
& 3类Summary-LSA更名为'Inter-Area-Prefix-LSA';
& 4类Summary-LSA更名为'Inter-Area-Router-LSA';
Inter-Area-Prefix-LSA,Inter-Area-Router-LSA和AS-external-LSA中的Link
State ID失去了原来的地址意义,只用来标识链路状态数据库中的一项.过去用Link State
ID来标识的地址信息和Router ID被放在LSA体中.
唯有Network-LSA和Link-LSA和Link State
ID带有附加意义;Link State ID也是本链路上发送路由器的Interface
ID.因此,这两类LSA也是目前唯一对长度不作限定的LSA;Network-LSA必须包含本链路上的所有路由器;Link-LSA必须包含本链路上的所有路由器的本地链路地址.
添加了一类新的LSA:Inter-Area-Prefix-LSA.这类LSA携带了所有的IPv6地址前缀信息.
& AS-external-LSA中有两个字段是可选的:Forwarding
address和External route
tag.此外,为了包含额外的OSPF自治系统外路由属性AS-external-LSA可以引用其他的LSA;
处理未知LSA类型
OSPFv3能够处理未知类型的LSA.对于未知类型的LSA.可以只在本地链路范围发送,也可以把它当作一种已知的类型泛洪.具体的处理方式取决于link
state header中的LS
Type字段的定义.在IPv6中,需要路由器在单个链路上提供对报文的多种处理.IPv4中对未知类型报文直接丢弃的做法已经不适用了.当DR比链路上其他路由器支持的Option类型少时,直接丢弃报文会产生问题.
在IP4中设置stub区域减小了区域内部路由器的链路数据库和路由表规模.这使得在大规模OSPF路由域内的路由器只占用了很少的资源.
OSPFv3保留了stub区域的概念,类似的,stub区域内只有router-LSA,network-LSA,inter-Area-Prefix-LSA,Link-LSA和Intra-Area-prefix-LSA.
与上一版本不同的是,OSPFv3允许不能识别类型的LSA被当作已知类型泛洪.无节制的加入未知类型LSA可能导致Stub区域的链路状态数据库超过路由器的处理能力.
& 为防止这种现象的发生,必须同时满足下列两个条件的LSA才可以在Stub区域内泛洪:
LSA的泛洪范围为区域(area)或本地链路范围;
LSA的'U-bit'置为0.
& 在OSPFv2中,对P2P,Virtual link上的邻居用他们的Router
ID来识别;对Broadcast,MBMA,P2MP上的邻居用他们的IPv4接口地址来识别.在OSPFv3中,所有链路上的邻居路由器是由他们的Router
ID来识别的.这样的变化使得OSPF报文的接收,邻居发现有了相应的变化.
& 0.0.0.0的Router
ID是保留未用的.Router ID决不能设为0.0.0.0
& 从IPv4到IPv6,基本的OSPF机制保持不变.详细内容请参考RFC2328
Section4.归纳起来,两者的共性主要体现在以下几个方面:
& 都维护链路状态数据库;
& 构成数据库的基本单位LSA需要在邻居间同步;
& 首次同步是通过交换DD报文,LSR报文和LSAck报文来完成的;此后链路状态数据库的维护是通过泛洪,发送LSU报文和LSAck报文来实现的.
& 使用Hello报文来发现和维护邻居关系;
& 只在Broadcast和NBMA链路上选举DR和BDR;
& 邻接关系的建立;
& 区域内路由和用ASE标识引入的区域外部路由的思想;
& 各种路由的计算.
特别的,OSPFv3完全继承了RFC2328中描述的OSPv2下列机制:
Section4.3描述的OSPF报文,包括Hello报文,DD报文,LSR报文,LSU报文,LSAck报文.尽管有些报文的格式有一些变动,但这些报文的用法是完全不变的;
对运行OSPF的系统要求不变,只是OSPFv3要求系统必须运行在IPv6的协议栈下;
& 邻居关系的发现和维持机制,邻接关系建立,包括RFC2328的Section
7,7.1-7.5;
& OSPF支持的链路类型(或者叫接口类型)不变,有:P2P,Broadcast,NBMA,P2MP和虚链路;
& 接口状态机,包括接口状态和事件列表,DR,BDR选举机制保持不变,可参见RFC2328
Section 9.1-9.4;
& 邻居状态机,包括OSPF邻居状态和事件,可参见RFC2328 Section
10.1-10.4;
& 链路状态数据库老化机制,LSA的域内传播和提前老化处理,可参见RFC2328
Section 14和14.1;
在保留大部分OSPFv2机制的同时,部分机制有了变化.下面描述OSPFv3的具体实现方法.
协议数据结构
主要的数据结构是不变的,分为:区域数据库,接口数据库,邻居数据库,链路状态数据库和路由表.Top-level数据结构与RFC2328 Section
5中列出的一致.对数据库主要做了下列修改:
& 所有未知的LS类型和AS泛洪范围出现在顶层数据库中,这些内容过去只限于特定的区域或链路.AS-external-LSA是唯一具有AS泛洪范围的LSA.未知LS类型'U-bit'设为1.
& 区域数据结构
OSPFv3区域数据结构包括了RFC2328 Section
6中定义的所有元素.此外,区域数据结构中包含了所有已知类型的LSA泛洪范围,包括:router-LSA,network-LSA,inter-area-prefix-LSA,inter-area-router-LSA和intra-area-prefix-LSA.区域数据结构中也包含未知LS类型的泛洪范围:area(显示Unknown)。实现MOSPF的路由器会在区域数据结构中包含group-menbership-LSA.7类LSA放在NSSA区域的数据结构中.
& 接口数据结构
在OSPFv3中,路由器通过接口连接到链路.OSPFv3的接口数据结构相对于OSPFv2做了以下修改:
&&& Interface
路由器的每个接口都分配了接口ID,用来唯一的标识这些接口.例如有些应用会用MIB-II If
Index作为接口ID.接口ID出现在:该接口发送的Hello报文中;路由器向连接该接口的链路发送的link-LSA中;所属区域的Router-LSA中.链路上的DR发送的network-LSA中把本设备该链路上的接口ID作为Link
&&& Instance
每个接口都分配了Instance ID,缺省为0.只有当存在多个彼此独立的OSPF团体(Community of OSPF
Router)时,才有必要分配各自不同Instance ID.
&例如,有两个完全独立的OSPF团体.给团体1分配Instance ID
0,即给所有的OSPF团体1接口分配Instance ID 0;对团体2分配Instance ID
1,即给其余的接口分配Instance ID 1.这样OSPF的发送和接收过程就能保证两个团体的独立.
本地链路范围的LSA列表
该列表包括了所有泛洪范围为本地链路范围的LSA,也包括这样一些LSA,他们是由连接到该链路的接口的接口数据结构中包含的链路产生或传播的.该列表包含了本链路的Link-LSA.
未知LS类型的LSA列表
该数据结构包括所有未知LS类型和'U-bit'设为0(对未知LS类型,认为该LSA传播范围为本地链路范围).
接口IP地址
OSPFv3中几乎所有报文的源地址都是发送接口的本地链路地址,只有虚连接除外;在虚连接上发送的报文必须使用路由器的本地站点地址或IPv6全球地址作为接口IP地址.
链路前缀列表
路由器在link-LSA中会通告本链路上的IPv6前缀列表.这样链路上的DR就可以在Intra-area-prefix-LSA中通告这些地址.
OSPFv3中,每个路由器接口有唯一的metric,该metric代表了该接口发送报文的花费.OSPFv3的认证依赖于IPv6报文的认证头和IP封装安全有效载荷报头.OSPFv3通过这些IP报文头来确保路由交换的完整性和认证/保密.因此,关键字AuType和Authentication与OSPF接口无关.
& 接口状态,事件和接口状态机保持不变,可参见RFC2328 Section
9.1-9.3.DR和BDR选举机制也保持不变,可参见RFC2328 Section 9.4.
& 邻居数据结构
OSPFv3中邻居数据结构的作用不变:收集所有建立邻接关系需要的信息.每个数据结构绑定到单个的OSPF接口上.IPv6中定义的邻居数据结构与RFC2328中的定义有以下差异:
邻居接口ID
邻居数据结构必须记录邻居发出的Hello报文中的接口ID.在两种情况下,路由器发布的Router-LSA会包含邻居的接口ID:
<font COLOR="#.发送到P2P邻居;
2.向DR通过与之相连的链路;
邻居IP地址
在OSPFv3中,邻居IP地址是对方的本地链路地址.虚链路除外.
邻居选举出的DR用Router ID来标识,而不象过去用IP地址来标识.
邻居选举出的BDR用Router ID来标识,而不象过去用IP地址来标识.
&&邻居状态,事件和邻居状态机保持不变,可参见RFC2328
10.1,10.2,10.3.判断是否建立邻接关系不变,可参见RFC
OSPFv3直接运行在IPv6网络层之上,因此,OSPFv3报文被封装在一个或多个IPv6报文头之后,而紧邻的前一个报文头Next
Header域值为89.
& 与OSPFv2一样,除了保持邻居关系的Hello报文外,其他的OSPF协议报文只发给建立邻接关系的邻居.OSPFv3报文类型和功能与OSPFv2报文一致,在标准OSPF报文头Type域中标明.
& 发送协议报文
&&IPv6路由器发竤OSPF协议报文时,如下填充标准IPv6
OSPF报文头的各个域:
& 版本:设为3.
& 类型:OSPF报文类型,如Hello,LSU等
& 包长度:包括标准OSPF报文头在内的整个OSPF报文的字节数.
& Router ID:标识发送报文的路由器本身
& Area ID:接收OSPF报文的区域号.
& Instance ID:绑定发送OSPF报文的接口的OSPF实例号.
& 校验和:标准IPv6 16位报文完整校验和,覆盖了整个OSPF报文和IPv6伪头.
对OSPFv3协议报文的IPv6源地址和目的地址选择与OSPFv2一致,可参见RFC2328 Section
8.1.目的地址从建立邻接路由器的ALLSPFRouters,ALLDRouters和邻居IP地址中选取.在IPv6中,除了虚连接外,都是选择对方的本地链路地址.发送LSR报文和LSAck报文不变.可参见RFC2328
10.9,13.5.发送Hello报文详见本文3.2.1.1,DD报文发送详见本文3.2.1.2,发送LSU报文详见3.5.2.
3.2.1.1 发送Hello报文
OSPFv3,发送Hello报文有如下改变:
& Hello报文必须包含发送接口的接口ID;
& 由于OSPFv3运行基于链路而不是网段,因此Hello报文中不再携带子网掩码;
& 被选举出DR,BDR在Hello报文中用他们的Router
ID标识,而不是接口地址.报文中将DR/BDR置为0.0.0.0表示DR/BDR尚未选出.
& 扩展了Hello报文中的Option域,如下的一些位必须设置正确:
& 当且仅当发送接口连接到non-stub区,才设置E-bit';
当且仅当接口抑制Hello报文发送,才设置'DC-bit';
& Hello报文中Option域不能识别的位应清空.
& NBMA链路上的Hello报文发送与OSPFv2一致,可参见RFC2328 Section
3.2.1.2发送DD报文
& OSPFv3中,DD报文的发送与OSPFv2有如下差异:
& 扩展了Hello报文中的Option域,如下的一些位必须设置正确;
当且仅当路由器转发按照MOSPF转发多播报文时,才设置'MC-bit';
当且仅当接口抑制Hello报文发送,才设置'DC-bit';
& DD报文中Option域不能识别的位应清空.
接收协议报文
当路由器收到OSPF协议报文时,他用接收接口对报文进行标记.对于配置虚连接的接口,可能无法立即找到标识接口.在下面的描述中,我们都假设报文不是来自虚连接链路.
& 处理OSPFv3报文前,必须对封装OSPFv3报文的IPv6报文头做如下检验:
报文的目的IP地址必须是接收接口的单播地址,包括本地链路地址,或者是ALLSPFRouters,ALLDRouters的多播IP地址;
& 紧邻的IPv6头必须在Next Header域指明OSPF协议(89);
必须验证所有的IP验证头和IP封装安全载荷以保证OSPF路由交换的安全认证以及机密性;
本地产生的OSPF报文不送往OSPF:必须检查IPv6源地址,以确保没有路由器自己产生的多播报文.
在处理完IPv6报文头后,紧接着处理OSPF报文头.OSPFv3报文头的字段必须服从如下规则,否则报文将被丢弃:
& 类型域必须为3;
& 标准的IPv6
16位完整检验和必须通过校验,该校验和覆盖了整个OSPF报文和IPv6伪头;
& 区域ID必须通过校验:区域ID可以是如下的任一种情况,如果以下情况都不满足,应丢弃该OSPF报文:
1.是接收接口的区域ID.与IPv4不同,IPv6中源地址不必与接收接口地址处于统一网段;
2.为骨干区.这时,报文在虚连接上传送,接收路由器是ABR,报文中的源路由器Router ID是虚连接另一端的路由器Router
ID.接收接口也配置在该虚连接中.通过以上检查后,路由器接收该报文并把该报文绑定到虚连接上.
& 实例ID必须与接收接口实例ID相同;
& 仅有DR或BDR接收目的IP地址为ALLDRouters.
报文头处理完后,报文按照不同的OSPF报文类型来处理.
对Hello报文,送给Hello协议处理.其他报文刚只在建立邻接的双方收发.这也意味着发送报文的路由器是active的邻居.
& 除了Hello报文外,其他报文的接收机制不变.
接收Hello报文
& Hello报文的接收有如下变化:
& 在所有类型的链路上,邻居由他们的OSPF Router
ID来唯一的标识.除了虚连接外,路由器用接收报文的源地址作为邻居的IP地址;
& 不含地址掩码;
& 选出的DR,BDR用他们的Router ID来标识.
路由表结构
OSPFv3的路由表项与OSPFv2相似:包含IPv6地址前缀表项,ASBR表项.后者只是建立路由表过程中的一个中间结果.
为了保持SPF运算中每个区域的中间结果,每个区域有各自的路由表,路由表包含的表项如下:
& 区域中的每个路由器:路由器由他们的Router
ID来标识;这些路由表项包含到路由器的最短路径集,路由器用Intra-area-prefix-LSA发布自己产生的IP地址前缀时,会用到这些信息;对于ABR,这些信息也用于计算到区域内部地址前缀的路径.
区域中每个transit连接:Network-LSA用到了Transit连接.Transit连接和Network-LSA都是用链路上DR的接口ID和DR的Router
ID的组合来标识的.这些路由表项使得intra-area-prefix-LSA可以得到Transit Link的IP地址前缀.
& 一些OSPF路由表的域保持不变:capabilities(Router
only),path type,cost,type 2 cost,link state
origin,到同一目的地的等价路由,下一跳,发布路由器.
& 在OSPFv3中,路由表每项中的link-state
origin域是直接或间接产生该路由项的router-LSA或network-LSA.
路由表查找
& 路由表查找(即决定指导IP转发的最佳路由项)保持不变.
链路状态广播
& OSPFv3中,LSA头有少许的改变:LS类型域扩展了;Option字段放到了LSA中;一些LSA的格式变化了.(router-LSA,network-LSA,ASE);一些LSA更名了(3类和4类路由分别更名为inter-area-prefix-LSA和inter-area-router-LSA);增加了两类LSA(Link-LSA和Intra-Area-prefix-LSA),如下图所示:LSA中去掉了Type
of Service(TOS)字段.
下面将详细介绍这些变化.
& 在IPv4和IPv6中,OSPF
LSA头都是20字节,但是20字节中的内容是不同的.其中,Advertising Router,LS Sequence
Number,LS Checksum和Length域不变,可参见RFC2328 Section
12.1.1,12.1.5,12.1.6,12.1.7和A4.1.变化的域有:Options:
LSA头中去掉了Option字段,在router-LSA,network-LSA,Inter-area-router-LSA和Link-LSA中加入了Option.Option字段从原来的8位扩展到24位,一些位的定义有了变化.另外,LSA中的每个前缀跟有一个单独的8位的PrefixOption域.
该域从8位扩展到16位.前两位表示泛洪的范围,接下来的位表示对未知的LSA类型的处理.
Link State ID:
& 该字段长度保持32位不变,但是除了network-LSA和Link-LSA外,其他LSA中的该值已经没有了地址意义.比如,一个支持IPv6的路由器在生成多个ASE(外部路由)时,可以给他们依次分配Link
State ID:第一个分配0.0.0.1;第二个分配0.0.0.2等等.这时,Link State
ID已不具备地址意义,只是为了区分单个路由器产生的多个LSA的一个标识.对于network-LSA,Link
State ID是DR在链路上的接口地址.当路由器产生link-LSA时,该LSA的Link State
ID是该路由器在这个链路上的接口地址.
& 有9种类型,其中6和7两种不属于基本类型
0x2001 Router-LSA; 0x2002 Network-LSA; 0x2003
Inter-Area-Prefix-LSA; 0x2004 Inter-Area-Router-LSA
0x4005 AS-External-LSA; 2006 Group-membership-LSA; 0x2007
Type-7-LSA; 0x0008 Link-LSA;
0x2009 Intra-Area-Prefix-LSA
链路状态数据库
& 与OSPFv2一样,OSPFv3中,一条LSA是由它的LS类型,Link State ID和发布路由器三个字段的组合唯一确定的.对同一条LSA的两个实例而言,通过LSA的LS Sequence
Number来判定哪一条是最近发布的.当出现一样的情况,使用LS checksum和LS age来做判定.可参见RFC2328
Section 13.8.
OSPFv3中,Link-State
Database被分割为3个独立的数据结构:&
& AS泛洪范围的LSA放在顶层数据(top-level date
structure)结构中,包括已知的ASE和'U-bit'置1的LSA;
& 区域泛洪范围的LSA放在appropriate area
structure中,包括router-LSA,network-LSA,inter-area-prefix-LSA,inter-area-router-LSA和intra-area-prefix-LSA以及'U-bit'置1的LSA;
本地链路泛洪范围的LSA,包括link-LSA和'U-bit'置0的未知类型LSA.
& 重新生成LSA的过程不变:LSA的LS sequence number增加,LS
age置0,重新计算checksum后加到链路状态数据库中,从特定的接口发布.除了RFC2328
Section12.4中描述的触发重新生成LSA的事件外,OSPFv3增加了如下的触发事件/动作:
路由器的某个接口状态改变:这是路由器可能需要(重新)生成或发布它的Link-LSA和一条或多条router-LSA和/或Intra-area-prefix-LSA;
& 链路的DR
identity改变:路由器可能需要(重新)生成或发布该链路的network-LSA和一个或多个router-LSA和/或intra-area-prefix-LSA;
邻居状态迁移到'full'或从'full'迁移.路由器可能需要(重新)生成或发布该链路的network-LSA和一个或多个router-LSA和/或intra-area-prefix-LSA;
邻居的接口ID改变:路由器可能在相关区域内重新发布router-LSA,一条或多个intra-area-prefix-LSA;
链路上增加了一个新的前缀或删除了一个前缀:这使得路由器重新发布该链路上的link-LSA,如果这台路由器是链路上唯一的一台设备,它会重新生成intra-area-prefix-LSA;
由于收到新的link-LSA而使得链路上的前缀集合改变:对于链路上的DR会生成一条新的intra-area-prefix-LSA.
下面的章节详细叙述了7类LSA的结构
Router-LSA
& 每一个路由器生成,描述本路由器的链路状态和花费,只在路由器所处区域内传播
Type:1--PPP连接
2--Transit网络
Optinos:与Hello报文中的Option相同
Network-LSA
广播网络和NBMA网络的DR生成,描述本网段链路状态,只在DR所处区域传播,列出了DR所连接的所有Router
ID.Link-LSA和Network-LA的LS ID与Interface ID相同.
Attached Router:DR所连接的Router ID
Options:与Hello报文中的Options相同
Inter-Area-Prefix-LSA
& 和OSPFv2中的Type3 LSA(net
sum_LSA)对应,该LSA由区域边界路由器ABR生成,在与该LSA相关的区域内传播.每一条Inter-Area-Prefix-LSA描述了一条到达本自治系统的,其他区域的IPv6地址前缀(IPv6
Address Prefix)路由
Metric:这条路径的花费
PrefixLength:前缀长度
PrefixOptions:
NU:No unicast,如果为1,则不参与单播路由计算
LA:为1,表示这个前缀为产生LSA的路由器的接口地址
MC:是否多播
P:NSSA区域前缀被ABR重新公布时设为1
Inter-Area-Router-LSA
& 和OSPFv2中的Type-4 LSA(asbr
sum_LSA)对应,该LSA由区域边界路由器ABR生成,在与该LSA相关的区域内传播.每一条Inter-Area-Router-LSA描述了一条到达本自治系统的,其他区域的去往边界路由器ASBR的路由.
<img NAME="image_operate_28187" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif" real_src ="http://s3.sinaimg.cn/mw690/0dfae2ac2&690"
ALT="OSPF&详解&(3)"
TITLE="OSPF&详解&(3)" />
Options:与Hello报文中的Options相同
Metric:到其他区域的路由器的花费
Destination Router ID:目标路由器的Router ID
AS-external-LSA
由自治系统边界路由器ASBR生成,描述到达其它AS的路由,传播到整个AS(Stub区域除外).AS的缺省路由也可以用AS-external-LSAs来描述.
<img NAME="image_operate_56484" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif" real_src ="http://s14.sinaimg.cn/mw690/0dfcd9dcd&690"
ALT="OSPF&详解&(3)"
TITLE="OSPF&详解&(3)" />
E:为1时,表明为metric为第2类外部路由的花费
F:为1时,LSA里带转发地址(Forwarding Address)
Forwarding Address:转发地址,数据流将经过这个地址
T:为1时,LSA里带外部路由标记(气功 Route Tag)
External Route Tag:外部路由标记,用于ASBR间交流
Referenced LS type:非0时,LSA带Referenced Link State ID
Referenced Link State ID:所引用的LS ID,用于ASBR间交流
路由器为每一条链路生成一个Link-LSA,在本地链路范围内传播.每一个Link-LSA描述了该链路上所联系的IPv6地址前缀,包含Link-Local地址
& 1.向链路上其他路由器发布自己的Link-local地址
& 2.发布这条链路上的IPv6前缀
& (注:Link-LSA的LS
ID与发布此LSA的路由器的Interface
ID相同,Network-LSA也是如此)
<img NAME="image_operate_69953" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif" real_src ="http://s1.sinaimg.cn/mw690/0dff"
ALT="OSPF&详解&(3)"
TITLE="OSPF&详解&(3)" />&各个域的意义同上
Intra-Area-Prefix-LSA
每个Intra-Area-Prefix-LSA包含路由器上的IPv6前缀信息,Stub网段信息或传输网段(Transit
network)的网段信息,该LSA在区域内传播,发布区域内的前缀.由于Router-LSA和Network-LSA不再包含地址信息,导致了Intrra-Area-Prefix-LSA的引入.
<img NAME="image_operate_02500" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif" real_src ="http://s16.sinaimg.cn/mw690/0e00b71ff&690"
ALT="OSPF&详解&(3)"
TITLE="OSPF&详解&(3)" />
# prefixes:本条LSA包含的前缀数目
Referenced LS type,Referenced Link State
ID,Referenced Advertising
Router:这3个参数表明引用的是哪条Roter-LSA或Network-LSA,以及产生这条LSA的路由器.报文中的地址前缀信息即为相应路由器或网段/链路的地址前缀.
其余各个域的意义同上.
& 大多数的OSPFv2中的泛洪机制保持不变,可参见RFC2328
Section13.完全在继承的部分有:
& 判定更新的LSA实例,参见RFC2328
Section13.1;
& 对自己产生的LSA的处理,RFC2328
Section13.4;
& 发送LSAck报文,RFC2328
Section13.5;
& LSA的重传,RFC2328 SEctio13.6;
& LSAck的接收,RFC2328 Section13.7
泛洪范围的修改和对未知LS类型的报文处理使得泛洪机制有了变化:LSU的收发必须考虑LSA的泛洪范围和'U-bit'设置;另外,由于IPv6中对LSA的类型和内容进行重组,在数据库中加入一条LSA也会触发不同的事件,下面对这些内容进行详细描述.
接收LSU报文
& LSU的接收与以前不同,这些变化是因为在LS
type中包含了泛洪范围,以及处理未知LS类型报文的需要.在IPv4中,要检验LSU中的每一条LSA,检验的8个步骤详见RFC2328
Section 13.在OSPFv3中,步骤2和3有如下修改:
& 2.检验LS
type.丢弃下列LSA,转而处理LSU中的下一条:
&&& 未知LS类型;
在Stub区域中泛洪范围为AS flooding scope或'U-bit'置1为LSA;
3.LSA的泛洪范围置为'reserved'.丢弃该LSA,转而处理LSU中的下一条.
& 步骤5b和5d也做了修改,见3.5.2和3.5.3
发送LSU报文
& 发送LSU的步骤不变,可参见RFC2328 Section
13.3.在OSPFv3中,泛洪LSA的合法接口不同了,接口的选择基于以下因素:
& LSA的泛洪范围;
对于泛洪范围为区域或本地链路的LSA,LSA与之关联的区域或接口;
& 是否能够识别该LSA的LS类型;
'U-bit'设置:为0:未识别LS类型的LSA泛洪范围为本地链路范围;为1:未识别LS类型的LSA被当作已知LS类型的LSA接收和泛洪;
& 因此,合法接口的选择有以下三种情况:
LSA的LS类型已知
& 此时,合法接口集取决于LS
type中的泛洪范围.对泛洪范围为'AS-flooding-scope'的LSA,合法接口集合包括除虚连接外的所有路由器接口,此外,ASE不从连接到stub区域的接口发送.
& 对泛洪范围为'area flooding
scope'的LSA,合法接口集合包括连接到区域的所有接口.对泛洪范围为'link-local flooding
scope'的LSA,合法接口只包含一个接口,就是路由器连接到这条链路上的接口,该接口也是收到这条LSA的接口.
未知LS类型且'U-bit'置0
认为该LSA泛洪范围为本地链路范围.合法接口只包含一个接口,就是路由器连接到这条链路上的接口.
未知LS类型且'U-bit'置1
这时,合法接口的选择与情况1类似,要排除连接到Stub区域的接口.
有时候,在将一条LSA加入指定邻居的链路状态重传列表时,还需要其他条件.如果路由器能识别LS
Type而他的邻居不能(可以从邻居发出的DD报文的Option字段判定),并且此时LSA的'U-bit'置为0,当且仅当邻居是DR或BDR时,将该LSA加入邻居链路数据库重传队列.除了group-membership-LSA外,我们假定前面提到的9类都能被所有的路由器识别.对于group-membership-LSA,只有MOSPF路由器才能识别,它的'U-bit'是置0的.仅当一个non-MOSPF邻居路由器是DR或BDR时,该邻居才转发这类LSA.
在数据库中添加LSA
由于数据库被分为独立的三个部分,添加LSA也相应的分为三种情况:
type或'U-bit'置1的自治系统泛洪范围的LSA被加入global OSPF数据结构中;
type或'U-bit'置1的区域泛洪范围的LSA被加入appropriate area数据结构中;
type且'U-bit'置0的LSA和本地链路泛洪范围的LSA被加入appropriate interface数据结构中.
在向链路状态数据库中加入LSA时,必须检查LSA的内容是否改变.当LSA的内容改变时,根据LSA类型的不同,路由表的如下部分必须重新进行计算:
Router-LSA,Network-LSA,Intra-Area-Prefix-LSA和Link-LSA:整个路由表需要重新计算;
Inter-Area-Prefix-LSA和Inter-Area-Router-LSA:通过这些LSA得到的到达目的的最优路由必须重新计算.当目的地是ASBR时,所有的ASE可能也需要重新计算;
AS-external-LSA:通过这些LSA得到的到达目的地的最优路由必须重新计算
当得到一条LSA的新的实例时,该LSA的旧的实例必须从数据库中清除,同时所有邻居的重传请求队列中也应该去掉该LSA.
自己产生的LSA
OSPFv3中,对自己产生的LSA的描述简化了:自己产生的LSA就是那些Advertising Router与自己的Router
ID一致的LSA.
& 除了以下情况外,OSPFv3对虚连接的定义不变:
具有自治系统传播范围的LSA决不向虚连接邻居传播,也不在数据库交换的过程中将这样的LSA聚合起来传给虚连接邻居.
接口范围必须是站点本地或全球范围地址,而不是被其他接口类型使用的本地链路地址.站点本地或全球范围地址才能用于虚连接的协议报文源地址;
为了在路由计算时得到虚连接邻居的IPv6地址,邻居在Intra-Area-prefix-LSA中向虚连接传播区域发布他的虚连接IPv6接口地址;
虚连接被分配唯一的接口ID.这个ID用于虚连接上Hello报文的发布和Router-LSA的发布.
路由表计算
路由表计算过程中,OSPFv3和OSPFv2的区别有:
Router-LSA不发布前缀信息,改由Intra-area-prefix-LSA发布.因此,在Stub区将对Intra-area-prefix-LSA发布的前缀做检查;
3类和4类LSA更名为Inter-area-prefix-LSA和Inter-area-router-LSA;
& 地址信息不在Link state ID中,在LSA休中;
路由器在当区域中可以生成多条router-LSA,多条router-LSA之间用link state
ID区分.在SPF运算中,这些router-LSA必须被当作一个整体;
& 路由表变化触发的事件以及等价路由保持不变.
计算区域内路由
OSPFv3中对inter-area路由的计算有如下变化:
3类和4类LSA分别更名为:inter-area-prefix-LSA和inter-area-router-LSA;
地址前缀信息放在inter-area-prefix-LSA体中,不再放在link Sate ID中;路由器的OSPFRouter
ID放在inter-area-router-LSA体中;
Options中设置了'NU-bit'的前缀应被inter-area路由计算忽略;
&&当单个inter-area-prefix-LSA或inter-area-router-LSA改变时,运用RFC2328
Section16.5的机制,而不是重新计算整个路由表.
检查Tansit区Summary-LSA
& OSPFv3对这部分的修改参见RFC
Section3.8.3中对inter-area路由的部分.
ASE的计算有如下修改:
& ASE的link state
ID不再是网段信息.地址前缀信息被放在ASE体中;
& 默认路由由ASE发布,其中的前缀长度为0;
& 不通过forwarding
address是否置0.0.0.0判断是否使用了forwarding
address,判断external-LSA的F位.当且仅当设置了F位时,使用了forwarding
& 区域内的路由计算应该忽略设置了prefix
Options域'NU-bit'的前缀;
& 当单个ASE改变时,可以不对整个路由表进行重新计算.
多接口共享链路
在OSPFv3中,路由器可能有多个接口连接到单个链路上,所有的接口都收发数据报文,但只有一个接口收发OSPF控制信息,具体实现如下:
每个接口都有各自不同的接口ID.这样一来,路由器可以自动检测到何时多个接口连接到同一个链路上:当收到Hello报文来自它本身的Router
ID,但是接口ID不是接收接口的ID时;
对单个链路OSPF关掉其他接口的OSPF控制报文收发功能,只留下该链路上的一个接口.对这个接口的选择取决于实现.例如,选择接口ID最大的接口.如果路由器是DR,那么这个接口的ID也是network-LSA的link
单个链路上的多个接口都将出现在router-LSA中,每个接口也都将产生link-LSA.因此,单个链路上的多个接口都将参与到SPF运算中;
如果选出的收发控制报文的接口失败,另一个接口将接替他的工作,重新建立邻接关系.通过其他接口停止收到该接口发出的Hello报文,路由器可以侦测到接口失败.
[1] Moy, J., "OSPF Version 2",RFC 2328,April
[2] Moy, J., "OSPF Version 3",RFC 2470,December
& MTR是Multi Topology
Routing的简称,是指多拓扑路由,多拓扑路由的意思就是指在一个物理拓扑下,划分成多个逻辑的拓扑,这些逻辑的拓扑可能是交叉或者重叠的.
MTR是属于智能路由的范畴,不同的数据流可以被划归不同的逻辑拓扑,这样可以为实施转发策略提供了一个有效的手段.MTR虽然类似QoS或者TE技术,但却与它们不同.MTR属于一种路由技术.无论是QoS或者TE或者路由技术,其实都是帮助完成数据的转发,不过实施的方法和关注的重点不同而已.
目前VRP不支持MTR.
目前,国内外对多拓扑路由的研究主要集中在以下方面:
1:多拓扑路由在流量工程方面的应用
通过合理的设计子拓扑使得各个拓扑之间形成相互备份,当某个拓扑的链路发生故障时,可以快速的寻找最优子拓扑作为备份进行数据转发.
2:多拓扑路由在负载均衡方面的应用
按照不同业务的流量合理的设计子拓扑使得网络中各链路利用率达到最大.
3:多拓扑路由在安全方面的应用
按照数据的可疑程度设计子拓扑的安全策略,对不同业务提供不同级别的保护,有效的保证了数据安全.
实现MTR技术,肯定需要对路由协议进行扩展.另一个方面需要对流进行分类,以达到寻找拓扑归属的目的.所以MTR必然是与流分类技术共同使用的.
目前OSPF的MTR技术标准主要是IETF的草案draft-idtf-ospf-mt-04.txt
我们用图1可以很好的理解MTR技术.对于传统的路由技术,一个物理拓扑是依靠路由来建立逻辑结构的,同一目的的不同业务报文必然是通过相同的链路来进行转发.当然我们可以通过PBR(policy
route策略路由)来改变下一跳,或者是通过TE来进行流量的规则.但是MTR提供了另一个选择,与PBR相比,MTR的优势在于是基于拓扑而不是下一跳.与TE相比,MTR的部署要方便的多.
图1中黑色线条代表传统的拓扑结构,从R-A侧去往R-D侧的流量所经过的路径是通过路由协议选择的结果.而对于MTR而言,可以在这个物理拓扑上建立多个逻辑拓扑.黑色的完整拓扑叫做全局拓扑,除此以外的其它拓扑我们可以叫做有色拓扑.由红色线条代表的红色拓扑和由绿色线条代表的绿色拓扑.对于红色拓扑而言,R-B并不存在.而对于绿色拓扑而言,它认为R-A和R-C间,以及R-B和R-D间并没有可用的链路相连.每一个单独的拓扑都根据路由协议计算出自己的RIB和FIB.属于本拓扑的流量则根据本拓扑的RIB进行路由.这就同时要求有色拓扑是连续的,毕竟MTR实现的是一种端到端的路由技术.
为了增加MTR的灵活度和可靠性,允许回退现象,也就是说么如果在有色拓扑中不存在目路由的,那可以使用全局拓扑中的路由来进行转发.即在多拓扑路由应用中,全局拓扑作为子拓扑的备份拓扑,在子拓扑没有对应路由条目时,通过全局拓扑进行转发.当然,也可以在某一台路由器上配置策略,使某些有色拓扑或者全部有色拓扑的流量直接使用全局拓扑的路由来进行转发.为了避免环路的出现,默认情况下,多拓扑路由不支持子拓扑之间的相互备份,如何设计合适的了拓扑分类使得子拓扑之间进行有效备份是国内外对多拓扑应用研究的热点所在.
& MTR为以网络前缀为目的的路由结构增加了新的维度,流量首先是选择拓扑,然后才根据目的前缀来进行路由匹配.
& 到达的报文首先匹配流分类策略,如果匹配到某一个有色拓扑,就根据该拓扑转发.否则就走全局拓扑或者被丢弃.路由器本地的出接口不一定相同,它一定是属于全局拓扑以及某一个或者多个有色拓扑.
协议的扩展
RFC1583定义了TOS字段,但是一直没有被使用,在RFC2328中删除了关于TOS的部分.于是在IETF的MTR草案中使用了这个字段.TOS数量被更改为MT的数量,也就是MT-ID.相应的,TOS的TOS度量值,也成为了对应MT-ID的度量值.一条LSA可能属于不同的有色拓扑,每一个有色拓扑的归属都是通过对应的MT字段来标明的,在MT字段中包括MT-ID和MT-ID的度量值.这样通过对LSA的扩展,在OSPF协议报文交互的过程中,不需要额外更多的LSA就可以交互链路的拓扑归属,在两个路由器之间的一个邻接关系交互了所有的拓扑归属信息.
MTR是通过有色拓扑来划分层次,并且基于有色拓扑来给链路赋予不同的开销,进而达到路由变化的目的,因此MTR并不会也没有必要改变DR,ABR和ASBR的位置.而且MTR的参数是通过LSA来传递的,也就是说MTR的信息实质上仍然是通过全局拓扑来进行传递的.
在LSA方面2类LSA是一个特例,它并不携带任何关于MTR的信息.因为2类LSA描述的是多点网络中DR的位置和该网络中的路由器,它本身并不携带任何度量信息.
& 对于OSPF而言,路由计算得到的度量值是根据1,3,4,5,7类LSA产生的,因此MT字段主要用在这些LSA上.下面是几种LSA中MT字段的情况. 3,4类LSA有类似的结构
5,7类LSA的结构,7类的
从几个图中,大家可以注意到,因为5,7类LSA使用了E-bit来标明外部路由的类型,因此MT-ID只能使用7个比特,有效范围为0-127.1被保留作为缺省多播拓扑使用,0被保留作为MTRoutingExclusionCapability,也就是说如果MT-ID为0,那么该LSA是被排除在缺省拓扑之外的.
在IETF的MTR草案中定义了更多灵活的选择,在全局拓扑上形成基本拓扑的概念,根据策略的需要在全局拓扑中保留某些链路不被MTR所使用,这是通过MTRoutingExclusionCapability来完成的,支持该能力的MTR路由器互相之间进行协商并建立基本拓扑.基本拓扑相当于是MT-ID为0的有色拓扑,它的度量值是从缺省度量值继承而来的.而全局拓扑中则包括所有支持与不支持MTR特性的路由器,它的度量值使用缺省度量值.
为了对MTRoutingExlusionCapability能力进行协商,对hello报文进行重新定义.将option字段中用于TOS的位作为MT-bit来使用.当MT-bit被置位时,标志MTRoutingExclusionCapability能力被使能.为了与非MTR路由器兼容,该能力默认应该是非使能的状态.只有当一个区域中所有的路由器都支持MTR特性时,才能使能该位.当一个路由器置位了MT-bit,如果收到MT-bit清除的hello报文,将会丢弃.
Cisco OSPF MTR
Cisco在NETWORKS2004中介绍了将要推出的MTR技术包括配置,但在目前的销售版本中还没有MTR特性.Cisco的计划是在2005年下半年在包括系列使用的12.2以及17,26,37系列的T版本上支持MTR特性
在全局下定义拓扑,考虑到每个有色拓扑都需要有独立的RIB和FIB会占用资源,规定每个地址族最多支持32个有色拓扑
从命令行可以看出,有色拓扑的可用性是通过shutdown & no
shutdown来管理的.Forward-base应该是指当目的地址无路由可匹配时,是否允许使用基本拓扑来进行转发.
& 流分类使用了类映射的方式,可以根据应用业务类型,DSCP值等,对流进行分类.最后将类与对应的逻辑拓扑进行绑定.不能匹配条件约束的数据成为默认类,默认类使用全局拓扑转发.
最后是将MTR在本地或路由协议内或接口下进行应用

我要回帖

更多关于 ospf配置 的文章

 

随机推荐