一种数据报文转换方法

文档序号:7705178阅读:313来源:国知局
专利名称:一种数据报文转换方法
技术领域
本发明涉及计算机数据通信技术领域,特别是涉及一种基于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-UDHCP 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地址等信息;以上为本发明的具体实施方式
。当然,本发明还可有其他多种实施例,在不背离本 发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变 和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种数据报文转换方法,包括如下步骤步骤1 接入设备接收客户端的重定向请求报文,并判断所述请求报文是否为广播形式;步骤2 将广播形式请求报文的目的地址替换为上联设备端口地址,并转发所述请求 报文到所述上联设备。
2.如权利要求1所述的方法,其特征在于所述上联设备端口地址为非广播地址。
3.如权利要求1或2所述的方法,其特征在于所述请求报文为DHCPDISCOVER报文。
4.如权利要求3所述的方法,其特征在于根据所述请求报文的VLANID获取所述上 联设备的端口地址,并填充所述请求报文的目的地址。
5.如权利要求1或2所述的方法,其特征在于所述请求报文为非DHCPDISCOVER报文。
6.如权利要求5所述的方法,其特征在于根据所述客户端端口地址和/或所述请求 报文的VLAN ID从保存的用户信息列表中查找所述客户端用户信息,并用获取的所述上联 设备的端口地址填充所述请求报文的目的地址。
7.如权利要求6所述的方法,其特征在于若所述查找失败,则根据所述请求报文的 VLAN ID获取该VLAN上联设备的端口地址,并填充所述请求报文的目的地址。
8.如权利要求1所述的方法,其特征在于所述步骤2之后还包括所述接入设备创建 用户信息和/或更新所述用户信息列表。
9.如权利要求8所述的方法,其特征在于所述更新用户信息列表包括更新获取的上 联设备端口地址信息。
10.如权利要求8所述的方法,其特征在于所述创建用户信息包括根据所述请求报 文的VLAN ID和/或所述客户端端口地址作为索引创建所述客户端的用户信息,并保存所 述上联设备端口地址信息。
全文摘要
本发明提供了一种数据报文的转换方法,该方法通过如下步骤接入设备接收客户端的重定向请求报文,并判断所述请求报文是否为广播形式;将广播形式请求报文的目的地址替换为上联设备端口地址;转发所述请求报文,并创建用户信息或更新用户信息列表。本发明基于DHCP Snooping技术,通过捕获DHCP客户端的重定向请求报文,用请求报文所在VLAN的上联设备MAC地址替换原报文中的广播MAC地址,将其重定向到接入设备上,在保证有效链接的同时避免了广播风暴。
文档编号H04L12/56GK102055642SQ20091011046
公开日2011年5月11日 申请日期2009年11月2日 优先权日2009年11月2日
发明者关越 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1