一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

路由生成方法、报文转发方法、转发设备及存储介质与流程

2022-06-11 17:10:33 来源:中国专利 TAG:


1.本技术实施例涉及路由技术领域,特别涉及一种路由生成方法、报文转发方法、转发设备及存储介质。


背景技术:

2.网络中的转发设备在接收到目的地为终端设备的流量时,需要基于预先生成的转发路由表来将流量转发至终端设备。该转发路由表中每个路由包括一个网络协议(internet protocol,ip)地址和与该ip地址对应的下一跳信息,以便于基于接收到的流量中携带的目的ip地址对应的下一跳信息来转发流量。任一转发设备上存储的各个路由通常是预先基于网络拓扑学习得到的。这种生成路由的方式导致转发设备上生成路由的灵活性较低。


技术实现要素:

3.本技术实施例提供了一种路由生成方法、报文转发方法、转发设备及存储介质,可以提高转发设备的配置的路由的灵活性。所述技术方案如下:
4.第一方面,提供了一种路由生成方法,该方法由通信网络中的转发设备执行,通信网络中还包括终端设备,在该方法中,该转发设备接收终端设备发送的第一报文,第一报文携带第一网络协议ip地址,第一ip地址为第一报文的源ip地址;该转发设备响应于接收到的第一报文中的第一ip地址,生成动态主机路由,动态主机路由包括第一ip地址以及第一ip地址对应的下一跳信息,第一ip地址对应的下一跳信息指示该转发设备发送目的地为终端设备的流量时所使用的下一跳的信息。
5.由此可知,在本技术实施例中,无需转发设备预先配置转发路由表中的路由,而是在接收到终端设备发送的流量后,基于流量中携带的源ip地址来动态生成针对该流量的回程流量的路由。也即是,本技术实施例提供了一种基于业务需求中产生的流量来动态生成路由的方式,提高了路由生成的灵活性。并且,由于是基于流量来动态生成针对该流量的回程流量的路由,因此转发路由表中仅仅需要存储需要的路由即可,无需预先配置一些不必要的路由,也减少了转发设备上的资源开销。
6.基于第一方面提供的路由生成方法,在一种可能的实现方式中,在该方法中,如果该转发设备使能了动态路由功能,则执行响应于接收到的第一报文中的第一ip地址,生成动态主机路由的步骤。
7.如果任意转发设备在接收到任意报文后均基于动态路由功能更新转发路由表,这样可能会导致流量转发的安全问题。因此,进一步地,在本技术实施例中,还可以预先使能哪些转发设备具有上述动态路由功能。
8.基于第一方面提供的路由生成方法,在一种可能的实现方式中,在该方法中,该转发设备发布路由通告报文,路由通报报文携带第一ip地址,路由通告报文指示其他设备将返回至终端设备的第二报文发送至该转发设备。
9.为了便于后续网络侧中的设备将返回给终端设备的流量直接基于该转发设备来发送,转发设备还可以发布路由通告报文,上述路由通告报文目的在于通告网络侧第一报文中携带的源ip地址暂时为该转发设备管辖网段内的ip地址,以便于网络侧将返回至终端设备的第二报文发送至该转发设备,由该转发设备将第二报文转发至终端设备。避免了终端设备上正在进行的业务的中断。
10.基于第一方面提供的路由生成方法,在一种可能的实现方式中,在该转发设备接收到第二报文的情况下,该转发设备基于动态主机路由发送第二报文,第二报文携带的目的ip地址为第一ip地址。
11.在生成了动态路由之后,如果接收到第二报文,便可基于该动态路由快速转发第二报文,提高了报文转发效率。
12.基于第一方面提供的路由生成方法,在一种可能的实现方式中,第一报文还携带有第一媒体接入控制mac地址,第一mac地址为第一报文的源mac地址。在该方法中,该转发设备将第一ip地址和第一mac地址之间的对应关系添加到本地地址解析协议arp表中。这种场景下,该转发设备基于动态主机路由发送第二报文的实现过程可以为:该转发设备基于第二报文携带的目的ip地址查询本地arp表,得到和第一ip地址对应的第一mac地址;该转发设备将第一mac地址封装在第二报文中;该转发设备基于动态主机路由发送封装后的第二报文。
13.为了便于后续转发设备能够将网络侧中的其他设备返回给终端设备的流量继续转发给终端设备,转发设备还可以将第一报文中携带的源ip和第一报文中携带的源mac添加到本地arp表中,以便于在接收到目的ip为第一报文中携带的源ip的第二报文时,能够基于本地arp表中和第一报文中携带的源ip对应的源mac,将该第一报文中携带的源ip对应的源mac封装在第二报文中,从而实现将第二报文转发至终端设备。
14.基于第一方面提供的路由生成方法,在一种可能的实现方式中,第一报文还携带第二ip地址和第二mac地址,第二ip地址为第一报文的目的ip地址,第二mac地址为第一报文的目的mac地址。这种场景下,在该方法中,在第二mac地址不是该转发设备的本机mac列表中的mac地址的情况下,该转发设备将第二mac地址作为动态mac地址添加到本机mac列表中,本机mac列表中包括多个属于该转发设备的mac地址;基于更新后的本机mac列表,该转发设备根据第二ip地址转发第一报文。
15.在本技术实施例中,如果转发设备接收到的第一报文携带的目的mac地址不是转发设备的本机mac地址,转发设备则可以将该目的mac地址作为动态mac地址添加到本机mac列表中,从而能够继续转发第一报文。该报文处理方法至少具有如下技术效果:
16.在转发设备是备bng的情况下,备bng和主bng之间不需要热备份便可继续转发原本转发给主bng的第一报文,如此便可降低备bng上的资源开销,同时也不会因为大量实时信息的备份而容易导致系统不稳定。此外,备bng和主bng之间也不需要框间冷备便可继续转发原本转发给主bng的第一报文,且该过程无需备bng重新拨号后,这样就不会导致由于主bng出现故障而导致终端设备上正在进行的业务中断。
17.在通信网络中只接入一台bng,无备份bng可用的场景下,如果bng设备故障,此时相关技术中将会引发用户业务中断,从而引起客户投诉。通过本技术实施例提供的报文转发方法可以把通信网络的一台业务路由器作为备份的转发设备,从而形成bng设备故障情
况下的备份路径,以完成第一报文的转发,实现了bng设备故障情况下用户业务不中断。并且,在该场景中,业务路由器无需购买用户授权(license)资源和额外的地址池资源,就可以临时承载故障后的用户流量。
18.基于第一方面提供的路由生成方法,在一种可能的实现方式中,在该方法中,在第二mac地址不是该转发设备的本机mac列表中mac地址的情况下,如果该转发设备使能了动态网关功能,则执行将第二mac地址作为动态mac地址添加到本机mac列表中的步骤。
19.基于第一方面提供的路由生成方法,在一种可能的实现方式中,在该方法中,在第二mac地址不是该转发设备的本机mac列表中mac地址的情况下,如果该转发设备没有使能动态网关功能,则该转发设备丢弃第一报文。
20.如果任意转发设备将接收到任意mac校验不通过的报文均通过上述动态mac地址的方式将该报文出去,这样可能会导致流量转发的安全问题。因此,进一步地,在本技术实施例中,还可以预先使能哪些转发设备具有上述动态网关的功能。对于没有使能动态网关功能的转发设备,如果接收到mac校验不通过的报文,此时则丢弃第一报文,从而提高流量转发的安全性。
21.基于第一方面提供的路由生成方法,在一种可能的实现方式中,该转发设备包括宽带网络网关bng或配置在核心网边缘的业务路由器。
22.本技术实施例提供的方法可以应用在存在备份bng的场景中,也可以应用在没有备份bng的场景中,提高了本技术实施例提供的方法的应用灵活性。
23.第二方面,提供了一种报文转发方法,该方法由通信网络中的转发设备执行,该通信网络中还包括终端设备。在该方法中,该转发设备接收终端设备发送的第一报文,第一报文携带第二网络协议ip地址和第二媒体接入控制mac地址,第二ip地址为第一报文的目的ip地址,第二mac地址为第二报文的目的mac地址;在第二地址不是该转发设备的本机mac列表中的mac地址的情况下,该转发设备将第二mac地址作为动态mac地址添加到本机mac列表中,本机mac列表中包括多个属于该转发设备的mac地址;基于更新后的本机mac列表,该转发设备根据第二ip地址转发第一报文。
24.在本技术实施例中,如果转发设备接收到的第一报文携带的目的mac地址不是转发设备的本机mac地址,转发设备则可以将该目的mac地址作为动态mac地址添加到本机mac列表中,从而能够继续转发第一报文。该报文处理方法至少具有如下技术效果:
25.在转发设备是备bng的情况下,备bng和主bng之间不需要热备份便可继续转发原本转发给主bng的第一报文,如此便可降低备bng上的资源开销,同时也不会因为大量实时信息的备份而容易导致系统不稳定。此外,备bng和主bng之间也不需要框间冷备便可继续转发原本转发给主bng的第一报文,且该过程无需备bng重新拨号后,这样就不会导致由于主bng出现故障而导致终端设备上正在进行的业务中断。
26.在通信网络中只接入一台bng,无备份bng可用的场景下,如果bng设备故障,此时相关技术中将会引发用户业务中断,从而引起客户投诉。通过本技术实施例提供的报文转发方法可以把通信网络的一台业务路由器作为备份的转发设备,从而形成bng设备故障情况下的备份路径,以完成第一报文的转发,实现了bng设备故障情况下用户业务不中断。并且,在该场景中,业务路由器无需购买用户授权(license)资源和额外的地址池资源,就可以临时承载故障后的用户流量。
27.基于第二方面提供的报文处理方法,在一种可能的实现方式中,在该方法中,在所述第一报文携带的目的mac地址不是所述转发设备的本机mac列表中mac地址的情况下,如果所述转发设备使能了动态网关功能,则执行将所述第一报文携带的目的mac地址作为动态mac地址添加到所述本机mac列表中的步骤。
28.基于第二方面提供的报文转发方法,在一种可能的实现方式中,在该方法中,在所述第一报文携带的目的mac地址不是所述转发设备的本机mac列表中mac地址的情况下,如果所述转发设备没有使能动态网关功能,则所述转发设备丢弃所述第一报文。
29.基于第二方面提供的报文转发方法,在一种可能的实现方式中,第一报文携带第一网络协议ip地址,第一ip地址为第一报文的源ip地址。这种场景下,在该方法中,该转发设备响应于接收到的第一报文中的第一ip地址,生成动态主机路由,动态主机路由包括第一ip地址以及第一ip地址对应的下一跳信息,第一ip地址对应的下一跳信息指示该转发设备发送目的地为终端设备的流量时所使用的下一跳的信息。
30.基于第二方面提供的报文转发方法,在一种可能的实现方式中,在该方法中,如果该转发设备使能了动态路由功能,则执行响应于接收到的第一报文中的第一ip地址,生成动态主机路由的步骤。
31.基于第二方面提供的路由生成方法,在一种可能的实现方式中,在该方法中,该转发设备发布路由通告报文,路由通报报文携带第一ip地址,路由通告报文指示其他设备将返回至终端设备的第二报文发送至该转发设备。
32.基于第二方面提供的路由生成方法,在一种可能的实现方式中,在该转发设备接收到第二报文的情况下,该转发设备基于动态主机路由发送第二报文,第二报文携带的目的ip地址为第一ip地址。
33.基于第二方面提供的路由生成方法,在一种可能的实现方式中,第一报文还携带有第一媒体接入控制mac地址,第一mac地址为第一报文的源mac地址。在该方法中,该转发设备将第一ip地址和第一mac地址之间的对应关系添加到本地地址解析协议arp表中。这种场景下,该转发设备基于动态主机路由发送第二报文的实现过程可以为:该转发设备基于第二报文携带的目的ip地址查询本地arp表,得到和第一ip地址对应的第一mac地址;该转发设备将第一mac地址封装在第二报文中;该转发设备基于动态主机路由发送封装后的第二报文。
34.第二方面提供的其他实现方式的技术效果均可以参考第一方面中相应的实现方式,在此不再赘述。
35.第三方面,提供了一种转发设备,所述转发设备具有实现上述第一方面或第二方面中方法行为的功能。所述转发设备包括至少一个模块,该至少一个模块用于实现上述第一方面或第二方面所提供的方法。
36.第四方面,提供了一种转发设备,所述转发设备的结构中包括处理器和存储器,所述存储器用于存储支持转发设备执行上述第一方面或第二方面所提供的方法的程序,以及存储用于实现上述第一方面或第二方面所提供的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
37.第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有
指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所提供的方法。
38.第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所提供的方法。
39.上述第三方面至第六方面所获得的技术效果与第一方面以及第二方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
40.图1是本技术实施例提供的一种通信网络的系统架构示意图;
41.图2是本技术实施例提供的一种宽带网络的系统架构示意图;
42.图3是本技术实施例提供的另一种宽带网络的系统架构示意图;
43.图4是本技术实施例提供的一种路由生成方法流程图;
44.图5是本技术实施例提供的一种报文转发方法流程图;
45.图6是本技术实施例提供的另一种报文转发方法流程图;
46.图7是本技术实施例提供的一种宽带网络中终端设备获取ip地址和mac地址的流程示意图;
47.图8是本技术实施例提供的一种备bng基于动态网关功能转发流量的示意图;
48.图9是本技术实施例提供的另一种转发报文的方法流程图;
49.图10是本技术实施例提供了一种转发设备的结构示意图;
50.图11是本技术实施例提供了另一种转发设备的结构示意图;
51.图12是本技术实施例提供了另一种转发设备的结构示意图。
具体实施方式
52.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
53.在对本技术实施例进行详细解释说明之前,先对本技术实施例的应用场景进行解释说明。
54.为了便于转发设备快速将流量转发至各个终端设备,转发设备需要预先在本地配置转发路由表,转发路由表中包括多个路由,每个路由中包括ip地址、下一跳信息以及掩码等内容。以便于转发设备在接收到携带目的ip地址的流量时,基于流量中携带的目的ip地址去命中转发路由表中路由,如果某条路由被命中,则基于命中的路由转发该流量。需要说明的是,本实施例涉及的终端设备可以为用户侧的终端设备,也可以为网络侧的终端设备。
55.目前转发路由表中的路由可以为直连的主机对应的路由,也称为“直连路由”,该直连路由可以直接配置。可选地,转发设备也可以基于路由协议从网络学习到各个路由,或者,预先直接在转发设备上配置各个路由。
56.本技术实施例提供的路由生成方式就应用于上述配置转发路由表中的路由的场景中。目的在于提供一种能够基于接收到的流量动态配置路由的方式,这样就无需预先配置、也无需基于路由协议去专门地学习路由,从而提高了路由生成方式的灵活性。也即是,本技术实施例提供了一种和相关技术完全不同的路由生成方式。
57.此外,本技术实施例提供的路由生成方法可以应用在通过宽带网络网关
(broadband network gateway,bng)接入宽带网络的场景中。目的在于提供一种能够在bng故障场景中,如何快速接入宽带网络的方法,同时还可以避免网络资源的浪费。
58.目前宽带网络主要包括接入网和核心网,用户通过核心网可进一步接入骨干网。其中,bng是宽带网络中的接入网和核心网之间的桥梁。bng提供接入手段和宽带接入网的管理功能。具体地,bng可以位于接入网的边缘,以提供宽带接入服务、实现多种业务的汇聚与转发,能满足不同用户对传输容量和带宽利用率的要求,因此是宽带用户接入的核心设备。
59.其中,用户管理是bng设备的一个核心功能。用户管理主要包括以下几个方面的内容。一是网络协议(internet protocol,ip)地址分配和租期管理。二是用户会话(session)管理。三是用户路由通告。四是作为用户网关与用户侧进行地址解析协议(address resolution protocol,arp)交互。五是转发用户流量。关于bng的这些功能的详细说明可以参考宽带网络的相关内容,在此不再详细说明。
60.由此可知,bng是终端设备接入网络侧的桥梁。bng主要用于对终端设备发起的会话进行管理、以及对终端设备的流量进行转发等等,因此bng是终端设备接入网络的核心设备。在bng出现故障时,如何处理终端设备的流量就显得尤为重要。
61.目前在宽带网络中可以配置主bgn和备bng。这种场景下,终端设备优先选择主bng和网络侧通信。主bng出现故障时,终端设备将报文发送至备bng,由备bng完成报文转发。目前,主bgn和备bng有两种备份数据的方式,一种是热备份,另一种框间冷备。在热备份的场景中,主bgn实时将终端设备的所有用户信息发送至备bng进行备份,因此,备bng在接收到终端设备发送的报文时,便可直接对该报文进行转发。在框间冷备的场景中,主bgn没有实时将终端设备的所有数据发送至备bng进行备份,因此,备bng在接收到终端设备发送的报文时,需要先重新拨号以验证终端设备的用户信息,在验证通过后,才会转发终端设备发送的报文。
62.在上述基于热备份方式转发报文的场景中,需要主bgn实时将终端设备的所有用户信息发送至备bng进行备份,大量实时信息的备份容易导致系统不稳定,且备bng上需要预留资源来备份主bgn发送的信息,导致备bng上的资源浪费。在上述基于框间冷备的方式转发报文的场景中,在主bng出现故障时,需要备bng重新拨号后才会转发终端设备发送的报文,这样会导致终端设备上正在进行的业务中断。因此,也亟需一种报文转发方法来解决上述问题。而本技术实施例提供的路由生成以及报文转发方法便可解决该问题,后续将对此进行详细说明,在此不再展开阐述。
63.需要说明的是,上述通过bgn接入宽带网络仅仅是本技术实施例提供的一种可能的场景。本技术实施例提供的方法也可以应用在其他转发报文的场景中,在此不再一一举例说明。
64.图1是本技术实施例提供的一种通信网络的系统架构示意图。如图1所示,该通信网络包括终端设备、转发设备以及网络侧设备。其中,终端设备和转发设备之间通过有线或无线方式连接以进行通信。转发设备和网络侧设备之间通过有线或无线方式连接以进行通信。
65.终端设备为用户用访问网络业务过程中所使用的设备,在用户访问网络业务的过程,终端设备将用户触发的流量发送至转发设备。转发设备用于将终端设备发送的流量转
发至网络侧设备,从而完成流量中转的功能。网络侧设备用于对终端设备发送的流量进行处理,并通过转发设备向终端设备返回流量,从而完成用户对网络业务的访问。
66.上述终端设备可以个人计算机(personal computer,pc)、也可以为客户端终端设备(customer premise equipment,cpe)、也可以为手机、笔记本电脑、智能穿戴设备等等。本技术实施例并不限定终端设备的具体类型。
67.上述转发设备可以配置在接入网边缘的路由器、网关、交换机等能够转发流量的设备。上述网络侧设备可以为核心网中的设备,比如可以为核心网中的路由器、交换机、网关、服务器等等。
68.在本技术实施例中,图1所示的通信网络具体可以为宽带网络。这种场景下,上述转发设备可以为bng,也可以为业务路由器等等。为了后续便于说明,在此先对本技术实施例涉及的宽带网络的系统架构进行详细说明。
69.图2是本技术实施例提供的一种宽带网络的系统架构示意图。图2是针对同时配置有主bng和备bng的场景。在图2中,终端设备和路由器r1连接,路由器r1通过路由器r2和bng1连接,路由器r1还通过路由器r3和bng2连接。其中,bng1为主bng,bng2是备bng。bng1和bng2分别和核心网中的路由器r4连接。
70.在图2中,r1、r2以及r3所在的组网为城域网。将r1和r2之间的链路称为主伪链路(pseudo-wire,pw),将r1和r3之间的链路称为备pw。
71.图3是本技术实施例提供的另一种宽带网络的系统架构示意图。图3是针对仅仅配置有一个bng的场景。在图3中,终端设备和路由器r1连接,路由器r1通过路由器r2和bng1连接,路由器r1还通过路由器r3和业务路由器r10连接。其中,bng1和r10分别和核心网中的路由器r4连接。在图3中,r1、r2以及r3所在的组网同样为城域网。
72.同样地,在图3中,r1、r2以及r3所在的组网为城域网。将r1和r2之间的链路称为主pw,将r1和r3之间的链路称为备pw。
73.此外,在图2和图3中,终端设备的ip地址示例地为1.1.1.2,图2或图3中的bng1上配置的地址池示例地为1.1.1.0至1.1.1.24,图2或图3中的bng1还可以通过路由通告的方式将该地址池通告给核心网中的r4。关于ip地址的作用以及如何通告地址池将在后续实施例中详细说明,在此先不展开阐述。
74.下面对本技术实施例提供的路由生成方法进行详细解释说明。图4是本技术实施例提供的一种路由生成方法流程图,该方法应用于图1所示的通信网络中。如图4所示,该方法包括如下几个步骤。
75.步骤401:转发设备接收终端设备发送的第一报文,第一报文携带第一ip地址,第一ip地址为第一报文的源ip地址。
76.步骤402:转发设备响应于接收到的第一报文中的第一ip地址,生成动态主机路由,该动态主机路由包括第一ip地址以及第一ip地址对应的下一跳信息,第一ip地址对应的下一跳信息指示转发设备发送目的地为终端设备的流量时所使用的下一跳的信息。
77.在一种可能的实现方式中,转发设备本地存储有转发路由表,该转发路由表包括多个ip地址和与这多个ip地址各自对应的下一跳信息。这种场景下,在步骤402中,转发设备在生成动态主机路由之后,还将该动态主机路由添加至转发路由表中。如此,后续转发设备在接收到目的ip地址为第一ip地址的情况下,便可基于第一ip地址查询转发路由表,进
而得到第一ip地址对应的下一跳信息,然后基于第一ip地址对应的下一跳信息转发第一报文。
78.由此可知,在本技术实施例中,无需转发设备预先配置转发路由表中的路由,而是在接收到终端设备发送的流量后,基于流量中携带的源ip地址来动态生成针对该流量的回程流量的路由。也即是,本技术实施例提供了一种基于业务需求中产生的流量来动态生成路由的方式,提高了路由生成的灵活性。并且,由于是基于流量来动态生成针对该流量的回程流量的路由,因此转发路由表中仅仅需要存储需要的路由即可,无需预先配置一些不必要的路由,也减少了转发设备上的资源开销。
79.本技术实施例中还可以将能够在转发路由表中基于流量的源ip地址添加动态主机路由的功能称为动态路由功能。也即是,动态路由功能是指:在接收到的报文后,能够基于报文携带的源ip地址动态生成主机路由,以便在继续转发该报文后,能够将针对该报文的回程流量返回至终端设备。
80.在转发设备接收到流量后,可能还存在该流量原本并不是转发给该转发设备的场景。针对这种场景,本技术实施例还提供了报文转发方法,目的在于提供一种基于动态网关转发流量的方式。
81.下面对本技术实施例提供的报文转发方法进行详细解释说明。图5是本技术实施例提供的一种报文转发方法流程图,该方法应用于图1所示的通信网络中。如图5所示,该方法包括如下几个步骤。
82.步骤501:转发设备接收终端设备发送的第一报文,第一报文携带第二网络协议ip地址和第二媒体接入控制mac地址,第二ip地址为第一报文的目的ip地址,第二mac地址为第二报文的目的mac地址。
83.步骤502:在第二地址不是转发设备的本机mac列表中的mac地址的情况下,转发设备将第二mac地址作为动态mac地址添加到本机mac列表中,本机mac列表中包括多个属于转发设备的mac地址。
84.步骤503:基于更新后的本机mac列表,转发设备根据第二ip地址转发第一报文。
85.由此可知,在本技术实施例中,如果转发设备接收到的报文中携带的目的mac地址不是转发设备的本机mac地址,转发设备则可以将该目的mac地址作为动态mac地址添加到本机mac列表中,从而能够继续转发第一报文。如此,在转发设备是备bng的情况下,备bng和主bng之间不需要热备份便可继续转发原本转发给主bng的第一报文,如此便可降低备bng上的资源开销,同时也不会因为大量实时信息的备份而容易导致系统不稳定。此外,备bng和主bng之间也不需要框间冷备便可继续转发原本转发给主bng的第一报文,且该过程无需备bng重新拨号后,这样就不会导致由于主bng出现故障而导致终端设备上正在进行的业务中断。
86.本技术实施例中,将能够在本机mac列表中添加动态mac地址的功能称为动态网关功能。也即是,动态网关功能是指:在接收到的报文的目的mac地址不是本机mac地址的情况下,能够动态变更本机mac列表并动态地继续转发报文。
87.下面对本技术实施例提供的报文转发方法进行详细解释说明。该方法用于对上述动态路由功能和动态网关功能进行详细解释说明。需要说明的是,本技术实施例提供的转发设备可以同时基于该动态路由功能和动态网关功能来转发报文,可选地,也可以仅仅基
于动态路由功能转发报文,或者仅仅基于动态网关功能来转发报文。下述实施例是多种可选实施例中的一种详细的组合实施例,并不构成对本技术实施例提供的路由生成方法以及报文转发方法的限定。
88.图6是本技术实施例提供的另一种报文转发方法流程图,该方法应用于图1所示的通信网络中。如图6所示,该方法包括如下几个步骤。
89.步骤601:转发设备接收终端设备发送的第一报文,第一报文携带第一ip地址、第一mac地址、第二ip地址和第二mac地址,其中,第一ip地址为第一报文的源ip地址,第一mac地址为第一报文的源mac地址,第二ip地址为第一报文的目的ip地址,第二mac地址为第一报文的目的mac地址。
90.终端设备在成功接入通信网络后,便可基于用户触发的操作发送第一报文,该第一报文携带目的ip地址和目的mac地址。其中,目的ip地址为待访问的业务所对应的ip地址。目的mac地址为第一报文的目的地对应的mac地址。
91.在一种可能的实现方式中,在宽带网络的应用场景中,如果终端设备所有流量需要通过bng发送至核心网,则第一报文的目的mac地址为bng上的一个接口的mac地址或bng自身的mac地址,bng上的一个接口的mac地址或bng自身的mac地址统称为bng的mac地址。此时,在终端设备发送第一报文之前,终端设备可以向bng发送mac获取请求,bng接收到该mac获取请求后,确定接收终端设备所使用的接口,然后将该接口的mac地址或bng自身的mac地址返回给终端设备,从而使得终端设备获取到bng的mac地址,并将bng的mac地址作为后续发送流量的目的mac地址(也即是步骤601中的第二mac地址),以便于通过bng来转发流量。
92.上述终端设备可以通过arp协议来获取bng的mac地址,可选地,也可以通过其他方式来获取bng的mac地址,在此不再一一举例说明。
93.此外,终端设备在向转发设备发送第一报文之后,终端设备需要先接入通信网络。在一种可能的实现方式中,在宽带网络的应用场景中,终端设备在向转发设备发送第一报文之前,终端设备可以通过bng进行用户拨号上线,也即是,终端设备向bng发送拨号请求。bng在接收到该拨号请求后,向终端设备分配一个ip地址或者对终端设备自身配置的ip地址的合法性进行校验,并在对终端设备自身配置的ip地址的合法性校验通过后,向终端设备返回ip地址合法确认消息。终端设备在接收到bng分配的ip地址后,便可确定当前成功接入网络,然后便可将该分配的ip地址作为自身的地址向网络侧发送流量。或者,终端设备在接收到bng发送的ip地址合法确认消息后便可确定当前成功接入网络,然后便可向网络侧发送流量。
94.也即是,在本技术实施例中,终端设备发送流量所使用的源ip地址可以为自身预先已经配置的ip地址,也可以为bng为终端设备分配的ip地址。其中,终端设备发送流量所使用的源ip地址也称为第一ip地址。
95.在上述由bng为终端设备分配ip地址的场景中,bng上可以预先配置地址池,该地址池包括多个ip地址。此时,bng在接收到终端设备发送的拨号请求后,便可从该地址池从选择一个ip地址作为分配给该终端设备的ip地址。
96.另外,在bng上预先配置上述地址池后,bng可以向网络侧通告该地址池,以便于网络侧获知到bng管理的ip地址有哪些,进而在后续基于该地址池校验bng转发的报文的合法性。其中,网络侧具体可以为宽带网络中的核心网的设备。此外,bng可以通过路由通告的方
式来通告该地址池,关于路由通告的具体过程在此不再详细说明。
97.图7是本技术实施例提供的一种宽带网络中终端设备获取ip地址和mac地址的流程示意图。如图7所示,终端设备可以通过动态主机配置协议(dynamic host configuration protocol,dhcp)从bng处获取到bng分配给该终端设备的ip地址。如图7所示,bng分配给该终端设备的ip地址为10.0.0.2。在终端设备获取到该ip地址后,还可以继续根据arp获取bng的mac地址。如此,后续在发送流量时,便可将流量中的报文的目的mac地址设置为bng的mac地址然后发送出去,以便于后续bng在收到流量后会检查流量的目的mac地址是否是自身的某个接口的mac地址,如果不是,则bng会丢弃报文。
98.其中,图7中的mac地址1.1.1为终端设备自身的mac地址。mac地址2.2.2为bng接收终端设备发送的报文所使用的接口的mac地址。ip地址10.0.0.1为bng自身的ip地址。
99.需要说明的是,步骤601中的转发设备可以是为校验终端设备接入通信网络的bng,也可以为通信网络中的其他备选的转发设备。在终端设备成功通过bng接入网络之后,终端在需要发送第一报文时,先检测自身至bng的链路是否存在故障。为了后续便于说明,将终端设备至验证终端设备接入网络的bng的链路称为主伪链路(pseudo-wire,pw)。
100.如果主pw没有故障,则终端设备基于主pw将第一报文发送至转发设备,此时该转发设备便是校验终端设备接入通信网络的bng。如果主pw存在故障,则终端设备基于备选路径算法确定出一条备pw,然后基于备pw将第一报文发送至转发设备,此时,该转发设备可以为通信网络中的除了校验终端设备接入通信网络的bng之外的另一个bng,也可以为一个业务路由器(service router,sr)。
101.由于本技术实施例的应用场景是在校验终端设备接入通信网络的bng出现故障的场景,因此,上述步骤601的转发设备具体地为一个备选的bng,也可以为一个业务路由器。比如,对于图2所示的系统,步骤601的转发设备具体地为bng2。对于图3所示的系统,步骤601中的转发设备具体地为业务路由器r10。
102.步骤602:在第二mac地址不是转发设备的本机mac列表中的mac地址的情况下,转发设备将第二mac地址作为动态mac地址添加到本机mac列表中,本机mac列表中包括多个属于转发设备的mac地址。
103.转发设备在接收到第一报文后,会对第一报文的合法性进行校验。其中,对第一报文的合法性进行校验包括对第二mac地址的校验。
104.转发设备上配置有本机mac列表,本机mac列表用于存储转发设备上各个接口的mac地址以及转发设备自身配置的mac地址等,也即是,本机mac列表中包括多个属于转发设备的mac地址。因此,对第二mac地址的校验,具体校验过程为:判断第二mac地址是否是转发设备的本机mac列表中的mac地址。
105.如果第二mac地址是转发设备的本机mac列表中的mac地址,则确定mac校验通过,此时可以继续转发报文。
106.相应地,如果第二mac地址不是转发设备的本机mac列表中的mac地址,则确定mac校验不通过,此时在本技术实施例中,转发设备不会丢弃第一报文,而是通过步骤602将第二mac地址作为动态mac地址添加到本机mac列表中,以便于后续基于更新后的本机mac列表将第一报文成功转发出去。本技术实施例中,将能够在本机mac列表中添加动态mac地址的功能称为动态网关功能。也即是,动态网关功能是指:在接收到的报文的目的mac地址不是
本机mac地址的情况下,能够动态地继续转发报文。
107.在步骤602中,如果任意转发设备将接收到任意mac校验不通过的报文均通过上述动态mac地址的方式将该报文出去,这样可能会导致流量转发的安全问题。因此,进一步地,在本技术实施例中,还可以预先使能哪些转发设备具有步骤602中的动态网关的功能。此时,在步骤602中,如果确定第一报文的mac校验不通过,则还需要判断转发设备是否使能了该动态网关功能,如果使能了该动态网关功能,则能够通过步骤602继续转发第一报文。如果没有使能该动态网关功能,此时,则需要丢弃第一报文。
108.也即是,在第二mac不是转发设备的本机mac列表中mac地址的情况下,如果转发设备使能了动态网关功能,则执行步骤602中的将第二mac地址作为动态mac地址添加到本机mac列表中的步骤。在第二mac不是转发设备的本机mac列表中mac地址的情况下,如果转发设备没有使能动态网关功能,则转发设备丢弃第一报文。
109.对于上述预先使能哪些转发设备具有步骤602中的动态网关的功能,在一种可能的实现方式中,可以通过通信网络中的控制器来实现。具体地,控制器在确定了某个转发设备使能该动态网关功能之后,便可向该转发设备发送第一配置消息,该第一配置消息指示该转发设备使能该动态网关功能。该转发设备在接收到该第一配置消息后,便可基于该第一配置消息在本地存储一个动态网关功能标识符,该动态网关功能标识符能够指示当前该转发设备具有动态网关功能。
110.此外,控制器在确定了某个转发设备不使能该动态网关功能之后,也可向该转发设备发送第二配置消息,该第二配置消息指示该转发设备没有使能该动态网关功能。该转发设备在接收到该第二配置消息后,便可基于该第二配置消息在本地存储一个动态网关功能非标识符,该动态网关功能非标识符能够指示当前该转发设备不具有动态网关功能。
111.可选地,控制器在确定了某个转发设备不使能该动态网关功能之后,也可以不向该转发设备发送任何消息。这种场景下,除非转发设备接收到了第一配置消息,否则转发设备则均确定自身不具备动态网关功能。
112.对于上述预先使能哪些转发设备具有步骤602中的动态网关的功能,在另一种可能的实现方式中,还可以通过人工方式来配置某个转发设备是否具有动态网关功能。比如,工作人员在确定了某个转发设备使能该动态网关功能之后,可以通过预设操作该转发设备中存储上述动态网关功能标识符,以便于后续转发设备基于该动态网关功能标识符确定自身具有动态网关功能。或者,工作人员在确定了某个转发设备不使能该动态网关功能之后,可以通过预设操作该转发设备中存储上述动态网关功能非标识符,以便于后续转发设备基于该动态网关功能非标识符确定自身不具有动态网关功能。或者,工作人员在确定了某个转发设备不使能该动态网关功能之后,不执行任何操作。
113.为了进一步地避免流量转发的安全问题,在本技术实施例中,还可以在转发设备上配置哪些mac地址能够作为动态mac地址添加到本机mac列表中。也即是,在一种可能的实现方式中,转发设备本地还存储有动态mac列表,该动态mac列表中存储有允许作为动态mac添加到本机mac列表中的其他设备的mac地址。
114.此时,在步骤602中,在第二mac地址不是转发设备的本机mac列表中的mac地址的情况下,转发设备还需进一步判断第二mac地址是否是动态mac列表中的mac地址。在第二mac地址是动态mac列表中的mac地址的情况下,转发设备才会将第二mac地址作为动态mac
地址添加到本机mac列表中。相应地,在第二mac地址不是动态mac列表中的mac地址的情况下,转发设备则会丢弃第一报文。
115.上述在转发设备上配置哪些mac地址能够作为动态mac地址添加到本机mac列表中的实现方式,具体可以参考配置转发设备的动态网关功能,在此不再赘述。
116.此外,可选地,为了进一步提高转发流量的安全性,针对上述配置的动态网关功能和/或动态mac列表,还可以配置有效期。在该有效期内,转发设备的动态网关功能和/或动态mac列表是有效的,此时便可通过步骤602来继续转发第一报文。如果当前时间不在有效期内,则转发设备不会通过步骤602来继续转发第一报文,而是丢弃第一报文。
117.可选地,上述配置的动态网关功能和/或动态mac列表还可以基于控制器下发的指令或工作人员的预设操作进行更新或删除,以进一步保障上述配置的动态网关功能和/或动态mac列表能够满足当前网络的需求。在此不再一一详细说明。
118.另外,在上述步骤602中,转发设备在接收到第一报文后,会对第一报文的合法性进行校验。其中,对第一报文的合法性进行校验包括对第二mac地址的校验。进一步地,对第一报文的合法性校验不仅包括对第二mac地址的校验,还可以包括对第一ip地址的校验。其中,对第一ip地址的校验可以称为单播反向路由查找(unicast reverse path forwarding,urpf)校验。对第一ip地址的校验的目的在于:确认第一报文的源ip地址是否是转发设备管辖范围内的网段的ip地址。需要说明的是,本技术实施例仅仅关注mac校验,对ip校验并不涉及,所以在此不再详细说明。
119.步骤603:基于更新后的本机mac列表,转发设备基于第二ip地址转发第一报文。
120.由于更新后的本机mac列表中包括第二mac地址,因此转发设备此时便可动态地确定第一报文的mac校验通过,因此转发设备便可基于第二ip地址继续转发第一报文。
121.其中,转发设备基于第二ip地址继续转发第一报文具体是指:转发设备基于预先学习到的网络拓扑中的路由信息,确定和目的ip地址对应的下一跳信息,然后基于下一跳信息便可转发第一报文。本技术实施例中的下一跳信息可以为发送报文的出口的标识,也可以为发送的报文的下一跳转发节点的标识。也即是,在本技术实施例中,转发设备为三层转发过程中的路由转发设备,该路由转发设备在转发报文时需要基于报文中携带的目的ip地址来转发报文。
122.综上所述,在本技术实施例中,如果转发设备接收到的第二mac地址不是转发设备的本地mac地址,转发设备则可以将该目的mac地址作为动态mac地址添加到本机mac列表中,从而能够继续转发第一报文。
123.如此,在转发设备是备bng的情况下,备bng和主bng之间不需要热备份便可继续转发原本转发给主bng的第一报文,如此便可降低备bng上的资源开销,同时也不会因为大量实时信息的备份而容易导致系统不稳定。此外,备bng和主bng之间也不需要框间冷备便可继续转发原本转发给主bng的第一报文,且该过程无需备bng重新拨号后,这样就不会导致由于主bng出现故障而导致终端设备上正在进行的业务中断。
124.比如,在图2所示的系统中,当主pw故障后,终端设备的流量会被切换到备pw,此时终端设备的流量的目的mac地址仍然是bng1的,但是bng2在接口上使能动态网关功能后,可以继续进行转发来自终端设备的流量。图8是本技术实施例提供的一种备bng基于动态网关功能转发流量的示意图。关于图8中的详细说明可以参考前述实施例,在此不再赘述。
125.此外,在通信网络中只接入一台bng,无备份bng可用的场景下,如果bng设备故障,此时相关技术中将会引发用户业务中断,从而引起客户投诉。通过本技术实施例提供的报文转发方法可以把通信网络的一台业务路由器作为备份的转发设备,从而形成bng设备故障情况下的备份路径,以完成第一报文的转发,实现了bng设备故障情况下用户业务不中断。并且,在该场景中,业务路由器无需购买用户授权(license)资源和额外的地址池资源,就可以临时承载故障后的用户流量。
126.比如,对于图3所示的系统,在bng1出现故障的情况下,可以直接由r10来作为转发设备通过上述步骤601至步骤603来转发第一报文。
127.另外,为了便于将来自核心网的流量转发至终端设备,转发设备上还存储有转发路由表,转发路由表包括多个ip地址和与多个ip地址各自对应的下一跳信息。其中,每个ip地址对应的下一跳信息指示发送目的ip地址为相应ip地址的报文所使用的下一跳信息。
128.因此,在转发设备接收到第一报文之后,转发设备还可以对转发路由表进行更新,以便后续转发设备基于更新后的转发路由表将针对第一报文的回程流量发送至转发设备。
129.如图6所示,该方法在步骤601-步骤603基础上还可以包括如下几个步骤。
130.步骤604:在接收到第一报文后,转发设备还生成动态主机路由。其中,该动态主机路由包括第一ip地址以及和第一ip地址对应的下一跳信息。
131.第一ip地址对应的下一跳信息具体是指:该转发设备发送目的ip地址为第一ip地址所需使用的下一跳的信息。也即是,转发设备发送针对第一报文的回程流量所需使用的下一跳的信息。
132.在通过步骤604生成动态主机路由后,还可以将动态主机路由添加至转发路由表中。
133.本技术实施例中,将能够在转发路由表中添加动态主机路由的功能称为动态路由功能。也即是,动态路由功能是指:在接收到的报文后,能够动态生成主机路由,以便在继续转发该报文后,能够将针对该报文的回程流量返回至终端设备。
134.同样地,如果任意转发设备在接收到任意报文后均基于动态路由功能更新转发路由表,这样可能会导致流量转发的安全问题。因此,进一步地,在本技术实施例中,还可以预先使能哪些转发设备具有上述动态路由功能。此时,在步骤604中,还需要判断转发设备是否使能了该动态路由功能,如果使能了该动态路由功能,则能够生成动态主机路由,进而更新转发路由表。如果没有使能该动态路由功能,此时,则不会生成动态主机路由,自然也就不会更新转发路由表。
135.也即是,在接收到第一报文后,如果转发设备使能了动态路由功能,则执行生成动态主机路由的步骤。如果转发设备没有使能动态路由功能,则转发设备不会生成动态主机路由。
136.此外,和步骤602中动态网关功能的配置过程相似,上述动态路由功能也可以通过控制器或人工方式来配置。具体实现方式可以参考步骤602中动态网关功能的配置过程,在此不再详细说明。
137.另外,如果第一报文中携带的目的mac地址所属的转发设备恢复正常,则该转发设备可以将生成的动态主机路由从转发路由表中移除,以使转发路由表能够实时满足当前网络的需求。其中,第一报文中携带的目的mac地址所属的转发设备是否恢复正常可以由终端
设备来主动通告,或者该转发设备主动从终端设备处获取,本技术实施例并不限定该转发设备如何获知第一报文中携带的目的mac地址所属的转发设备是否恢复正常。
138.可选地,如果第一报文中携带的目的mac地址对应的转发设备恢复正常,则该转发设备也可以不将生成的动态主机路由从转发路由表中移除,以便于后续第一报文中携带的目的mac地址对应的转发设备再次故障时,该转发设备能够快速将核心网返回给终端设备的流量转发给终端设备。
139.此外,在本技术实施例中,由于转发设备能够通过上述步骤601至步骤603转发终端设备原本发给其他转发设备的流量,因此为了便于后续网络侧中的设备将返回给终端设备的流量直接基于该转发设备来发送,转发设备在通过步骤601至步骤603转发第一报文的过程中,转发设备还可以发布路由通告报文,该路由通报报文携带第一报文中携带的源ip地址,路由通告报文用于指示其他设备将返回至终端设备的第二报文发送至转发设备。
140.上述路由通告报文目的在于通告网络侧第一报文中携带的源ip地址暂时为该转发设备管辖网段内的ip地址,以便于网络侧将返回至终端设备的第二报文发送至该转发设备,由该转发设备将第二报文转发至终端设备。避免了终端设备上正在进行的业务的中断。
141.在发布了路由通告报文之后,如果第一报文中携带的目的mac地址所属的转发设备恢复正常,则该转发设备可以将继续通告网络侧其他设备,以指示网络侧其他设备不再将返回至终端设备的第二报文发送至转发设备。可选地,如果网络侧其他设备能够自行获知第一报文中携带的目的mac地址所属的转发设备是否恢复正常,则在第一报文中携带的目的mac地址所属的转发设备恢复正常后,该转发设备可以不通告网络侧其他设备该故障恢复情况。本技术实施例对此不作限定。
142.此外,在本技术实施例中,由于转发设备能够通过上述步骤601至步骤603转发终端设备原本发给其他转发设备的流量,因此为了便于后续转发设备能够将网络侧中的其他设备返回给终端设备的流量继续转发给终端设备,转发设备在通过步骤601至步骤603转发第一报文的过程中,还可以将第一报文中携带的源ip和第一报文中携带的源mac添加到本地arp表中,以便于在接收到目的ip为第一报文中携带的源ip的第二报文时,能够基于本地arp表中和第一报文中携带的源ip对应的源mac,将该第一报文中携带的源ip对应的源mac封装在第二报文中,从而实现将第二报文转发至终端设备。
143.图9是本技术实施例提供的另一种转发报文的方法流程图。如图9所示,在图6所示的各个步骤的基础上,该方法还包括如下步骤。
144.步骤605:在接收到第一报文后,转发设备将第一ip地址和第一mac添加到本地arp表中。
145.如此,在转发设备接收到第二报文的情况下,转发设备基于动态主机路由发送第二报文,的实现方式具体可以为:转发设备基于第二报文携带的目的ip地址查询本地arp表,得到和第一ip地址对应的第一mac地址,转发设备将第一mac地址封装在第二报文中,转发设备基于动态主机路由发送封装后的第二报文。
146.其中,本地arp表用于指示转发设备将其他设备返回至终端设备的第二报文转发至终端设备。
147.比如,对于图3所示的系统,当bng1设备故障(故障点1)、bng1接入链路故障(故障点2)或者对端r2设备故障(故障点3)发生时,主pw会下线(down),此时原来的备pw会变被激
活(active)。终端设备(pc1)的流量通过备pw转发到r10。
148.r10在用户侧接口上使能动态路由功能后,用户侧流量到达r10后,r10在转发路由流量的同时,自动生成一个动态主机路由,并通过路由器协议将终端设备的ip地址(也即是终端设备发送的流量携带的源ip地址)通告到网络侧。
149.网络侧的回程流量会根据通告的ip地址自动回程转发到r10。然后r10根据动态生成的arp表项在回程流量中封装终端设备的mac地址后,并将回程流量转发给终端设备。
150.此外,为了支持虚拟私有网络(virtual private network,vpn)技术,本技术实施例中的转发设备还可以为接入vpn的转发设备。此时,同样可以通过上述实施例提前预配置地址池和vpn,通过地址池限定用户侧ip地址的地址范围,只有第一报文的源ip地址在地址池网段范围内的报文能够触发上述动态路由功能,并且转发设备自动继承针对地址池配置的vpn来转发第一报文。源ip地址没有命中地址池的报文不会触发生成动态路由,并且会被转发设备丢弃。
151.综上所述,在本技术实施例中,如果转发设备接收到的第二mac地址不是转发设备的本地mac地址,转发设备则可以将该目的mac地址作为动态mac地址添加到本机mac列表中,从而能够继续转发第一报文。如此,在转发设备是备bng的情况下,备bng和主bng之间不需要热备份便可继续转发原本转发给主bng的第一报文,如此便可降低备bng上的资源开销,同时也不会因为大量实时信息的备份而容易导致系统不稳定。此外,备bng和主bng之间也不需要框间冷备便可继续转发原本转发给主bng的第一报文,且该过程无需备bng重新拨号后,这样就不会导致由于主bng出现故障而导致终端设备上正在进行的业务中断。
152.此外,在通信网络中只接入一台bng,无备份bng可用的场景下,如果bng设备故障,此时相关技术中将会引发用户业务中断,从而引起客户投诉。通过本技术实施例提供的报文转发方法可以把通信网络的一台业务路由器作为备份的转发设备,从而形成bng设备故障情况下的备份路径,以完成第一报文的转发,实现了bng设备故障情况下用户业务不中断。并且,在该场景中,业务路由器无需购买用户授权(license)资源和额外的地址池资源,就可以临时承载故障后的用户流量。
153.图10是本技术实施例提供了一种转发设备的结构示意图。如图10所示,该转发设备1000包括如下几个模块。
154.接收模块1001,用于接收终端设备发送的第一报文,第一报文携带第一网络协议ip地址,第一ip地址为第一报文的源ip地址;
155.处理模块1002,用于响应于接收到的第一报文中的第一ip地址,生成动态主机路由,动态主机路由包括第一ip地址以及第一ip地址对应的下一跳信息,第一ip地址对应的下一跳信息指示转发设备发送目的地为终端设备的流量时所使用的下一跳的信息。
156.可选地,处理模块还用于:
157.如果转发设备使能了动态路由功能,则执行响应于接收到的第一报文中的第一ip地址,生成动态主机路由的步骤。
158.可选地,如图10所示,转发设备还包括:
159.发送模块1003,用于发布路由通告报文,路由通报报文携带第一ip地址,路由通告报文指示其他设备将返回至终端设备的第二报文发送至转发设备。
160.可选地,转发设备还包括发送模块;
161.发送模块,用于在转发设备接收到第二报文的情况下,基于动态主机路由发送第二报文,第二报文携带的目的ip地址为第一ip地址。
162.可选地,第一报文还携带有第一媒体接入控制mac地址,第一mac地址为第一报文的源mac地址;
163.处理模块还用于:
164.将第一ip地址和第一mac地址之间的对应关系添加到本地地址解析协议arp表中;
165.发送模块用于:
166.基于第二报文携带的目的ip地址查询本地arp表,得到和第一ip地址对应的第一mac地址;
167.将第一mac地址封装在第二报文中;
168.基于动态主机路由发送封装后的第二报文。
169.可选地,第一报文还携带第二ip地址和第二mac地址,第二ip地址为第一报文的目的ip地址,第二mac地址为第一报文的目的mac地址;
170.处理模块还用于,在第二mac地址不是转发设备的本机mac列表中的mac地址的情况下,将第二mac地址作为动态mac地址添加到本机mac列表中,本机mac列表中包括多个属于转发设备的mac地址;
171.转发设备还包括发送模块,用于基于更新后的本机mac列表,根据第二ip地址转发第一报文。
172.可选地,转发设备还包括:
173.处理模块,用于在第二mac地址不是转发设备的本机mac列表中mac地址的情况下,如果转发设备使能了动态网关功能,则执行将第二mac地址作为动态mac地址添加到本机mac列表中的步骤。
174.可选地,处理模块还用于:
175.在第二mac地址不是转发设备的本机mac列表中mac地址的情况下,如果转发设备没有使能动态网关功能,则转发设备丢弃第一报文。
176.可选地,转发设备包括宽带网络网关bng或配置在核心网边缘的业务路由器。
177.由此可知,在本技术实施例中,无需转发设备预先配置转发路由表中的路由,而是在接收到终端设备发送的流量后,基于流量中携带的源ip地址来动态生成针对该流量的回程流量的路由。也即是,本技术实施例提供了一种基于业务需求中产生的流量来动态生成路由的方式,提高了路由生成的灵活性。并且,由于是基于流量来动态生成针对该流量的回程流量的路由,因此转发路由表中仅仅需要存储需要的路由即可,无需预先配置一些不必要的路由,也减少了转发设备上的资源开销。
178.需要说明的是:上述实施例提供的转发设备在处理报文时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的转发设备与路由生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
179.图11是本技术实施例提供了一种转发设备的结构示意图。如图11所示,该转发设备1100包括如下几个模块。
180.接收模块1101,用于接收终端设备发送的第一报文,第一报文携带第二网络协议ip地址和第二媒体接入控制mac地址,第二ip地址为第一报文的目的ip地址,第二mac地址为第二报文的目的mac地址;
181.处理模块1102,用于在第二地址不是转发设备的本机mac列表中的mac地址的情况下,将第二mac地址作为动态mac地址添加到本机mac列表中,本机mac列表中包括多个属于转发设备的mac地址;
182.发送模块1103,用于基于更新后的本机mac列表,根据第二ip地址转发第一报文。
183.可选地,处理模块,还用于在所述第一报文携带的目的mac地址不是所述转发设备的本机mac列表中mac地址的情况下,如果所述转发设备使能了动态网关功能,则执行将所述第一报文携带的目的mac地址作为动态mac地址添加到所述本机mac列表中的步骤。
184.可选地,处理模块,还用于在所述第一报文携带的目的mac地址不是所述转发设备的本机mac列表中mac地址的情况下,如果所述转发设备没有使能动态网关功能,则所述转发设备丢弃所述第一报文。
185.可选地,第一报文携带第一网络协议ip地址,第一ip地址为第一报文的源ip地址。这种场景下,处理模块还用于响应于接收到的第一报文中的第一ip地址,生成动态主机路由,动态主机路由包括第一ip地址以及第一ip地址对应的下一跳信息,第一ip地址对应的下一跳信息指示该转发设备发送目的地为终端设备的流量时所使用的下一跳的信息。
186.可选地,处理模块,还用于如果该转发设备使能了动态路由功能,则执行响应于接收到的第一报文中的第一ip地址,生成动态主机路由的步骤。
187.可选地,发送模块,还用于发布路由通告报文,路由通报报文携带第一ip地址,路由通告报文指示其他设备将返回至终端设备的第二报文发送至该转发设备。
188.可选地,发送模块,还用于在该转发设备接收到第二报文的情况下,基于动态主机路由发送第二报文,第二报文携带的目的ip地址为第一ip地址。
189.可选地,第一报文还携带有第一媒体接入控制mac地址,第一mac地址为第一报文的源mac地址。处理模块还用于将第一ip地址和第一mac地址之间的对应关系添加到本地地址解析协议arp表中。这种场景下,发送模块具体用于:基于第二报文携带的目的ip地址查询本地arp表,得到和第一ip地址对应的第一mac地址;将第一mac地址封装在第二报文中;基于动态主机路由发送封装后的第二报文。
190.在本技术实施例中,如果转发设备接收到的第一报文携带的目的mac地址不是转发设备的本机mac地址,转发设备则可以将该目的mac地址作为动态mac地址添加到本机mac列表中,从而能够继续转发第一报文。该报文处理方法至少具有如下技术效果:
191.在转发设备是备bng的情况下,备bng和主bng之间不需要热备份便可继续转发原本转发给主bng的第一报文,如此便可降低备bng上的资源开销,同时也不会因为大量实时信息的备份而容易导致系统不稳定。此外,备bng和主bng之间也不需要框间冷备便可继续转发原本转发给主bng的第一报文,且该过程无需备bng重新拨号后,这样就不会导致由于主bng出现故障而导致终端设备上正在进行的业务中断。
192.在通信网络中只接入一台bng,无备份bng可用的场景下,如果bng设备故障,此时相关技术中将会引发用户业务中断,从而引起客户投诉。通过本技术实施例提供的报文转发方法可以把通信网络的一台业务路由器作为备份的转发设备,从而形成bng设备故障情
况下的备份路径,以完成第一报文的转发,实现了bng设备故障情况下用户业务不中断。并且,在该场景中,业务路由器无需购买用户授权(license)资源和额外的地址池资源,就可以临时承载故障后的用户流量。
193.需要说明的是:上述实施例提供的转发设备在转发报文时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的转发设备与报文转发方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
194.图12是本技术施例提供的一种转发设备的结构示意图。参见图12,该转发设备包括至少一个处理器1201,通信总线1202、存储器1203以及至少一个通信接口1204。
195.处理器1201可以是一个通用中央处理器(central processing unit,cpu)、特定应用集成电路(application-specific integrated circuit,asic)或一个或多个用于控制本技术方案程序执行的集成电路。具体地,处理器1201用于执行图4实施例中的步骤401至步骤403、图5实施例中的步骤501至步骤503、图6实施例中的步骤601至步骤603、图9实施例中的步骤601至步骤605。
196.通信总线1202可包括一通路,在上述组件之间传送信息。
197.存储器1203可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1203可以是独立存在,通过通信总线1202与处理器1201相连接。存储器1203也可以和处理器1201集成在一起。
198.其中,存储器1203用于存储执行本技术方案的程序代码,并由处理器1201来控制执行。处理器1201用于执行存储器1203中存储的程序代码。程序代码中可以包括一个或多个软件模块。图1中的转发设备可以通过处理器1201以及存储器1203中的程序代码中的一个或多个软件模块,来确定用于开发应用的数据。
199.通信接口1204,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。
200.在具体实现中,作为一种实施例,转发设备可以包括多个处理器,例如图12中所示的处理器1201和处理器1205。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
201.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分
地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,dsl))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,dvd))、或者半导体介质(例如:固态硬盘(solid state disk,ssd))等。
202.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
203.以上所述为本技术提供的实施例,并不用以限制本技术实施例,凡在本技术实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术实施例的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献