媒体接入控制强制转发方法及功能单元的制作方法

文档序号:7744338阅读:115来源:国知局
专利名称:媒体接入控制强制转发方法及功能单元的制作方法
技术领域
本发明涉及以太网转发技术领域,具体涉及媒体接入控制强制转发方法及功能单兀。
背景技术
在传统的以太网组网方案中,为了实现不同客户端主机之间的二层隔离和三层互通,通常采用在交换机上划分虚拟局域网(VLAN,Virtual Local AreaNetwork)的方法。但是当彼此间需要二层隔离的用户较多时,这种方式会占用大量的VLAN资源;同时,为实现客户端之间三层互通,需要为每个VLAN规划不同的IP网段,并配置VLAN接口的IP地址, 因此划分过多的VLAN会降低IP地址的分配效率。为了改善这种现状,MAC强制转发(MFF,MAC-Forced Forwarding)技术为同一广播域内实现客户端主机间的二层隔离和三层互通,提供了一种解决方案。MFF功能单元截获用户的地址解析协议(ARP,Address ResolutionProtocol)请求报文,通过ARP代答机制,回复源地址为网关媒体接入控制(MAC,Media Access Control) 地址的ARP应答报文。通过这种方式,可以强制用户将所有流量(包括同一子网内的流量) 发送到网关,使网关可以监控数据流量,防止用户之间的恶意攻击,能更好地保障网络部署的安全性。图1为现有的MFF应用组网示例图,如图1所示,交换机A和B作为以太网接入节点(EAN,Ethernet Access Nodes)提供了客户端主机与汇聚节点(交换机C)之间的连接。 在以太网接入节点上配置MFF功能,可以使客户端间交互的数据报文全部通过网关转发, 实现了客户端之间的三层互通,又保证了二层数据的隔离,即客户端主机不会了解相互的 MAC地址。现有MFF技术的关键点是网关MAC地址以及使用该网关MAC地址进行单播报文转发的处理。在自动地址配置方式下,只能通过动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)的选项学习到IPv4网关MAC地址。但是,当网络支持IPv6时, 现有MFF技术没有对应的处理方案,这样将导致IPv6网络不通,此时,若简单地模仿IPv4, 即通过侦听DHCPv6报文的方式来学习IPv6网关MAC地址并不可行,因为IPv6协议中,通过DHCP来分配地址并不是主流技术,而且DHCPv6中并没有对应的网关选项。

发明内容
本发明提供MFF方法及功能单元,以在IPv6网络中应用MFF。本发明的技术方案是这样实现的一种媒体接入控制强制转发MFF方法,应用于IPv6网络中,该方法包括部署了 MFF功能的以太网接入节点EAN侦听自身网络端口上的邻居发现ND报文, 从该报文中获取IPv6网关的媒体接入控制MAC地址; 所述EAN接收任一客户端发来的ND请求报文,向该客户端返回ND响应报文,该ND响应报文的源MAC地址为所述IPv6网关的MAC地址,该客户端保存该IPv6网关的MAC地址;所述EAN接收任一客户端发起的IPv6单播报文,报文的目的MAC地址为IPv6网关的MAC地址,EAN将该报文转发给IPv6网关,以便IPv6网关根据报文的目的IP地址将报文转发给目的客户端。预先在部署了 MFF功能的EAN上配置IPv6网关的IP地址,且所述EAN侦听自身网络端口上的ND报文为EAN侦听自身网络端口上的邻居通告NA报文,且发现该报文的源IP地址与所配置的一个IPv6网关的IP地址相同;所述从该报文中获取IPv6网关的MAC地址为将所述NA报文的源MAC地址作为学习到的所述IPv6网关的MAC地址。所述IPv6网关的数目大于1,且,预先在部署了 MFF功能的EAN上配置IPv6网关的前缀;所述EAN接收任一客户端发来的ND请求报文之后、向客户端返回ND响应报文之前进一步包括所述EAN将报文的源IP地址与自身已学习到MAC地址的各IPv6网关的前缀一一匹配,将匹配长度最长的前缀对应的IPv6网关的MAC地址作为所述ND响应报文的源MAC 地址。预先在部署了 MFF功能的EAN上配置IPv6网关的VLAN标记,且,所述EAN接收任一客户端发来的ND请求报文之后、EAN将报文的源IP地址与自身已学习到MAC地址的各IPv6网关的前缀一一匹配之前进一步包括EAN将报文的VLAN 标记与已学习到MAC地址的各IPv6网关的VLAN标记一一匹配;且,所述EAN将报文的源IP地址与自身已学习到MAC地址的各IPv6网关的前缀一一匹配为针对VLAN标记与报文的VLAN标记匹配的各IPv6网关,EAN将该网关的前缀与报文的源IP地址一一匹配。所述将所述NA报文的源MAC地址作为学习到的所述IPv6网关的MAC地址之后进一步包括所述EAN在自身的网络端口上侦听到ND报文,且报文的源IP地址与所述IPv6网关的IP地址相同,则EAN以该报文的源MAC地址更新所述学习到的IPv6网关的MAC地址。所述EAN接收任一客户端发来的ND请求报文之后、向客户端返回ND响应报文之前进一步包括EAN发现自身还未学习到任一 IPv6网关的MAC地址,则模拟所述客户端向任一 IPv6网关发送邻居请求NS报文,报文的源IP地址、源MAC地址为所述客户端的IP地址、 MAC地址,报文的目的IP地址为所述IPv6网关的IP地址,当接收到所述IPv6网关返回的 NA报文后,以NA报文的源MAC地址作为所述IPv6网关的MAC地址。所述部署了 MFF功能的EAN侦听自身网络端口上的ND报文为EAN侦听自身网络端口上的路由器通告RA报文,所述从该报文中获取IPv6网关的MAC地址包括对于每个RA报文,将该报文的IP 头中的源地址作为一个IPv6网关的IP地址,将该报文的以太头中的源地址或者源链路层地址作为学习到的该IPv6网关的MAC地址,并从该报文的前缀信息中获取该IPv6网关的前缀,保存该学习到的IPv6网关的MAC地址、前缀、和IP地址。所述EAN接收任一客户端发来的ND请求报文之后、向客户端返回ND响应报文之前进一步包括所述EAN将报文的源IP地址与自身已学习到的各IPv6网关的前缀一一匹配,将匹配长度最长的前缀对应的IPv6网关的MAC地址作为所述ND响应报文的源MAC地址。所述从该报文中获取IPv6网关的MAC地址进一步包括从该RA报文的以太头中获取VLAN标记,将该VLAN标记作为所述IPv6网关的VLAN标记,或者,将RA报文的接收端口所在VLAN标记作为所述IPv6网关的VLAN标记;所述EAN接收任一客户端发来的ND请求报文之后、EAN将报文的源IP地址与自身已学习到的各IPv6网关的前缀一一匹配之前进一步包括EAN将报文的VLAN标记与已学习到的各IPv6网关的VLAN标记一一匹配;且,所述EAN将报文的源IP地址与自身已学习到的各IPv6网关的前缀一一匹配为针对VLAN标记与报文的VLAN标记匹配的各IPv6网关,EAN将该网关的前缀与报文的源IP地址——匹配。所述从该报文中获取IPv6网关的MAC地址进一步包括从该报文的路由器生存期中获取该IPv6网关的前缀生存期,且,所述方法进一步包括EAN发现一个IPv6网关的前缀生存期已过,则在自身保存的ND侦听表项中查找与该网关的前缀最匹配的一个客户端的IP地址,模拟该客户端向该IPv6网关发起一个RS报文,报文的源IP地址、源MAC地址分别为所述客户端的IPv6地址、MAC地址,目的IP地址为该IPv6网关的IPv6地址,当接收到该IPv6网关返回的RA报文时,根据该RA报文的内容更新该IPv6网关的IP地址和MAC地址。所述EAN接收任一客户端发来的ND请求报文之后、向客户端返回ND响应报文之前进一步包括EAN发现自身还未学习到任何IPv6网关的MAC地址,则模拟所述客户端发送RS报文,报文的源IP地址、源MAC地址为所述客户端的IP地址、MAC地址,当接收到RA报文后, 以该RA报文的源IP地址、源MAC地址作为学习到的一个IPv6网关的IP地址、MAC地址。所述方法进一步包括EAN接收任一客户端发起的IPv6单播报文,发现该报文的目的MAC地址不为自身学习到的任一 IPv6网关的MAC地址,则丢弃该报文。一种MFF功能单元,应用于IPv6网络中,包括MAC地址侦听模块,在本单元所在设备的网络端口上侦听ND报文,从该报文中获取并保存IPv6网关的MAC地址;MAC地址发送模块,接收任一客户端发来的ND请求报文,从MAC地址侦听模块获取IPv6网关的MAC地址,向该客户端返回ND响应报文,该ND响应报文的源MAC地址为所述IPv6网关的MAC地址;报文处理模块,接收任一客户端发起的IPv6单播报文,将报文的目的MAC地址与 MAC地址侦听模块保存的IPv6网关的MAC地址匹配,若匹配上,则将该报文转发给IPv6网关,以便IPv6网关根据报文的目的IP地址将报文转发给目的客户端。
该单元进一步包括静态配置模块,用于保存在本单元上静态配置的IPv6网关的 IP地址;且,所述MAC地址侦听模块在发现侦听到的ND报文的源IP地址与静态配置模块中保存的一个IPv6网关的IP地址相同时,将该ND报文的源MAC地址作为学习到的所述 IPv6网关的MAC地址。所述静态配置模块进一步用于,保存在本单元上静态配置的IPv6网关的前缀;且,所述MAC地址发送模块在接收到ND请求报文后,先从MAC地址侦听模块获取已学习到MAC地址的IPv6网关,再从静态配置模块获取已学习到MAC地址的各IPv6网关的前缀,将该ND请求报文的源IP地址与已学习到MAC地址的各IPv6网关的前缀一一匹配, 将匹配长度最长的前缀对应的IPv6网关的MAC地址作为ND响应报文的源MAC地址。所述静态配置模块进一步用于,保存在本单元上静态配置的IPv6网关的VLAN标记,且,所述MAC地址发送模块在从MAC地址侦听模块获取已学习到MAC地址的IPv6 网关之后,先从静态配置模块获取已学习到MAC地址的各IPv6网关的VLAN标记,将ND请求报文的VLAN标记与已学习到MAC地址的各IPv6网关的VLAN标记——匹配,再针对VLAN 标记与ND请求报文的VLAN标记匹配的各IPv6网关,将该网关的前缀与报文的源IP地址
——匹配。该单元进一步包括更新模块,在本单元所在设备的网络端口上侦听到后续ND报文,且报文的源IP地址与已学习到MAC地址的IPv6网关的IP地址相同,则以该ND报文的源MAC地址更新MAC 地址侦听模块中保存的该IPv6网关的MAC地址。所述单元进一步包括MAC地址主动学习模块,且,所述MAC地址发送模块进一步用于,当接收到任一客户端发来的ND请求报文时,发现MAC地址侦听模块还未学习到任一 IPv6网关的MAC地址,则将该ND请求报文发送给MAC地址主动学习模块,接收MAC地址主动学习模块返回的IPv6网关的MAC地址,将该 IPv6网关的MAC地址作为ND响应报文的源MAC地址;所述MAC地址主动学习模块,在接收到ND请求报文时,模拟客户端向任一 IPv6网关发送NS报文,NS报文的源IP地址、源MAC地址为所述ND请求报文的源IP地址、源MAC 地址,报文的目的IP地址为所述IPv6网关的IP地址,当接收到所述IPv6网关返回的NA 报文后,以NA报文的源MAC地址作为所述IPv6网关的MAC地址,将该IPv6网关的MAC地址发送给MAC地址侦听模块和MAC地址发送模块。所述MAC地址侦听模块在本单元所在设备的网络端口上侦听RA报文,且,MAC地址侦听模块进一步用于,从每个RA报文的IP头的源地址获取一个IPv6网关的IP地址,从每个RA报文的前缀信息中获取一个IPv6网关的前缀,保存该学习到的IPv6网关的MAC地址、前缀、和IP地址。所述MAC地址发送模块进一步用于,在接收到ND请求报文后,先将报文的源IP地址与MAC地址侦听模块保存的已学习到的各IPv6网关的前缀一一匹配,将匹配长度最长的前缀对应的IPv6网关的MAC地址作为ND响应报文的源MAC地址。所述MAC地址侦听模块进一步用于,从每个RA报文的以太头的VLAN标记中学习到一个IPv6网关的VLAN标记,或者,将每个RA报文的接收端口所在VLAN标记作为已学习到的一个IPv6网关的VLAN标记;且所述MAC地址发送模块在接收到任一客户端发来的ND请求报文后,先将报文的 VLAN标记与MAC地址侦听模块中的已学习到的各IPv6网关的VLAN标记一一匹配,再针对 VLAN标记与报文的VLAN标记匹配的各IPv6网关,将该网关的前缀与报文的源IP地址一一匹配。该单元进一步包括更新模块,且,所述MAC地址侦听模块进一步用于,从每个RA报文的路由器生存期中获取一个IPv6网关的前缀生存期;且所述更新模块用于发现一个IPv6网关的前缀生存期已过,则在本单元所在设备保存的ND侦听表项中查找与该网关的前缀最匹配的一个客户端的IP地址,模拟该客户端向该IPv6网关发起一个RS报文,报文的源IP地址、源MAC地址分别为所述客户端的IPv6 地址、MAC地址,目的IP地址为该IPv6网关的IPv6地址,当接收到该IPv6网关返回的RA 报文时,根据该RA报文的内容更新MAC地址侦听模块中保存的该IPv6网关的IP地址和 MAC地址。该单元进一步包括MAC地址主动学习模块;且,所述MAC地址发送模块进一步用于,当接收到任一客户端发来的ND请求报文时,发现MAC地址侦听模块还未学习到任一 IPv6网关的MAC地址,则将该ND请求报文发送给MAC地址主动学习模块,接收MAC地址主动学习模块返回的IPv6网关的MAC地址,将该 IPv6网关的MAC地址作为ND响应报文的源MAC地址;所述MAC地址主动学习模块,在接收到ND请求报文时,模拟客户端发送一个组播 RS报文,RS报文的源IP地址、源MAC地址为所述ND请求报文的源IP地址、源MAC地址,当接收到RA报文后,从RA报文中获取一个IPv6网关的IP地址和MAC地址,将该IPv6网关的IP地址和MAC地址发送给MAC地址侦听模块和MAC地址发送模块。所述报文处理模块进一步用于发现接收到的IPv6单播报文的目的MAC地址不与 MAC侦听模块保存的任一 IPv6网关的MAC地址匹配,则丢弃该报文。与现有技术相比,本发明通过在MFF功能单元所在设备的网络端口上侦听ND报文,从ND报文中获取IPv6网关的MAC地址,将该MAC地址发送给客户端,实现了 MFF功能在IPv6网络中的应用,使得客户端之间可以实现二层隔离、三层互通。


图1为现有的MFF应用组网示例图;图2为本发明实施例提供的应用于IPv6网络中的MFF方法流程图;图3为本发明实施例一提供的应用于IPv6网络中的MFF方法流程图;图4为本发明实施例二提供的应用于IPv6网络中的MFF方法流程图;图5为本发明实施例提供的应用于IPv6网络中的MFF功能单元的组成图;图6为本发明实施例一提供的应用于IPv6网络中的MFF功能单元的组成图;图7为本发明实施例二提供的应用于IPv6网络中的MFF功能单元的组成图。
具体实施例方式下面结合附图及具体实施例对本发明再作进一步详细的说明。图2为本发明实施例提供的应用于IPv6网络的MFF方法流程图,如图2所示,其具体步骤如下步骤200 在EAN上部署MFF功能。步骤201 :EAN侦听自身网络端口上的邻居发现ND报文,从该报文中获取IPv6网关的MAC地址。这里,可将ND报文的以太头中的源地址(Source Address)或者源链路层地址 (Source Link-Layer Address)作为 IPv6 网关的 MAC 地址。步骤202 :EAN接收任一客户端发来的ND请求报文,向该客户端返回ND响应报文, 该ND响应报文的源MAC地址为步骤201中的IPv6网关的MAC地址。步骤203 客户端接收ND响应报文,保存该报文中的IPv6网关的MAC地址。步骤204 客户端A向客户端B发送IPv6单播报文,报文的目的IP地址为客户端 B的IPv6地址,目的MAC地址为客户端A保存的IPv6网关的MAC地址。步骤205 :EAN接收该IPv6单播报文,根据报文的目的MAC地址,将报文转发给 IPv6网关。步骤206 :IPv6网关接收该IPv6单播报文,根据报文的目的IP地址将报文转发给客户端B。以下根据EAN获取IPv6网关的IP地址方式的不同,给出本发明的两个具体实施例,其中,实施例一针对的是在EAN上静态配置IPv6网关的IP地址的情况,实施例二针对的是EAN自动获取IPv6网关的IP地址的情况。图3为本发明实施例一提供的应用于IPv6网络中的MFF方法流程图,如图3所示, 其具体步骤如下步骤300 在EAN上部署MFF功能。步骤301 在EAN上静态配置IPv6网关的前缀和IPv6地址。本步骤中,若IPv6网关只有一个,则只配置其IPv6地址即可;若IPv6网关有多个,则除了为每个IPv6网关配置IPv6地址外,还需为每个IPv6网关配置前缀。另外,也可为每个IPv5网关配置VLAN标记。步骤302 在EAN的用户端口和网络端口上设置报文处理规则。在EAN的用户端口上设置如下规则1)允许IPv6组播报文和DHCPv6报文通过;2)对于ND报文,上送CPU进行处理;3)对于IPv6单播报文,只允许目的MAC地址为已学习到的IPv6网关MAC地址的 IPv6单播报文通过,其它IPv6单播报文都要被丢弃。同时,在EAN的网络端口上设置如下规则1)默认允许IPv6单播报文通过;2)允许IPv6组播报文和DHCPv6报文通过;3)对于邻居发现(ND,Neighbor Discovery)报文,上送CPU进行处理。ND报文包括邻居请求(NS, Neighbor Solicitation)报文、邻居通告(ΝΑ,Neighbor Advertisement)报文、路由器请求(RS,Router Solicitation)报文、路由器通告(Router Advertisement)报文、重定向(Redirect)报文等。其中,NS和RS报文称为ND 请求报文,NA和RA称为ND响应报文。 步骤303 =EAN在自身的网络端口上侦听ND报文,若侦听到,将报文的源IP地址与自身配置的各IPv6网关的IPv6地址匹配,若匹配上,则将报文的源MAC地址作为该IPv6 网关的MAC地址,记录该学习到的IPv6网关的MAC地址与该IPv6网关的IPv6地址和前缀的对应关系。 步骤304 =EAN接收任一客户端发来的ND请求报文,将该报文上报CPU,CPU将该报文的源IP地址与已学习到MAC地址的各IPv6网关的前缀一一匹配,将匹配长度最长的前缀对应的网关MAC地址作为该客户端的网关MAC地址。本步骤中,若EAN上只学习到了一个IPv6网关的MAC地址,则CPU直接将该IPv6 网关的MAC地址作为该客户端的网关MAC地址即可。另外,本步骤中,EAN接收到用户发来的ND请求报文后,也可能此时EAN上还未学习到配置的任何IPv6网关的MAC地址,则EAN模拟该客户端向配置的一个IPv6网关发起一个ND请求报文,报文的源IP地址、源MAC地址分别为该客户端的IP地址、MAC地址,目的IP地址为该IPv6网关的IPv6地址,当接收到该IPv6网关返回的ND响应报文后,将该报文的源MAC地址作为该IPv6网关的MAC地址,记录该学习到的该IPv6网关的MAC地址与该IPv6网关的IPv6地址和前缀的对应关系,同时,将该IPv6网关的MAC地址作为该客户端的网关MAC地址。另外,若步骤301中为每个IPv6网关配置了 VLAN标记,且ND请求报文中携带VLAN 标记,则先将该VLAN标记与已学习到MAC地址的每个IPv6网关的VLAN标记匹配,然后将该报文的源IP地址与匹配的IPv6网关的各前缀一一匹配,将匹配长度最长的前缀对应的网关MAC地址作为该客户端的网关MAC地址。步骤305 =EAN向该客户端返回ND响应报文,该报文的源MAC地址为CPU确定的该客户端的网关MAC地址。步骤306 客户端接收ND响应报文,保存该报文中的网关MAC地址。步骤307 客户端A向客户端B发送IPv6单播报文,报文的目的IP地址为客户端 B的IPv6地址,目的MAC地址为客户端A的网关MAC地址。步骤308 =EAN从用户端口接收该IPv6单播报文,发现该报文的目的MAC地址为自身已学习到的IPv6网关的MAC地址,则根据报文的目的MAC地址,将报文转发给对应的 IPv6网关。本步骤中,EAN从用户端口接收到IPv6单播报文后,首先要检测该报文的类型,例如若该报文为IPv6组播报文或DHCPv6报文,则直接转发该报文,若为ND请求报文,则会执行步骤304 305 ;这里,EAN会检测到该报文为IPv6单播报文,则EAN会检测该报文的目的MAC地址是否为自身已学习到的IPv6网关的MAC地址,若是,则转发该报文;否则,丢弃该报文。步骤309 :IPv6网关接收该IPv6单播报文,根据该报文的目的IP地址,将报文转发给客户端B。另外,图3所示实施例中,当EAN从网络端口接收到IPv6单播报文时,直接转发该报文。图3示实施例中,当EAN从网络端口接收到一个IPv6网关向一个客户端发起的 ND请求报文时,将该报文上报CPU,CPU在自身的ND侦听(snooping)表项中查找该报文的目的IP地址对应的MAC地址,若查找到,则EAN向该IPv6网关返回ND响应报文,报文的源 MAC地址为CPU查找到的MAC地址;若未查找到,则EAN在IPv6网关所在VLAN内转发该ND 请求报文。图3所示实施例中,当EAN从用户端口或者网络端口接收到ND响应报文时,直接转发该报文。在图3所示实施例中,当EAN已学习到配置的一个IPv6网关的MAC地址后,若又在网络端口上侦听到一个RA或NA报文,且该报文的源IP地址与该IPv6网关的IPv6地址相同,则以该RA或NA报文的源MAC地址更新该IPv6网关的MAC地址。图4为本发明实施例二提供的应用于IPv6网络中的MFF方法流程图,如图4所示, 其具体步骤如下步骤400 在EAN上部署MFF功能。步骤401 在EAN的用户端口和网络端口上设置报文处理规则。在EAN的用户端口上设置如下规则1)允许IPv6组播报文和DHCPv6报文通过;2)对于ND报文,上送CPU进行处理;3)对于IPv6单播报文,只允许目的MAC地址为已学习到的IPv6网关MAC地址的 IPv6单播报文通过,其它IPv6单播报文都要被丢弃。同时,在EAN的网络端口上设置如下规则1)默认允许IPv6单播报文通过;2)允许IPv6组播报文和DHCPv6报文通过;3)对于ND报文,上送CPU进行处理。步骤402 :EAN在自身的网络端口上侦听RA报文,若侦听到,从该报文中获取如下内容合法前缀、RA报文发出时间、前缀生存期、对应网关IPv6地址、对应网关MAC地址、对应外层VLAN、对应内层VLAN,且,根据侦听到的每个RA报文,生成如下合法前缀网关表
权利要求
1.一种媒体接入控制强制转发MFF方法,其特征在于,应用于IPv6网络中,该方法包括部署了 MFF功能的以太网接入节点EAN侦听自身网络端口上的邻居发现ND报文,从该报文中获取IPv6网关的媒体接入控制MAC地址;所述EAN接收任一客户端发来的ND请求报文,向该客户端返回ND响应报文,该ND响应报文的源MAC地址为所述IPv6网关的MAC地址,该客户端保存该IPv6网关的MAC地址;所述EAN接收任一客户端发起的IPv6单播报文,报文的目的MAC地址为IPv6网关的 MAC地址,EAN将该报文转发给IPv6网关,以便IPv6网关根据报文的目的IP地址将报文转发给目的客户端。
2.如权利要求1所述的方法,其特征在于,预先在部署了MFF功能的EAN上配置IPv6 网关的IP地址,且所述EAN侦听自身网络端口上的ND报文为EAN侦听自身网络端口上的邻居通告NA报文,且发现该报文的源IP地址与所配置的一个IPv6网关的IP地址相同;所述从该报文中获取IPv6网关的MAC地址为将所述NA报文的源MAC地址作为学习到的所述IPv6网关的MAC地址。
3.如权利要求2所述的方法,其特征在于,所述IPv6网关的数目大于1,且,预先在部署了 MFF功能的EAN上配置IPv6网关的前缀;所述EAN接收任一客户端发来的ND请求报文之后、向客户端返回ND响应报文之前进一步包括所述EAN将报文的源IP地址与自身已学习到MAC地址的各IPv6网关的前缀一一匹配, 将匹配长度最长的前缀对应的IPv6网关的MAC地址作为所述ND响应报文的源MAC地址。
4.如权利要求3所述的方法,其特征在于,预先在部署了MFF功能的EAN上配置IPv6 网关的VLAN标记,且,所述EAN接收任一客户端发来的ND请求报文之后、EAN将报文的源IP地址与自身已学习到MAC地址的各IPv6网关的前缀一一匹配之前进一步包括EAN将报文的VLAN标记与已学习到MAC地址的各IPv6网关的VLAN标记一一匹配;且,所述EAN将报文的源IP地址与自身已学习到MAC地址的各IPv6网关的前缀一一匹配为针对VLAN标记与报文的VLAN标记匹配的各IPv6网关,EAN将该网关的前缀与报文的源IP地址——匹配。
5.如权利要求2所述的方法,其特征在于,所述将所述NA报文的源MAC地址作为学习到的所述IPv6网关的MAC地址之后进一步包括所述EAN在自身的网络端口上侦听到ND报文,且报文的源IP地址与所述IPv6网关的 IP地址相同,则EAN以该报文的源MAC地址更新所述学习到的IPv6网关的MAC地址。
6.如权利要求2所述的方法,其特征在于,所述EAN接收任一客户端发来的ND请求报文之后、向客户端返回ND响应报文之前进一步包括EAN发现自身还未学习到任一 IPv6网关的MAC地址,则模拟所述客户端向任一 IPv6 网关发送邻居请求NS报文,报文的源IP地址、源MAC地址为所述客户端的IP地址、MAC地址,报文的目的IP地址为所述IPv6网关的IP地址,当接收到所述IPv6网关返回的NA报文后,以NA报文的源MAC地址作为所述IPv6网关的MAC地址。
7.如权利要求1所述的方法,其特征在于,所述部署了MFF功能的EAN侦听自身网络端口上的ND报文为EAN侦听自身网络端口上的路由器通告RA报文,所述从该报文中获取IPv6网关的MAC地址包括对于每个RA报文,将该报文的IP头中的源地址作为一个IPv6网关的IP地址,将该报文的以太头中的源地址或者源链路层地址作为学习到的该IPv6网关的MAC地址,并从该报文的前缀信息中获取该IPv6网关的前缀,保存该学习到的IPv6网关的MAC地址、前缀、和IP地址。
8.如权利要求7所述的方法,其特征在于,所述EAN接收任一客户端发来的ND请求报文之后、向客户端返回ND响应报文之前进一步包括所述EAN将报文的源IP地址与自身已学习到的各IPv6网关的前缀一一匹配,将匹配长度最长的前缀对应的IPv6网关的MAC地址作为所述ND响应报文的源MAC地址。
9.如权利要求8所述的方法,其特征在于,所述从该报文中获取IPv6网关的MAC地址进一步包括从该RA报文的以太头中获取VLAN标记,将该VLAN标记作为所述IPv6网关的 VLAN标记,或者,将RA报文的接收端口所在VLAN标记作为所述IPv6网关的VLAN标记;所述EAN接收任一客户端发来的ND请求报文之后、EAN将报文的源IP地址与自身已学习到的各IPv6网关的前缀一一匹配之前进一步包括EAN将报文的VLAN标记与已学习到的各IPv6网关的VLAN标记一一匹配;且,所述EAN将报文的源IP地址与自身已学习到的各IPv6网关的前缀一一匹配为针对VLAN标记与报文的VLAN标记匹配的各IPv6网关,EAN将该网关的前缀与报文的源IP地址——匹配。
10.如权利要求7所述的方法,其特征在于,所述从该报文中获取IPv6网关的MAC地址进一步包括从该报文的路由器生存期中获取该IPv6网关的前缀生存期,且,所述方法进一步包括EAN发现一个IPv6网关的前缀生存期已过,则在自身保存的ND侦听表项中查找与该网关的前缀最匹配的一个客户端的IP地址,模拟该客户端向该 IPv6网关发起一个RS报文,报文的源IP地址、源MAC地址分别为所述客户端的IPv6地址、 MAC地址,目的IP地址为该IPv6网关的IPv6地址,当接收到该IPv6网关返回的RA报文时,根据该RA报文的内容更新该IPv6网关的IP地址和MAC地址。
11.如权利要求7所述的方法,其特征在于,所述EAN接收任一客户端发来的ND请求报文之后、向客户端返回ND响应报文之前进一步包括EAN发现自身还未学习到任何IPv6网关的MAC地址,则模拟所述客户端发送RS报文, 报文的源IP地址、源MAC地址为所述客户端的IP地址、MAC地址,当接收到RA报文后,以该RA报文的源IP地址、源MAC地址作为学习到的一个IPv6网关的IP地址、MAC地址。
12.如权利要求1所述的方法,其特征在于,所述方法进一步包括EAN接收任一客户端发起的IPv6单播报文,发现该报文的目的MAC地址不为自身学习到的任一 IPv6网关的MAC地址,则丢弃该报文。
13.一种MFF功能单元,其特征在于,应用于IPv6网络中,包括MAC地址侦听模块,在本单元所在设备的网络端口上侦听ND报文,从该报文中获取并保存IPv6网关的MAC地址;MAC地址发送模块,接收任一客户端发来的ND请求报文,从MAC地址侦听模块获取IPv6网关的MAC地址,向该客户端返回ND响应报文,该ND响应报文的源MAC地址为所述 IPv6网关的MAC地址;报文处理模块,接收任一客户端发起的IPv6单播报文,将报文的目的MAC地址与MAC 地址侦听模块保存的IPv6网关的MAC地址匹配,若匹配上,则将该报文转发给IPv6网关, 以便IPv6网关根据报文的目的IP地址将报文转发给目的客户端。
14.如权利要求13所述的MFF功能单元,其特征在于,该单元进一步包括静态配置模块,用于保存在本单元上静态配置的IPv6网关的IP地址;且,所述MAC地址侦听模块在发现侦听到的ND报文的源IP地址与静态配置模块中保存的一个IPv6网关的IP地址相同时,将该ND报文的源MAC地址作为学习到的所述IPv6 网关的MAC地址。
15.如权利要求14所述的MFF功能单元,其特征在于,所述静态配置模块进一步用于, 保存在本单元上静态配置的IPv6网关的前缀;且,所述MAC地址发送模块在接收到ND请求报文后,先从MAC地址侦听模块获取已学习到MAC地址的IPv6网关,再从静态配置模块获取已学习到MAC地址的各IPv6网关的前缀,将该ND请求报文的源IP地址与已学习到MAC地址的各IPv6网关的前缀一一匹配,将匹配长度最长的前缀对应的IPv6网关的MAC地址作为ND响应报文的源MAC地址。
16.如权利要求15所述的MFF功能单元,其特征在于,所述静态配置模块进一步用于, 保存在本单元上静态配置的IPv6网关的VLAN标记,且,所述MAC地址发送模块在从MAC地址侦听模块获取已学习到MAC地址的IPv6网关之后,先从静态配置模块获取已学习到MAC地址的各IPv6网关的VLAN标记,将ND请求报文的VLAN标记与已学习到MAC地址的各IPv6网关的VLAN标记——匹配,再针对VLAN标记与ND请求报文的VLAN标记匹配的各IPv6网关,将该网关的前缀与报文的源IP地址一一匹配。
17.如权利要求14所述的MFF功能单元,其特征在于,该单元进一步包括更新模块,在本单元所在设备的网络端口上侦听到后续ND报文,且报文的源IP地址与已学习到MAC地址的IPv6网关的IP地址相同,则以该ND报文的源MAC地址更新MAC地址侦听模块中保存的该IPv6网关的MAC地址。
18.如权利要求14所述的MFF功能单元,其特征在于,所述单元进一步包括MAC地址主动学习模块,且,所述MAC地址发送模块进一步用于,当接收到任一客户端发来的ND请求报文时,发现MAC地址侦听模块还未学习到任一 IPv6网关的MAC地址,则将该ND请求报文发送给MAC 地址主动学习模块,接收MAC地址主动学习模块返回的IPv6网关的MAC地址,将该IPv6网关的MAC地址作为ND响应报文的源MAC地址;所述MAC地址主动学习模块,在接收到ND请求报文时,模拟客户端向任一 IPv6网关发送NS报文,NS报文的源IP地址、源MAC地址为所述ND请求报文的源IP地址、源MAC地址,报文的目的IP地址为所述IPv6网关的IP地址,当接收到所述IPv6网关返回的NA报文后,以NA报文的源MAC地址作为所述IPv6网关的MAC地址,将该IPv6网关的MAC地址发送给MAC地址侦听模块和MAC地址发送模块。
19.如权利要求13所述的MFF功能单元,其特征在于,所述MAC地址侦听模块在本单元所在设备的网络端口上侦听RA报文,且,MAC地址侦听模块进一步用于,从每个RA报文的 IP头的源地址获取一个IPv6网关的IP地址,从每个RA报文的前缀信息中获取一个IPv6 网关的前缀,保存该学习到的IPv6网关的MAC地址、前缀、和IP地址。
20.如权利要求19所述的MFF功能单元,其特征在于,所述MAC地址发送模块进一步用于,在接收到ND请求报文后,先将报文的源IP地址与MAC地址侦听模块保存的已学习到的各IPv6网关的前缀一一匹配,将匹配长度最长的前缀对应的IPv6网关的MAC地址作为ND 响应报文的源MAC地址。
21.如权利要求20所述的MFF功能单元,其特征在于,所述MAC地址侦听模块进一步用于,从每个RA报文的以太头的VLAN标记中学习到一个IPv6网关的VLAN标记,或者,将每个RA报文的接收端口所在VLAN标记作为已学习到的一个IPv6网关的VLAN标记;且所述MAC地址发送模块在接收到任一客户端发来的ND请求报文后,先将报文的VLAN 标记与MAC地址侦听模块中的已学习到的各IPv6网关的VLAN标记一一匹配,再针对VLAN 标记与报文的VLAN标记匹配的各IPv6网关,将该网关的前缀与报文的源IP地址一一匹配。
22.如权利要求19所述的MFF功能单元,其特征在于,该单元进一步包括更新模块,且,所述MAC地址侦听模块进一步用于,从每个RA报文的路由器生存期中获取一个IPv6网关的前缀生存期;且所述更新模块用于发现一个IPv6网关的前缀生存期已过,则在本单元所在设备保存的ND侦听表项中查找与该网关的前缀最匹配的一个客户端的IP地址,模拟该客户端向该IPv6网关发起一个RS报文,报文的源IP地址、源MAC地址分别为所述客户端的IPv6地址、MAC地址,目的IP地址为该IPv6网关的IPv6地址,当接收到该IPv6网关返回的RA报文时,根据该RA报文的内容更新MAC地址侦听模块中保存的该IPv6网关的IP地址和MAC 地址。
23.如权利要求19所述的MFF功能单元,其特征在于,该单元进一步包括MAC地址主动学习模块;且,所述MAC地址发送模块进一步用于,当接收到任一客户端发来的ND请求报文时,发现MAC地址侦听模块还未学习到任一 IPv6网关的MAC地址,则将该ND请求报文发送给MAC 地址主动学习模块,接收MAC地址主动学习模块返回的IPv6网关的MAC地址,将该IPv6网关的MAC地址作为ND响应报文的源MAC地址;所述MAC地址主动学习模块,在接收到ND请求报文时,模拟客户端发送一个组播RS报文,RS报文的源IP地址、源MAC地址为所述ND请求报文的源IP地址、源MAC地址,当接收到RA报文后,从RA报文中获取一个IPv6网关的IP地址和MAC地址,将该IPv6网关的IP 地址和MAC地址发送给MAC地址侦听模块和MAC地址发送模块。
24.如权利要求13所述的MFF功能单元,其特征在于,所述报文处理模块进一步用于 发现接收到的IPv6单播报文的目的MAC地址不与MAC侦听模块保存的任一 IPv6网关的 MAC地址匹配,则丢弃该报文。
全文摘要
本发明公开了媒体接入控制强制转发方法及功能单元,应用于IPv6网络中。方法包括部署了MFF功能的EAN侦听自身网络端口上的ND报文,从该报文中获取IPv6网关的MAC地址;所述EAN接收任一客户端发来的ND请求报文,向该客户端返回ND响应报文,该ND响应报文的源MAC地址为所述IPv6网关的MAC地址,该客户端保存该IPv6网关的MAC地址;所述EAN接收任一客户端发起的IPv6单播报文,报文的目的MAC地址为IPv6网关的MAC地址,EAN将该报文转发给IPv6网关,以便IPv6网关根据报文的目的IP地址将报文转发给目的客户端。本发明实现了MFF功能在IPv6网络中的应用。
文档编号H04L12/66GK102201963SQ20101013122
公开日2011年9月28日 申请日期2010年3月22日 优先权日2010年3月22日
发明者林涛 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1