CN102546428A - 基于DHCPv6侦听的IPv6报文交换系统及方法 - Google Patents
基于DHCPv6侦听的IPv6报文交换系统及方法 Download PDFInfo
- Publication number
- CN102546428A CN102546428A CN201210023779XA CN201210023779A CN102546428A CN 102546428 A CN102546428 A CN 102546428A CN 201210023779X A CN201210023779X A CN 201210023779XA CN 201210023779 A CN201210023779 A CN 201210023779A CN 102546428 A CN102546428 A CN 102546428A
- Authority
- CN
- China
- Prior art keywords
- dhcpv6
- message
- port
- binding
- binding information
- 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
本发明公开了一种基于DHCPv6侦听的IPv6报文交换系统和方法,所述系统包括DHCPv6客户端,接入交换机,汇聚交换机和DHCPv6服务器;其中,所述接入交换机为二层交换设备,所述汇聚交换机为三层交换设备;所述接入交换机用于通过侦听IPv6地址请求过程建立包括用户IP地址、MAC地址和虚拟局域网标识的端口绑定信息,并通过绑定报文将所述端口绑定信息发送给汇聚交换机;所述汇聚交换机用于根据所述绑定报文携带的绑定信息以及绑定报文接收端口更新主机路由表项,并根据所述主机路由表项对IPv6报文进行跨虚拟局域网转发。
Description
技术领域
本发明涉及计算机数据通信领域,尤其涉及基于DHCPv6侦听(DHCPv6Snooping)的IPv6报文交换系统及方法。
背景技术
随着数据通信中交换技术的不断提高,具有三层交换功能的设备已经广泛应用,IPv6三层交换设备能够跨虚拟局域网线速转发IPv6报文,这是二层交换设备不具有的优势。
现有技术中公开了一种“三层交换方法、装置、系统和宿主机”,该方法包括:接收源虚拟机发送的网络报文;根据预先获取的三层交换信息对所述网络报文进行三层交换处理,生成经过三层交换处理的网络报文、目的虚拟机所在的虚拟链路以及目的虚拟机的三层目的地址;根据所述目的虚拟机的三层目的地址将所述经过三层交换处理的网络报文通过目的虚拟机所在的虚拟链路发送给目的虚拟机。
现有的IPv6三层交换功能的实现技术方案,IPv6三层交换信息即IPv6三层表项,IPv6三层表项包括主机路由表项和网段路由表项,主机路由表项指的是前缀128位的路由表项(如2001::1下一跳),网段路由表项指的是前缀长度小于128位的路由表项(2001::/32下一跳)。IPv6三层表项一般通过ND(Neighbor Discovery)表项生成并下发到交换芯片。由于ND协议简单,极易受到攻击,也容易产生欺骗,由ND生成主机路由表项也变得不稳定,这样会造成网络流量的不正常转发,给用户带来极大的不便。
DHCPv6(Dynamic Host Configuration Protocol for IPv6,基于IPv6的动态主机配置协议)是一种自动为用户分配IPv6地址以及其他选项(如网关、DNS)的协议,广泛应用于局域网中,DHCPv6简化了网络的部署、也易于网络的维护。DHCPv6侦听(DHCPv6 SNOOPING)是一种监听DHCPv6地址请求、分配过程的私有协议。该技术通过在交换机设置可信端口,判别DHCPv6地址请求、分配报文的合法性,同时,如果DHCPv6服务器分配IPV6前缀,则将分配的IPV6前缀、用户MAC地址、用户所在端口、端口所属虚拟局域网标识(VLAN ID)、租约时间等信息绑定组成一个用户表项,从而形成DHCPv6 SNOOPING前缀数据库;如果DHCPv6服务器分配IPV6地址,则根据IPV6地址、用户MAC、用户所在端口、端口所属VLAN ID、租约时间等信息绑定组成一个用户表项,从而形成DHCPv6SNOOPING绑定数据库。
在一般的组网中,采用的是层次化的组网方式,包括接入层、汇聚层和核心层,接入层采用低廉的二层交换设备、汇聚层采用三层交换设备,而核心层采用的是高可靠和冗余的交换装置。但是,目前,为了减轻汇聚层交换CPU的负担,三层交换设备不使能DHCPv6侦听,而在接入层的二层交换设备上实施DHCPv6侦听,如果依赖ND协议生成三层主机路由表项,在进行报文转发时容易受到欺骗攻击。
发明内容
本发明的目的在于为了提供一种具有更高安全性能的IPv6报文交换系统和方法。
本发明公开了一种基于DHCPv6侦听的IPv6报文交换系统,所述系统包括DHCPv6客户端,接入交换机,汇聚交换机和DHCPv6服务器;其中,所述接入交换机为二层交换设备,所述汇聚交换机为三层交换设备;
所述接入交换机用于通过侦听IPv6地址请求过程建立包括用户IP地址、MAC地址和虚拟局域网标识的端口绑定信息,并通过绑定报文将所述端口绑定信息发送给汇聚交换机;
所述汇聚交换机用于根据所述绑定报文携带的绑定信息以及绑定报文接收端口更新主机路由表项,并根据所述主机路由表项对IPv6报文进行跨虚拟局域网转发。
优选地,所述接入交换机建立端口绑定信息包括:接入交换机根据DHCPv6客户端的DHCPv6请求报文中的MAC地址以及接收的报文端口和虚拟局域网标识建立临时绑定信息;接入交换机接收到DHCPv6服务器的DHCPv6回复报文后,根据DHCPv6回复报文中的IPv6地址和MAC地址结合对应的临时绑定信息生成端口绑定信息。
优选地,所述汇聚交换机根据所述绑定报文的接收端口设置端口绑定信息的接入端口,将DHCPv6端口绑定信息中的IPv6地址作为目的主机,绑定信息的MAC地址,接入端口和接入虚拟局域网标识分别对应主机路由表项下一跳的目的MAC地址DMAC、出端口、出虚拟局域网标识来更新主机路由表项。
优选地,所述接入交换机对DHCPv6绑定报文进行加密和散列处理后发送所述绑定报文。
优选地,所述接入交换机包括收发模块、交换侦听模块、临时绑定模块、端口绑定模块和绑定报文生成模块,其中,
所述收发模块从不同的端口接收/发送DHCPv6报文交由交换侦听模块转发;
所述交换侦听模块进行DHCPv6报文转发,同时进行DHCPv6侦听,将接收到的DHCPv6请求报文重定向到临时绑定模块、将接收到的DHCPv6回复报文重定向到端口绑定模块;
所述临时绑定模块在收到来自DHCPv6客户端的DHCPv6请求报文时为该DHCPv6客户端创建一个临时请求绑定,提取DHCPv6请求报文中的MAC地址以及接收该请求报文的端口和VLAN ID保存到对应于该DHCPv6客户端的临时请求绑定信息中,并将该DHCPv6请求报文交由交换侦听模块转发至预先设置的可信端口;
所述端口绑定模块用于在从可信端口接收到DHCPv6回复报文时查询所述临时绑定模块中的临时请求绑定信息,如果存在相同MAC地址的临时请求绑定信息,则创建DHCPv6网络节点的端口绑定信息,从DHCPv6回复报文中取出IPv6地址和地址有效期,并从临时请求绑定信息中提取该网络节点的MAC地址、接入端口和VLAN ID,将上述信息绑定保存在端口绑定信息中,并将该DHCPv6回复报文交由交换侦听模块转发至DHCPv6节点所在端口;
所述绑定报文生成模块用于将DHCPv6端口绑定信息加入到DHCPv6绑定报文中,对绑定报文进行加密和散列处理后上传到汇聚交换机。
优选地,所述汇聚交换机包括收发模块、交换模块、绑定报文处理模块和路由更新模块;
所述收发模块从不同的端口接收/发送数据报文交由交换模块转发;
所述绑定报文处理模块用于接收DHCPv6绑定报文,从中提取DHCPv6端口绑定信息,并设置端口绑定信息中的接入端口为收到DHCPv6绑定报文的端口;
所述路由更新模块将所述端口绑定信息中的IPv6地址、MAC地址、接入端口和虚拟局域网标识分别对应作为主机路由表的下一跳目的主机地址,下一跳的目的MAC地址、出端口、出虚拟局域网标识,更新所述交换模块中的主机路由表项;
所述交换模块用于根据第三层路由表项进行数据报文路由转发。
本发明还公开了一种基于DHCPv6侦听的IPv6报文交换方法,包括:
配置为二层交换设备的接入交换机通过侦听IPv6地址请求过程建立包括用户IP地址、MAC地址和虚拟局域网标识的端口绑定信息,并通过绑定报文将所述端口绑定信息发送给汇聚交换机;
配置为三层交换设备的汇聚交换机用于根据所述绑定报文携带的绑定信息以及绑定报文接收端口更新主机路由表,并根据所述主机路由表对IPv6报文进行跨虚拟局域网转发。
优选地,所述通过侦听IPv6地址请求过程建立包括用户IP地址、MAC地址和虚拟局域网标识的端口绑定信息包括:
接入交换机根据DHCPv6客户端的DHCPv6请求报文中的MAC地址以及接收的报文端口和虚拟局域网标识建立临时绑定信息;接入交换机接收到DHCPv6服务器的DHCPv6回复报文后,根据DHCPv6回复报文中的IPv6地址和MAC地址结合对应的临时绑定信息生成端口绑定信息。
优选地,所述接入交换机对所述DHCPv6绑定报文进行加密和散列处理后发送所述绑定报文。
优选地,所述更新主机路由表项包括:所述汇聚交换机根据所述绑定报文的接收端口设置端口绑定信息的接入端口,将DHCPv6端口绑定信息中的IPv6地址作为目的主机,绑定信息的MAC地址,接入端口和接入虚拟局域网标识分别对应主机路由表项下一跳的目的MAC地址DMAC、出端口、出虚拟局域网标识来更新主机路由表项。
本发明增加了DHCPv6环境中交换机三层表项的学习途径,并有效的保证了表项的稳定和安全。
附图说明
图1为基于本发明实施例的交换系统的系统框图;
图2为基于本发明实施例的接入交换机的结构框图;
图3为基于本发明实施例的汇聚交换机的结构框图;
图4为基于本发明实施例的承载于UDP中的DHCPv6绑定报文格式;
图5为基于本发明实施例的IPv6报文交换方法的流程图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以详细说明。
图1为基于本发明实施例的交换系统的系统框图,该IPv6报文交换系统包括DHCPv6客户端、配置为二层交换设备的接入交换机、配置为三层交换设备的汇聚交换机和DHCPv6服务器。DHCPv6客户端连接到接入交换机,接入交换机连接到汇聚交换机,汇聚交换机通过网络连接到DHCPv6服务器。DHCPv6客户通过接入交换机和汇聚交换机转发请求报文,向DHCPv6服务器请求IPv6地址。DHCPv6服务器用于根据DHCPv6客户端的请求分配IPv6地址。接入交换机用于对DHCPv6客户端的地址请求分配过程进行侦听,创建DHCPv6端口绑定信息表并存储,对绑定信息进行处理后通过报文将所述绑定信息上传到三层交换装置。汇聚交换机用于交换转发所述IPv6报文,并在DHCPv6客户端获得IPv6地址后,根据接入交换机上传的DHCPv6绑定报文中的端口绑定信息以及该报文的接收端口更新主机路由表项,以DHCPv6端口绑定信息中的IPv6地址作为目的主机,绑定信息的MAC地址,接入端口和接入VLAN(虚拟局域网),分别对应主机路由表项下一跳的目的MAC地址(DMAC)、出端口、出VLAN(虚拟局域网),根据该主机路由表项转发跨虚拟局域网的IPv6报文。
其中,DHCPv6客户端发送DHCPv6发现报文(DHCPv6 SOLICIT报文),配置为具有DHCPv6 SNOOPING功能的接入交换机接收到DHCPv6客户端的DHCPv6 SOLICIT报文,接入交换机对的DHCPv6发现报文(DHCPv6 SOLICIT)进行监听,将DHCPv6发现报文重定向到接收模块以对接收到的DHCPv6发现报文的合法性进行判断,并将合法的DHCPv6发现报文转发至汇聚交换机的接收端口。汇聚交换机将所述的DHCPv6发现报文中转给DHCPv6服务器。DHCPv6服务器根据收到的DHCPv6发现报文生成DHCPv6广告报文(DHCPv6 ADVERTISE),并通过汇聚交换机和接入交换机逐级转发将DHCPv6广告报文发送给DHCPv6客户端。DHCPv6客户端收到DHCPv6广告报文后向DHCPv6服务器发送DHCPv6请求报文(DHCPv6 REQUEST)。接入交换机在接收到该DHCPv6请求报文后,为该DHCPv6客户端创建一个临时绑定,将DHCPv6请求报文中的MAC地址以及接收的报文端口和虚拟局域网标识,保存到临时绑定信息中。
DHCPv6服务器根据收到的DHCPv6请求报文进行响应,向DHCPv6客户端发送DHCPv6回复报文(DHCPv6 REPLY),分配IPv6地址及相关配置信息给DHCPv6客户端。用于进行DHCPv6侦听的接入交换机收到DHCPv6回复报文后,查询DHCPv6临时绑定信息,如存在相同用户MAC,从DHCPv6回复报文中取出IPv6地址和IPv6地址有效生存期,加上REQUEST绑定中MAC地址、接入端口和虚拟局域网标识,创建DHCPv6端口绑定信息并保存,接入交换机进一步将DHCPv6端口绑定信息加入到DHCPv6绑定报文中,对绑定报文进行加密和散列处理后上传到汇聚交换机,汇聚交换机根据包括DHCPv6端口绑定信息的DHCPv6绑定报文,下发三层引擎处理路由表项,根据路由表项信息,实现跨虚拟局域网转发网络报文。
其中,DHCPv6的端口绑定信息是根据DHCPv6监听用户DHCPv6请求而建立的绑定信息表;监听用户DHCPv6请求而建立的绑定信息,是根据DHCPv6请求报文中的MAC地址以及接收报文的端口和VLAN,保存到该用户的绑定信息中,待收到DHCPv6响应后,再取出其中的IPv6地址,保存到绑定信息中;DHCPv6 SNOOPING绑定信息包括用户的IPv6地址、MAC地址、接入端口、接入虚拟局域网和IPv6地址有效生存期等。
汇聚交换机包括主机路由表项和网络路由表项,主机路由表项是前缀为128位的主机IPv6地址,三层交换模块通过三层引擎处理后下发主机路由表项,根据主机路由表项信息实现跨虚拟局域网的IPv6报文转发。主机路由表项以DHCPv6绑定中的IPv6地址作为目的主机,绑定信息的MAC地址,接入端口和接入VLAN(虚拟局域网),分别对应主机路由表项下一跳的目的MAC地址(DMAC)、出端口、出VLAN(虚拟局域网)。
图2为基于本发明实施例的接入交换机的结构框图。如图2所示,所述接入交换机为二层交换设备,具有DHCPv6侦听功能。所述接入交换机包括收发模块、交换侦听模块、发现报文处理模块、临时绑定模块、端口绑定模块、绑定报文生成模块。其中,所述收发模块从不同的端口接收/发送数据报文交由交换侦听模块转发;所述交换侦听模块进行数据报文转发,同时进行DHCPv6侦听,对DHCPv6的请求和响应报文进行重定向以方便生成绑定信息,具体来说,交换侦听模块将接收到的DHCPv6发现报文重定向到发现报文处理模块、将接收到的DHCPv6请求报文(DHCPv6 REQUEST)重定向到临时绑定模块、将接收到的DHCPv6回复报文(DHCPv6 REPLY)重定向到端口绑定模块;发现报文处理模块收到DHCPv6客户端的DHCPv6发现报文(DHCPv6 SOLICIT)时,对报文合法性进行判断,将合法的DHCPv6发现报文交由交换侦听模块转发到汇聚交换机;所述临时绑定模块在收到来自DHCPv6客户端的DHCPv6请求报文,为该DHCPv6客户端创建一个临时请求绑定,提取DHCPv6请求报文中的MAC地址以及接收该请求报文的端口和VLAN ID保存到对应于该DHCPv6客户端的临时请求绑定信息中,并将该DHCPv6请求报文交由交换侦听模块转发至预先设置的可信端口;所述端口绑定模块用于在从可信端口接收到DHCPv6回复报文时(该回复报文中包括请求网络节点MAC、分配给该网络节点的IPv6地址以及地址有效期等信息),查询所述临时绑定模块中的临时请求绑定信息,如果存在相同MAC地址的临时请求绑定信息,则创建DHCPv6网络节点的端口绑定信息,从DHCPv6回复报文中取出IPv6地址和地址有效期,并从临时请求绑定信息中提取该网络节点的MAC地址、接入端口和VLAN ID,将上述信息绑定保存在端口绑定信息中,并将该DHCPv6回复报文交由交换侦听模块转发至DHCPv6节点所在端口;如果不存在相同MAC地址的临时请求绑定信息,则丢弃该DHCPv6回复报文;绑定报文生成模块用于将DHCPv6端口绑定信息加入到DHCPv6绑定报文中,对绑定报文进行加密和散列处理后上传到汇聚交换机。
图3为基于本发明实施例的汇聚交换机的结构框图。如图3所示,所述汇聚交换机为三层交换设备,包括收发模块、交换模块、绑定报文处理模块和路由更新模块。所述收发模块从不同的端口接收/发送数据报文交由交换模块转发;绑定报文处理模块用于接收DHCPv6绑定报文,从中提取DHCPv6端口绑定信息,并设置绑定信息接入端口为收到DHCPv6绑定报文的端口。所述路由更新模块将所述端口绑定信息中的IPv6地址,MAC地址,接入端口和VLAN ID分别对应作为主机路由表的下一跳目的主机地址,下一跳的目的MAC地址(DMAC)、出端口、出VLAN ID更新所述交换模块中的主机路由表项。所述交换模块用于根据第三层路由表项进行数据报文路由转发,具体来说,所述交换模块根据目的地址查找交换芯片三层表,命中三层主机路由表项,根据下一跳封装报文的二层信息,实现跨虚拟局域网的IPv6报文转发。
其中,接入交换机和汇聚交换机之间的DHCPv6绑定报文格式如图4所示。其使用UDP连接通过网络发送,为了保证安全性和防篡改,对DHCPv6绑定报文进行加密和散列处理,本发明中加密采用共享密钥的DES方式,散列采用MD5方式。DHCPv6绑定报文承载于UDP中,其报文格式如图4所示,各字段解释如下:
Version:版本号,目前为1
Type:类型,目前为1,表示包含绑定信息
SeqNo:序列号,每发送一个报文,加1
SecretLen:被加密报文的长度
Signature:DHCPv6 SNOOPING绑定报文所有字段的MD5散列结果
SwitchIPAddr:交换机的IPv4地址
SwitchID:交换机ID,取交换机CPU MAC
Count:绑定数量
ClientMAC:租用地址的PC终端MAC地址
Reserved:保留,填0
ClientVlanId:DHCPv6用户接入交换机的Vlan ID
PortNum:DHCPv6用户所在的交换机端口号
ClientIP:用户IPv6地址
ClientValidLifetime:DHCPv6分配的地址有效生存期
bindingTimeStamp:分配地址的时间戳
为了防止用户信息泄露以及传输过程中被恶意篡改,需要对报文进行DES加密和MD5散列处理,DES密钥由用户配置,汇聚交换机和接入交换机的密钥必须确保一致。
发送报文前,先进行加密,后进行散列处理,具体过程如下:
自SwitchIPAddr字段开始,一直到结尾的报文内容进行DES加密,密文与明文等长,密文放入DHCPv6绑定报文中SwitchIPAddr字段开始的报文区域,密文长度置于DHCPv6绑定报文的SecretLen字段,然后交给散列处理模块。对于交换机DES加密后的DHCPv6 SNOOPING绑定报文,计算MD5散列时Signature字段先清零,然后对整个报文作散列运算,散列操作完成后散列值填入Signature字段,这时报文可以发出交换机。
汇聚交换机收到报文后,先进行散列计算,再解密,具体过程如下:
计算时先备份signature字段的值,然后signature字段清零,再计算整个报文的MD5散列值,如果散列值与备份的signature字段的值一样,则散列验证成功,继续对DHCPv6绑定报文作DES解密处理。如果散列验证失败,丢弃该DHCPv6SNOOPING绑定报文。对于接收到的MD5散列验证成功的报文,交换机对从Signature字段之后位置开始,长度由SecretLen字段指定的报文内容进行DES解密处理,还原出自SwitchIPAddr字段开始的DHCPv6绑定报文内容。
图5为本发明的基于DHCPv6侦听的IPv6交接入交换机根据端口绑定信息生成DHCPv6绑定报文,将绑定报文发送给汇聚交换机换方法的方法流程图。在系统配置时预先设置侦听模块设置接入交换机端口的DHCPv6绑定数目上限,并设置可信端口,所述可信端口为连接到DHCPv6服务器的端口。如图5所示,所述方法包括如下步骤:
S1、接入交换机收到的DHCPv6客户端的DHCv6P请求报文,为该DHCPv6客户端创建一个临时请求绑定,提取DHCPv6请求报文中的MAC地址以及接收该请求报文的端口和VLAN ID保存到该网络节点的临时请求绑定信息中,并将该DHCPv6请求报文转发至预先设置的可信端口;
S2、接入交换机从可信端口接收DHCPv6回复报文,该回复报文中包括请求网络节点MAC、分配给该网络节点的IPv6地址以及地址有效期等信息,接入交换机的绑定模块查询临时请求绑定信息,如果存在相同MAC地址的临时请求绑定信息,则创建DHCPv6客户端的DHCPv6端口绑定信息,从DHCPv6回复报文中取出IP地址和地址有效期,并从临时请求绑定信息中提取该网络节点的MAC地址、接入端口和VLAN ID,将上述信息绑定保存在端口绑定信息中,同时删除该网络节点的临时请求绑定信息,并将该DHCPv6回复报文交由交换侦听模块转发至DHCPv6节点所在端口;如果不存在相同MAC地址的临时请求绑定信息,则接入交换机丢弃该DHCPv6回复报文,退出方法流程;
S3、接入交换机根据端口绑定信息生成DHCPv6绑定报文,将绑定报文发送给汇聚交换机。
S4、汇聚交换机从DHCPv6报文中提取端口绑定信息,将其中的接入端口设置为接收该报文的端口,将所述端口绑定信息中的IPv6地址,MAC地址,接入端口和VLAN ID分别对应作为主机路由表的下一跳目的主机地址,下一跳的目的MAC地址(DMAC)、出端口、出VLAN ID更新所述交换模块中的主机路由表项
S5、汇聚交换机在收到一个需转发的IPv6报文时,根据目的地址查找交换芯片第三层路由表,如果命中三层主机路由表项,则根据所述主机路由表项中的下一跳目的MAC等信息封装报文的二层信息并转发报文。由此实现转发跨虚拟局域网的IPv6报文。
本发明另一实施例实现的详细步骤如下:
1)在二层交换装置中配置DHCPv6 SNOOPING并使能,DHCPv6报文重定向至交换装置CPU;
2)DHCPv6 SNOOPING设置交换机端口的DHCPv6绑定数目上限,设置可信端口;二层交换装置配置接收DHCPv6绑定的三层交换机地址以及端口号;
3)二层交换装置收到的用户DHCPv6请求报文,为用户创建一个临时的REQUEST绑定,根据DHCPv6请求报文中的MAC地址以及接收报文的端口和VLAN,保存到该用户的REQUEST绑定信息中,并将DHCPv6请求报文转发至可信端口;
4)二层交换装置从可信端口收到DHCPv6 REPLY后,查询临时的REQUEST绑定,如果存在相同用户MAC,则创建DHCPv6用户的绑定信息,从REPLY中取出IPv6地址和IPv6地址有效生存期,以及REQUEST绑定中MAC地址、接入端口和VLAN,均保存到DHCPv6绑定信息中,同时删除临时的REQUEST绑定,将DHCPv6 REPLY转发至DHCPv6用户的接入端口;
5)二层交换装置将DHCPv6 SNOOPING绑定信息加入到DHCPv6 SNOOPING绑定报文中,再转发给三层交换装置。二层交换装置和三层交换装置之间的DHCPv6SNOOPING绑定报文使用UDP连接在网络上传播,为了保证安全性和防篡改,对DHCPv6 SNOOPING绑定报文进行加密和散列处理,其中,加密采用共享密钥的DES方式,散列采用MD5方式。
6)三层交换装置收到报文根据收到的DHCPv6 SNOOPING的绑定信息,设置绑定信息接入端口为收到DHCPv6绑定报文的端口,下发主机路由表项,以DHCPv6绑定中的IPv6地址作为目的主机,绑定信息的MAC地址,接入端口和接入VLAN(虚拟局域网),分别对应主机路由表项下一跳的目的MAC地址(DMAC)、出端口、出vlan(虚拟局域网);
7)三层交换装置收到一个IPv6报文,根据目的地址查找交换芯片三层表,命中三层主机路由表项,根据下一跳封装报文的二层信息,实现跨虚拟局域网的IPv6报文转发。
下面以具体实施例对工作过程进行说明:站点A和站点B为DHCPv6用户终端,处于不同的虚拟局域网中,采用层次化的组网方式与DHCPv6服务器连接,包括接入层的二层交换装置,汇聚层的三层交换装置。通过二层交换装置配置的DHCPv6 SNOOPING使能,监听用户终端的DHCPv6请求,创建DHCPv6 SNOOPING的绑定表,二层交换装置将DHCPv6 SNOOPING绑定信息加入到DHCPv6 SNOOPING绑定报文中,对绑定报文进行加密和散列处理后上传到三层交换装置,三层交换装置收到绑定报文,根据DHCPv6 SNOOPING的绑定信息,下发主机路由表项,根据主机路由表项,实现站点A和站点B相互通信。
三层表是指交换芯片的三层交换表,即硬件的三层转发表,交换芯片根据报文的目的IP查询三层交换表,实现报文的三层转发。三层表包括主机路由表项和网段路由表项,本技术方案中将二层交换装置的DHCPv6 SNOOPING绑定信息加密处理后上传到三层交换装置,三层交换装置通过三层引擎处理模块查询三层表。根据目的地址查找交换芯片主机路由表项,若找到一条匹配表项,就会在对报文进行一些操作(例如根据下一跳封装报文的二层信息)之后将报文从表中指定的端口转发出去。若主机路由表中没有找到匹配表项,则会查找另一个表——网段路由表。网段路由表项存放网段地址、下一跳MAC地址、端口号等信息。在其他网段找到匹配表项,对报文进行一些操作(例如根据下一跳封装报文的二层信息),将报文从指定的端口跨虚拟局域网转发出去。
本发明增加了DHCPv6环境中交换机三层表项的学习途径,并有效的保证了表项的稳定和安全。
上述仅为本发明的较佳实施例及所运用技术原理,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。
Claims (10)
1.一种基于DHCPv6侦听的IPv6报文交换系统,所述系统包括DHCPv6客户端,接入交换机,汇聚交换机和DHCPv6服务器;其中,所述接入交换机为二层交换设备,所述汇聚交换机为三层交换设备;
所述接入交换机用于通过侦听IPv6地址请求过程建立包括用户IP地址、MAC地址和虚拟局域网标识的端口绑定信息,并通过绑定报文将所述端口绑定信息发送给汇聚交换机;
所述汇聚交换机用于根据所述绑定报文携带的绑定信息以及绑定报文接收端口更新主机路由表项,并根据所述主机路由表项对IPv6报文进行跨虚拟局域网转发。
2.如权利要求1所述的基于DHCPv6侦听的IPv6报文交换系统,其特征在于,所述接入交换机建立端口绑定信息包括:接入交换机根据DHCPv6客户端的DHCPv6请求报文中的MAC地址以及接收的报文端口和虚拟局域网标识建立临时绑定信息;接入交换机接收到DHCPv6服务器的DHCPv6回复报文后,根据DHCPv6回复报文中的IPv6地址和MAC地址结合对应的临时绑定信息生成端口绑定信息。
3.如权利要求1所述的基于DHCPv6侦听的IPv6报文交换系统,其特征在于,所述汇聚交换机根据所述绑定报文的接收端口设置端口绑定信息的接入端口,将DHCPv6端口绑定信息中的IPv6地址作为目的主机,绑定信息的MAC地址,接入端口和接入虚拟局域网标识分别对应主机路由表项下一跳的目的MAC地址DMAC、出端口、出虚拟局域网标识来更新主机路由表项。
4.如权利要求1所述的基于DHCPv6侦听的IPv6报文交换系统,其特征在于,所述接入交换机对DHCPv6绑定报文进行加密和散列处理后发送所述绑定报文。
5.如权利要求1所述的基于DHCPv6侦听的IPv6报文交换系统,其特征在于,所述接入交换机包括收发模块、交换侦听模块、临时绑定模块、端口绑定模块和绑定报文生成模块,其中,
所述收发模块从不同的端口接收/发送DHCPv6报文交由交换侦听模块转发;
所述交换侦听模块进行DHCPv6转发同时进行DHCPv6侦听,将接收到的DHCPv6请求报文重定向到临时绑定模块、将接收到的DHCPv6回复报文重定向到端口绑定模块;
所述临时绑定模块在收到来自DHCPv6客户端的DHCPv6请求报文时为该DHCPv6客户端创建一个临时请求绑定,提取DHCPv6请求报文中的MAC地址以及接收该请求报文的端口和VLAN ID保存到对应于该DHCPv6客户端的临时请求绑定信息中,并将该DHCPv6请求报文交由交换侦听模块转发至预先设置的可信端口;
所述端口绑定模块用于在从可信端口接收到DHCPv6回复报文时查询所述临时绑定模块中的临时请求绑定信息,如果存在具有相同MAC地址的临时请求绑定信息,则创建DHCPv6网络节点的端口绑定信息,从DHCPv6回复报文中取出IPv6地址和地址有效期,并从临时请求绑定信息中提取该网络节点的MAC地址、接入端口和虚拟局域网标识(VLAN ID),将上述信息绑定保存在端口绑定信息中,并将该DHCPv6回复报文交由交换侦听模块转发至DHCPv6节点所在端口;
所述绑定报文生成模块用于将DHCPv6端口绑定信息加入到DHCPv6绑定报文中,并对绑定报文进行加密和散列处理后上传到汇聚交换机。
6.如权利要求1所述的基于DHCPv6侦听的IPv6报文交换系统,其特征在于,所述汇聚交换机包括收发模块、交换模块、绑定报文处理模块和路由更新模块;
所述收发模块从不同的端口接收/发送数据报文交由交换模块转发;
所述绑定报文处理模块用于接收DHCPv6绑定报文,从中提取DHCPv6端口绑定信息,并设置DHCPv6端口绑定信息中的接入端口为收到DHCPv6绑定报文的端口;
所述路由更新模块将所述端口绑定信息中的IPv6地址、MAC地址、接入端口和虚拟局域网标识分别对应作为主机路由表的下一跳目的主机地址,下一跳的目的MAC地址、出端口、出虚拟局域网标识,更新所述交换模块中的主机路由表项;
所述交换模块用于根据第三层路由表项进行数据报文路由转发。
7.一种基于DHCPv6侦听的IPv6报文交换方法,包括:
配置为二层交换设备的接入交换机通过侦听IPv6地址请求过程建立包括用户IP地址、MAC地址和虚拟局域网标识的端口绑定信息,并通过绑定报文将所述端口绑定信息发送给汇聚交换机;
配置为三层交换设备的汇聚交换机用于根据所述绑定报文携带的绑定信息以及绑定报文接收端口更新主机路由表,并根据所述主机路由表对IPv6报文进行跨虚拟局域网转发。
8.如权利要求7所述的基于DHCPv6侦听的IPv6报文交换方法,其特征在于,所述通过侦听IPv6地址请求过程建立包括用户IP地址、MAC地址和虚拟局域网标识的端口绑定信息包括:
接入交换机根据DHCPv6客户端的DHCPv6请求报文中的MAC地址以及接收的报文端口和虚拟局域网标识建立临时绑定信息;接入交换机接收到DHCPv6服务器的DHCPv6回复报文后,根据DHCPv6回复报文中的IPv6地址和MAC地址结合对应的临时绑定信息生成端口绑定信息。
9.如权利要求8所述的基于DHCPv6侦听的IPv6报文交换方法,其特征在于,所述接入交换机对所述DHCPv6绑定报文进行加密和散列处理后发送所述绑定报文。
10.如权利要求7所述的基于DHCPv6侦听的IPv6报文交换方法,其特征在于,所述更新主机路由表项包括:所述汇聚交换机根据所述绑定报文的接收端口设置端口绑定信息的接入端口,将DHCPv6端口绑定信息中的IPv6地址作为目的主机,绑定信息的MAC地址,接入端口和接入虚拟局域网标识分别对应主机路由表项下一跳的目的MAC地址DMAC、出端口、出虚拟局域网标识来更新主机路由表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210023779XA CN102546428A (zh) | 2012-02-03 | 2012-02-03 | 基于DHCPv6侦听的IPv6报文交换系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210023779XA CN102546428A (zh) | 2012-02-03 | 2012-02-03 | 基于DHCPv6侦听的IPv6报文交换系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102546428A true CN102546428A (zh) | 2012-07-04 |
Family
ID=46352416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210023779XA Pending CN102546428A (zh) | 2012-02-03 | 2012-02-03 | 基于DHCPv6侦听的IPv6报文交换系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102546428A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857416A (zh) * | 2012-09-18 | 2013-01-02 | 中兴通讯股份有限公司 | 一种实现虚拟网络的方法和虚拟网络 |
CN103560968A (zh) * | 2013-10-30 | 2014-02-05 | 神州数码网络(北京)有限公司 | 交换机硬件主机路由表更新方法、装置和交换机 |
CN104488234A (zh) * | 2012-07-23 | 2015-04-01 | 思科技术公司 | 用于在大型数据中心处的三层网络架构上缩放IPv6的系统和方法 |
CN104519489A (zh) * | 2013-09-26 | 2015-04-15 | 中国电信股份有限公司 | 防范MIPv6源地址欺骗攻击的方法、设备和系统 |
CN104753926A (zh) * | 2015-03-11 | 2015-07-01 | 华中科技大学 | 一种网关准入控制方法 |
CN106330648A (zh) * | 2015-06-15 | 2017-01-11 | 中兴通讯股份有限公司 | 路由信息生成方法及装置 |
CN112714133A (zh) * | 2021-01-04 | 2021-04-27 | 烽火通信科技股份有限公司 | 一种适用于DHCPv6服务端的防ND攻击方法与装置 |
CN113518032A (zh) * | 2020-04-10 | 2021-10-19 | 清华大学 | 基于SRv6的用户可信标识携带方法及系统 |
CN114172753A (zh) * | 2020-09-10 | 2022-03-11 | 华为技术有限公司 | 地址预留的方法、网络设备和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090172156A1 (en) * | 2007-12-29 | 2009-07-02 | Cisco Technology, Inc. | Address security in a routed access network |
CN102316101A (zh) * | 2011-08-09 | 2012-01-11 | 神州数码网络(北京)有限公司 | 一种基于dhcp snooping的安全接入方法 |
-
2012
- 2012-02-03 CN CN201210023779XA patent/CN102546428A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090172156A1 (en) * | 2007-12-29 | 2009-07-02 | Cisco Technology, Inc. | Address security in a routed access network |
CN102316101A (zh) * | 2011-08-09 | 2012-01-11 | 神州数码网络(北京)有限公司 | 一种基于dhcp snooping的安全接入方法 |
Non-Patent Citations (2)
Title |
---|
M.PATRICK: "《Request for Comments:3046》", 31 January 2001, article "DHCP Relay Agent Information Option" * |
T. NARTEN等: "《Request for Comments:4861》", 30 September 2007, article "Neighbor Discovery for IP version 6 (IPv6)" * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104488234B (zh) * | 2012-07-23 | 2017-12-15 | 思科技术公司 | 用于在大型数据中心处的三层网络架构上缩放IPv6的系统和方法 |
CN104488234A (zh) * | 2012-07-23 | 2015-04-01 | 思科技术公司 | 用于在大型数据中心处的三层网络架构上缩放IPv6的系统和方法 |
CN102857416A (zh) * | 2012-09-18 | 2013-01-02 | 中兴通讯股份有限公司 | 一种实现虚拟网络的方法和虚拟网络 |
CN104519489A (zh) * | 2013-09-26 | 2015-04-15 | 中国电信股份有限公司 | 防范MIPv6源地址欺骗攻击的方法、设备和系统 |
CN104519489B (zh) * | 2013-09-26 | 2018-04-06 | 中国电信股份有限公司 | 防范MIPv6源地址欺骗攻击的方法、设备和系统 |
CN103560968A (zh) * | 2013-10-30 | 2014-02-05 | 神州数码网络(北京)有限公司 | 交换机硬件主机路由表更新方法、装置和交换机 |
CN104753926A (zh) * | 2015-03-11 | 2015-07-01 | 华中科技大学 | 一种网关准入控制方法 |
CN106330648A (zh) * | 2015-06-15 | 2017-01-11 | 中兴通讯股份有限公司 | 路由信息生成方法及装置 |
CN106330648B (zh) * | 2015-06-15 | 2020-06-30 | 中兴通讯股份有限公司 | 路由信息生成方法及装置 |
CN113518032A (zh) * | 2020-04-10 | 2021-10-19 | 清华大学 | 基于SRv6的用户可信标识携带方法及系统 |
CN113518032B (zh) * | 2020-04-10 | 2022-11-01 | 清华大学 | 基于SRv6的用户可信标识携带方法及系统 |
CN114172753A (zh) * | 2020-09-10 | 2022-03-11 | 华为技术有限公司 | 地址预留的方法、网络设备和系统 |
WO2022052496A1 (zh) * | 2020-09-10 | 2022-03-17 | 华为技术有限公司 | 地址预留的方法、网络设备和系统 |
CN112714133A (zh) * | 2021-01-04 | 2021-04-27 | 烽火通信科技股份有限公司 | 一种适用于DHCPv6服务端的防ND攻击方法与装置 |
CN112714133B (zh) * | 2021-01-04 | 2022-04-19 | 烽火通信科技股份有限公司 | 一种适用于DHCPv6服务端的防ND攻击方法与装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546428A (zh) | 基于DHCPv6侦听的IPv6报文交换系统及方法 | |
JP4579934B2 (ja) | レガシーノードとhipノード間のホストアイデンティティプロトコル(hip)接続を確立するためのアドレス指定方法及び装置 | |
CN102223365B (zh) | 基于ssl vpn网关集群的用户接入方法及其装置 | |
CN103685467A (zh) | 一种物联网互联互通平台及其通信方法 | |
CN101106450A (zh) | 分布式报文传输安全保护装置和方法 | |
McPherson et al. | Architectural considerations of IP anycast | |
CN101800781B (zh) | 一种穿越nat的隧道过渡方法及系统 | |
CN102546666B (zh) | 防止igmp欺骗和攻击的方法及装置 | |
CN102546661B (zh) | 一种防止IPv6网关邻居欺骗攻击的方法及系统 | |
CN103297563B (zh) | 一种基于身份认证的防止重复地址检测攻击的方法 | |
CN102546658A (zh) | 一种防止网关arp欺骗的方法和系统 | |
CN102437966A (zh) | 基于二层dhcp snooping三层交换系统及方法 | |
CN102546308B (zh) | 基于重复地址检测实现邻居发现代理的方法和系统 | |
CN101834864A (zh) | 一种三层虚拟专用网中攻击防范的方法及装置 | |
CN102664804B (zh) | 网络设备实现网桥功能的方法及系统 | |
CN102546429A (zh) | 基于dhcp监听的isatap隧道的认证方法和系统 | |
CN102572013A (zh) | 一种基于免费arp实现代理arp的方法及系统 | |
CN102546663A (zh) | 一种防止重复地址检测攻击的方法和装置 | |
CN102594882A (zh) | 一种基于DHCPv6监听的邻居发现代理方法和系统 | |
CN102571592B (zh) | 具有端口绑定功能的三层交换设备和数据报文转发方法 | |
TW201505406A (zh) | 社群虛擬網路連線建立方法及網路通信系統 | |
CN104518959B (zh) | 一种设备间通信的方法及装置 | |
JP5241665B2 (ja) | 通信装置、通信システムおよび通信方法 | |
WO2018149673A1 (en) | A method of distributing a sub-flow associated with a session and a network apparatus | |
CN102546307B (zh) | 基于dhcp侦听实现代理arp功能的方法和系统 |
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: 20120704 |