CN108023971B - 一种dhcp报文转发方法和装置 - Google Patents
一种dhcp报文转发方法和装置 Download PDFInfo
- Publication number
- CN108023971B CN108023971B CN201610971513.6A CN201610971513A CN108023971B CN 108023971 B CN108023971 B CN 108023971B CN 201610971513 A CN201610971513 A CN 201610971513A CN 108023971 B CN108023971 B CN 108023971B
- Authority
- CN
- China
- Prior art keywords
- dhcp
- client
- message
- client identifier
- mapping relation
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种DHCP报文转发方法和装置。其中的方法应用于网关设备,所述方法包括:接收对端网关设备转发的来自DHCP客户端的DHCP DISCOVER报文;其中,所述DHCP DISCOVER报文中携带有所述DHCP客户端的客户端标识;记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCP DISCOVER报文的入接口之间的第一映射关系,向DHCP服务器发送所述DHCP DISCOVER报文;通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送来自DHCP服务器的DHCP响应报文。本申请实施例可以提高DHCP报文转发的准确性。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种DHCP报文转发方法和装置。
背景技术
随着网络日益复杂,大多数客户端都是通过DHCP(Dynamic Host ConfigurationProtocol,动态主机配置协议)动态分配IP地址的方式接入网络中。DHCP中包括DHCP服务器和客户端,当DHCP服务器和客户端不在同一网段时,可以部署DHCP中继设备来中继客户端的DHCP请求,将客户端的DHCP请求发送至DHCP服务器,以及将DHCP服务器的回复发送给客户端。
在具有分布式网关的网络中,各网关可以作为DHCP中继设备,参照图1,示出了一种分布式网关的网络结构示意图,包括DHCP服务器、客户端(Client1和Client2)、DHCP中继设备(网关GW1、GW2和GW3),其中网关GW1、GW2和GW3组成分布式网关,且均为TOR(接入交换机),为了实现分布式网关下虚拟机的热迁移,配置网关GW1、GW2具有相同的网关地址(如10.1.2.1)。
如图1所示的网络结构中,假设GW1接收到客户端Client1以广播方式发送的DHCPDISCOVER发现报文后,将DISCOVER报文中的giaddr字段填为Client1所在网段的网关的接口IP地址,并根据配置将DISCOVER报文单播转发给指定的DHCP服务器。DHCP服务器根据giaddr中的地址为客户端Client1分配IP地址等参数,并根据giaddr中的地址向DHCP中继设备发送单播响应报文(如DHCP OFFER、ACK报文等),由于Client1所在网段的网关的接口IP地址会同时存在于GW1、GW2上,则单播响应报文可能会发送到GW1和GW2中的任意一个。如果错发送到GW2,则GW2无法将DHCP的回应报文转发到Client1,导致Client1的地址申请流程失败。
为了解决上述问题,现有的解决方案是:对于作为DHCP中继设备的分布式网关GW,在每个VRF(Virtual Routing Forwarding虚拟路由转发表)中配置唯一标识地址用于DHCP单播响应报文的转发。具体地,如图1所示,在GW1接收到客户端Client1以广播方式发送的DISCOVER后,可以将DISCOVER报文中的giaddr字段(即中继IP地址字段)填为GW1的唯一标识地址,而将GW1的网关地址填入到option82(DHCP中继代理信息选项)的SubOption 5字段中,也就是Link Selection字段中。例如,GW1作为中继设备在发送给DHCP服务器的DISCOVER单播报文中,giaddr字段填入的地址为169.254.0.11,option82 SubOption 5字段填入的地址为10.1.2.1。DHCP服务器收到该DISCOVER单播报文后,会在10.1.2.1网段内为客户端分配IP地址,并将169.254.0.11作为目的地址发送单播响应报文。这样单播响应报文就会转发到GW1,而不会错发到GW2。
然而,在现有的解决方案中,需要为每个中继设备在每个VRF中配置唯一标识地址用于DHCP单播响应报文的转发,网络配置较为复杂,并且需要DHCP服务器能够支持option82 SubOption 5,不仅增加了配置DHCP服务器的复杂度,而且很多DHCP服务器不能支持option82 SubOption 5,导致现有方案仍然具有很大的局限性。
发明内容
鉴于上述问题,本申请实施例提供一种DHCP报文转发方法和装置,可以提高DHCP报文转发的准确性。
本申请实施例公开了一种DHCP报文转发方法,应用于网关设备,所述方法包括:
接收对端网关设备转发的来自DHCP客户端的DHCP DISCOVER报文;其中,所述DHCPDISCOVER报文中携带有所述DHCP客户端的客户端标识;
记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCP DISCOVER报文的入接口之间的第一映射关系,向DHCP服务器发送所述DHCP DISCOVER报文;
通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送来自DHCP服务器的DHCP响应报文。
另一方面,本申请实施例公开了一种DHCP报文转发装置,应用于网关设备,所述装置包括:
第一接收模块,用于接收对端网关设备转发的来自DHCP客户端的DHCP DISCOVER报文;其中,所述DHCP DISCOVER报文中携带有所述DHCP客户端的客户端标识;
记录转发模块,用于记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCP DISCOVER报文的入接口之间的第一映射关系,向DHCP服务器发送所述DHCP DISCOVER报文;
第一发送模块,用于通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送来自DHCP服务器的DHCP响应报文。
本申请实施例包括以下优点:
本申请实施例在接收到对端网关设备转发的来自DHCP客户端的DHCP DISCOVER报文之后,记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCP DISCOVER报文的入接口之间的第一映射关系,并且通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送来自DHCP服务器的DHCP响应报文。由于接收某个DHCP客户端的DHCP DISCOVER报文和发送该DHCP客户端的DHCP响应报文为同一个网络隧道对应的入接口,因此,该DHCP客户端的DHCP响应报文必然会准确发送至该DHCP客户端接入的对端网关设备,而不会错发至其他网关设备,可以提高DHCP报文转发的准确性。
此外,本申请不用为各TOR配置唯一标识地址,也不需要DHCP服务器支持option82SubOption 5,适用范围更广,并且简化了DHCP报文的转发流程,提高了DHCP报文转发的效率。
附图说明
图1是一种分布式网关的网络结构示意图;
图2是本申请其中一个实施例的一种DHCP报文转发方法的步骤流程图;
图3是本申请另一个实施例的一种DHCP报文转发方法的步骤流程图;
图4是本申请一示例性实施例示出的DHCP报文转发装置所在的网关设备的硬件结构示意图;
图5是本申请其中一个实施例的一种DHCP报文转发装置的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图2,示出了本申请其中一个实施例的一种DHCP报文转发方法的步骤流程图,所述方法可应用于网关设备,且所述网关设备为DHCP服务器接入的网关设备,所述方法具体可以包括如下步骤:
步骤201、接收对端网关设备转发的来自DHCP客户端的DHCP DISCOVER报文;其中,所述DHCP DISCOVER报文中携带有所述DHCP客户端的客户端标识;
其中,所述网关设备具体可以为分布式网关,本申请实施例可应用于包括DHCP客户端、分布式网关、DHCP服务器的网络环境中,所述分布式网关可以采用TOR作为网关,例如图1所示的网络环境。在具体应用中,本申请实施例的分布式网关可分布在VxLAN(VirtualeXtensible LAN,可扩展虚拟局域网络)网络环境中,所述分布式网关可以为VxLAN(Virtual eXtensible LAN,可扩展虚拟局域网络)网关。可以理解,本申请实施例对于具体的网络环境和分布式网关的形式不加以限制。
在具体应用中,可以在各TOR上部署DHCP中继功能,即各TOR具有DHCP中继功能,可以支持DHCP中继的处理流程。
在本实施例中,本网关设备指的是DHCP服务器接入的网关设备,如图1中的GW3,对端网关设备指的是DHCP客户端接入的网关设备,如图1中的GW1。本网关设备GW3可以接收对端网关设备GW1转发的来自DHCP客户端的DHCP DISCOVER报文;其中,所述DHCP DISCOVER报文中携带有所述DHCP客户端的客户端标识。
可以理解,在具体应用中,所述本网关设备和对端网关设备可以为直连的网关设备,或者,所述本网关设备和对端网关设备之间也可以连接有其他网关或三层设备,本申请实施例对于本网关设备和对端网关设备之间的具体连接方式不加以限制。
步骤202、记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCPDISCOVER报文的入接口之间的第一映射关系,向DHCP服务器发送所述DHCP DISCOVER报文;
在本申请的一种可选实施例中,所述本网关设备接收所述DHCP DISCOVER报文的入接口具体可以为:所述本网关设备接收所述DHCP DISCOVER报文的二层物理端口或二层隧道对应的隧道接口。
在具体应用中,如果本网关设备接收的DHCP DISCOVER报文来自Underlay网络(传统单层网络),所述入接口可以是二层物理端口。如果DHCP DISCOVER报文来自Overlay网络(叠加网络),所述入接口可以是二层网络隧道对应的隧道接口。需要说明的是,本申请实施例主要用于实现二层广播和转发。
步骤203、通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送来自DHCP服务器的DHCP响应报文。
为了避免本网关设备GW3将对端网关设备GW1的DHCP响应报文错误发送至GW2的情况发生,GW3在接收到GW1转发的来自DHCP客户端(如Client1)的DHCP DISCOVER报文之后,可以记录所述DHCP客户端的客户端标识和本网关设备GW3接收所述DHCP DISCOVER报文的入接口之间的第一映射关系,然后向DHCP服务器发送所述DHCP DISCOVER报文,在接收到来自服务器针对所述DHCP DISCOVER报文返回的DHCP响应报文时,可以通过接收DHCPDISCOVER报文的入接口向对端网关设备GW1发送所述DHCP响应报文;所述DHCP响应报文具体可以包括:所述DHCP服务器针对所述DHCP DISCOVER报文返回的DHCP OFFER报文和所述DHCP服务器针对所述DHCP REQUEST报文返回的DHCP ACK报文。
在本申请的一种应用示例中,假设GW3第一次接收到GW1转发的来自Client1的DHCP DISCOVER报文,由于GW3中不存在Client1对应的第一映射关系,则可以新增Client1对应的第一映射关系,如Client1的客户端标识和GW3接收该DHCP DISCOVER报文的网络隧道的隧道接口之间的映射关系。当GW3下次再接收到来自Client1的DHCP DISCOVER报文时,由于已经存在Client1对应的第一映射关系,则可以根据当前GW3接收所述DHCP DISCOVER报文的入接口更新已有的第一映射关系。
在本申请的一种可选实施例中,所述通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送来自DHCP服务器的DHCP响应报文的步骤,具体可以包括:
步骤S11、根据所述DHCP响应报文中携带的客户端标识查找所述第一映射关系;
步骤S12、若存在所述客户端标识对应的第一映射关系,则通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送所述DHCP响应报文;否则,丢弃所述DHCP响应报文。
例如,GW1与GW3之间建立有VxLAN隧道tunnelA,则GW3可以通过tunnelA的入接口(如接口1)接收GW1转发的来自Client1的DHCP DISCOVER报文,并且在记录Client1的客户端标识和接口1之间的第一映射关系之后,将该DHCP DISCOVER报文发送至DHCP服务器。当GW3接收到DHCP服务器针对Client1的DHCP DISCOVER报文返回的DHCP响应报文时,可以通过所述第一映射关系,查找得到GW3接收Client1的DHCP DISCOVER报文的入接口为接口1,则GW3可以通过接口1向对端网关设备GW1发送Client1的DHCP响应报文。
可以理解,所述客户端标识具体可以为客户端的名称、物理地址等可唯一标识客户端的标识信息,本申请实施例对于客户端标识的具体形式不加以限制。
由于GW3通过接收Client1的VxLAN隧道tunnelA对应的入接口发送Client1对应的DHCP响应报文,且该VxLAN隧道tunnelA为GW1和GW3之间建立的隧道,因此,Client1对应的DHCP响应报文必然会准确发送至GW1,而不会发送至GW2,可以保证能够将DHCP响应报文准确转发到相应的网络设备。此外,本申请不用为各TOR配置唯一标识地址,也不需要DHCP服务器支持option82 SubOption 5,适用范围更广,并且简化了DHCP报文的转发流程,可以提高DHCP报文转发的效率。
需要说明的是,所述DHCP DISCOVER报文中可以携带有Client1接入GW1的三层接口地址,如GW1的网关地址,以使DHCP服务器可以根据该网关地址为GW1分配IP地址,以及将携带有分配的IP地址信息的DHCP响应报文返回至GW3,再通过GW3转发至GW1,最终返回至Client1。
在具体应用中,所述本网关设备还可以接收对端网关设备转发的来自DHCP客户端的DHCP REQUEST报文,并且将该DHCP REQUEST报文发送至DHCP服务器。因此,为解决恶意客户端仿冒其他客户端发送DHCP REQUEST报文带来的安全问题,在本申请的一种可选实施例中,所述方法还可以包括如下步骤:
步骤S21、接收对端网关设备转发的来自DHCP客户端的DHCP REQUEST报文;其中,所述DHCP REQUEST报文中携带有所述DHCP客户端的客户端标识;
步骤S22、根据所述DHCP REQUEST报文中携带的客户端标识查找所述第一映射关系;
步骤S23、若存在所述客户端标识对应的第一映射关系,则向DHCP服务器发送所述DHCP REQUEST报文;否则,丢弃所述DHCP REQUEST报文。
在本申请的一种应用示例中,在GW3接收到GW1转发的来自Client1的DHCPDISCOVER报文时,可以记录Client1的客户端标识和GW3接收该DHCP DISCOVER报文的入接口之间的第一映射关系。则当GW3接收到GW1转发的来自Client1的DHCP REQUEST报文时,可以根据DHCP REQUEST报文中携带的客户端标识查找已记录的第一映射关系,由于已经存在Client1对应的第一映射关系,因此可以向DHCP服务器发送该DHCP REQUEST报文;如果GW3接收到来自Client3的DHCP REQUEST报文,并且通过查找得知GW3中没有记录Client3对应的第一映射关系,则丢弃该DHCP REQUEST报文。由此可以解决恶意客户端仿冒其他客户端发送DHCP REQUEST报文带来的安全问题。
综上,本申请实施例在接收到对端网关设备转发的来自DHCP客户端的DHCPDISCOVER报文之后,可以记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCPDISCOVER报文的入接口之间的第一映射关系,并且通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送来自DHCP服务器的DHCP响应报文。由于接收某个DHCP客户端的DHCP DISCOVER报文和发送该DHCP客户端的DHCP响应报文为同一个网络隧道对应的入接口,因此,该DHCP客户端的DHCP响应报文必然会准确发送至该DHCP客户端接入的对端网关设备,而不会错发至其他网关设备,可以提高DHCP报文转发的准确性。
此外,本申请不用为各TOR配置唯一标识地址,也不需要DHCP服务器支持option82SubOption 5,适用范围更广,并且简化了DHCP报文的转发流程,提高了DHCP报文转发的效率。
在实际应用中,由于DHCP中继设备会将DHCP响应报文广播给客户端,这样,GW1下的所有客户端都会收到发送给Client1的DHCP响应报文,导致其他客户端可以获取Client1的IP地址、MAC地址等信息,为用户的信息安全带来隐患。为解决上述问题,本申请实施例还可以应用于客户端接入的对端网关设备。参照图3,示出了本申请另一个实施例的一种DHCP报文转发方法的步骤流程图,所述方法可应用于网关设备,且所述网关设备为DHCP客户端接入的网关设备,所述方法具体可以包括如下步骤:
步骤301、接收来自DHCP客户端的DHCP DISCOVER报文;其中,所述DHCP DISCOVER报文中携带有所述DHCP客户端的客户端标识;
步骤302、记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCPDISCOVER报文的入接口之间的第二映射关系;
步骤303、在接收到对端网关设备转发的来自DHCP服务器的DHCP响应报文时,根据所述DHCP响应报文中携带的客户端标识查找所述第二映射关系;
步骤304、若存在所述客户端标识对应的第二映射关系,则通过所述第二映射关系中所述客户端标识对应的入接口向所述DHCP客户端发送所述DHCP响应报文;否则,丢弃所述DHCP响应报文。
在本实施例中,所述本网关设备指的是DHCP客户端接入的网关设备,如图1中的GW1,对端网关设备指的是DHCP服务器接入的网关设备,如图1中的GW3。
需要说明的是,在具体应用中,如果本网关设备接收的DHCP DISCOVER报文来自Underlay网络(传统单层网络),所述入接口可以是二层物理端口。如果DHCP DISCOVER报文来自Overlay网络(叠加网络),所述入接口可以是二层网络隧道对应的隧道接口。
在本申请的一种应用示例中,如图1所示,在GW1第一次接收到来自Client1的DHCPDISCOVER报文时,由于GW1中不存在Client1对应的第二映射关系,则可以新增Client1对应的第二映射关系,如Client1的客户端标识(如MAC1)与GW1接收所述DHCP DISCOVER报文的入接口(如接口2)之间的第二映射关系。当GW1下次再接收到来自Client1的DHCP DISCOVER报文时,由于已经存在Client1对应的第二映射关系,则可以根据当前GW1接收所述DHCPDISCOVER报文的入接口更新已有的第二映射关系。
GW1接收到GW3转发的DHCP响应报文之后,可以将DHCP响应报文上送CPU,根据所述DHCP响应报文中携带的客户端标识MAC1查找已记录的第二映射关系,并且查找得到MAC1对应的第二映射关系,该第二映射关系中与MAC1对应的入接口为接口2,则可以通过接口2将所述DHCP响应报文直接发送至Client1,而不广播给子网下的所有客户端,从而可以提高用户的信息安全。
进一步地,GW1还可以接收来自DHCP客户端的DHCP REQUEST报文,所述方法还可以包括如下步骤:
步骤S31、接收来自DHCP客户端的DHCP REQUEST报文;其中,所述DHCP REQUEST报文中携带有所述DHCP客户端的客户端标识;
步骤S32、根据所述DHCP REQUEST报文中携带的客户端标识查找所述第二映射关系;
步骤S33、若存在所述客户端标识对应的第二映射关系,则向对端网关设备发送所述DHCP REQUEST报文;否则,丢弃所述DHCP REQUEST报文。
在GW1接收到来自DHCP客户端的DHCP REQUEST报文时,可以根据DHCP REQUEST报文中携带的客户端标识查找已记录的第二映射关系,如果存在该客户端标识对应的第二映射关系,则向对端网关设备(如GW3)发送该DHCP REQUEST报文;否则,丢弃该DHCP REQUEST报文。由此可以解决恶意客户端仿冒其他客户端发送DHCP REQUEST报文带来的安全问题。
在具体应用中,所述第二映射关系中还可以包括所述客户端标识与本网关设备向对端网关设备发送所述DHCP DISCOVER报文的网络隧道之间的对应关系,则在本网关设备接收到来自DHCP客户端的DHCP REQUEST报文时,可以根据所述DHCP REQUEST报文中携带的客户端标识查找所述第二映射关系,如果存在所述客户端标识对应的第二映射关系,则通过所述客户端标识对应的网络隧道向对端网关设备发送所述DHCP REQUEST报文;否则,丢弃所述DHCP REQUEST报文。
需要说明的是,在具体应用中,还可以按照现有的转发流程来转发DHCP REQUEST报文,具体地,GW1可以通过DHCP服务器的IP地址查找DHCP路由表来转发DHCP REQUEST报文。
综上,本申请实施例还可以应用于客户端接入的网关设备,在接收到来自DHCP客户端的DHCP DISCOVER报文时,记录该DHCP客户端的客户端标识和本网关设备接收该DHCPDISCOVER报文的入接口之间的第二映射关系,并且通过该入接口向该DHCP客户端发送DHCP响应报文,而不广播给子网下的所有客户端,防止该客户端的信息被其它客户端获取,从而可以提高用户的信息安全。
为了更清楚地说明本申请提供的DHCP报文转发方法,下面通过一个具体的应用示例说明本申请的具体实现过程。仍以图1所示的网络结构为例。
步骤S1、GW1接收来自Client1发送的DHCP DISCOVERY报文或DHCP REQUEST报文,该报文为广播报文;
步骤S2、对于DHCP DISCOVERY报文,根据Client1的物理地址查找GW1中已记录的第二映射关系,若不存在Client1的物理地址对应的第二映射关系,则GW1记录Clinet1的物理地址、接收DHCP DISCOVERY报文的入接口、VLAN/VxLAN网络信息等,并且创建Client1的物理地址对应的第二映射关系,其中包括Client1的物理地址、GW1接收所述DHCPDISCOVERY报文的入接口、以及GW1发送所述DHCP DISCOVERY报文的VxLAN隧道之间的对应关系;若存在Client1的物理地址对应的第二映射关系,则根据Client1的物理地址、GW1接收所述DHCP DISCOVERY报文的入接口、以及GW1发送所述DHCP DISCOVERY报文的VxLAN隧道更新已有的第二映射关系;
对于DHCP REQUEST报文,则根据Client1的物理地址查找已经记录的第二映射关系,若存在与Client1的物理地址对应的第二映射关系,则进行后续处理;若不存在,则丢弃DHCP REQUEST报文;
步骤S3、如果GW1为DHCP Relay中继设备,则将DHCP DISCOVERY报文或DHCPREQUEST报文转换为单播报文转发给GW3;如果GW1为DHCP Snooping设备,则将DHCPDISCOVERY报文或DHCP REQUEST报文报文在连接GW3的端口中广播,不在交换机其他下行端口广播;
步骤S4、GW3接收到GW1通过VxLAN隧道转发过来的DHCP DISCOVERY报文或DHCPREQUEST报文。
对于DHCP DISCOVERY报文,根据Client1的物理地址查找GW3中已记录的第一映射关系,若不存在Client1的物理地址对应的第一映射关系,则GW3记录Clinet1的物理地址、GW3接收DHCP DISCOVERY报文的入接口、VLAN/VxLAN网络信息等,并且创建Client1的物理地址对应的第一映射关系,其中包括Client1的物理地址、GW3接收所述DHCP DISCOVERY报文的VxLAN隧道、以及接收DHCP DISCOVERY报文的入接口之间的对应关系;若存在Client1的物理地址对应的第一映射关系,则根据Client1的物理地址、GW3接收所述DHCPDISCOVERY报文的VxLAN隧道、以及GW3接收DHCP DISCOVERY报文的入接口更新已有的第一映射关系;此时,入接口为VxLAN隧道的Tunnel口,而不是物理端口。
对于DHCP REQUEST报文,则根据Client1的物理地址查找已记录的第一映射关系,若存在与Client1的物理地址对应的第一映射关系,则进行后续处理;若不存在,则丢弃DHCP REQUEST报文;
步骤S5、如果GW3为DHCP Relay中继设备,则将DHCP DISCOVERY报文或DHCPREQUEST报文转换为单播报文转发给DHCP Server。如果为GW3为DHCP Snooping设备,则将DHCP DISCOVERY报文或DHCP REQUEST报文在连接DHCP服务器的端口中广播;
步骤S6、GW3接收DHCP服务器回应的单播或广播DHCP响应报文(DHCP OFFER报文或DHCP ACK报文),其中DHCP OFFER报文中携带有为Client1分配的IP地址信息;
步骤S7、GW3将DHCP响应报文上送CPU,根据DHCP响应报文中携带的Client1的物理地址查找已记录的第一映射关系,如果存在与Client1的物理地址匹配的第一映射关系,则从匹配的第一映射关系中对应的Tunnel口发送DHCP响应报文。如果不存在与Client1的物理地址匹配的第一映射关系,则丢弃DHCP响应报文。由于发送DHCP响应报文的隧道是GW3到GW1的隧道,因此DHCP响应报文必然会转发到GW1,而不会到其他GW;
步骤S8、GW1在接收到来自GW3的DHCP响应报文后,将接收到的DHCP响应报文上送CPU。GW1根据所述DHCP响应报文中携带的Client1的物理地址查找已记录的第二映射关系。如果存在与Client1的物理地址匹配的第二映射关系,则从匹配的第二映射关系中对应的入接口发送DHCP响应报文,而不向其他客户端所在端口广播。如果不存在与Client1的物理地址匹配的第二映射关系,则丢弃所述DHCP响应报文。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
与前述DHCP报文转发方法的实施例相对应,本申请还提供了DHCP报文转发装置的实施例。请参考图4,本申请DHCP报文转发装置60的实施例可以应用在网关设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网关设备的处理器10将非易失性存储器50中对应的计算机程序指令读取到内存40中运行形成的。从硬件层面而言,如图4所示,为本申请DHCP报文转发装置60所在网关设备的一种硬件结构图,除了图4所示的处理器10、内部总线20、网络接口30、内存40、以及非易失性存储器50之外,实施例中装置所在的网关设备通常根据其实际功能,还可以包括其他硬件,对此不再赘述。
参照图5,示出了本申请其中一个实施例的一种DHCP报文转发装置的结构框图,所述装置可应用于网关设备。在本申请实施例中,所述装置具体可以包括:
第一接收模块501,用于接收对端网关设备转发的来自DHCP客户端的DHCPDISCOVER报文;其中,所述DHCP DISCOVER报文中携带有所述DHCP客户端的客户端标识;
记录转发模块502,用于记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCP DISCOVER报文的入接口之间的第一映射关系,向DHCP服务器发送所述DHCPDISCOVER报文;
第一发送模块503,用于通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送来自DHCP服务器的DHCP响应报文。
在本申请的一种可选实施例中,所述装置还可以包括:
第二接收模块,用于接收对端网关设备转发的来自DHCP客户端的DHCP REQUEST报文;其中,所述DHCP REQUEST报文中携带有所述DHCP客户端的客户端标识;
第一查找模块,用于根据所述DHCP REQUEST报文中携带的客户端标识查找所述第一映射关系;
第二发送模块,用于若存在所述客户端标识对应的第一映射关系,则向DHCP服务器发送所述DHCP REQUEST报文;否则,丢弃所述DHCP REQUEST报文。
在本申请的另一种可选实施例中,所述DHCP响应报文可以包括:所述DHCP服务器针对所述DHCP DISCOVER报文返回的DHCP OFFER报文和所述DHCP服务器针对所述DHCPREQUEST报文返回的DHCP ACK报文;
所述第一发送模块,具体可以包括:
第一查找子模块,用于根据所述DHCP响应报文中携带的客户端标识查找所述第一映射关系;
第一发送子模块,用于若存在所述客户端标识对应的第一映射关系,则通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送所述DHCP响应报文;否则,丢弃所述DHCP响应报文。
在本申请的又一种可选实施例中,在所述本网关设备为DHCP客户端接入的网关设备时,所述装置还可以包括:
第三接收模块,用于接收来自DHCP客户端的DHCP DISCOVER报文;其中,所述DHCPDISCOVER报文中携带有所述DHCP客户端的客户端标识;
第二记录模块,用于记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCP DISCOVER报文的入接口之间的第二映射关系;
第二查找模块,用于在接收到对端网关设备转发的来自DHCP服务器的DHCP响应报文时,根据所述DHCP响应报文中携带的客户端标识查找所述第二映射关系;
第三发送模块,用于若存在所述客户端标识对应的第二映射关系,则通过所述第二映射关系中所述客户端标识对应的入接口向所述DHCP客户端发送所述DHCP响应报文;否则,丢弃所述DHCP响应报文。
在本申请的再一种可选实施例中,所述装置还可以包括:
第四接收模块,用于接收来自DHCP客户端的DHCP REQUEST报文;其中,所述DHCPREQUEST报文中携带有所述DHCP客户端的客户端标识;
第三查找模块,用于根据所述DHCP REQUEST报文中携带的客户端标识查找所述第二映射关系;
第四发送模块,用于若存在所述客户端标识对应的第二映射关系,则向对端网关设备发送所述DHCP REQUEST报文;否则,丢弃所述DHCP REQUEST报文。
在本申请的再一种可选实施例中,所述本网关设备接收所述DHCP DISCOVER报文的入接口为:所述本网关设备接收所述DHCP DISCOVER报文的二层物理端口或二层隧道对应的隧道接口。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
以上对本申请所提供的一种DHCP报文转发方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种DHCP报文转发方法,其特征在于,应用于网关设备,所述方法包括:
接收对端网关设备转发的来自DHCP客户端的DHCP DISCOVER报文;其中,所述DHCPDISCOVER报文中携带有所述DHCP客户端的客户端标识;
记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCP DISCOVER报文的入接口之间的第一映射关系,向DHCP服务器发送所述DHCP DISCOVER报文;
通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送来自DHCP服务器的DHCP响应报文;
其中,所述记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCP DISCOVER报文的入接口之间的第一映射关系包括:
当所述本网关设备第一次接收到所述对端网关设备转发的来自所述DHCP客户端的DHCP DISCOVER报文时,新增所述DHCP客户端的客户端标识和所述本网关设备接收所述DHCP DISCOVER报文的入接口之间的第一映射关系;
当所述本网关设备再次接收到所述对端网关设备转发的来自该DHCP客户端的DHCPDISCOVER报文时,根据当前本网关设备接收所述DHCP DISCOVER报文的入接口更新已有的第一映射关系。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收对端网关设备转发的来自DHCP客户端的DHCP REQUEST报文;其中,所述DHCPREQUEST报文中携带有所述DHCP客户端的客户端标识;
根据所述DHCP REQUEST报文中携带的客户端标识查找所述第一映射关系;
若存在所述客户端标识对应的第一映射关系,则向DHCP服务器发送所述DHCP REQUEST报文;否则,丢弃所述DHCP REQUEST报文。
3.根据权利要求1所述的方法,其特征在于,所述DHCP响应报文包括:所述DHCP服务器针对所述DHCP DISCOVER报文返回的DHCP OFFER报文和所述DHCP服务器针对所述DHCPREQUEST报文返回的DHCP ACK报文;
所述通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送来自DHCP服务器的DHCP响应报文的步骤,包括:
根据所述DHCP响应报文中携带的客户端标识查找所述第一映射关系;
若存在所述客户端标识对应的第一映射关系,则通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送所述DHCP响应报文;否则,丢弃所述DHCP响应报文。
4.根据权利要求1所述的方法,其特征在于,在所述本网关设备为DHCP客户端接入的网关设备时,所述方法还包括:
接收来自DHCP客户端的DHCP DISCOVER报文;其中,所述DHCP DISCOVER报文中携带有所述DHCP客户端的客户端标识;
记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCP DISCOVER报文的入接口之间的第二映射关系;
在接收到对端网关设备转发的来自DHCP服务器的DHCP响应报文时,根据所述DHCP响应报文中携带的客户端标识查找所述第二映射关系;
若存在所述客户端标识对应的第二映射关系,则通过所述第二映射关系中所述客户端标识对应的入接口向所述DHCP客户端发送所述DHCP响应报文;否则,丢弃所述DHCP响应报文。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收来自DHCP客户端的DHCP REQUEST报文;其中,所述DHCPREQUEST报文中携带有所述DHCP客户端的客户端标识;
根据所述DHCP REQUEST报文中携带的客户端标识查找所述第二映射关系;
若存在所述客户端标识对应的第二映射关系,则向对端网关设备发送所述DHCPREQUEST报文;否则,丢弃所述DHCP REQUEST报文。
6.根据权利要求1至5任一所述的方法,其特征在于,所述本网关设备接收所述DHCPDISCOVER报文的入接口为:所述本网关设备接收所述DHCP DISCOVER报文的二层物理端口或二层隧道对应的隧道接口。
7.一种DHCP报文转发装置,其特征在于,应用于网关设备,所述装置包括:
第一接收模块,用于接收对端网关设备转发的来自DHCP客户端的DHCP DISCOVER报文;其中,所述DHCP DISCOVER报文中携带有所述DHCP客户端的客户端标识;
记录转发模块,用于记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCPDISCOVER报文的入接口之间的第一映射关系,向DHCP服务器发送所述DHCP DISCOVER报文;
第一发送模块,用于通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送来自DHCP服务器的DHCP响应报文;
其中,所述记录转发模块包括:
新增子模块,用于当所述本网关设备第一次接收到所述对端网关设备转发的来自所述DHCP客户端的DHCP DISCOVER报文时,新增所述DHCP客户端的客户端标识和所述本网关设备接收所述DHCP DISCOVER报文的入接口之间的第一映射关系;
更新子模块,用于当所述本网关设备再次接收到所述对端网关设备转发的来自该DHCP客户端的DHCP DISCOVER报文时,根据当前本网关设备接收所述DHCP DISCOVER报文的入接口更新已有的第一映射关系。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收对端网关设备转发的来自DHCP客户端的DHCP REQUEST报文;其中,所述DHCP REQUEST报文中携带有所述DHCP客户端的客户端标识;
第一查找模块,用于根据所述DHCP REQUEST报文中携带的客户端标识查找所述第一映射关系;
第二发送模块,用于若存在所述客户端标识对应的第一映射关系,则向DHCP服务器发送所述DHCP REQUEST报文;否则,丢弃所述DHCP REQUEST报文。
9.根据权利要求7所述的装置,其特征在于,所述DHCP响应报文包括:所述DHCP服务器针对所述DHCP DISCOVER报文返回的DHCP OFFER报文和所述DHCP服务器针对所述DHCPREQUEST报文返回的DHCP ACK报文;
所述第一发送模块,包括:
第一查找子模块,用于根据所述DHCP响应报文中携带的客户端标识查找所述第一映射关系;
第一发送子模块,用于若存在所述客户端标识对应的第一映射关系,则通过所述第一映射关系中所述客户端标识对应的入接口向所述对端网关设备发送所述DHCP响应报文;否则,丢弃所述DHCP响应报文。
10.根据权利要求7所述的装置,其特征在于,在所述本网关设备为DHCP客户端接入的网关设备时,所述装置还包括:
第三接收模块,用于接收来自DHCP客户端的DHCP DISCOVER报文;其中,所述DHCPDISCOVER报文中携带有所述DHCP客户端的客户端标识;
第二记录模块,用于记录所述DHCP客户端的客户端标识和本网关设备接收所述DHCPDISCOVER报文的入接口之间的第二映射关系;
第二查找模块,用于在接收到对端网关设备转发的来自DHCP服务器的DHCP响应报文时,根据所述DHCP响应报文中携带的客户端标识查找所述第二映射关系;
第三发送模块,用于若存在所述客户端标识对应的第二映射关系,则通过所述第二映射关系中所述客户端标识对应的入接口向所述DHCP客户端发送所述DHCP响应报文;否则,丢弃所述DHCP响应报文。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第四接收模块,用于接收来自DHCP客户端的DHCP REQUEST报文;其中,所述DHCPREQUEST报文中携带有所述DHCP客户端的客户端标识;
第三查找模块,用于根据所述DHCP REQUEST报文中携带的客户端标识查找所述第二映射关系;
第四发送模块,用于若存在所述客户端标识对应的第二映射关系,则向对端网关设备发送所述DHCP REQUEST报文;否则,丢弃所述DHCP REQUEST报文。
12.根据权利要求7至11任一所述的装置,其特征在于,所述本网关设备接收所述DHCPDISCOVER报文的入接口为:所述本网关设备接收所述DHCP DISCOVER报文的二层物理端口或二层隧道对应的隧道接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610971513.6A CN108023971B (zh) | 2016-11-04 | 2016-11-04 | 一种dhcp报文转发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610971513.6A CN108023971B (zh) | 2016-11-04 | 2016-11-04 | 一种dhcp报文转发方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108023971A CN108023971A (zh) | 2018-05-11 |
CN108023971B true CN108023971B (zh) | 2021-04-20 |
Family
ID=62083568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610971513.6A Active CN108023971B (zh) | 2016-11-04 | 2016-11-04 | 一种dhcp报文转发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108023971B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113170005B (zh) | 2018-09-13 | 2023-08-08 | 瑞典爱立信有限公司 | 支持在通信上耦接的通信设备的网络中的消息的选择性转发的方法和设备 |
CN109495369B (zh) * | 2018-12-27 | 2020-11-27 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN110011919B (zh) * | 2019-03-27 | 2021-12-07 | 新华三技术有限公司 | 报文转发方法、装置、网络设备及存储介质 |
US11425044B2 (en) * | 2020-10-15 | 2022-08-23 | Cisco Technology, Inc. | DHCP layer 2 relay in VXLAN overlay fabric |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184045A (zh) * | 2007-12-13 | 2008-05-21 | 华为技术有限公司 | 一种实现终端接入零售业务提供商的方法和装置 |
CN102263704A (zh) * | 2011-09-01 | 2011-11-30 | 杭州华三通信技术有限公司 | 一种支持数据中心二层互联的拓扑构建方法和装置 |
CN103944826A (zh) * | 2013-01-22 | 2014-07-23 | 杭州华三通信技术有限公司 | Spbm网络中的表项聚合方法及设备 |
US9438475B1 (en) * | 2014-04-01 | 2016-09-06 | Cisco Technology, Inc. | Supporting relay functionality with a distributed layer 3 gateway |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889572B (zh) * | 2006-07-27 | 2010-06-09 | 杭州华三通信技术有限公司 | 因特网协议地址分配方法及动态主机配置协议中继 |
CN101414998B (zh) * | 2007-10-15 | 2012-08-08 | 华为技术有限公司 | 一种基于认证机制转换的通信方法、系统及设备 |
-
2016
- 2016-11-04 CN CN201610971513.6A patent/CN108023971B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184045A (zh) * | 2007-12-13 | 2008-05-21 | 华为技术有限公司 | 一种实现终端接入零售业务提供商的方法和装置 |
CN102263704A (zh) * | 2011-09-01 | 2011-11-30 | 杭州华三通信技术有限公司 | 一种支持数据中心二层互联的拓扑构建方法和装置 |
CN103944826A (zh) * | 2013-01-22 | 2014-07-23 | 杭州华三通信技术有限公司 | Spbm网络中的表项聚合方法及设备 |
US9438475B1 (en) * | 2014-04-01 | 2016-09-06 | Cisco Technology, Inc. | Supporting relay functionality with a distributed layer 3 gateway |
Also Published As
Publication number | Publication date |
---|---|
CN108023971A (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106559292B (zh) | 一种宽带接入方法和装置 | |
JP5551247B2 (ja) | マルチnat64環境のための方法及びホストノード | |
EP2580900B1 (en) | Enhancing DS-Lite with private IPv4 reachability | |
CN107094110B (zh) | 一种dhcp报文转发方法及装置 | |
JP5368459B2 (ja) | ユーザ装置における三重動作サービスのサポート | |
CN106209643B (zh) | 报文转发方法及装置 | |
US20170237706A1 (en) | Method and apparatus for setting network rule entry | |
CN108023971B (zh) | 一种dhcp报文转发方法和装置 | |
US8458303B2 (en) | Utilizing a gateway for the assignment of internet protocol addresses to client devices in a shared subset | |
US10432578B2 (en) | Client address based forwarding of dynamic host configuration protocol response packets | |
EP2451125B1 (en) | Method and system for realizing network topology discovery | |
CN102907072A (zh) | 利用NAT64启用IPv6移动性 | |
US9426069B2 (en) | System and method of cross-connection traffic routing | |
EP3754949B1 (en) | Method for acquiring and providing service, and user equipment and management server | |
CN105591907B (zh) | 一种路由获取方法和装置 | |
US10999242B1 (en) | Carrier grade NAT subscriber management | |
CN110365557B (zh) | 一种网络互连的方法及装置 | |
EP2765743A1 (en) | Layer 2 inter-connecting method, apparatus and system based on ipv6 | |
WO2022048412A1 (zh) | 一种生成表项的方法、发送报文的方法、设备及系统 | |
JP2019510406A (ja) | 顧客宅内lan拡張のためのアドレッシング | |
CN113660164A (zh) | 一种报文转发方法及网络设备 | |
WO2011107052A2 (zh) | 一种防止地址冲突的方法及接入节点 | |
WO2016177185A1 (zh) | 媒体访问控制mac地址的处理方法及装置 | |
CN104468305B (zh) | 实现三层虚拟专用网方法和设备 | |
CN106656718B (zh) | VxLAN网关以及基于VxLAN网关实现的主机接入互联网的方法 |
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 |