CN102055642A - 一种数据报文转换方法 - Google Patents
一种数据报文转换方法 Download PDFInfo
- Publication number
- CN102055642A CN102055642A CN2009101104647A CN200910110464A CN102055642A CN 102055642 A CN102055642 A CN 102055642A CN 2009101104647 A CN2009101104647 A CN 2009101104647A CN 200910110464 A CN200910110464 A CN 200910110464A CN 102055642 A CN102055642 A CN 102055642A
- Authority
- CN
- China
- Prior art keywords
- request message
- address
- line
- vlan
- couplet
- 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.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种数据报文的转换方法,该方法通过如下步骤:接入设备接收客户端的重定向请求报文,并判断所述请求报文是否为广播形式;将广播形式请求报文的目的地址替换为上联设备端口地址;转发所述请求报文,并创建用户信息或更新用户信息列表。本发明基于DHCP Snooping技术,通过捕获DHCP客户端的重定向请求报文,用请求报文所在VLAN的上联设备MAC地址替换原报文中的广播MAC地址,将其重定向到接入设备上,在保证有效链接的同时避免了广播风暴。
Description
技术领域
本发明涉及计算机数据通信技术领域,特别是涉及一种基于DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)Snooping(侦听)的DHCP请求报文转换方法。
背景技术
DHCP协议主要用于简化IP的配置管理,主机采用DHCP协议可以为用户动态分配IP地址,有效地避免了IP资源浪费。具体操作中,由于DHCP CLIENT(客户端)在申请IP地址时无法确定具体的DHCP SERVER(服务器),所以DHCP上行请求报文DISCOVER包(发现包)和REQUEST包(请求包)采用广播的格式封装,以确保同一VLAN(Virtual Local Area Network,虚拟局域网)中所有DHCP服务器都能收到。但这种封装格式在保证DHCP上行请求报文被DHCP服务器接收到的同时也产生了新的问题:首先,在同一VLAN内存在多个DHCP服务器的情况下,客户端会收到来自多个服务器的回应报文,客户端最后选定的服务器很可能并不是被系统期望的那一个,因此客户端获取到的IP地址并不是所期望使用域的IP地址,那么该客户端设备很可能无法正常接入网络;其次,在同一VLAN内,广播报文将被发送到所有内部端口,导致其它端口额外处理大量无用的DHCP广播报文,必将大大降低接入设备的处理效率。同时由于大量的广播报文的转发还可能引起广播风暴,消耗掉整个网络的带宽。
针对上述问题,目前普遍采用DHCP中继、广播抑制或是开启STP(Spanning Tree Protocol,生成树协议)等方法加以解决,但这些方法复杂且具有局限性:使用DHCP中继就意味着需要耗费一个接口地址作为中继的网关地址,这对于一些二层接入设备来讲是非常困难的;广播抑制或是开启STP协议都只是广播风暴的防范措施,并不能从根本上消除广播风暴。
发明内容
本发明要解决的技术问题是提供一种将DHCP请求报文由广播形式转换为单播形式的方法,简化系统的IP配置管理,避免广播风暴。
为了解决上述问题,本发明提供了一种数据报文的转换方法,包括如下步骤:
步骤1:接入设备接收客户端的重定向请求报文,并判断所述请求报文是否为广播形式;
步骤2:将广播形式请求报文的目的地址替换为上联设备端口地址,并转发所述请求报文到所述上联设备。
进一步地,所述上联设备端口地址为非广播地址。
进一步地,当所述请求报文为DHCP DISCOVER报文,则根据所述请求报文的VLAN ID获取所述上联设备的端口地址,并填充所述请求报文的目的地址。
进一步地,当所述请求报文为非DHCP DISCOVER报文,则根据所述客户端端口地址和/或所述请求报文的VLAN ID从保存的用户信息列表中查找所述客户端用户信息,并用获取的所述上联设备的端口地址填充所述请求报文的目的地址;若所述查找失败,则重新根据所述请求报文的VLAN ID获取该VLAN上联设备的端口地址,并填充所述请求报文的目的地址。
进一步地,所述步骤2之后还包括所述接入设备创建用户信息或更新所述用户信息列表:其中,所述创建用户信息包括根据所述请求报文的VLAN ID和/或所述客户端端口地址作为索引创建所述客户端的用户信息,并保存所述上联设备端口地址信息等;所述更新用户信息列表包括更新获取的上联设备端口地址信息等。
本发明基于DHCP Snooping技术,通过捕获DHCP客户端的重定向请求报文,用请求报文所在VLAN的上联设备MAC地址替换原报文中的广播MAC地址,将其重定向到接入设备上,在保证有效链接的同时,从源头上避免了DHCP请求报文的广播问题。
附图说明
图1是本发明实施例的组网图。
图2是本发明方法实施例的流程图。
具体实施方式
本发明提供的DHCP请求报文广播转单播的方法,主要是利用接入设备对收到的广播报文中地址等信息的判断和替换来实现的。
下面结合附图对本发明的具体实施方式作详细描述。
如图1所示,本发明的组网模式至少包含一个DHCP CLIENT端、一台宽带接入设备以及一台上联设备作为DHCP SERVER端。其中,DHCP CLIENT可以是终端设备,也可以是级联的接入设备;DHCP SERVER-1、DHCP SERVER-2和DHCP SERVER-3可以是终端DHCP SERVER设备也可以是上联的其他接入设备。与它们相连的端口都在VLAN 2中。本实施例中假设VLAN2的上联设备DHCP SERVER-2是被期望的DHCP SERVER端。
如图2所示,本实施例的实现过程如下:
步骤S201:接入设备接收来自DHCP CLIENT的重定向DHCP请求报文,判断该报文是否是广播包。如果不是广播包则执行步骤S202;若是广播包则执行步骤S203。
步骤S202:对于非广播形式的DHCP请求报文,接入设备将其按目的MAC地址发送到相应的端口。
步骤S203:对于广播报文形式的DHCP请求报文,进一步判断当前广播报文是否为DHCP DISCOVER包;若是DHCP DISCOVER包则进入步骤S205;否则转入步骤S204。
步骤S204:对于广播报文形式的非DHCP DISCOVER报文,根据DHCP CLIENT用户MAC地址和该DHCP请求报文的VLAN ID从保存的用户信息列表中查找该DHCP CLIENT用户信息并获取上联设备的gateway地址(即接入设备中预先设置的,与该DHCPCLIENT所对应的上联设备的MAC地址标识)信息;若成功获取则转入步骤S206,否则进入步骤S205。
步骤S205:根据请求报文的VLAN ID获取该VLAN上联设备的gateway地址填充请求报文的目的MAC;若成功获取则转入步骤S206,否则进入步骤S207。
步骤S206:判断获取到的上联设备gateway地址是否为非广播地址;如果是广播地址则转入步骤S207;否则进入步骤S208。
步骤S207:如果查找失败或所述上联设备的gateway地址为广播地址,则在VLAN内部的各端口间广播该DHCP请求报文;之后转入步骤S209。
步骤S208:替换所述DHCP请求报文中的上联设备MAC地址为所述步骤S206中的gateway地址,然后将该DHCP请求报文按照目的MAC地址发送到所述上联设备。
步骤S209:根据DHCP请求报文内容创建用户信息或更新用户信息列表中的该DHCP CLIENT用户信息,具体地,若步骤S204中所述查找用户信息成功,则更新获取的上联设备MAC地址、客户端获取到的IP地址、IP地址的租约时间、该用户所在VLAN ID、所述客户端的MAC地址等信息;若查找失败,则根据DHCP CLIENT请求报文的VLAN ID和/或该DHCP CLIENT用户MAC地址作为索引创建该DHCP CLIENT用户信息加入全局用户信息列表中,保存包括DHCP CLIENT用户MAC地址、获取的上联设备MAC地址等信息;
以上为本发明的具体实施方式。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种数据报文转换方法,包括如下步骤:
步骤1:接入设备接收客户端的重定向请求报文,并判断所述请求报文是否为广播形式;
步骤2:将广播形式请求报文的目的地址替换为上联设备端口地址,并转发所述请求报文到所述上联设备。
2.如权利要求1所述的方法,其特征在于:所述上联设备端口地址为非广播地址。
3.如权利要求1或2所述的方法,其特征在于:所述请求报文为DHCP DISCOVER报文。
4.如权利要求3所述的方法,其特征在于:根据所述请求报文的VLAN ID获取所述上联设备的端口地址,并填充所述请求报文的目的地址。
5.如权利要求1或2所述的方法,其特征在于:所述请求报文为非DHCP DISCOVER报文。
6.如权利要求5所述的方法,其特征在于:根据所述客户端端口地址和/或所述请求报文的VLAN ID从保存的用户信息列表中查找所述客户端用户信息,并用获取的所述上联设备的端口地址填充所述请求报文的目的地址。
7.如权利要求6所述的方法,其特征在于:若所述查找失败,则根据所述请求报文的VLAN ID获取该VLAN上联设备的端口地址,并填充所述请求报文的目的地址。
8.如权利要求1所述的方法,其特征在于:所述步骤2之后还包括所述接入设备创建用户信息和/或更新所述用户信息列表。
9.如权利要求8所述的方法,其特征在于:所述更新用户信息列表包括更新获取的上联设备端口地址信息。
10.如权利要求8所述的方法,其特征在于:所述创建用户信息包括:根据所述请求报文的VLAN ID和/或所述客户端端口地址作为索引创建所述客户端的用户信息,并保存所述上联设备端口地址信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101104647A CN102055642A (zh) | 2009-11-02 | 2009-11-02 | 一种数据报文转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101104647A CN102055642A (zh) | 2009-11-02 | 2009-11-02 | 一种数据报文转换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102055642A true CN102055642A (zh) | 2011-05-11 |
Family
ID=43959595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101104647A Pending CN102055642A (zh) | 2009-11-02 | 2009-11-02 | 一种数据报文转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102055642A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102638390A (zh) * | 2012-01-18 | 2012-08-15 | 神州数码网络(北京)有限公司 | 基于dhcp snooping的三层交换装置及方法 |
CN103731353A (zh) * | 2013-12-26 | 2014-04-16 | 华为技术有限公司 | 虚拟机的物理地址获取方法 |
CN104253878A (zh) * | 2014-09-09 | 2014-12-31 | 烽火通信科技股份有限公司 | Dhcp relay终结子接口的vlan信息管理系统及方法 |
WO2015085558A1 (zh) * | 2013-12-12 | 2015-06-18 | 华为技术有限公司 | 一种动态分配ip地址的方法、装置和系统 |
CN105376346A (zh) * | 2015-12-09 | 2016-03-02 | 北京艾科网信科技有限公司 | 一种提高dhcp协议安全性的方法与系统 |
CN107592320A (zh) * | 2017-10-10 | 2018-01-16 | 成都西加云杉科技有限公司 | 报文响应方法及装置 |
CN111144117A (zh) * | 2019-12-26 | 2020-05-12 | 同济大学 | 知识图谱中文地址消除歧义方法 |
US11425044B2 (en) | 2020-10-15 | 2022-08-23 | Cisco Technology, Inc. | DHCP layer 2 relay in VXLAN overlay fabric |
-
2009
- 2009-11-02 CN CN2009101104647A patent/CN102055642A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102638390A (zh) * | 2012-01-18 | 2012-08-15 | 神州数码网络(北京)有限公司 | 基于dhcp snooping的三层交换装置及方法 |
WO2015085558A1 (zh) * | 2013-12-12 | 2015-06-18 | 华为技术有限公司 | 一种动态分配ip地址的方法、装置和系统 |
CN105917634A (zh) * | 2013-12-12 | 2016-08-31 | 华为技术有限公司 | 一种动态分配ip地址的方法、装置和系统 |
US9525648B2 (en) | 2013-12-26 | 2016-12-20 | Huawei Technologies Co., Ltd. | Method for acquiring physical address of virtual machine |
CN103731353A (zh) * | 2013-12-26 | 2014-04-16 | 华为技术有限公司 | 虚拟机的物理地址获取方法 |
CN103731353B (zh) * | 2013-12-26 | 2017-07-14 | 华为技术有限公司 | 虚拟机的物理地址获取方法 |
CN104253878A (zh) * | 2014-09-09 | 2014-12-31 | 烽火通信科技股份有限公司 | Dhcp relay终结子接口的vlan信息管理系统及方法 |
CN104253878B (zh) * | 2014-09-09 | 2018-04-17 | 烽火通信科技股份有限公司 | Dhcp relay终结子接口的vlan信息管理系统及方法 |
CN105376346A (zh) * | 2015-12-09 | 2016-03-02 | 北京艾科网信科技有限公司 | 一种提高dhcp协议安全性的方法与系统 |
CN105376346B (zh) * | 2015-12-09 | 2018-12-14 | 北京艾科网信科技有限公司 | 一种提高dhcp协议安全性的方法与系统 |
CN107592320A (zh) * | 2017-10-10 | 2018-01-16 | 成都西加云杉科技有限公司 | 报文响应方法及装置 |
CN111144117A (zh) * | 2019-12-26 | 2020-05-12 | 同济大学 | 知识图谱中文地址消除歧义方法 |
CN111144117B (zh) * | 2019-12-26 | 2023-08-29 | 同济大学 | 知识图谱中文地址消除歧义方法 |
US11425044B2 (en) | 2020-10-15 | 2022-08-23 | Cisco Technology, Inc. | DHCP layer 2 relay in VXLAN overlay fabric |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106936777B (zh) | 基于OpenFlow的云计算分布式网络实现方法、系统 | |
CN102055642A (zh) | 一种数据报文转换方法 | |
EP1816796B1 (en) | Bi-directional forwarding in ethernet-based service domains over networks | |
CN108243035B (zh) | Dcn报文处理方法、网络设备和网络系统 | |
EP3255840B1 (en) | Label distribution method and device | |
RU2526749C2 (ru) | Способ и система реализации достижимости маршрута к хосту в кольце доступа сети передачи пакетов | |
CN108574616A (zh) | 一种处理路由的方法、设备及系统 | |
CN107438016A (zh) | 网络管理方法、设备、系统以及存储介质 | |
CN101286922B (zh) | 一种信令控制的方法、系统及设备 | |
EP2512075A1 (en) | Method, access equipment and communication system for message processing | |
CN103905251B (zh) | 网络拓扑获取方法及装置 | |
CN101577722A (zh) | 实现强制mac转发功能的方法和装置 | |
CN105357099A (zh) | 一种基于sdn的虚拟专用网络的实现方法 | |
CN106789725B (zh) | 一种实现流量重定向的方法、装置和系统 | |
TWI639325B (zh) | 自動配置的交換機、自動配置交換機的方法、交換機自動部署的軟體定義網路系統及其方法 | |
CN103248720A (zh) | 一种查询物理地址的方法及装置 | |
CN110233766B (zh) | 一种基于IPv6的OTN、PTN、IPRAN、SPN及PON网络自动部署的方法 | |
US8964749B2 (en) | Method, device and system for establishing a pseudo wire | |
CN104270309A (zh) | 一种ip ran设备下实现多跳bfd的方法 | |
US20150063170A1 (en) | Service Forwarding Method and Device | |
CN106936943A (zh) | 虚拟机地址的分配方法及系统 | |
CN104092684A (zh) | 一种OpenFlow协议支持VPN的方法及设备 | |
CN103685007A (zh) | 一种边缘设备报文转发时的mac学习方法及边缘设备 | |
CN107786441B (zh) | 一种通信方法、OpenFlow交换机及通信系统 | |
CN112994928B (zh) | 一种虚拟机的管理方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110511 |