CN109257458B - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN109257458B CN109257458B CN201811283650.6A CN201811283650A CN109257458B CN 109257458 B CN109257458 B CN 109257458B CN 201811283650 A CN201811283650 A CN 201811283650A CN 109257458 B CN109257458 B CN 109257458B
- Authority
- CN
- China
- Prior art keywords
- address
- message
- dhcp protocol
- dhcp
- protocol message
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
- H04L61/5014—Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种报文转发方法及装置,可以在DHCP协议报文中增加IP地址序列,使中继设备收到携带IP地址序列的DHCP协议报文时,针对不同的报文来源的DHCP协议报文,根据IP地址序列对DHCP协议报文的目的IP改为下一跳设备的IP地址,并且修改IP地址序列,从而使下一跳设备收到的DHCP协议报文的目的IP地址为该下一跳设备自身的IP地址,相对于现有技术,本公开无需为中继设备配置ACL策略,就可以将该DHCP协议报文上送到CPU处理,从而避免了在中继设备上配置ACL策略的问题,进而降低了人工成本。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种报文转发方法及装置。
背景技术
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)客户端和DHCP服务器处于不同物理网段时,客户端可以通过DHCP中继与DHCP服务器通信,来获取IP地址及其他配置信息。具有DHCP中继功能的网络设备收到客户端以广播方式发送的DHCP协议报文(例如DHCP-DISCOVER发现报文或DHCP-REQUEST请求报文)后,需要将该DHCP协议报文上送到CPU进行软处理,软处理过程中,可以将DHCP协议报文中的giaddr字段填充为DHCP中继的IP地址(giaddr:指DHCP报文格式中的一个字段,用来填充DHCP客户端发出的DHCP协议请求报文后经过的第一个DHCP中继的IP地址),并根据配置将该报文单播转发给指定的DHCP服务器。DHCP服务器根据giaddr字段为客户端分配IP地址等参数,并通过DHCP中继将配置信息转发给客户端,完成对客户端的动态配置。
在多级RELAY(中继)的组网中由于客户端发送的DHCP协议报文中的giaddr字段,是用来填充DHCP客户端发出DHCP协议后经过的第一个DHCP中继的IP地址,DHCP服务器收到该DHCP协议报文时,会根据giaddr字段中填充的IP地址(即第一个DHCP中继的IP地址)作为目的IP地址反馈DHCP协议报文,但是DHCP服务器和第一个DHCP中继之间的其他中继设备收到DHCP服务器反馈的该DHCP协议报文后,往往该DHCP协议报文的目的IP地址不是自身的IP地址。这种情况下,中继设备会根据该DHCP协议报文的目的IP地址来查找准确的路由,然后将这个DHCP协议报文直接通过硬件转发发给其他中继设备,因而无法使本中继设备对该DHCP协议报文上送CPU进行软处理。
为了满足将DHCP协议报文在中继设备上上送到CPU进行软处理的目的,当前技术手段上需要额外配置ACL等策略,来命中这个DHCP协议报文进行重定向到CPU处理。但是由于在多级中继的组网中,DHCP协议报文的转发路径存在多种可能,由于无法确认哪些中继设备需要配置ACL策略,如果全部中继设备都手动配置ACL策略,则会耗费大量的人工操作,不容易实现。
发明内容
有鉴于此,本公开提供一种报文转发方法及装置来解决现有技术中不确认哪些中继设备配置ACL策略的问题。
具体地,本公开是通过如下技术方案实现的:
本公开提供一种报文转发方法,所述方法应用于多级中继组网中的网络设备,所述方法包括:
接收携带IP地址序列的DHCP协议报文;
若所述DHCP协议报文是来源为客户端的第一报文,则所述DHCP协议报文的IP地址序列中添加自身的IP地址,并将所述DHCP协议报文的目的IP地址修改为预设转发路径的下一跳中继设备的IP地址,根据修改后目的IP地址转发所述DHCP协议报文;
若所述网络设备是DHCP服务器或者所述DHCP协议报文是来源DHCP服务器的第二报文,则将所述DHCP协议报文的目的IP地址修改为所述DHCP协议报文的IP地址序列中的最后一个IP地址,从所述IP地址序列中删除所述最后一个IP地址,之后,根据修改后的目的IP地址转发所述DHCP协议报文。
基于相同的构思,本公开还提供一种报文转发装置,所述装置应用于多级中继组网中的网络设备,所述装置包括:
接收单元,用于接收携带IP地址序列的DHCP协议报文;
第一修改单元,用于若所述DHCP协议报文是来源为客户端的第一报文,则在所述DHCP协议报文的IP地址序列中添加自身的IP地址,并将所述DHCP协议报文的目的IP地址修改为预设转发路径的下一跳中继设备的IP地址,根据修改后目的IP地址转发所述DHCP协议报文;
第二修改单元,用于若所述网络设备是DHCP服务器或者所述DHCP协议报文是来源DHCP服务器的第二报文,则将所述DHCP协议报文的目的IP地址修改为所述DHCP协议报文的IP地址序列中的最后一个IP地址,从所述IP地址序列中删除所述最后一个IP地址,之后,根据修改后的目的IP地址转发所述DHCP协议报文。
基于相同的构思,本公开还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现报文转发方法的任一步骤。
基于相同的构思,本公开还提供一种网络设备,所述网络设备包括存储器、处理器、通信接口以及通信总线;其中,所述存储器、处理器、通信接口通过所述通信总线进行相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现报文转发方法的任一步骤。
由此可见,本公开可以在DHCP协议报文中增加IP地址序列,使网络设备在收到携带IP地址序列的DHCP协议报文时,针对不同的报文来源的DHCP协议报文,根据IP地址序列对DHCP协议报文的目的IP改为下一跳设备的IP地址,并且修改IP地址序列,从而使下一跳设备收到的DHCP协议报文的目的IP地址为该下一跳设备自身的IP地址,相对于现有技术,本公开无需为中继设备配置ACL策略,就可以将该DHCP协议报文上送到CPU处理,从而避免了在中继设备上配置ACL策略的问题,进而降低了人工成本。
附图说明
图1是本公开一种示例性实施方式中的多级Relay组网示意图;
图2是本公开一种示例性实施方式中的一种报文转发方法的处理流程图;
图3是本公开一种示例性实施方式中的报文转发交互流程图;
图4本公开一种示例性实施方式中的报文转发装置的逻辑结构图;
图5本公开一种示例性实施方式中的一种网络设备的逻辑结构图。
具体实施方式
请参考图1,为多级Relay组网示意图,其中客户端可以通过DHCP中继设备A和中继设备B与DHCP服务器通信,以获取IP地址及其他配置信息。
在目前的客户端向DHCP服务器申请IP地址的实现过程具体为:
假设报文X1为客户端发出的DISCOVER报文,其DIP(目的IP地址)为255.255.255.255,SIP(源IP地址)为0.0.0.0,SPORT(源端口号)为68,DPORT(目的端口号)为67;报文X1发到中继设备A以后,中继设备A根据报文X1的UDP端口为67识别为DHCP协议报文,然后将该上送CPU处理;中继设备A处理报文X1后,重新封装该报文X1,得到报文X2,该报文X2的DIP为N口的IP地址,SIP为M口的IP地址,SPORT为67,DPORT为67;报文X2里DHCP协议字段信息里giaddr地址由0.0.0.0更改为中继设备A上U口的IP地址,中继处理的HOP值由0增加为1,这个值代表经过了几个DHCP中继处理;中继设备A将报文X2发送到中继设备B。
中继设备B收到该报文X2时,将该报文X2上送CPU处理;然后重新封装该报文X2,得到报文X3,该报文X3的DIP为Q口的IP地址,SIP为P口的IP地址,SPORT为67,DPORT为67;报文X3里DHCP协议字段信息里giaddr地址不变,还是中继设备A上U口的IP地址,HOP值由1增加为2;中继设备B将报文X3发送到DHCP服务器。
DHCP服务器收到报文X3时,上送CPU处理,然后针对该报文X3反馈OFFER报文(即报文X4),该报文X4的SIP为Q口的地址,目的IP则是取自报文X3里giaddr地址即中继设备A的U口地址,SPORT为67,DPORT为67;HOP值继续为2,giaddr继续为U口的IP地址,同时增加DHCP服务器为V口分配的一个IP地址,添加到报文X4的DHCP信息里的“Your Client IPaddress”字段中。报文X4发给中继设备B处理。
可见现有技术中DHCP服务器发给中继设备B的报文,DIP是中继设备A的U口的地址,而不是中继设备B上的接口地址。若中继设备B此时收到报文X4时,正常情况都是优先根据DIP来判断后续的处理,这种情况下中继设备B都会根据DIP来查找准确的路由,则根据DIP将该报文X4直接通过硬件转发发给中继设备A,但是这样就导致中继设备B无法将该报文X4上送到CPU进行处理。为了满足这个报文X4需要在中继设备B上上送到CPU进行处理,而不是走硬件转发处理,则当前技术手段需要在中继设备上额外配置ACL等策略,来使命中策略的报文进行重定向到CPU处理。
中继设备B处理报文X4后,重新封装得到报文X5,该报文X5的SIP为Q口的地址,而目的IP则是取自giaddr地址即中继设备A的U口地址,SPORT为67,DPORT为67,HOP值继续为2,giaddr继续为U口的IP地址,“Your Client IP address”字段为DHCP服务器分配给V口的IP地址;然后根据DIP将该报文X5发送给中继设备A。中继设备A收到报文X5时,因为报文X5的DIP为中继设备A的接口地址,因此可以将该报文X5上送给CPU处理后,重新进行封装,得到报文X6,报文X6的SIP变更为中继设备A的U口地址,DIP则变更为255.255.255.255,SPORT为67,DPORT为68,HOP值变更为0,giaddr继续为U口的IP地址,“Your Client IP address”字段为DHCP服务器分配给V口的IP地址;然后根据DIP发送报文X6给客户端。客户端V口收到这个报文X6时,就会继续发送后续的Request报文,从中继设备A到中继设备B再到DHCP服务器,然后DHCP服务器回应ACK报文,从中继设备B到中继设备A再回到客户端,就完成了V口IP地址的多级Relay的申请处理流程。
由于上述实现方案中,中继设备B对DHCP服务器回应的报文要进行上送CPU处理,需要额外的技术手段来辅助实现,例如配置ACL来命中报文让其强制上送CPU。如果DHCP中继设备的组合结构复杂时,DHCP服务器到中继设备A的路径不止一条时,由于不能确定反馈的报文走哪条路径,为了实现目的,就需要把每条路径上的中继设备都配置ACL策略,来满足报文上送CPU的处理,但是这显然是不切实际的。
为了解决现有技术存在的问题,本公开提供一种报文转发方法及装置,可以在DHCP协议报文中增加IP地址序列,使网络设备收到携带IP地址序列的DHCP协议报文时,针对不同的报文来源的DHCP协议报文,根据IP地址序列对DHCP协议报文的目的IP改为下一跳设备的IP地址,并且修改IP地址序列,从而使下一跳设备收到的DHCP协议报文的目的IP地址为该下一跳设备自身的IP地址,相对于现有技术,本公开无需为中继设备配置ACL策略,就可以将该DHCP协议报文上送到CPU处理,从而避免了在中继设备上配置ACL策略的问题,进而降低了人工成本。
请参考图2,是本公开一种示例性实施方式中的一种报文转发方法的处理流程图,所述方法应用于多级中继组网中的网络设备,包括中继设备和DHCP服务器,所述方法包括:
步骤201、接收携带IP地址序列的DHCP协议报文;
在本实施例中,当网络设备收到DHCP协议报文时,需要判断该DHCP报文是否携带IP地址序列,所谓的IP地址序列是一个有顺序的IP地址列表,为了便于判断,还可以通过在DHCP协议报文中携带指定标识来表示该DHCP报文携带有IP地址序列,例如设置DHCP协议报文中的option字段中的code值为0X63,则当DHCP协议报文的code值为0X63时,则认为该DHCP协议报文携带指定标识,从而可以确定该DHCP报文携带IP地址序列。反之,则确定该DHCP报文没有携带IP地址序列。
作为一个实施例,若收到的DHCP协议报文是未携带IP地址序列的第一报文时,可以说明该DHCP协议报文也是来源于客户端,并且当前中继设备是客户端到DHCP服务器之间经过的第一个中继设备,因此该DHCP协议报文中还没有添加IP地址序列。因此可以在所述DHCP协议报文中创建IP地址序列,在所述IP地址序列中添加自身的IP地址。需要说明的是,所述IP地址是本设备接收DHCP协议报文的接口的IP地址。
然后中继设备可以选择一条可以到达DHCP服务器的预设转发路径,将所述DHCP协议报文的目的IP地址修改为该预设转发路径中的该中继设备的下一跳中继设备的IP地址,根据修改后目的IP地址转发所述DHCP协议报文。需要说明的是,在实施本方案时,可以选择添加上述指定标识,也可以不添加指定标识;如果选择添加指定标识,则需要在创建IP地址序列时,同时在option字段中添加指定标识,例如code值为0X63,来表示本DHCP协议报文中携带了IP地址序列,以使通过识别该指定标识来获取IP地址序列。
若收到的DHCP协议报文未携带IP地址序列的第二报文时,可以说明该DHCP协议报文是来源于DHCP服务器,并且当前中继设备是客户端到DHCP服务器之间经过的第一个中继设备,则可以根据原有流程处理该DHCP协议报文。
步骤202、若所述DHCP协议报文是来源为客户端的第一报文,则在所述DHCP协议报文的IP地址序列中添加自身的IP地址,并将所述DHCP协议报文的目的IP地址修改为预设转发路径的下一跳中继设备的IP地址,根据修改后目的IP地址转发所述DHCP协议报文;
在本实施例中,若所述DHCP协议报文是来源为客户端的第一报文,例如DHCP-DISCOVER报文或DHCP-REQUEST报文,则网络设备可以先将该DHCP协议报文上送到CPU进行软处理,所谓的软处理是指识别该DHCP协议报文对应的协议,根据该DHCP协议报文的协议规范进行处理。之后,中继设备可以重新封装该DHCP协议报文,其中需要将该DHCP协议报文的IP地址序列中的最后一列添加自身的IP地址,并将所述DHCP协议报文的目的IP地址修改为预设转发路径的下一跳中继设备的IP地址,然后根据修改后目的IP地址转发所述DHCP协议报文。
步骤203、若所述网络设备是DHCP服务器或者所述DHCP协议报文是来源DHCP服务器的第二报文,则将所述DHCP协议报文的目的IP地址修改为所述DHCP协议报文的IP地址序列中的最后一个IP地址,从所述IP地址序列中删除所述最后一个IP地址,之后,根据修改后的目的IP地址转发所述DHCP协议报文。
在本实施例中,若所述网络设备是DHCP服务器或者所述DHCP协议报文是来源DHCP服务器的第二报文,例如DHCP-OFFER报文或DHCP-ACK报文,则网络设备可以先将该DHCP协议报文上送到CPU进行软处理,之后网络设备可以对该DHCP协议报文进行重新封装,将所述DHCP协议报文的目的IP地址修改为所述DHCP协议报文的IP地址序列中的最后一个IP地址,即排序在最后一个的IP地址,从所述IP地址序列中删除所述最后一个IP地址,之后,根据修改后的目的IP地址转发所述DHCP协议报文。
需要说明的是,当网络设备从所述IP地址序列中删除所述最后一个IP地址之后,进一步会判断IP地址序列中是否还有IP地址,如果有,说明当前的网络设备不是第一个中继设备,因此删除完最后一个IP地址还可以转发该DHCP协议报文;如果没有,则说明当前的中继设备为第一个中继设备,因此在删除完最后一个IP地址时,还需要删除所述IP地址序列。
相比于现有技术,本公开可以通过在DHCP协议报文中增加IP地址序列来实现在DHCP回应报文对DIP进行替换处理,从而避免额外的部署ACL策略来实现让DHCP协议报文在多级Relay上进行上送CPU处理的问题。
为使本公开的目的、技术方案及优点更加清楚明白,下面基于图1的组网结构,通过图3的交互流程对本公开的方案作进一步地详细说明。
请参见图3,是本公开的实施例中路由设备的交互流程图,其中包括:
步骤301、假设报文X1为客户端发出的DISCOVER报文,其DIP(目的IP地址)为255.255.255.255,SIP(源IP地址)为0.0.0.0,SPORT(源端口号)为68,DPORT(目的端口号)为67,根据DIP将该报文X1发送到中继设备A;
步骤302、报文X1发到中继设备A以后,中继设备A根据报文X1的UDP端口为67识别为DHCP协议报文,然后将该上送CPU处理;中继设备A处理报文X1后,重新封装该报文X1,得到报文X2,该报文X2的DIP为N口的IP地址,SIP为M口的IP地址,SPORT为67,DPORT为67;报文X2里DHCP协议字段信息里giaddr地址由0.0.0.0更改为中继设备A上U口的IP地址,中继处理的HOP值由0增加为1,这个值代表经过了几个DHCP中继处理。
需要说明的是,DHCP协议报文携带有可以标记各种信息的option字段,此字段中包含了大量可选的客户端初始配置信息和网络配置信息,如决定客户端的IP特性配置信息,域名信息,标识客户端的特殊信息,客户端的默认网关IP地址,DNS服务器的IP地址,WINS服务器的IP地址,用户使用IP地址的有效租期等等信息。正是因为有了此字段,DHCP协议才能够给客户端提供大量的配置信息,此字段采用“CLV”方式构成,其中包括:Code为标识号,唯一标识后面的信息内容,占1bytes;length为长度,表示后面信息内容的长度,占1bytes;value为信息内容,即本实施例中的IP地址序列,其长度为length所指定,以bytes为单位。
由于报文X1中没有IP地址序列,因此可以在该报文X2中创建IP地址序列,具体来讲,中继设备A在报文X2的增加一种option字段,用尚没有标记的Code来区别,比如0x63,作用是经过1个中继设备处理后,就增加这个中继设备的接口地址,这个接口地址是收到DHCP协议报文的接口的IP地址;报文X2携带的0x63信息如表1所示:
Code | Length | Value |
0x63 | 4 | 接口U的IP地址 |
表1
中继设备A根据DIP将报文X2发送到中继设备B;
步骤303、报文X2发到中继设备B以后,中继设备B根据报文X2的UDP端口为67识别该报文X2为DHCP协议报文,然后将该报文X2上送CPU处理;然后重新封装得到报文X3,由于该报文X2中存在IP地址序列,因此中继设备B在封装该报文X3时,在报文X3中的IP地址序列中添加自身的IP地址,即接口N的IP地址。报文X3携带的0x63信息如表2所示:
表2
该报文X3的DIP为Q口的IP地址,SIP为P口的IP地址,SPORT为67,DPORT为67;报文X3里DHCP协议字段信息里giaddr地址不变,还是中继设备A上U口的IP地址,HOP值由1增加为2;中继设备B将报文X3发送到DHCP服务器。
步骤304、DHCP服务器收到报文X3时,上送CPU处理,然后针对该报文X3反馈OFFER报文(即报文X4),并根据是否携带0x63来特殊处理,如果没有携带0x63信息,则继续按原有流程根据giaddr里面的IP地址转发该报文,如果携带0x63,则按选择option 0x63中最后的IP地址作为DIP,按表2中的IP地址序列为例,则为接口N的IP地址。然后在报文X4中的option 0x63中的信息去掉上述最后的IP地址,更新如表3所示:
Code | Length | Value |
0x63 | 4 | 接口U的IP地址 |
表3
其他信息和原有流程保持不变,包括SIP/SPORT/DPORT/以及DHCP信息中的“YourClient IP address”字段和giaddr地址信息。将报文X4发给中继设备B处理。
步骤305、中继设备B收到报文X4时,因为报文X4的DIP为中继设备B的接口N的IP地址,则报文X4必然通过路由计算是发到中继设备B,而不会走其他路由。中继设备B收到报文X4后,又因为核对DIP为自己设备上接口的IP地址,就正常上送CPU进行处理。不需要额外的部署ACL来完成上送CPU的流程处理。中继设备B也同DHCP服务器处理过程一致,根据是否携带0x63来进行特殊处理,如果没有携带0x63信息,则继续按原有流程处理,如果携带0x63,则选择option 0x63中最后的IP地址,按表3所示则为接口U的IP地址。在重新封装的报文X5中的option 0x63中的信息去掉最后的IP地址,去掉接口U的IP地址后IP地址序列中没有IP地址,则可以将0x63信息全部去掉,然后将报文X5发送给中继设备A。
步骤306、中继设备A的处理和中继设备B保持一致,根据是否携带0x6信息来进行特殊处理,当发现已经没有0x63信息,则按原流程正常处理,将重新封装得到的报文X6转发给客户端,从而使客户端收到DHCP服务器回复的OFFER报文。
按上述优化的方案实现,不仅解决了额外部署ACL的问题,也同时解决了存在多条路由情况下,保证回路继续走原来转发路径进行处理的问题。
基于相同的构思,本公开还提供一种报文转发装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本公开的报文转发装置作为一个逻辑意义上的装置,是通过其所在装置的CPU将存储器中对应的计算机程序指令读取后运行而成。
请参考图4,是本公开一种示例性实施方式中的一种报文转发装置400,所述装置应用于多级中继组网中的网络设备,从逻辑层面上来看,该装置400的逻辑结构包括:
接收单元401,用于接收携带IP地址序列的DHCP协议报文;
第一修改单元402,用于若所述DHCP协议报文是来源为客户端的第一报文,则在所述DHCP协议报文的IP地址序列中添加自身的IP地址,并将所述DHCP协议报文的目的IP地址修改为预设转发路径的下一跳中继设备的IP地址,根据修改后目的IP地址转发所述DHCP协议报文;
第二修改单元403,用于若所述网络设备是DHCP服务器或者所述DHCP协议报文是来源DHCP服务器的第二报文,则将所述DHCP协议报文的目的IP地址修改为所述DHCP协议报文的IP地址序列中的最后一个IP地址,从所述IP地址序列中删除所述最后一个IP地址,之后,根据修改后的目的IP地址转发所述DHCP协议报文。
作为一个实施例,所述装置还包括:
创建单元404,用于若收到的DHCP协议报文是未携带IP地址序列的第一报文,则在所述DHCP协议报文中创建IP地址序列,在所述IP地址序列中添加自身的IP地址,修并将所述DHCP协议报文的目的IP地址修改为预设转发路径的下一跳中继设备的IP地址,根据修改后目的IP地址转发所述DHCP协议报文。
作为一个实施例,所述装置还包括:
删除单元405,用于在从所述IP地址序列中删除所述最后一个IP地址之后,若所述IP地址序列中没有IP地址,则删除所述IP地址序列。
作为一个实施例,所述第一修改单元402,具体用于在所述DHCP协议报文的IP地址序列中添加自身的IP地址,所述IP地址是本设备接收DHCP协议报文的接口的IP地址。
基于相同的构思,本公开还提供一种网络设备,如图5所示,所述网络设备包括存储器51、处理器52、通信接口53以及通信总线54;其中,所述存储器51、处理器52、通信接口53通过所述通信总线54进行相互间的通信;
所述存储器51,用于存放计算机程序;
所述处理器52,用于执行所述存储器51上所存放的计算机程序,所述处理器52执行所述计算机程序时实现本公开实施例提供的报文转发方法的任一步骤。
本公开还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本公开实施例提供的报文转发方法的任一步骤。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于网络设备和计算机可读存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
综上所述,本公开可以在DHCP协议报文中增加IP地址序列,使网络设备收到携带IP地址序列的DHCP协议报文时,针对不同的报文来源的DHCP协议报文,根据IP地址序列对DHCP协议报文的目的IP改为下一跳设备的IP地址,并且修改IP地址序列,从而使下一跳设备收到的DHCP协议报文的目的IP地址为该下一跳设备自身的IP地址,相对于现有技术,本公开无需为中继设备配置ACL策略,就可以将该DHCP协议报文上送到CPU处理,从而避免了在中继设备上配置ACL策略的问题,进而降低了人工成本。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种报文转发方法,其特征在于,所述方法应用于多级中继组网中的网络设备,所述方法包括:
接收携带IP地址序列的动态主机配置协议DHCP协议报文,所述IP地址序列用于记录从客户端到DHCP服务器依次经过的各中继设备的IP地址;
若所述DHCP协议报文是第一报文,所述第一报文用于指代报文来源为客户端的报文,则在所述DHCP协议报文的IP地址序列中添加自身的IP地址,并将所述DHCP协议报文的目的IP地址修改为预设转发路径的下一跳中继设备的IP地址,根据修改后目的IP地址转发所述DHCP协议报文;
若所述网络设备是DHCP服务器或者所述DHCP协议报文是第二报文,所述第二报文用于指代报文来源为DHCP服务器的报文,则将所述DHCP协议报文的目的IP地址修改为所述DHCP协议报文的IP地址序列中的最后一个IP地址,从所述IP地址序列中删除所述最后一个IP地址,之后,根据修改后的目的IP地址转发所述DHCP协议报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若收到的DHCP协议报文是未携带IP地址序列的第一报文,则在所述DHCP协议报文中创建IP地址序列,在所述IP地址序列中添加自身的IP地址,并将所述DHCP协议报文的目的IP地址修改为预设转发路径的下一跳中继设备的IP地址,根据修改后目的IP地址转发所述DHCP协议报文。
3.根据权利要求1所述的方法,其特征在于,从所述IP地址序列中删除所述最后一个IP地址之后,所述方法还包括:
若所述IP地址序列中没有IP地址,则删除所述IP地址序列。
4.根据权利要求1所述的方法,其特征在于,在所述DHCP协议报文的IP地址序列中添加自身的IP地址,包括:
在所述DHCP协议报文的IP地址序列中添加自身的IP地址,所述IP地址是本设备接收DHCP协议报文的接口的IP地址。
5.一种报文转发装置,其特征在于,所述装置应用于多级中继组网中的网络设备,所述装置包括:
接收单元,用于接收携带IP地址序列的DHCP协议报文,所述IP地址序列用于记录从客户端到DHCP服务器依次经过的各中继设备的IP地址;
第一修改单元,用于若所述DHCP协议报文是第一报文,所述第一报文用于指代报文来源为客户端的报文,则在所述DHCP协议报文的IP地址序列中添加自身的IP地址,并将所述DHCP协议报文的目的IP地址修改为预设转发路径的下一跳中继设备的IP地址,根据修改后目的IP地址转发所述DHCP协议报文;
第二修改单元,用于若所述网络设备是DHCP服务器或者所述DHCP协议报文是第二报文,所述第二报文用于指代报文来源为DHCP服务器的报文,则将所述DHCP协议报文的目的IP地址修改为所述DHCP协议报文的IP地址序列中的最后一个IP地址,从所述IP地址序列中删除所述最后一个IP地址,之后,根据修改后的目的IP地址转发所述DHCP协议报文。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
创建单元,用于若收到的DHCP协议报文是未携带IP地址序列的第一报文,则在所述DHCP协议报文中创建IP地址序列,在所述IP地址序列中添加自身的IP地址,并将所述DHCP协议报文的目的IP地址修改为预设转发路径的下一跳中继设备的IP地址,根据修改后目的IP地址转发所述DHCP协议报文。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
删除单元,用于在从所述IP地址序列中删除所述最后一个IP地址之后,若所述IP地址序列中没有IP地址,则删除所述IP地址序列。
8.根据权利要求5所述的装置,其特征在于,
所述第一修改单元,具体用于在所述DHCP协议报文的IP地址序列中添加自身的IP地址,所述IP地址是本设备接收DHCP协议报文的接口的IP地址。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现所述权利要求1-4任一方法的步骤。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器、通信接口以及通信总线;其中,所述存储器、处理器、通信接口通过所述通信总线进行相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现所述权利要求1-4任一方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811283650.6A CN109257458B (zh) | 2018-10-31 | 2018-10-31 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811283650.6A CN109257458B (zh) | 2018-10-31 | 2018-10-31 | 一种报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109257458A CN109257458A (zh) | 2019-01-22 |
CN109257458B true CN109257458B (zh) | 2021-09-21 |
Family
ID=65044156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811283650.6A Active CN109257458B (zh) | 2018-10-31 | 2018-10-31 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109257458B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822218B (zh) * | 2021-02-28 | 2022-07-12 | 新华三信息安全技术有限公司 | 一种接入控制方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527740A (zh) * | 2009-05-05 | 2009-09-09 | 杭州华三通信技术有限公司 | 一种动态地址分配的方法、装置及系统 |
WO2011079786A1 (zh) * | 2009-12-31 | 2011-07-07 | 华为技术有限公司 | Ip地址自动配置方法、服务端设备、客户机和通信系统 |
CN102231725A (zh) * | 2010-03-25 | 2011-11-02 | 北京星网锐捷网络技术有限公司 | 一种动态主机配置协议报文的认证方法、设备及系统 |
CN102325202A (zh) * | 2011-10-31 | 2012-01-18 | 杭州华三通信技术有限公司 | 一种用户地址表管理方法和设备 |
CN104253878A (zh) * | 2014-09-09 | 2014-12-31 | 烽火通信科技股份有限公司 | Dhcp relay终结子接口的vlan信息管理系统及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009635A (zh) * | 2006-01-27 | 2007-08-01 | 上海贝尔阿尔卡特股份有限公司 | 一种动态主机配置协议报文转发方法及其网络设备 |
US8086713B2 (en) * | 2009-01-28 | 2011-12-27 | Juniper Networks, Inc. | Determining a subscriber device has failed gracelessly without issuing a DHCP release message and automatically releasing resources reserved for the subscriber device within a broadband network upon determining that another subscriber device requesting the reservation of a network address has the same context information as the failed subscriber device |
ES2766801T3 (es) * | 2014-07-18 | 2020-06-15 | Deutsche Telekom Ag | Método para configurar una conexión de red, red de telecomunicaciones, programa y producto de programa informático |
-
2018
- 2018-10-31 CN CN201811283650.6A patent/CN109257458B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527740A (zh) * | 2009-05-05 | 2009-09-09 | 杭州华三通信技术有限公司 | 一种动态地址分配的方法、装置及系统 |
WO2011079786A1 (zh) * | 2009-12-31 | 2011-07-07 | 华为技术有限公司 | Ip地址自动配置方法、服务端设备、客户机和通信系统 |
CN102231725A (zh) * | 2010-03-25 | 2011-11-02 | 北京星网锐捷网络技术有限公司 | 一种动态主机配置协议报文的认证方法、设备及系统 |
CN102325202A (zh) * | 2011-10-31 | 2012-01-18 | 杭州华三通信技术有限公司 | 一种用户地址表管理方法和设备 |
CN104253878A (zh) * | 2014-09-09 | 2014-12-31 | 烽火通信科技股份有限公司 | Dhcp relay终结子接口的vlan信息管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109257458A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10601707B2 (en) | Segment routing using a remote forwarding adjacency identifier | |
US11218408B2 (en) | Packet processing method, device, and system | |
US9559954B2 (en) | Indexed segment ID | |
US9722878B2 (en) | Seamless segment routing | |
US9282032B2 (en) | Distributed routing architecture | |
US8902897B2 (en) | Distributed routing architecture | |
WO2019001350A1 (zh) | 一种生成转发表项的方法、控制器和网络设备 | |
CN108429680B (zh) | 一种基于虚拟私有云的路由配置方法、系统、介质及设备 | |
US11570093B2 (en) | Data transmission method, node and system | |
CN107580079B (zh) | 一种报文传输方法和装置 | |
EP3384642B1 (en) | Forwarding table compression | |
CN109257458B (zh) | 一种报文转发方法及装置 | |
US7764692B1 (en) | Bypass of routing protocol filtering in a multi-subnet network | |
US20220150167A1 (en) | Bier packet processing method, network device, and system | |
CN107547687B (zh) | 一种报文传输方法和装置 | |
CN109714259B (zh) | 一种流量处理方法及装置 | |
KR101022532B1 (ko) | 무선통신시스템에서 패킷 라우팅 방법 | |
WO2015008541A1 (ja) | 通信装置、通信方法、及びプログラム |
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 |