一种组播报文传输方法、位转发路由器及存储介质与流程

文档序号:31272712发布日期:2022-08-26 21:33阅读:104来源:国知局
一种组播报文传输方法、位转发路由器及存储介质与流程

1.本发明涉及无线通信技术领域,特别涉及一种组播报文传输方法、位转发路由器及存储介质。


背景技术:

2.组播作为一种与单播和广播并列的通信方式,通过使用特定的组播地址,将数据包传输到一个组播组内的所有的设备。当某一设备向一组设备发送数据时,不必向每个设备都发送该数据,而是将该数据发送到一个特定的组播地址,所有加入该组播组的设备均可以收到该数据。对发送端设备而言,数据只需发送一次即可以发送到所有接收者。利用组播技术可方便开展一些网络业务,包括电视直播、远程教育、远程医疗、网络电台、多媒体会议、视频监控等互联网的信息服务。
3.现有技术的不足在于,在ipv6(互联网协议第6版,internet protocol version6)网络承载组播流量时,在转发组播数据时报文头部空间不能充分利用。


技术实现要素:

4.本发明提供了一种组播报文传输方法、位转发路由器及存储介质,用以解决在转发组播数据时报文头部空间不能充分利用的问题。
5.本发明提供以下技术方案:
6.一种组播报文传输方法,包括:
7.bfr接收ip组播报文;
8.bfr进行组播报文复制,进行ipv6 bier报文封装并转发,其中,所述ipv6bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra。
9.实施中,在ipv6扩展报文头部位置通过在destination option header增加一种类型option来设置所述ipv6 bier报文头部。
10.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
11.bsl、sd、si、rsv、ttl、entropy、dscp、ver、oam、bitstring。
12.实施中,所述ipv6 bier报文包括以下设置之一或者其组合:
13.用显式的bsl、sd以及si替换bift-id字段;
14.显式bsl字段标识bitstring长度;
15.原有bsl字段设置为保留字段;
16.tc设置为保留字段;
17.s flag设置为保留字段;
18.nibble设置为保留字段;
19.proto设置为保留字段;
20.bfir-id设置为保留字段。
21.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
22.bsl为bitstring的长度;
23.sd为bier子域标识;
24.si为bier集合标识;
25.ttl为bier报文生命周期值;
26.ver为协议版本号;
27.entropy为用于支持ecmp路径选择;
28.oam为用于bier转发性能测量标识;
29.rsv为保留位,当前不用缺省为0;
30.dscp为标识差分服务,通过编码值来区分优先级;
31.bitstirng为用来标识该bier域出口节点的位集合。
32.实施中,进一步包括:
33.i-pmsi和s-pmsi ad路由的pta属性中mpls label字段值的设置为0。
34.实施中,所述ipv6源地址为128bit的字段;
35.网络前缀为bfir节点网络标识,和/或,业务id为l3vpn、l2vpn或evpn的业务id。
36.实施中,设置为bfir的网络前缀以及业务id的ipv6源地址是使用bgp属性来携带的。
37.一种组播报文传输方法,包括:
38.bfr接收ipv6 bier报文,其中,所述ipv6 bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra;
39.bfr根据网络前缀或业务id、bfr的mpra之一或者其组合对所述ipv6bier报文进行处理。
40.实施中,在ipv6扩展报文头部位置通过在destination option header增加一种类型option来设置所述ipv6 bier报文头部。
41.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
42.bsl、sd、si、rsv、ttl、entropy、dscp、ver、oam、bitstring。
43.实施中,所述ipv6 bier报文包括以下设置之一或者其组合:
44.用显式的bsl、sd以及si替换bift-id字段;
45.显式bsl字段标识bitstring长度;
46.原有bsl字段设置为保留字段;
47.tc设置为保留字段;
48.s flag设置为保留字段;
49.nibble设置为保留字段;
50.proto设置为保留字段;
51.bfir-id设置为保留字段。
52.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
53.bsl为bitstring的长度;
54.sd为bier子域标识;
55.si为bier集合标识;
56.ttl为bier报文生命周期值;
57.ver为协议版本号;
58.entropy为用于支持ecmp路径选择;
59.oam为用于bier转发性能测量标识;
60.rsv为保留位,当前不用缺省为0;
61.dscp为标识差分服务,通过编码值来区分优先级;
62.bitstirng为用来标识该bier域出口节点的位集合。
63.实施中,进一步包括:
64.i-pmsi和s-pmsi ad路由的pta属性中mpls label字段值的设置为0。
65.实施中,所述ipv6源地址为128bit的字段;
66.网络前缀为bfir节点网络标识,和/或,业务id为l3vpn、l2vpn或evpn的业务id。
67.实施中,设置为bfir的网络前缀以及业务id的ipv6源地址是使用bgp属性来携带的。
68.实施中,bfr根据网络前缀或业务id、bfr的mpra之一或者其组合对所述ipv6 bier报文进行处理,包括以下处理之一或者其组合:
69.根据ipv6 bier报文的bfr的mpra查找单播路由表,在匹配本地组播策略保留地址成功后,解析ipv6-bier报文;
70.根据bier报头中的信息查找特定的bift表,判断本节点是否为bfer,如为bfer,解封装payload的内层组播报文,根据业务id信息查找对应的组播路由表,进行相关的复制转发;如为普通bfr,则查找bift表进行bier复制转发,其中,ipv6目的地址设置为下一跳的mpra,ipv6源地址设置不变。
71.一种bfr,包括:
72.处理器,用于读取存储器中的程序,执行下列过程:
73.接收ip组播报文;
74.进行组播报文复制,进行ipv6 bier报文封装并转发,其中,所述ipv6 bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra;
75.收发机,用于在处理器的控制下接收和发送数据。
76.实施中,在ipv6扩展报文头部位置通过在destination option header增加一种类型option来设置所述ipv6 bier报文头部。
77.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
78.bsl、sd、si、rsv、ttl、entropy、dscp、ver、oam、bitstring。
79.实施中,所述ipv6 bier报文包括以下设置之一或者其组合:
80.用显式的bsl、sd以及si替换bift-id字段;
81.显式bsl字段标识bitstring长度;
82.原有bsl字段设置为保留字段;
83.tc设置为保留字段;
84.s flag设置为保留字段;
85.nibble设置为保留字段;
86.proto设置为保留字段;
87.bfir-id设置为保留字段。
88.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
89.bsl为bitstring的长度;
90.sd为bier子域标识;
91.si为bier集合标识;
92.ttl为bier报文生命周期值;
93.ver为协议版本号;
94.entropy为用于支持ecmp路径选择;
95.oam为用于bier转发性能测量标识;
96.rsv为保留位,当前不用缺省为0;
97.dscp为标识差分服务,通过编码值来区分优先级;
98.bitstirng为用来标识该bier域出口节点的位集合。
99.实施中,进一步包括:
100.i-pmsi和s-pmsi ad路由的pta属性中mpls label字段值的设置为0。
101.实施中,所述ipv6源地址为128bit的字段;
102.网络前缀为bfir节点网络标识,和/或,业务id为l3vpn、l2vpn或evpn的业务id。
103.实施中,设置为bfir的网络前缀以及业务id的ipv6源地址是使用bgp属性来携带的。
104.一种bfr,包括:
105.第一接收模块,用于接收ip组播报文;
106.第一处理模块,用于进行组播报文复制,进行ipv6 bier报文封装并转发,其中,所述ipv6 bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra。
107.实施中,第一处理模块进一步用于在ipv6扩展报文头部位置通过在destination option header增加一种类型option来设置所述ipv6 bier报文头部。
108.实施中,第一处理模块进一步用于处理包括以下信息之一或者其组合的所述ipv6 bier报文:
109.bsl、sd、si、rsv、ttl、entropy、dscp、ver、oam、bitstring。
110.实施中,第一处理模块进一步用于处理包括以下设置之一或者其组合的所述ipv6 bier报文:
111.用显式的bsl、sd以及si替换bift-id字段;
112.显式bsl字段标识bitstring长度;
113.原有bsl字段设置为保留字段;
114.tc设置为保留字段;
115.s flag设置为保留字段;
116.nibble设置为保留字段;
117.proto设置为保留字段;
118.bfir-id设置为保留字段。
119.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
120.bsl为bitstring的长度;
121.sd为bier子域标识;
122.si为bier集合标识;
123.ttl为bier报文生命周期值;
124.ver为协议版本号;
125.entropy为用于支持ecmp路径选择;
126.oam为用于bier转发性能测量标识;
127.rsv为保留位,当前不用缺省为0;
128.dscp为标识差分服务,通过编码值来区分优先级;
129.bitstirng为用来标识该bier域出口节点的位集合。
130.实施中,第一处理模块进一步用于将i-pmsi和s-pmsi ad路由的pta属性中mpls label字段值的设置为0。
131.实施中,所述ipv6源地址为128bit的字段;
132.网络前缀为bfir节点网络标识,和/或,业务id为l3vpn、l2vpn或evpn的业务id。
133.实施中,设置为bfir的网络前缀以及业务id的ipv6源地址是使用bgp属性来携带的。
134.一种bfr,包括:
135.处理器,用于读取存储器中的程序,执行下列过程:
136.接收ipv6 bier报文,其中,所述ipv6 bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra;
137.根据网络前缀或业务id、bfr的mpra之一或者其组合对所述ipv6 bier报文进行处理;
138.收发机,用于在处理器的控制下接收和发送数据。
139.实施中,在ipv6扩展报文头部位置通过在destination option header增加一种类型option来设置所述ipv6 bier报文头部。
140.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
141.bsl、sd、si、rsv、ttl、entropy、dscp、ver、oam、bitstring。
142.实施中,所述ipv6 bier报文包括以下设置之一或者其组合:
143.用显式的bsl、sd以及si替换bift-id字段;
144.显式bsl字段标识bitstring长度;
145.原有bsl字段设置为保留字段;
146.tc设置为保留字段;
147.s flag设置为保留字段;
148.nibble设置为保留字段;
149.proto设置为保留字段;
150.bfir-id设置为保留字段。
151.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
152.bsl为bitstring的长度;
153.sd为bier子域标识;
154.si为bier集合标识;
155.ttl为bier报文生命周期值;
156.ver为协议版本号;
157.entropy为用于支持ecmp路径选择;
158.oam为用于bier转发性能测量标识;
159.rsv为保留位,当前不用缺省为0;
160.dscp为标识差分服务,通过编码值来区分优先级;
161.bitstirng为用来标识该bier域出口节点的位集合。
162.实施中,进一步包括:
163.i-pmsi和s-pmsi ad路由的pta属性中mpls label字段值的设置为0。
164.实施中,所述ipv6源地址为128bit的字段;
165.网络前缀为bfir节点网络标识,和/或,业务id为l3vpn、l2vpn或evpn的业务id。
166.实施中,设置为bfir的网络前缀以及业务id的ipv6源地址是使用bgp属性来携带的。
167.实施中,bfr根据网络前缀或业务id、bfr的mpra之一或者其组合对所述ipv6 bier报文进行处理,包括以下处理之一或者其组合:
168.根据ipv6 bier报文的bfr的mpra查找单播路由表,在匹配本地组播策略保留地址成功后,解析ipv6-bier报文;
169.根据bier报头中的信息查找特定的bift表,判断本节点是否为bfer,如为bfer,解封装payload的内层组播报文,根据业务id信息查找对应的组播路由表,进行相关的复制转发;如为普通bfr,则查找bift表进行bier复制转发,其中,ipv6目的地址设置为下一跳的mpra,ipv6源地址设置不变。
170.一种bfr,包括:
171.第二接收模块,用于接收ipv6 bier报文,其中,所述ipv6 bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra;
172.第二处理模块,用于根据网络前缀或业务id、bfr的mpra之一或者其组合对所述ipv6 bier报文进行处理。
173.实施中,第二接收模块进一步用于接收的所述ipv6 bier报文头部是在ipv6扩展报文头部位置通过在destination option header增加一种类型option来设置的。
174.实施中,第二接收模块进一步用于接收包括以下信息之一或者其组合的所述ipv6 bier报文:
175.bsl、sd、si、rsv、ttl、entropy、dscp、ver、oam、bitstring。
176.实施中,第二接收模块进一步用于接收包括以下设置之一或者其组合的所述ipv6 bier报文:
177.用显式的bsl、sd以及si替换bift-id字段;
178.显式bsl字段标识bitstring长度;
179.原有bsl字段设置为保留字段;
180.tc设置为保留字段;
181.s flag设置为保留字段;
182.nibble设置为保留字段;
183.proto设置为保留字段;
184.bfir-id设置为保留字段。
185.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
186.bsl为bitstring的长度;
187.sd为bier子域标识;
188.si为bier集合标识;
189.ttl为bier报文生命周期值;
190.ver为协议版本号;
191.entropy为用于支持ecmp路径选择;
192.oam为用于bier转发性能测量标识;
193.rsv为保留位,当前不用缺省为0;
194.dscp为标识差分服务,通过编码值来区分优先级;
195.bitstirng为用来标识该bier域出口节点的位集合。
196.实施中,i-pmsi和s-pmsi ad路由的pta属性中mpls label字段值的设置为0。
197.实施中,所述ipv6源地址为128bit的字段;
198.网络前缀为bfir节点网络标识,和/或,业务id为l3vpn、l2vpn或evpn的业务id。
199.实施中,第二接收模块进一步用于接收使用bgp属性来携带的设置为bfir的网络前缀以及业务id的ipv6源地址。
200.实施中,第二处理模块进一步用于在根据网络前缀或业务id、bfr的mpra之一或者其组合对所述ipv6 bier报文进行处理时,包括以下处理之一或者其组合:
201.根据ipv6 bier报文的bfr的mpra查找单播路由表,在匹配本地组播策略保留地址成功后,解析ipv6-bier报文;
202.根据bier报头中的信息查找特定的bift表,判断本节点是否为bfer,如为bfer,解封装payload的内层组播报文,根据业务id信息查找对应的组播路由表,进行相关的复制转发;如为普通bfr,则查找bift表进行bier复制转发,其中,ipv6目的地址设置为下一跳的mpra,ipv6源地址设置不变。
203.一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述组播报文传输方法的计算机程序。
204.本发明有益效果如下:
205.本发明实施例提供的技术方案中,所述ipv6 bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra,由于ipv6源地址划分前缀部分和业务id标识部分,组播应用实例(mvpn/evpn等)分配业务id标识,组播接收者设备可以根据ipv6源地址直接对应指定的组播应用实例。由于bier封装简化并嵌入ipv6头部封装,形成基于ipv6的bier转发模式。由于ipv6目的地址单独规划用于组播ipv6bier转发预留,可在ipv6网络中插花部署bier转发。
206.由于bfr节点接收到该报文时识别目的地址为本节点发布的mpra,就可以查询ipv6 bier头部进行组播转发,组播数据转发时由于因为源地址已经包含了业务id,因此不再需要携带vpn标签,也因而避免了占用32bit报文头部空间。
207.进一步的,至少还有以下效果之一:
bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra。
238.图4为bfr的组播报文传输方法实施流程示意图,如图所示,包括:
239.步骤401、bfr接收ipv6 bier报文,其中,所述ipv6 bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra;
240.步骤402、bfr根据网络前缀或业务id、bfr的mpra之一或者其组合对所述ipv6 bier报文进行处理。
241.首先对ipv6 bier报文的实施进行说明。
242.实施中,在ipv6扩展报文头部位置通过在destination option header增加一种类型option来设置所述ipv6 bier报文头部。
243.图5为bier ipv6头部结构示意图,如图所示,在本发明实施例给出的ipv6bier组播方案中,bier ipv6头部在ipv6扩展报文头部位置选择destination option header(目的选项头部),新增一种类型option,继承已有ipv6扩展头部定义的属性和顺序,仅改变扩展头部内部数据。
244.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
245.bsl、sd、si、rsv、ttl、entropy、dscp、ver、oam、bitstring。
246.具体实施中,所述ipv6 bier报文包括以下设置之一或者其组合:
247.用显式的bsl、sd以及si替换bift-id字段;
248.显式bsl字段标识bitstring长度;
249.原有bsl字段设置为保留字段;
250.tc设置为保留字段;
251.s flag设置为保留字段;
252.nibble设置为保留字段;
253.proto设置为保留字段;
254.bfir-id设置为保留字段。
255.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
256.bsl为bitstring的长度;
257.sd为bier子域标识;
258.si为bier集合标识;
259.ttl为bier报文生命周期值;
260.ver为协议版本号;
261.entropy为用于支持ecmp路径选择;
262.oam为用于bier转发性能测量标识;
263.rsv为保留位,当前不用缺省为0;
264.dscp为标识差分服务,通过编码值来区分优先级;
265.bitstirng为用来标识该bier域出口节点的位集合。
266.具体的,图6为ipv6 bier报文格式示意图,如图所示,基于ipv6的bier头部格式不是完全继承现有报文section(章节、段落)2定义的bier头部,而是基于ipv6头部已有格式定义进行调整,具体定义可以如下:
267.bsl:表示bitstring的长度(log2(k)-5),既用作数据面转发时根据bsl、sd、si字段确定bier转发表,也用作数据面转发及离线报文分析时校验g-bier头部及选项长度的正确性。
268.sd:子域(sub-domain),bier域中的独立子域。
269.si:集标识(set identifier),当使用的bsl长度不足以包括一个sub-domain所有节点的bfr-id时,需要分不同的集合,则不同集合使用不同的si来标识。
270.bitstirng:位串,用来标识该bier域出口节点的位集合,同sd、si表示一组bfer路由器。
271.bift-id字段用显式的bsl/sd/si替换,减少一次映射,显式bsl字段同时标识bitstring长度,原有bsl字段不再使用设置为保留字段;其中,不同的bitstring需要在不同的报文中转发,一个bitstring对应于一个《sd,bsl,si》,sd是bier的sub-domain(子域),bsl是封装头的bitstringlength(位串长度),si是子集标识(setidentifier),子域sd可以划分多个子集,并用si标识。
272.tc(传输等级,traffic class)与ipv6头部的traffic class(传输等级)字段含义重复,不再使用设置为保留字段;
273.s flag(s标志)、nibble(半字节)仅与mpls转发相关,不再使用设置为保留字段;
274.proto(协议)与扩展头部的next header(下一跳头部)含义重复,不再使用设置为保留字段;
275.bfir-id与ipv6 source address(源地址)含义重复,不再使用设置为保留字段;
276.ttl:同mpls封装的ttl的使用,具体实施可以参见参考rfc3032。
277.entropy:支持ecmp,相同的entropy+bitstring,选择相同的路径。
278.dscp:differentiated service codepoint,差分服务代码点,通过编码值来区分优先级。
279.ttl(存活时间,time to live)、entropy(信息熵)、dscp(区分服务码点,diffserv code point)虽然ipv6头部也有对应字段,但bier头部定义中可仅应用于组播,继续使用。
280.ver:表示版本号,当前值为0表示实验中的版本。
281.oam:缺省为0,可用于performance measurement(pm)等oam功能,不影响转发和qos。
282.rsv(reserved):保留位,当前不用缺省为0。rsv与reserved都标识保留位,因为空间表示有限制所以在图中标识不同。
283.本发明实施例中的ipv6 bier方案对ipv6源和目的地址做了定义如下:
284.ipv6目的地址作为ipv6 bier下一跳的mpra(组播策略保留地址,multicast policy reserved address),采用单独规划的ip地址,与接口loopback(环回)口地址段分开,便于安全策略配置部署。bier转发路由器(bfr)上需要本地配置专门用于bier转发的ipv6地址,并通过控制面消息发布本节点的该ipv6地址,以通知其它邻居在向本节点发送ipv6 bier报文时使用该ipv6地址。ipv6 bier报文转发时将下一跳bfr地址设置为对应该节点的mpra,这样下一跳bfr节点接收到该报文时识别目的地址为本节点发布的mpra,就可以查询ipv6 bier头部进行组播转发。
285.实施中,所述ipv6源地址为128bit的字段;
286.网络前缀为bfir节点网络标识,和/或,业务id为l3vpn、l2vpn或evpn的业务id。
287.实施中,进一步包括:
288.i-pmsi和s-pmsi ad路由的pta属性中mpls label字段值的设置为0。
289.具体的,ipv6源地址引入网络编程思想,把128bit的地址分为前缀和业务标识两个部分,前缀部分作为bfir节点网络标识、业务标识部分作为l3vpn(3层vpn)、l2vpn(2层vpn)、evpn(以太网vpn,ethernet vpn)等业务id。ipv6 bier报文转发不再使用单独的vpn label字段,而是使用ipv6源地址来标识mvpn实例。从控制消息上看,通过使用新的bgp属性通告相应的bfir前缀和业务id,前述x-pmsi ad路由的pta属性中mpls label字段值则可以设置为0。
290.图7为ipv6 bier报文传输路径示意图,如图所示,用于mvpn或evpn的l3组播时,出口pe节点由于需要支持根据选定的umh(上游组播跳,upstream multicast hop)进行组播rpf(逆向路径转发,reverse path forwarding)检查,因此不仅需要知道ipv6 bier报文属于哪个mvpn实例,还需要知道报文来自于哪个入口pe,一个ipv6源地址可以同时包含这两部分信息,具体的说,报文来自于哪个入口pe是ipv6源地址的前缀部分,报文属于哪个mvpn实例则是ipv6源地址的业务id部分,但这个业务id要以特定的节点作为上下文。
291.使用ipv6源地址来标识mvpn实例,可以进一步推广到标识evpn实例、用于evpn组播或者evpn同网段的bum(广播、未知单播、组播,broadcast&unknown-unicast&multicast)广播。在用于evpn同网段的bum广播时,租户的各nve(网络虚拟边缘节点,network virtrualization edge)节点只需要知道收到的报文属于哪个intra-subnet(子网内)的evi(以太虚拟专用网实例,evpn instance)(或intra-subnet的租户,或bridge-domain(桥域)),而不需要rpf检查,即不需要知道报文来自于哪个入口pe。这种情况下,只需要根据ipv6源地址中的id部分确定报文的vni(虚拟的网络标识,virtual network identifier)、再根据本地配置确定该vni(或该报文)属于哪个bridge-domain。
292.这种使用ipv6源地址前缀和业务id用于组播转发的方案,可以使用一个新的bgp属性来携带,该bgp属性作为参考可称为“multicast service identifier(组播业务标识符)”属性或简称msi属性。也即,实施中,设置为bfir的网络前缀以及业务id的ipv6源地址是使用bgp属性来携带的。
293.图8为bgp属性格式示意图,该新增属性定义格式可参考图8所示。
294.图9为msi属性的一个sub-sub-tlv格式示意图,其中用于定义ipv6源地址字段划分的格式定义可作为bgp新定义msi属性的一个sub-sub-tlv(子-子-tlv;tlv:类型、长度、值,tag、length、value)可参考图9所示。
295.根据以上的ipv6 bier格式定义,ipv6 bier的基本转发过程可以如下:
296.作为入口pe的bfir:
297.根据overlay层提供的ip组播表项及对应的sd、si、bsl和bitstring信息,进行组播报文复制,查找bift表(bier forwarding表),进行ipv6 bier报文封装并转发。其中,ipv6源地址(sa)设置为bfir的网络前缀+业务id,ipv6目的地址(da)设置为下一跳bfr的mpra。
298.中间节点:
299.实施中,bfr根据网络前缀或业务id、bfr的mpra之一或者其组合对所述ipv6 bier
报文进行处理,包括以下处理之一或者其组合:
300.根据ipv6 bier报文的bfr的mpra查找单播路由表,在匹配本地组播策略保留地址成功后,解析ipv6-bier报文;
301.根据bier报头中的信息查找特定的bift表,判断本节点是否为bfer,如为bfer,解封装payload的内层组播报文,根据业务id信息查找对应的组播路由表,进行相关的复制转发;如为普通bfr,则查找bift表进行bier复制转发,其中,ipv6目的地址设置为下一跳的mpra,ipv6源地址设置不变。
302.具体的,根据ipv6 bier报文da查找单播路由表,匹配本地组播策略保留地址,如匹配成功,需解析ipv6 bier报文。根据bier报头中的sd、si、bsl查找特定的bier forwarding表(bift),比对bitstring信息及本地bfr-id,判断本节点是否为bfer。如为bfer,解封装payload的内层组播报文,根据sa中的ms id(组播业务标识)信息查找对应的组播路由表,进行相关的复制转发。如果为普通bfr,则根据bitstring信息继续查找bift表进行bier复制转发,其中da设置为下一跳的组播策略保留地址,sa保持不变。
303.根据以上转发过程,下面以实例来对ipv6 bier组播方案的实施进行说明。
304.首先,设各设备ipv6 bier相关配置如下:
305.psr(省业务路由器,province service router)1台;pe 2台;mb(城域主干网,metro backbone)2台;sr(业务路由器,service router)3台。psr-pe-mb-sr节点的标识分别是a:1,b:1/b:2,c:1/c:2,d:1/d:2/d:3;
306.psr-pe-mb-sr节点的mpra分别是a:1::fffe,b:1::fffe/b:2::fffe,c:1::fffe/c:2::fffe,d:1::fffe/d:2::fffe/d:3::fffe;
307.psr上使用a:1:6:/112的地址标识bfir前缀,低16bit的1000标识mvpn id。
308.实施例1:
309.本场景下网络全部设备支持ipv6 bier组播方案。
310.图10为实施例1的ipv6 bier组播方案的实施示意图,如图所示,可以如下:
311.1.psr1 mvpn实例私网侧从ce(用户边缘路由器,customer edge)(未画出)收到ip组播报文,找到接收到组播报文的接口关联的mvpn转发实例,在mvpn转发实例中查找ip组播转发表,确定组播报文在ipv6 bier类型的pmsi隧道上转发,以及ipv6 bier pmsi隧道对应的ipv6 sa、bsl/sd/si、bitstring等参数,并按bsl/sd/si和bitstring查找本地ipv6 bier转发表,确定向ipv6 bier邻居pe1转发,转发封装sa=a:1:6::1000,da=b:1::fffe(邻居pe1的mpra)、bsl/sd/si=3/0/0(其中bsl=3表示256bits)、bitstring=0111,根据da进行ipv6单播转发。
312.2.pe1节点收到报文,报文的ipv6 da命中mpra b:1::fffe,按报文的bsl/sd/si和bitstring查找本地ipv6 bier转发表,确定向邻居mb1转发,转发封装sa不变,da=c:1::fffe(邻居mb1的mpra)、bsl/sd/si=3/0/0、bitstring=0111。
313.3.mb1节点收到报文,报文的ipv6 da命中mpra c:1::fffe,按报文的bsl/sd/si和bitstring查找本地ipv6 bier转发表,确定向邻居sr1/sr2/sr3复制转发,以sr1为例,转发封装sa不变,da=d:1::fffe(邻居sr1的mpra)、bsl/sd/si=3/0/0、bitstring=0001。向sr2/sr3转发的报文封装类似,不再赘述(图中给出向sr3转发的报文格式)。
314.4.sr1节点收到报文,报文的ipv6 da命中mrpa d:1::fffe,并且bit string 0001
中置位1的bit对应的bfr-id是sr1自己的bfr-id。ipv6 bier解封装,同时校验ipv6 sa前缀部分的bfir是否通过rpf检查,查找mvpn id对应的本地mvpn实例,报文payload进入对应的mvpn转发实例进行私网ip组播转发。sr2/sr3节点的报文处理过程类似,不再赘述。
315.实施例2:
316.本场景中,非分支节点不支持ipv6 bier组播方案。
317.图11为实施例2的ipv6 bier组播方案的实施示意图,如图所示,可以如下:
318.1.psr1 mvpn实例私网侧从ce(未画出)收到ip组播报文,找到接收到组播报文的接口关联的mvpn转发实例,在mvpn转发实例中查找ip组播转发表,确定组播报文在ipv6 bier类型的pmsi隧道上转发,以及ipv6 bier pmsi隧道对应的ipv6 sa、bsl/sd/si、bitstring等参数,并按bsl/sd/si和bitstring查找本地ipv6 bier转发表,由于单播路由的下一跳pe1为non-bfr即不支持ipv6 bier的节点,因此确定直接向ipv6 bier邻居即下一跳bfr mb1转发,转发封装sa=a:1:6::1000,da=c:1::fffe(非直连邻居mb1的mpra)、bsl/sd/si=3/0/0(其中bsl=3表示256bits)、bitstring=0111,根据da进行ipv6单播转发。
319.2.mb1/sr1/sr2/sr3节点的报文转发和处理过程与实施例1场景相同。
320.实施例3:
321.本场景中,分支节点不支持ipv6 bier组播方案。
322.图12为实施例3的ipv6 bier组播方案的实施示意图,如图所示,可以如下:
323.1.psr1节点的报文封装和转发过程与第一种场景相同.
324.2.pe1节点收到报文,报文的ipv6 da命中mpra b:1::fffe,按报文的bsl/sd/si和bitstring查找本地ipv6 bier转发表,由于单播路由的下一跳mb1为non-bfr即不支持ipv6 bier的节点,因此确定直接向ipv6 bier邻居即下一跳bfr sr1/sr2/sr3进行复制并转发,以sr1为例,转发封装sa不变,da=d:1::fffe(邻居sr1的mpra)、bsl/sd/si=3/0/0、bitstring=0001。向sr2/sr3转发的报文封装类似,不再赘述。
325.这种场景由于mb1为分支点不支持ipv6 bier组播复制,造成实际组播流量从pe1就进行复制并分别向sr1/sr2/sr3转发,使得pe1-mb1路径组播流量出现冗余。
326.3.sr1/sr2/sr3节点的报文转发和处理过程与实施例1场景相同。
327.基于同一发明构思,本发明实施例中还提供了一种bfr、及计算机可读存储介质,由于这些设备解决问题的原理与组播报文传输方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
328.在实施本发明实施例提供的技术方案时,可以按如下方式实施。
329.图13为bfr结构一示意图,如图所示,bfr中包括:
330.处理器1300,用于读取存储器1320中的程序,执行下列过程:
331.接收ip组播报文;
332.进行组播报文复制,进行ipv6 bier报文封装并转发,其中,所述ipv6 bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra;
333.收发机1310,用于在处理器1300的控制下接收和发送数据。
334.实施中,在ipv6扩展报文头部位置通过在destination option header增加一种类型option来设置所述ipv6 bier报文头部。
335.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
336.bsl、sd、si、rsv、ttl、entropy、dscp、ver、oam、bitstring。
337.实施中,所述ipv6 bier报文包括以下设置之一或者其组合:
338.用显式的bsl、sd以及si替换bift-id字段;
339.显式bsl字段标识bitstring长度;
340.原有bsl字段设置为保留字段;
341.tc设置为保留字段;
342.s flag设置为保留字段;
343.nibble设置为保留字段;
344.proto设置为保留字段;
345.bfir-id设置为保留字段。
346.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
347.bsl为bitstring的长度;
348.sd为bier子域标识;
349.si为bier集合标识;
350.ttl为bier报文生命周期值;
351.ver为协议版本号;
352.entropy为用于支持ecmp路径选择;
353.oam为用于bier转发性能测量标识;
354.rsv为保留位,当前不用缺省为0;
355.dscp为标识差分服务,通过编码值来区分优先级;
356.bitstirng为用来标识该bier域出口节点的位集合。
357.实施中,进一步包括:
358.i-pmsi和s-pmsi ad路由的pta属性中mpls label字段值的设置为0。
359.实施中,所述ipv6源地址为128bit的字段;
360.网络前缀为bfir节点网络标识,和/或,业务id为l3vpn、l2vpn或evpn的业务id。
361.实施中,设置为bfir的网络前缀以及业务id的ipv6源地址是使用bgp属性来携带的。
362.其中,在图13中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1300代表的一个或多个处理器和存储器1320代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1310可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器1300负责管理总线架构和通常的处理,存储器1320可以存储处理器1300在执行操作时所使用的数据。
363.本发明实施例中还提供了一种bfr,包括:
364.第一接收模块,用于接收ip组播报文;
365.第一处理模块,用于进行组播报文复制,进行ipv6 bier报文封装并转发,其中,所述ipv6 bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra。
366.实施中,第一处理模块进一步用于在ipv6扩展报文头部位置通过在destination option header增加一种类型option来设置所述ipv6 bier报文头部。
367.实施中,第一处理模块进一步用于处理包括以下信息之一或者其组合的所述ipv6 bier报文:
368.bsl、sd、si、rsv、ttl、entropy、dscp、ver、oam、bitstring。
369.实施中,第一处理模块进一步用于处理包括以下设置之一或者其组合的所述ipv6 bier报文:
370.用显式的bsl、sd以及si替换bift-id字段;
371.显式bsl字段标识bitstring长度;
372.原有bsl字段设置为保留字段;
373.tc设置为保留字段;
374.s flag设置为保留字段;
375.nibble设置为保留字段;
376.proto设置为保留字段;
377.bfir-id设置为保留字段。
378.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
379.bsl为bitstring的长度;
380.sd为bier子域标识;
381.si为bier集合标识;
382.ttl为bier报文生命周期值;
383.ver为协议版本号;
384.entropy为用于支持ecmp路径选择;
385.oam为用于bier转发性能测量标识;
386.rsv为保留位,当前不用缺省为0;
387.dscp为标识差分服务,通过编码值来区分优先级;
388.bitstirng为用来标识该bier域出口节点的位集合。
389.实施中,第一处理模块进一步用于将i-pmsi和s-pmsi ad路由的pta属性中mpls label字段值的设置为0。
390.实施中,所述ipv6源地址为128bit的字段;
391.网络前缀为bfir节点网络标识,和/或,业务id为l3vpn、l2vpn或evpn的业务id。
392.实施中,设置为bfir的网络前缀以及业务id的ipv6源地址是使用bgp属性来携带的。
393.为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
394.图14为bfr结构二示意图,如图所示,bfr中包括:
395.处理器1400,用于读取存储器1420中的程序,执行下列过程:
396.接收ipv6 bier报文,其中,所述ipv6 bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra;
397.根据网络前缀或业务id、bfr的mpra之一或者其组合对所述ipv6 bier报文进行处
理;
398.收发机1410,用于在处理器1400的控制下接收和发送数据。
399.实施中,在ipv6扩展报文头部位置通过在destination option header增加一种类型option来设置所述ipv6 bier报文头部。
400.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
401.bsl、sd、si、rsv、ttl、entropy、dscp、ver、oam、bitstring。
402.实施中,所述ipv6 bier报文包括以下设置之一或者其组合:
403.用显式的bsl、sd以及si替换bift-id字段;
404.显式bsl字段标识bitstring长度;
405.原有bsl字段设置为保留字段;
406.tc设置为保留字段;
407.s flag设置为保留字段;
408.nibble设置为保留字段;
409.proto设置为保留字段;
410.bfir-id设置为保留字段。
411.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
412.bsl为bitstring的长度;
413.sd为bier子域标识;
414.si为bier集合标识;
415.ttl为bier报文生命周期值;
416.ver为协议版本号;
417.entropy为用于支持ecmp路径选择;
418.oam为用于bier转发性能测量标识;
419.rsv为保留位,当前不用缺省为0;
420.dscp为标识差分服务,通过编码值来区分优先级;
421.bitstirng为用来标识该bier域出口节点的位集合。
422.实施中,进一步包括:
423.i-pmsi和s-pmsi ad路由的pta属性中mpls label字段值的设置为0。
424.实施中,所述ipv6源地址为128bit的字段;
425.网络前缀为bfir节点网络标识,和/或,业务id为l3vpn、l2vpn或evpn的业务id。
426.实施中,设置为bfir的网络前缀以及业务id的ipv6源地址是使用bgp属性来携带的。
427.实施中,bfr根据网络前缀或业务id、bfr的mpra之一或者其组合对所述ipv6 bier报文进行处理,包括以下处理之一或者其组合:
428.根据ipv6 bier报文的bfr的mpra查找单播路由表,在匹配本地组播策略保留地址成功后,解析ipv6-bier报文;
429.根据bier报头中的信息查找特定的bift表,判断本节点是否为bfer,如为bfer,解封装payload的内层组播报文,根据业务id信息查找对应的组播路由表,进行相关的复制转发;如为普通bfr,则查找bift表进行bier复制转发,其中,ipv6目的地址设置为下一跳的
mpra,ipv6源地址设置不变。
430.其中,在图14中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1400代表的一个或多个处理器和存储器1420代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1410可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器1400负责管理总线架构和通常的处理,存储器1420可以存储处理器1400在执行操作时所使用的数据。
431.本发明实施例中还提供了一种bfr,包括:
432.第二接收模块,用于接收ipv6 bier报文,其中,所述ipv6 bier报文中ipv6源地址设置为bfir的网络前缀以及业务id,ipv6目的地址设置为下一跳bfr的mpra;
433.第二处理模块,用于根据网络前缀或业务id、bfr的mpra之一或者其组合对所述ipv6 bier报文进行处理。
434.实施中,第二接收模块进一步用于接收的所述ipv6 bier报文头部是在ipv6扩展报文头部位置通过在destination option header增加一种类型option来设置的。
435.实施中,第二接收模块进一步用于接收包括以下信息之一或者其组合的所述ipv6 bier报文:
436.bsl、sd、si、rsv、ttl、entropy、dscp、ver、oam、bitstring。
437.实施中,第二接收模块进一步用于接收包括以下设置之一或者其组合的所述ipv6 bier报文:
438.用显式的bsl、sd以及si替换bift-id字段;
439.显式bsl字段标识bitstring长度;
440.原有bsl字段设置为保留字段;
441.tc设置为保留字段;
442.s flag设置为保留字段;
443.nibble设置为保留字段;
444.proto设置为保留字段;
445.bfir-id设置为保留字段。
446.实施中,所述ipv6 bier报文包括以下信息之一或者其组合:
447.bsl为bitstring的长度;
448.sd为bier子域标识;
449.si为bier集合标识;
450.ttl为bier报文生命周期值;
451.ver为协议版本号;
452.entropy为用于支持ecmp路径选择;
453.oam为用于bier转发性能测量标识;
454.rsv为保留位,当前不用缺省为0;
455.dscp为标识差分服务,通过编码值来区分优先级;
456.bitstirng为用来标识该bier域出口节点的位集合。
457.实施中,i-pmsi和s-pmsi ad路由的pta属性中mpls label字段值的设置为0。
458.实施中,所述ipv6源地址为128bit的字段;
459.网络前缀为bfir节点网络标识,和/或,业务id为l3vpn、l2vpn或evpn的业务id。
460.实施中,第二接收模块进一步用于接收使用bgp属性来携带的设置为bfir的网络前缀以及业务id的ipv6源地址。
461.实施中,第二处理模块进一步用于在根据网络前缀或业务id、bfr的mpra之一或者其组合对所述ipv6 bier报文进行处理时,包括以下处理之一或者其组合:
462.根据ipv6 bier报文的bfr的mpra查找单播路由表,在匹配本地组播策略保留地址成功后,解析ipv6-bier报文;
463.根据bier报头中的信息查找特定的bift表,判断本节点是否为bfer,如为bfer,解封装payload的内层组播报文,根据业务id信息查找对应的组播路由表,进行相关的复制转发;如为普通bfr,则查找bift表进行bier复制转发,其中,ipv6目的地址设置为下一跳的mpra,ipv6源地址设置不变。
464.为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
465.本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述组播报文传输方法的计算机程序。
466.具体实施可以参见组播报文传输方法的实施。
467.综上所述,本发明实施例提供的技术方案中,ipv6源地址划分前缀部分和业务id标识部分,组播应用实例(mvpn/evpn等)分配业务id标识,组播接收者设备根据ipv6源地址直接对应指定的组播应用实例。
468.bier封装简化并嵌入ipv6头部封装,形成基于ipv6的bier转发模式。
469.ipv6目的地址单独规划用于组播ipv6 bier转发预留,可在ipv6网络中插花部署bier转发。
470.可见,ipv6地址引入组播业务属性,扩展网络编程应用范围;
471.bier封装与ipv6扩展有效结合,充分利用ipv6丰富扩展能力;
472.可以使ipv6网络平滑升级部署。
473.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
474.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
475.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
476.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
477.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1