CN110391984B - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN110391984B CN110391984B CN201910683351.XA CN201910683351A CN110391984B CN 110391984 B CN110391984 B CN 110391984B CN 201910683351 A CN201910683351 A CN 201910683351A CN 110391984 B CN110391984 B CN 110391984B
- Authority
- CN
- China
- Prior art keywords
- network device
- address
- data packet
- bgp
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Abstract
本申请提供一种报文转发方法及装置,使第一网络设备收到的第一数据报文的目的IP地址在BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对第一数据报文进行封装处理得到第二数据报文;将第二数据报文通过BGP快速通道转发至中间设备,以使中间设备依据IP头中的目的IP地址(即第二网络设备的地址)将第二数据报文转发至第二网络设备,由第二网络设备依据第二数据报文中的通道标识将第二数据报文解封装得到第一数据报文,将第一数据报文转发至第一数据报文的目的IP地址对应的主机。本申请无需在中间设备上手工配置BGP路由信息,大大节省人力成本。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文转发方法及装置。
背景技术
在BGP(Border Gateway Protocol,边界网关协议)组网环境中,在建立IBGP(Internal Border Gateway Protocol,内部边界网关协议)连接的对等体是两台非直连的网络设备的情况下,两台网络设备分别下挂多台主机,两台网络设备之间可以包括至少一台中间设备。由于指向各主机的BGP路由信息只在IBGP对等体之间发布,因此IBGP对等体之间发布的BGP路由信息只有IBGP对等体可以学习到,中间设备无法学习到。目前为了保证两台网络设备下挂的主机之间的数据报文可以在中间设备上正常转发,需要手动在中间设备上配置指向各主机的BGP路由信息,这样一来,在新增主机或者主机退出的情况下,均要手动新增或者删除相应的BGP路由信息,导致人力成本较大。
发明内容
有鉴于此,本申请提供一种报文转发方法及装置,来解决在中间设备上手动配置BGP路由信息造成的人力成本较大的问题。
具体地,本申请是通过如下技术方案实现的:
本申请提供一种报文转发方法,所述方法应用于第一网络设备,第一网络设备与第二网络设备建立了IBGP连接,所述方法包括:
当收到的第一数据报文的目的IP地址在本设备存储的BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对所述第一数据报文进行封装处理得到第二数据报文,其中,所述BGP快速通道转发表项是基于本设备与所述第二网络设备建立的BGP快速通道生成的,且至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,所述第二数据报文包含IP头和所述BGP快速通道对应的通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址;
获取所述第一数据报文的目的IP地址对应的BGP路由信息,根据所述BGP路由信息确定下一跳设备,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备;
将所述第二数据报文通过所述BGP快速通道转发至所述中间设备,以使所述中间设备依据所述第二数据报文的IP头中的目的IP地址将所述第二数据报文转发至所述第二网络设备,再由所述第二网络设备依据所述第二数据报文中的通道标识将所述第二数据报文解封装得到所述第一数据报文,并将所述第一数据报文转发至所述第一数据报文的目的IP地址对应的主机。
作为一个实施例,所述通道标识包括针对所述BGP快速通道设置的通道ID,或者所述通道ID和所述第一网络设备及第二网络设备所属的AS号的组合。
基于相同的构思,本申请还提供另一种报文转发方法,所述方法应用于第二网络设备,第二网络设备与第一网络设备建立了IBGP连接,所述方法包括:
当收到的第一数据报文携带有本设备与所述第一网络设备建立的BGP快速通道对应的通道标识时,将所述第一数据报文解封装得到第二数据报文;
将所述第二数据报文转发至所述第二数据报文的目的IP地址对应的主机;
其中,所述第一数据报文是所述第二网络设备在收到的所述第二数据报文的目的IP地址在所述第二网络设备存储的BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对所述第二数据报文进行封装处理得到所述第一数据报文,并将所述第一数据报文通过所述BGP快速通道转发至所述第一网络设备根据获取的所述第二数据报文的目的IP地址对应的BGP路由信息确定出的下一跳设备,由所述下一跳设备依据所述第一数据报文的IP头中的目的IP地址将所述第一数据报文转发至所述第二网络设备的;所述BGP快速通道转发表项是基于所述BGP快速通道生成的,且至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,所述第一数据报文包含IP头和所述通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备。
作为一个实施例,所述通道标识包括针对所述BGP快速通道设置的通道ID,或者所述通道ID和所述第一网络设备及第二网络设备所属的自治域AS号的组合。
基于相同的构思,本申请还提供一种报文转发装置,该装置应用于第一网络设备,第一网络设备与第二网络设备建立了IBGP连接,所述装置包括:
封装单元,用于当收到的第一数据报文的目的IP地址在本设备存储的BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对所述第一数据报文进行封装处理得到第二数据报文,其中,所述BGP快速通道转发表项是基于本设备与所述第二网络设备建立的BGP快速通道生成的,且至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,所述第二数据报文包含IP头和所述BGP快速通道对应的通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址,;
确定单元,用于获取所述第一数据报文的目的IP地址对应的BGP路由信息,根据所述BGP路由信息确定下一跳设备,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备;
转发单元,用于将所述第二数据报文通过所述BGP快速通道转发至所述中间设备,以使所述中间设备依据所述第二数据报文的IP头中的目的IP地址将所述第二数据报文转发至所述第二网络设备,再由所述第二网络设备依据所述第二数据报文中的通道标识将所述第二数据报文解封装得到所述第一数据报文,并将所述第一数据报文转发至所述第一数据报文的目的IP地址对应的主机。
作为一个实施例,所述通道标识包括针对所述BGP快速通道设置的通道ID,或者所述通道ID和所述第一网络设备及第二网络设备所属的AS号的组合。
基于相同的构思,本申请还提供另一种报文转发装置,所述装置应用于第二网络设备,第二网络设备与第一网络设备建立了IBGP连接,所述装置包括:
解封装单元,用于当收到的第一数据报文携带有本设备与所述第一网络设备建立的BGP快速通道对应的通道标识时,将所述第一数据报文解封装得到第二数据报文;
转发单元,用于将所述第二数据报文转发至所述第二数据报文的目的IP地址对应的主机;
其中,所述第一数据报文是所述第二网络设备在收到的所述第二数据报文的目的IP地址在所述第二网络设备存储的BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对所述第二数据报文进行封装处理得到所述第一数据报文,并将所述第一数据报文通过所述BGP快速通道转发至所述第一网络设备根据获取的所述第二数据报文的目的IP地址对应的BGP路由信息确定出的下一跳设备,由所述下一跳设备依据所述第一数据报文的IP头中的目的IP地址将所述第一数据报文转发至所述第二网络设备的;所述BGP快速通道转发表项是基于所述BGP快速通道生成的,且至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,所述第一数据报文包含IP头和所述通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备。
作为一个实施例,所述通道标识包括针对所述BGP快速通道设置的通道ID,或者所述通道ID和所述第一网络设备及第二网络设备所属的自治域AS号的组合。
基于相同的构思,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述报文转发方法的任一步骤。
基于相同的构思,本申请还提供一种网络设备,所述网络设备包括存储器、处理器、通信接口以及通信总线;其中,所述存储器、处理器、通信接口通过所述通信总线进行相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现上述报文转发方法的任一步骤。
由此可见,本申请可以使第一网络设备在收到的第一数据报文的目的IP地址在BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对第一数据报文进行封装处理得到第二数据报文,第二数据报文包含IP头和通道标识,之后获取第一数据报文的BGP路由信息从而确定下一跳设备,该下一跳设备是第一网络设备与第二网络设备之间的中间设备;将第二数据报文转发至中间设备,以使中间设备依据IP头中的目的IP地址,即第二网络设备的地址,将第二数据报文转发至第二网络设备,再由第二网络设备依据通道标识将第二数据报文解封装得到所述第一数据报文,将第一数据报文转发至第一数据报文的目的IP地址对应的主机。相比于现有技术,本申请通过将IBGP对等体下挂的主机之间的数据报文通过IBGP对等体之间建立的BGP快速通道转发,从而使中间设备无需获知IBGP对等体发布的BGP路由信息,因此本申请无需在IBGP对等体之间的中间设备上手动配置指向主机的BGP路由信息,大大节省了人力成本。
附图说明
图1是本申请一种示例性实施方式中的一种报文转发方法的处理流程图;
图2是本申请一种示例性实施方式中的另一种报文转发方法的处理流程图;
图3是本申请一种示例性实施方式中的IBGP对等体之间的报文转发示意图;
图4是本申请一种示例性实施方式中的报文转发方法的交互流程图;
图5是本申请一种示例性实施方式中的一种报文转发装置的逻辑结构图;
图6是本申请一种示例性实施方式中的另一种报文转发装置的逻辑结构图;
图7本申请一种示例性实施方式中的一种网络设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了解决现有技术存在的问题,本申请提供一种报文转发方法及装置,可以使第一网络设备在收到的第一数据报文的目的IP地址在BGP快速通道转发表项中存在相匹配的主机IP地址时,对第一数据报文进行封装处理得到第二数据报文,第二数据报文包含IP头和通道标识,之后获取第一数据报文的BGP路由信息从而确定下一跳设备,该下一跳设备是第一网络设备与第二网络设备之间的中间设备;将第二数据报文转发至中间设备,以使中间设备依据IP头中的目的IP地址,即第二网络设备的地址,将第二数据报文转发至第二网络设备,再由第二网络设备依据通道标识将第二数据报文解封装得到所述第一数据报文,将第一数据报文转发至第一数据报文的目的IP地址对应的主机。相比于现有技术,本申请通过将IBGP对等体下挂的主机之间的数据报文通过IBGP对等体之间建立的BGP快速通道转发,从而使中间设备无需获知IBGP对等体发布的BGP路由信息,因此本申请无需在IBGP对等体之间的中间设备上手动配置指向主机的BGP路由信息,从而大大节省了人力成本。
请参考图1,是本申请一种示例性实施方式中的一种报文转发方法的处理流程图,所述方法应用于第一网络设备,第一网络设备与第二网络设备建立了IBGP连接,所述方法包括:
步骤101、当收到的第一数据报文的目的IP地址在本设备存储的BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对所述第一数据报文进行封装处理得到第二数据报文。
在此步骤101中,所述BGP快速通道转发表项是基于本设备与所述第二网络设备建立的BGP快速通道生成的,且至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,所述第二数据报文包含IP头和所述BGP快速通道对应的通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址;
在本实施例中,第一网络设备在与第二网络设备建立IBGP连接时,可以与所述第二网络设备协商建立BGP快速通道。具体来讲,可以在运行BGP路由协议的网络设备中增加一个BGP快速通道功能属性,该BGP快速通道功能属性是可配的,可根据业务组网需求选择是否建立BGP快速通道。建立IBGP连接的两个BGP对等体可以通过发送open消息协商是否建立BGP快速通道,建立该BGP快速通道后,本设备端则为BGP快速通道的源端,对端设备则为BGP快速通道的目的端。
第一网络设备和第二网络设备建立BGP快速通道后,第一网络设备可以生成与BGP快速通道对应的BGP快速通道转发表项,所述BGP快速通道转发表项至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,该主机IP地址信息可以是主机自身的IP地址,也可以是主机的IP地址所属的网段。
第一网络设备作为用户网关的时候,可以接收来自用户的主机发送的第一数据报文,该第一数据报文可以是第一网络设备下挂的某一主机发往第二网络设备下挂的某一主机的报文。第一网络设备会判断该第一数据报文的目的IP地址是否在本设备存储的BGP快速通道转发表项中存在相匹配的主机IP地址信息。
作为一个实施例,第一网络设备可以以第一数据报文的目的IP地址为关键字在所述BGP快速通道转发表项中查找该关键字对应的主机IP地址,若查找到相匹配的主机IP地址,则说明该第一数据报文是从第一网络设备连接的主机发送至第二网络设备连接的主机的,因此确定该第一数据报文可以使用本申请的BGP快速通道进行转发;否则,说明该第一数据报文不是发送到第二网络设备连接的主机的,因此确定该第一数据报文不可以使用本申请的BGP快速通道进行转发,从而按照现有的转发方式,查找BGP路由信息转发该第一数据报文。
在本实施例中,当收到的第一数据报文的目的IP地址在本设备存储的BGP快速通道转发表项中存在相匹配的主机IP地址信息时,可以进一步对所述第一数据报文进行封装处理得到第二数据报文,所述第二数据报文包含IP头和所述BGP快速通道对应的通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址。
作为一个实施例,该通道标识可以在建立BGP快速通道时通过open消息进行协商得到,该通道标识可以包括针对所述BGP快速通道设置的通道ID,或者所述通道ID和所述第一网络设备及第二网络设备所属的AS号的组合。该BGP快速通道可以为TCP连接,可以在对所述第一数据报文封装过程中添加通道标识,以增加BGP快速通道的安全性。
步骤102、获取所述第一数据报文的目的IP地址对应的BGP路由信息,根据所述BGP路由信息确定下一跳设备,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备;
将第一数据报文封装成第二数据报文后,可以获取所述第一数据报文的目的IP地址对应的BGP路由信息。需要说明的是,该BGP路由信息是第一网络设备和第二网络设备在建立IBGP连接时发布的,该BGP路由信息可以存储在路由转发表中,也可以存储在BGP快速通道转发表项中。第一网络设备可以根据所述第一数据报文的目的IP地址查找对应的BGP路由信息之后,可以根据所述BGP路由信息确定下一跳设备,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备,本申请主要针对存在中间设备的IBGP对等体的组网环境,其他组网环境的报文转发过程本申请不做限定。
步骤103、将所述第二数据报文通过所述BGP快速通道转发至所述中间设备,以使所述中间设备依据所述第二数据报文的IP头中的目的IP地址将所述第二数据报文转发至所述第二网络设备,再由所述第二网络设备依据所述第二数据报文中的通道标识将所述第二数据报文解封装得到所述第一数据报文,并将所述第一数据报文转发至所述第一数据报文的目的IP地址对应的主机。
在本实施例中,第一网络设备可以将所述第二数据报文通过所述BGP快速通道转发至确定出的中间设备,以使所述中间设备依据所述第二数据报文的IP头中的目的IP地址(也就是第二网络设备的地址)将所述第二数据报文转发至所述第二网络设备,再由所述第二网络设备依据所述第二数据报文中的通道标识将所述第二数据报文解封装得到所述第一数据报文,并将所述第一数据报文转发至所述第一数据报文的目的IP地址对应的主机。
由于本申请的第二数据报文的源IP地址变为第一网络设备的IP地址,目的IP地址变为第二网络设备的IP地址,中间设备可以通过动态路由协议学习到第一网络设备的IP地址和第二网络设备的IP地址,因此该第二数据报文在被转发到第一网络设备和第二网络设备之间的中间设备时,中间设备可以基于第二数据报文的目的IP地址将该第二数据报文转发到第二网络设备,因此本申请可以避免因中间设备需要手工配置BGP路由信息的问题,大大节省了人力成本。
请参考图2,是本申请一种示例性实施方式中的另一种报文转发方法的处理流程图,所述方法应用于第二网络设备,第二网络设备与第一网络设备建立了IBGP连接,所述方法包括:
步骤201、当收到的第一数据报文携带有本设备与所述第一网络设备建立的BGP快速通道对应的通道标识时,将所述第一数据报文解封装得到第二数据报文;
其中,所述第一数据报文是所述第二网络设备在收到的所述第二数据报文的目的IP地址在所述第二网络设备存储的BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对所述第二数据报文进行封装处理得到所述第一数据报文,并将所述第一数据报文通过所述BGP快速通道转发至所述第一网络设备根据获取的所述第二数据报文的目的IP地址对应的BGP路由信息确定出的下一跳设备,由所述下一跳设备依据所述第一数据报文的IP头中的目的IP地址将所述第一数据报文转发至所述第二网络设备的;所述BGP快速通道转发表项是基于所述BGP快速通道生成的,且至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,所述第一数据报文包含IP头和所述通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备。
在本实施例中,当第二网络设备收到的第一数据报文携带有本设备与所述第一网络设备建立的BGP快速通道对应的通道标识时,可以确定该第一数据报文是通过BGP快速通道转发来的,因此可以将所述第一数据报文解封装得到第二数据报文,解封装具体为去掉第一数据报文的IP头和通道标识。
作为一个实施例,所述通道标识可以包括针对所述BGP快速通道设置的通道ID,或者所述通道ID和所述第一网络设备及第二网络设备所属的自治域AS号的组合。
步骤202、将所述第二数据报文转发至所述第二数据报文的目的IP地址对应的主机。
第二网络设备将第一数据报文解封装后得到第二数据报文,然后根据该第二数据报文的目的IP地址将该第二数据报文发送至对应的主机。
本申请的第二网络设备可以通过数据报文中的通道标识识别该数据报文是否来自BGP快速通道,从而判断是否需要对该数据报文进行解封装操作。当确定该数据报文来自BGP快速通道时,可以对该数据报文进行解封装,从而获取实际的数据报文,并根据解封装后的数据报文的目的IP地址转发至对应的主机。
为使本申请的目的、技术方案及优点更加清楚明白,下面结合图3和图4对本申请的方案作进一步地详细说明。
基于图3所示的组网结构,组网包括网络设备A、网络设备B和网络设备C,其中,网络设备A和网络设备C互为IBGP对等体,网络设备B为中间设备,这三个网络设备所属的自治域为AS100。网络设备A的IP地址为A1,网络设备A连接用户主机A,主机A的IP地址为A11,网络设备C的IP地址为C1,网络设备C连接用户主机C,主机C的IP地址为C11。
假设网络设备A与网络设备C建立的BGP快速通道的通道ID为1,AS号为100,那么,通道标识可以为100和1的组合。网络设备A和网络设备C建立BGP快速通道后分别生成BGP快速通道转发表项,网络设备A的BGP快速通道转发表项如表1所示,网络设备C的BGP快速通道转发表项如表2所示。
主机IP地址信息 | 对等体地址 | AS | 通道ID |
C11 | C1 | 100 | 1 |
表1
主机IP地址信息 | 对等体地址 | AS | 通道ID |
A11 | A1 | 100 | 1 |
表2
其中,表1中,主机IP地址信息为对等体(网络设备C)发布的自身直连的主机的IP地址(即,主机C的IP地址),当然,主机IP地址信息还可以为网络设备C发布的自身直连的主机的主机IP地址所属网段,对等体地址为网络设备C的IP地址;表2中,主机IP地址信息为对等体(网络设备A)发布的自身直连的主机的IP地址(即,主机A的IP地址),当然,主机IP地址信息还可以为网络设备A发布的自身直连的主机的主机IP地址所属网段,对等体地址为网络设备A的IP地址。
当主机A向主机C发送数据报文时,该网络设备A、网络设备B和网络设备C之间的交互流程如下(如图4所示):
步骤401、网络设备A接收主机A发送的第一数据报文。
该第一数据报文是主机A发往主机C的报文,该第一数据报文的源IP地址为主机A的IP地址(即,A11),目的IP地址为主机C的IP地址(即,C11);
步骤402、网络设备A判断该第一数据报文的目的IP地址与本地BGP快速通道转发表项中的主机IP地址信息是否相匹配。
网络设备A判断该数据报文的目的IP地址(即,C11)是否与本地BGP快速通道转发表项(表1)中的主机IP地址信息相匹配,由于表1中的主机IP地址信息与该数据报文的目的IP地址相同,因此确定该数据报文的目的IP地址与本地BGP快速通道转发表项中的主机IP地址信息相匹配。
步骤403、在判断结果为是时,网络设备A对第一数据报文进行封装,得到第二数据报文。
网络设备A将该第一数据报文的前面加上BGP快速通道标识后封装在UDP报文中,之后继续在UDP报文的前面添加上以太头和IP头,最终得到第二数据报文。其中,IP头的源IP地址为网络设备A的IP地址(即,A1),IP头的目的IP地址为网络设备C的IP地址(即,C1)。
步骤404、网络设备A根据第一数据报文的目的IP地址查找该目的IP地址对应的BGP路由信息,根据该BGP路由信息确定下一跳设备(在图3中,下一跳设备是网络设备B),然后网络设备A将该第二数据报文通过BGP快速通道转发到网络设备B。
步骤405、网络设备B收到第二数据报文后,根据第二数据报文的目的IP地址确定该第二数据报文的下一跳为网络设备C,将第二数据报文通过BGP快速通道转发至网络设备C。
步骤406、网络设备C收到该第二数据报文后,确定该第二数据报文的目的IP地址为自身的IP地址且携带有网络设备C与网络设备A建立的BGP快速通道的通道标识,则进一步对该第二数据报文进行解封装,得到第一数据报文。
步骤407、网络设备C依据该第一数据报文的目的IP地址(即,C11),将该第一数据报文转发到主机C。
在上述报文转发过程中,位于IBGP对等体之间的中间设备(网络设备B)在收到第二数据报文时,可以依据第二数据报文的目的IP地址将该第二报文转发到网络设备C,而无需网络设备B获知网络设备C下挂的主机C的路由信息,从而可以避免在中间设备上手动配置BGP路由信息的问题。
与前述报文转发方法的实施例相对应,本申请还提供了报文转发装置的实施例。
请参见图5,为本申请在一个示例性实施例中的一种报文转发装置的结构示意图,该装置应用于第一网络设备,第一网络设备与第二网络设备建立了IBGP连接,所述装置50包括:
封装单元501,用于当收到的第一数据报文的目的IP地址在本设备存储的BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对所述第一数据报文进行封装处理得到第二数据报文,其中,所述BGP快速通道转发表项是基于本设备与所述第二网络设备建立的BGP快速通道生成的,且至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,所述第二数据报文包含IP头和所述BGP快速通道对应的通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址,;
确定单元502,用于获取所述第一数据报文的目的IP地址对应的BGP路由信息,根据所述BGP路由信息确定下一跳设备,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备;
转发单元503,用于将所述第二数据报文通过所述BGP快速通道转发至所述中间设备,以使所述中间设备依据所述第二数据报文的IP头中的目的IP地址将所述第二数据报文转发至所述第二网络设备,再由所述第二网络设备依据所述第二数据报文中的通道标识将所述第二数据报文解封装得到所述第一数据报文,并将所述第一数据报文转发至所述第一数据报文的目的IP地址对应的主机。
作为一个实施例,所述通道标识包括针对所述BGP快速通道设置的通道ID,或者所述通道ID和所述第一网络设备及第二网络设备所属的AS号的组合。
基于相同的构思,本申请还提供另一种报文转发装置,请参见图6,为本申请在一个示例性实施例中的另一种报文转发装置的结构示意图,该装置应用于第二网络设备,第二网络设备与第一网络设备建立了IBGP连接,所述装置60包括:
解封装单元601,用于当收到的第一数据报文携带有本设备与所述第一网络设备建立的BGP快速通道对应的通道标识时,将所述第一数据报文解封装得到第二数据报文;
转发单元602,用于将所述第二数据报文转发至所述第二数据报文的目的IP地址对应的主机;
其中,所述第一数据报文是所述第二网络设备在收到的所述第二数据报文的目的IP地址在所述第二网络设备存储的BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对所述第二数据报文进行封装处理得到所述第一数据报文,并将所述第一数据报文通过所述BGP快速通道转发至所述第一网络设备根据获取的所述第二数据报文的目的IP地址对应的BGP路由信息确定出的下一跳设备,由所述下一跳设备依据所述第一数据报文的IP头中的目的IP地址将所述第一数据报文转发至所述第二网络设备的;所述BGP快速通道转发表项是基于所述BGP快速通道生成的,且至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,所述第一数据报文包含IP头和所述通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备。
作为一个实施例,所述通道标识包括针对所述BGP快速通道设置的通道ID,或者所述通道ID和所述第一网络设备及第二网络设备所属的AS号的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
与前述报文转发方法的实施例相对应,本申请还提供了实现报文转发方法的网络设备的实施例。
如图7所示,所述网络设备包括存储器71、处理器72、通信接口73以及通信总线74;其中,所述存储器71、处理器72、通信接口73通过所述通信总线74进行相互间的通信;
所述存储器71,用于存放计算机程序;
所述处理器72,用于执行所述存储器71上所存放的计算机程序,所述处理器72执行所述计算机程序时实现本申请实施例提供的报文转发方法的任一步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的报文转发方法的任一步骤。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于网络设备和计算机可读存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
综上所述,本申请使第一网络设备在收到的第一数据报文的目的IP地址在BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对第一数据报文进行封装处理得到第二数据报文,第二数据报文包含IP头和通道标识,之后获取第一数据报文的BGP路由信息从而确定下一跳设备,该下一跳设备是第一网络设备与第二网络设备之间的中间设备;将第二数据报文转发至中间设备,以使中间设备依据IP头中的目的IP地址,即第二网络设备的地址,将第二数据报文转发至第二网络设备,再由第二网络设备依据通道标识将第二数据报文解封装得到所述第一数据报文,将第一数据报文转发至第一数据报文的目的IP地址对应的主机。相比于现有技术,本申请通过将IBGP对等体下挂的主机之间的数据报文通过IBGP对等体之间建立的BGP快速通道转发,从而使中间设备无需获知IBGP对等体发布的BGP路由信息,因此本申请无需在IBGP对等体之间的中间设备上手动配置指向主机的BGP路由信息,大大节省了人力成本。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种报文转发方法,其特征在于,该方法应用于第一网络设备,第一网络设备与第二网络设备建立了内部边界网关协议IBGP连接,所述方法包括:
当收到的第一数据报文的目的IP地址在本设备存储的边界网关协议BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对所述第一数据报文进行封装处理得到第二数据报文,其中,所述BGP快速通道转发表项是基于本设备与所述第二网络设备建立的BGP快速通道生成的,且至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,所述第二数据报文包含IP头和所述BGP快速通道对应的通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址;
获取所述第一数据报文的目的IP地址对应的BGP路由信息,根据所述BGP路由信息确定下一跳设备,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备;
将所述第二数据报文通过所述BGP快速通道转发至所述中间设备,以使所述中间设备依据所述第二数据报文的IP头中的目的IP地址将所述第二数据报文转发至所述第二网络设备,再由所述第二网络设备依据所述第二数据报文中的通道标识将所述第二数据报文解封装得到所述第一数据报文,并将所述第一数据报文转发至所述第一数据报文的目的IP地址对应的主机。
2.根据权利要求1所述的方法,其特征在于,
所述通道标识包括针对所述BGP快速通道设置的通道ID,或者所述通道ID和所述第一网络设备及第二网络设备所属的AS号的组合。
3.一种报文转发方法,其特征在于,所述方法应用于第二网络设备,第二网络设备与第一网络设备建立了内部边界网关协议IBGP连接,所述方法包括:
当收到的第一数据报文携带有本设备与所述第一网络设备建立的边界网关协议BGP快速通道对应的通道标识时,将所述第一数据报文解封装得到第二数据报文;
将所述第二数据报文转发至所述第二数据报文的目的IP地址对应的主机;
其中,所述第一数据报文是所述第一网络设备在收到的所述第二数据报文的目的IP地址在所述第一网络设备存储的BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对所述第二数据报文进行封装处理得到所述第一数据报文,并将所述第一数据报文通过所述BGP快速通道转发至所述第一网络设备根据获取的所述第二数据报文的目的IP地址对应的BGP路由信息确定出的下一跳设备,由所述下一跳设备依据所述第一数据报文的IP头中的目的IP地址将所述第一数据报文转发至所述第二网络设备的;所述BGP快速通道转发表项是基于所述BGP快速通道生成的,且至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,所述第一数据报文包含IP头和所述通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备。
4.根据权利要求3所述的方法,其特征在于,
所述通道标识包括针对所述BGP快速通道设置的通道ID,或者所述通道ID和所述第一网络设备及第二网络设备所属的自治域AS号的组合。
5.一种报文转发装置,其特征在于,该装置应用于第一网络设备,第一网络设备与第二网络设备建立了内部边界网关协议IBGP连接,所述装置包括:
封装单元,用于当收到的第一数据报文的目的IP地址在本设备存储的边界网关协议BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对所述第一数据报文进行封装处理得到第二数据报文,其中,所述BGP快速通道转发表项是基于本设备与所述第二网络设备建立的BGP快速通道生成的,且至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,所述第二数据报文包含IP头和所述BGP快速通道对应的通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址;
确定单元,用于获取所述第一数据报文的目的IP地址对应的BGP路由信息,根据所述BGP路由信息确定下一跳设备,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备;
转发单元,用于将所述第二数据报文通过所述BGP快速通道转发至所述中间设备,以使所述中间设备依据所述第二数据报文的IP头中的目的IP地址将所述第二数据报文转发至所述第二网络设备,再由所述第二网络设备依据所述第二数据报文中的通道标识将所述第二数据报文解封装得到所述第一数据报文,并将所述第一数据报文转发至所述第一数据报文的目的IP地址对应的主机。
6.根据权利要求5所述的装置,其特征在于,
所述通道标识包括针对所述BGP快速通道设置的通道ID,或者所述通道ID和所述第一网络设备及第二网络设备所属的AS号的组合。
7.一种报文转发装置,其特征在于,所述装置应用于第二网络设备,第二网络设备与第一网络设备建立了内部边界网关协议IBGP连接,所述装置包括:
解封装单元,用于当收到的第一数据报文携带有本设备与所述第一网络设备建立的边界网关协议BGP快速通道对应的通道标识时,将所述第一数据报文解封装得到第二数据报文;
转发单元,用于将所述第二数据报文转发至所述第二数据报文的目的IP地址对应的主机;
其中,所述第一数据报文是所述第一网络设备在收到的所述第二数据报文的目的IP地址在所述第一网络设备存储的BGP快速通道转发表项中存在相匹配的主机IP地址信息时,对所述第二数据报文进行封装处理得到所述第一数据报文,并将所述第一数据报文通过所述BGP快速通道转发至所述第一网络设备根据获取的所述第二数据报文的目的IP地址对应的BGP路由信息确定出的下一跳设备,由所述下一跳设备依据所述第一数据报文的IP头中的目的IP地址将所述第一数据报文转发至所述第二网络设备的;所述BGP快速通道转发表项是基于所述BGP快速通道生成的,且至少包括所述第二网络设备所发布的第二网络设备的IP地址和所述第二网络设备下挂的主机的主机IP地址信息,所述第一数据报文包含IP头和所述通道标识,所述IP头中的源IP地址为第一网络设备的IP地址,目的IP地址为第二网络设备的IP地址,所述下一跳设备为所述第一网络设备与所述第二网络设备之间的中间设备。
8.根据权利要求7所述的装置,其特征在于,
所述通道标识包括针对所述BGP快速通道设置的通道ID,或者所述通道ID和所述第一网络设备及第二网络设备所属的自治域AS号的组合。
9.一种网络设备,其特征在于,所述网络设备包括存储器、处理器、通信接口以及通信总线;其中,所述存储器、处理器、通信接口通过所述通信总线进行相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现所述权利要求1-4方法的任一步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现所述权利要求1-4方法的任一步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910683351.XA CN110391984B (zh) | 2019-07-26 | 2019-07-26 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910683351.XA CN110391984B (zh) | 2019-07-26 | 2019-07-26 | 一种报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110391984A CN110391984A (zh) | 2019-10-29 |
CN110391984B true CN110391984B (zh) | 2022-01-25 |
Family
ID=68287771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910683351.XA Active CN110391984B (zh) | 2019-07-26 | 2019-07-26 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110391984B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472913B (zh) * | 2021-06-25 | 2023-04-25 | 新华三信息安全技术有限公司 | 通信方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286918A (zh) * | 2007-04-09 | 2008-10-15 | 中国移动通信集团公司 | 虚拟专用网络系统及其数据处理方法 |
CN101552727A (zh) * | 2009-05-12 | 2009-10-07 | 杭州华三通信技术有限公司 | 一种报文发送和接收方法及运营商边缘路由器 |
CN103259724A (zh) * | 2012-02-15 | 2013-08-21 | 中兴通讯股份有限公司 | 一种mpls vpn的实现方法、系统及客户边缘设备 |
CN106209643A (zh) * | 2016-07-14 | 2016-12-07 | 杭州华三通信技术有限公司 | 报文转发方法及装置 |
CN107634893A (zh) * | 2017-09-25 | 2018-01-26 | 新华三技术有限公司 | 媒体访问控制mac地址通告路由的处理方法及装置 |
CN108199963A (zh) * | 2017-12-27 | 2018-06-22 | 新华三技术有限公司 | 报文转发方法和装置 |
CN108616450A (zh) * | 2018-03-08 | 2018-10-02 | 烽火通信科技股份有限公司 | 一种基于sdn的ip网络实现约束路径转发的方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779152B2 (en) * | 2003-01-24 | 2010-08-17 | Nokia Corporation | Establishing communication tunnels |
US8531941B2 (en) * | 2007-07-13 | 2013-09-10 | Cisco Technology, Inc. | Intra-domain and inter-domain bridging over MPLS using MAC distribution via border gateway protocol |
CN101155115B (zh) * | 2007-07-26 | 2010-09-08 | 杭州华三通信技术有限公司 | 一种自动隧道的实现方法及设备 |
CN101977156B (zh) * | 2010-11-18 | 2012-11-21 | 北京星网锐捷网络技术有限公司 | 一种最大传输单元的学习方法、装置及路由设备 |
IL210169A0 (en) * | 2010-12-22 | 2011-03-31 | Yehuda Binder | System and method for routing-based internet security |
CN104426759B (zh) * | 2013-08-21 | 2018-11-20 | 华为技术有限公司 | 主机路由获取方法、装置及系统 |
CN109218178B (zh) * | 2017-07-05 | 2021-06-22 | 华为技术有限公司 | 一种报文处理方法及网络设备 |
CN108718278B (zh) * | 2018-04-13 | 2021-04-27 | 新华三技术有限公司 | 一种报文传输方法和装置 |
-
2019
- 2019-07-26 CN CN201910683351.XA patent/CN110391984B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286918A (zh) * | 2007-04-09 | 2008-10-15 | 中国移动通信集团公司 | 虚拟专用网络系统及其数据处理方法 |
CN101552727A (zh) * | 2009-05-12 | 2009-10-07 | 杭州华三通信技术有限公司 | 一种报文发送和接收方法及运营商边缘路由器 |
CN103259724A (zh) * | 2012-02-15 | 2013-08-21 | 中兴通讯股份有限公司 | 一种mpls vpn的实现方法、系统及客户边缘设备 |
CN106209643A (zh) * | 2016-07-14 | 2016-12-07 | 杭州华三通信技术有限公司 | 报文转发方法及装置 |
CN107634893A (zh) * | 2017-09-25 | 2018-01-26 | 新华三技术有限公司 | 媒体访问控制mac地址通告路由的处理方法及装置 |
CN108199963A (zh) * | 2017-12-27 | 2018-06-22 | 新华三技术有限公司 | 报文转发方法和装置 |
CN108616450A (zh) * | 2018-03-08 | 2018-10-02 | 烽火通信科技股份有限公司 | 一种基于sdn的ip网络实现约束路径转发的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110391984A (zh) | 2019-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10050877B2 (en) | Packet forwarding method and apparatus | |
US10476795B2 (en) | Data packet forwarding | |
US10412008B2 (en) | Packet processing method, apparatus, and system | |
US20220078114A1 (en) | Method and Apparatus for Providing Service for Traffic Flow | |
US10084706B2 (en) | Method and device for processing service function chaining | |
US10193707B2 (en) | Packet transmission method and apparatus | |
WO2016055027A1 (en) | Table entry in software defined network | |
CN109714274B (zh) | 一种获取对应关系的方法和路由设备 | |
US20150033321A1 (en) | Construct large-scale dvpn | |
US9900238B2 (en) | Overlay network-based original packet flow mapping apparatus and method therefor | |
CN106559292A (zh) | 一种宽带接入方法和装置 | |
CN107645431B (zh) | 报文转发方法及装置 | |
CN107317752B (zh) | 一种转发数据报文的方法及装置 | |
CN108306806B (zh) | 一种报文转发方法及装置 | |
CN107395481A (zh) | Evpn拓扑中的广播、未知单播或组播业务的出口节点保护 | |
CN105227466B (zh) | 通信处理方法和装置 | |
CN106341423B (zh) | 一种报文处理方法和装置 | |
CN107547340B (zh) | 一种报文转发方法和装置 | |
EP3113425B1 (en) | Encapsulation method for service routing packet, service forwarding entity and control plane | |
CN109412927B (zh) | 一种多vpn数据传输方法、装置及网络设备 | |
CN105187311A (zh) | 一种报文转发方法及装置 | |
CN108667709B (zh) | 一种报文转发方法及装置 | |
CN109039903B (zh) | 路由确定方法、装置及机器可读存储介质 | |
CN108306825B (zh) | 一种等价转发表项生成方法和vtep设备 | |
CN108183858B (zh) | 一种路由引入方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |