一种实现dhcp广播交互报文vlan n:1转换的方法和装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,特别是涉及一种实现DHCP广播交互报文VLAN N:1转换的方法和装置。
【背景技术】
[0002]虚拟局域网(Virtural LAN,简称VLAN)是一种将物理网络划分成逻辑(虚拟)局域网的方法。目前,为了满足日益复杂的组网要求,在现场组网中往往需要利用VLAN来划分不同的服务和不同的局域网,比如上网业务和宽带互联网视听业务(InteractiveTelevis1n,简称ITV)需要使用不同的VLAN。为了使不同的VLAN最终能够享受相同的服务并且相互不会影响,那么就需要引入VLAN转换的技术。而在VLAN转换中,N:1转换(又称Ntol转换)的实现方式最为复杂,N:1转换是指将一个VLAN中的数据映射到另一 VLAN。
[0003]在N:1转换中以广播/组播报文交互最为困难。现有的二层交换芯片,基本无法实现广播报文的N:1转换,即使有少数能够在单播N:1转换的基础上通过洪泛方式实现的广播洪泛的,但是,对于动态地址解析协议(Dynamic Host Configurat1n Protocol,简称DHCP)类的报文并不适用。因为,二层交换芯片是通过媒体访问控制(Media AccessControl,简称MAC)和VLAN相结合的方式来进行N:1转换,二次交换芯片无法获得上行广播报文的源MAC地址,因此,对于下行广播报文没有足够的信息来确定来自于哪个上行VLAN,所以只能根据配置的N:1转换条目进行VLAN转换,即将报文复制N份,并完成所有转换条目的下行转换,而这种实现方式对于DHCP类的先到先得的协议交互存在安全隐患,并且由于报文复制的数量与转换条目的数量成正比,在报文数量较多的情况下,容易造成网络负担加重的问题。
【发明内容】
[0004]本发明的主要目的在于提供一种实现DHCP广播交互报文VLAN N:1转换的方法和装置,用以解决二层交换芯片无法完成DHCP广播交互报文VLAN N:1转换的问题。
[0005]基于上述技术问题,本发明是通过以下技术方案来解决的。
[0006]本发明提供了一种实现DHCP广播交互报文VLAN N:1转换的方法,包括:生成VLAN转换表;其中,所述VLAN转换表中记录源MAC地址、源VLAN和上层VLAN的对应关系信息;根据所述VLAN转换表,对接收到的DHCP广播交互报文,进行VLAN N:1转换。
[0007]其中,所述方法还包括:通过预先配置的二层交换芯片,获得生成所述VLAN转换表所需的用户终端的源MAC地址和源VLAN。
[0008]其中,通过预先配置的二层交换芯片,获得生成所述VLAN转换表所需的源MAC地址和源VLAN,包括:预先为所述二层交换芯片配置报文提取规则;收所述二层交换芯片根据所述报文提取规则提取的用户终端首次发送的上行DHCP广播交互报文;基于所述首次发送的上行DHCP广播交互报文,获取所述用户终端的源MAC地址和源VLAN。
[0009]其中,所述方法还包括:预先配置VLAN对应信息;其中,所述VLAN对应信息记录了源VLAN和上层VLAN的对应关系信息;生成VLAN转换表,包括:在获得用户终端的源MAC地址和源VLAN后,将所述源MAC地址、所述源VLAN、以及与所述源VLAN对应的上层VLAN对应存储,形成VLAN转换表。
[0010]其中,根据所述VLAN转换表,对接收到的DHCP广播交互报文,进行VLAN N:1转换,包括:根据接收到的上行DHCP广播交互报文中包含的源MAC地址和源VLAN,在所述VLAN转换表中查找对应的上层VLAN,并将所述上行DHCP广播交互报文中的源VLAN转换成对应的上层VLAN ;根据接收到的下行DHCP广播交互报文中包含的源MAC地址和上层VLAN,在所述VLAN转换表中查找对应的源VLAN,并将所述下行DHCP广播交互报文中的上层VLAN转换成对应的源VLAN。
[0011]其中,所述方法还包括:在所述VLAN转换表生成后,将所述VLAN对应信息下发至所述二层交换芯片,由所述二层交换芯片,直接对接收到的上行DHCP广播交互报文,进行VLAN N:1 转换。
[0012]其中,所述方法还包括:接收所述二层交换芯片根据所述报文提取规则提取的DHCP应答报文;基于所述DHCP应答报文,获取源MAC地址对应的源IP地址;在所述VLAN转换表中增加所述源MAC对应的源IP地址。
[0013]其中,所述方法还包括:接收所述二层交换芯片根据所述报文提取规则提取的地址解析协议ARP广播请求报文;根据所述ARP广播请求报文中包含的上行VLAN、源IP地址,在所述VLAN转换表中,查找对应的源VLAN,并将所述ARP广播请求报文中的上行VLAN转换为对应的源VLAN。
[0014]本发明还提供了一种实现DHCP广播交互报文VLAN N:1转换的装置,包括:配置模块,用于生成VLAN转换表;其中,所述VLAN转换表中记录源MAC地址、源VLAN和上层VLAN的对应关系信息;转换模块,用于根据所述VLAN转换表,对接收到的DHCP广播交互报文,进行VLAN N:1转换。
[0015]其中,所述装置还包括获取模块,用于通过预先配置的二层交换芯片,获得生成所述VLAN转换表所需的用户终端的源MAC地址和源VLAN。
[0016]其中,所述获取模块用于:预先为所述二层交换芯片配置报文提取规则;接收所述二层交换芯片根据所述报文提取规则提取的用户终端首次发送的上行DHCP广播交互报文;基于所述首次发送的上行DHCP广播交互报文,获取所述用户终端的源MAC地址和源VLAN0
[0017]其中,所述配置模块,用于:预先配置VLAN对应信息;其中,所述VLAN对应信息记录了源VLAN和上层VLAN的对应关系信息;在获得用户终端的源MAC地址和源VLAN后,将所述源MAC地址、所述源VLAN、以及与所述源VLAN对应的上层VLAN对应存储,形成VLAN转换表。
[0018]其中,所述转换模块用于:根据接收到的上行DHCP广播交互报文中包含的源MAC地址和源VLAN,在所述VLAN转换表中查找对应的上层VLAN,并将所述上行DHCP广播交互报文中的源VLAN转换成对应的上层VLAN ;根据接收到的下行DHCP广播交互报文中包含的源MAC地址和上层VLAN,在所述VLAN转换表中查找对应的源VLAN,并将所述下行DHCP广播交互报文中的上层VLAN转换成对应的源VLAN。
[0019]其中,所述装置还包括:下发模块,用于在所述VLAN转换表生成后,将所述VLAN对应信息下发至所述二层交换芯片,由所述二层交换芯片,直接对接收到的上行DHCP广播交互报文,进行VLAN N:1转换。
[0020]其中,所述配置模块还用于:接收所述二层交换芯片根据所述报文提取规则提取的DHCP应答报文;基于所述DHCP应答报文,获取源MAC地址对应的源IP地址;在所述VLAN转换表中增加所述源MAC对应的源IP地址。
[0021]其中,所述转换模块还用于:接收所述二层交换芯片根据所述报文提取规则提取的地址解析协议ARP广播请求报文;根据所述ARP广播请求报文中包含的上行VLAN、源IP地址,在所述VLAN转换表中,查找对应的源VLAN,并将所述ARP广播请求报文中的上行VLAN转换为对应的源VLAN。
[0022]本发明有益效果如下:
[0023]本发明通过处理器获取DHCP广播交互报文中的源MAC地址信息,生成包含源MAC地址、源端口、源VLAN和上层VLAN对应关系信息的VLAN转换表,利用该VLAN转换表,对DHCP广播交互报文进行VLAN N:1转换。
[0024]本发明通过处理器实现了对DHCP广播交互报文的VLAN N:1转换,弥补了现有技术中二层交换芯片无法实现DHCP广播交互报文VLAN N:1转换的技术空白。进一步地,通过本发明,对于上行或下行DHCP广播交互报文只需转发一份,无需进行复制,有效提高了VLAN N:1转换效率,降低了网络负荷。
【附图说明】
[0025]图1是根据本发明一实施例的实现DHCP广播交互报文VLAN N:1转换的方法的流程图;
[0026]图2是根据本发明一实施例的通过二层交换芯片生成VLAN转换表的流程图;
[0027]图3是根据本发明一实施例DHCP广播交互报文VLAN N:1转换和转发的具体流程图;
[0028]图4是根据本发明一实施例的对ARP广播请求报文的VLAN N:1转换的步骤的流程图;
[0029]图5是根据本发明一实施例的实现DHCP广播交互报文VLAN N:1转换的系统的结构图;
[0030]图6是