具体实施方式
本发明实施例通过对开放最短路径优先(Open Shortest Path First,OSPF)协议的扩展,使得MPLS-TP网络节点可以通过OSPF协议报文,收集MPLS-TP网络中LAG链路信息,对LAG链路信息进行管理。
OSPF协议是一种基于网络层的路由协议,其功能包含了路由网络拓扑发现,路由网络状态信息收集,以及路由计算,和网络状态动态监控的功能。OSPF流量工程(Traffic Engineer,TE)是开放最短路径优先协议的流量工程的扩展版本,与OSPF机制相同,通过扩展报文携带TE信息实现OSPF的流量工程的扩展。
OSPF协议共有5种报文,分别是:
1)Hello报文,用于邻居节点发现和维护;
2)数据库描述(Database Description)报文,在邻居节点建立后,初始路由链路状态信息在邻居节点之间的传递;
3)链路状态请求(Link State Request)报文,当路由器状态信息改变时,请求邻居路由器之间进行状态同步;
4)链路状态更新(Link State Update)报文,在邻居路由器之间响应状态同步请求消息;
5)链路状态确认(Link State Acknowledgment,LSA)报文,对收到的最新的LSA信息进行确认,保证LSA信息的可靠传送。
为便于进行OSPF扩展,IETF RFC2370定义了三种透明LSA用于传递各种链路状态信息,三种LSA的区别在于泛洪的范围不同,Type9用于链路内泛洪,Type10用于域内泛洪,Type11用于在整个自治系统内泛洪。RFC3630利用其中的Type10传递TE相关信息。本发明实施例通过扩展TELSA用来携带LAG属性信息。
OSPF TE的扩展TE LSA报文格式,如表1所示:
表1
为了收集MPLS-TP网络中LAG链路信息,本发明实施例通过TLV,即Type-Length-Value(类型-长度-值)的形式增加MPLS-TP网络的LAG属性信息。OSPF TE中的TLV格式如表2所示:
类型(1octet) |
长度(1octet) |
值(可变octets) |
表2
本发明实施例可以通过在现有TLV中相关的子TLV(Sub-TLV)来携带MPLS-TP网络的LAG属性信息。如在TE LSA报文的Link TLV中,包括如表3所示的Sub-TLV。
类型 | 描述 | 长度 |
1 | Link type | 1 |
2 | Link ID | 4 |
3 | Local Interface IP addr | 4 |
4 | Remote Interface IP addr | 4 |
5 | Traffic engineering metric | 4 |
6 | Maximum bandwidth | 4 |
7 | Maximum reservable bandwidth | 4 |
8 | Unreserved bandwidth | 32 |
9 | Administrative group | 4 |
表3
本发明实施例针对适用OAM的传输网络,如MPLS-TP网络,对OSPF协议可以采用如下的扩展方法中的任意一种:
1)在TE LSA报文中,定义新的TLV,即LAG TLV用来携带LAG属性信息:
如表4所示,LAG member amount用来标识LAG属性链路所包含的链路的个数,LAG element bandwidth用来标识LAG属性链路各个成员链路的带宽。
类型(3或保留值) |
长度(1octet) |
LAG member amount(1octet) |
LAG element1 bandwidth(1octet) |
LAGelement2 bandwidth(1octet) |
...... |
表4
2)在TE LSA报文的链路Link TLV中,定义新的Sub-TLV携带LAG属性信息,TLV与Sub-TLV之间的关系如表5所示。
表5
定义Sub.TLV为LAG member Sub-TLV,用来标识LAG属性链路所包含的链路的个数,LAG member Sub-TLV格式如表6所示。
子类型(10或保留值) |
长度(1octet) |
LAG member amount(1octet) |
表6
和/或定义Sub-TLV为LAG element bandwidth Sub-TLV,用来标识LAG属性链路各个成员链路的带宽,LAG element bandwidth Sub-TLV格式如表7所示。
子类型(11或保留值) |
长度(1octet) |
LAG element1bandwidth(1octet) |
LAG element2bandwidth(1octet) |
...... |
表7
3)在TE LSA报文的Link TLV中,定义LAG Sub-TLV携带LAG属性信息,LAG Sub-TLV的格式如表8所示,LAG member amount用来标识LAG属性链路所包含的链路的个数,LAG element bandwidth用来标识LAG属性链路各个成员链路的带宽。
类型(10或保留值) |
长度(1octet) |
LAG member amount(1octet) |
LAG element1bandwidth(1octet) |
LAG element2bandwidth(1octet) |
...... |
表8
4)定义新的LAG LSA报文格式,用该LAG LSA携带LAG属性信息,该LAG LSA为type10Opaque LSA,该LSA头格式如表9所示。
表9
在payload中扩展TLV用来标识LAG属性信息。例如可以:
(1)定义LAG TLV,该LAG TLV携带LAG属性及其相关信息,LAGTLV的格式如表10所示,LAG member amount用来标识LAG属性链路所包含的链路的个数,LAG element bandwidth用来标识LAG属性链路各个成员链路的带宽;
类型(10或保留值) |
长度(1octet) |
LAG member amount(1octet) |
LAG element1 bandwidth(1octet) |
LAG element2 bandwidth(1octet) |
...... |
表10
或者,(2)定义LAG member TLV,用来标识LAG属性链路所包含的链路的个数,LAG member TLV的格式如表11所示;
子类型(10或保留值) |
长度(1octet) |
LAG member amount(1octet) |
表11
和/或定义LAG element bandwidth TLV,用来标识LAG属性链路各个成员链路的带宽,LAG element bandwidth TLV的格式如表12所示。
子类型(11或保留值) |
长度(1octet) |
LAG element1bandwidth(1octet) |
LAG element2bandwidth(1octet) |
...... |
表12
OSPF协议报文的发送和接收规程均按照原协议的规定。
本发明实施例的OSPF LSA报文发送流程如图1所示,包括:
101:在网络初始化或网络LAG属性发生变化时,发送端构造OSPFLSA报文,并将构造好的OSPF LSA报文发送出去。所述OSPF LSA报文中携带以发送端为端点的LAG属性信息,所述LAG属性信息包括:LAG属性链路所包含的链路的个数和/或LAG属性链路各个成员链路的带宽。所述LAG属性信息可以携带在专用于传递LAG属性的LAG LSA的TLV中,或者以TLV的方式添加到TE LSA中,或者以Sub-TLV的方式添加到TE LSA中的Link属性中。
102:接收端接收OSPF LSA报文。
103:接收端根据所述OSPF LSA报文中的LAG属性,更新本地的数据库。
本发明实施例提出的实现链路聚合组信息管理的网络节点如图2所示,包括用于与其它网络节点进行交互的接口,还可以包括:
LAG信息发送模块201,用于在网络初始化或网络LAG属性发生变化时将本节点的LAG属性信息添加到将要发送到其它网络节点的OSPF LSA报文中。
LAG信息收集模块202,用于从所述接口接收的OSPF LSA报文中,提取出LAG属性信息。
该网络节点还可以包括:
LAG信息数据库203,用于存储所收到的LAG属性信息。所述LAG属性信息包括LAG属性链路所包含的链路的个数和/或LAG属性链路各个成员链路的带宽。
以上实施例都是以OSPF协议为例,实际也可以对其他三层网络协议进行类似的扩展,来实现本发明方案。本发明实施例提供的方案,可以在MPLS-TP网络或其他适用OAM的传输网络中实现LAG属性信息的收集,从而提高OAM对链路检测的正确性,为业务的服务质量的保证,流量工程的部署都具有重要的意义和作用。
本发明实施例或者其中的一部分,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,例如光盘,硬盘,软盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。