一种为mac地址重复用户提供服务的方法及装置的制作方法

文档序号:7918761阅读:114来源:国知局
专利名称:一种为mac地址重复用户提供服务的方法及装置的制作方法
技术领域
本发明涉及通讯技术领域,尤其涉及一种为MAC地址重复用户提供服务的 方法及装置。
背景技术
目前的宽带接入设备都是IP内核设计,其核心交换部分都是采用二层以太 网交换,二层以太网交换的核心思想是基于MAC地址的学习和转发流程,实 现这个功能的模块俗称网桥。其基本原理是网桥基于目标MAC地址来做转发决 定,网桥对流经的以太网凄t据帧进行MAC地址学习,它读取经过它的帧的源 MAC地址,并做出推断,如果帧从来自某个端口,它就认为具有这个MAC地 址的用户的位置是和那个端口相连.然后把这些信息放进自己的MAC地址表中, 当然目前基于VLAN (虚拟局域网)的接入设备一般把MAC地址和VLAN ID 信息以及端口信息同时放入MAC地址表中;当网桥接收到一个数据帧并要转发 出去的时候,就需要根据这个数据帧的目的MAC地址信息或者目的MAC地址 信息加上VLAN ID信息去查找MAC地址表,以确定具有这个MAC地址的用 户的目的端口,如果查到,则把这个数据帧从这个端口转发出去,如果没有查 到,则会根据接入设备的其他配置对这个数据帧进行处理,如进行洪范或者丢 弃。
目前,由于现在的很多设备MAC地址都可以手动修改,当有用户修改了用 户设备的MAC地址,如果正好与连接在同一个网桥上的其他用户MAC地址重
叠,并且两个用户被划分到了同 一个VLAN内,则4安照传统的MAC学习和转 发流程,系统维护的MAC地址表内的MAC地址+VLAN ID与端口对应信息会 被不停的更新,导致反方向发往这个MAC地址的lt据包混乱的发往这两个用 户。这两个MAC地址重叠的宽带网络会出现断断续续的情况,对于某些应用会 导致网络的不可用。

发明内容
鉴于上述的分析,本发明旨在提供一种为MAC地址重复用户提供服务的方 法及装置,用以解决现有技术中存在的由于两个MAC地址重叠而导致网络故障 的问题。
本发明的目的主要是通过以下技术方案实现的
本发明提供了一种为MAC地址重复用户提供服务的方法,预先设置MAC 地址替换表,则所述方法包括
步骤A:根据从用户端口接收到的以太网数据帧的源MAC地址在MAC地 址表中查找是否有与该源MAC地址相同的学习条目,如果是,则执行步骤B, 否则进行正常学习和转发;
步骤B:在所述MAC地址替换表中检查是否对该源MAC地址进行了替换 操作,如果未完成替换操作,则在所述MAC地址表中选取一条未使用过的替换 条目替换该源MAC地址,并执行步骤C;如果已完成替换操作,则直接执行步 骤C;
步骤C:按照该替换条目中的替换用MAC地址对该以太网数据帧进行转发。 进一步地,所述方法还包括
反方向当一个以太网数据帧中携带的目的MAC地址是所述MAC地址替换
表中的一条已使用过的替换条目中的替换用MAC地址时,替换该以太网数据帧
的目的MAC为与该替换用MAC地址对应的真实MAC地址,并按照替换后的 真实MAC地址对该以太网数据帧进行转发。 进一步地,所述方法还包括
当MAC地址替换表中的某个已使用的替换条目在一定时间内没有相关数 据帧传输时,则老化删除该替换条目。
进一步地,所述预先设置MAC地址替换表的步骤具体包括
预先设置一张MAC地址替换表,所述MAC地址替换表属于系统交换模块 的全局属性全局端口共享;或者,预先给每个端口"i殳置一张MAC地址替换表。
其中,所述学习条目包括MAC地址学习条目或者由MAC地址和虚拟局 域网ID组成的学习条目。
本发明还提供了一种为MAC地址重复用户提供服务的装置,所述装置包 括MAC地址替换表、查询单元、替换单元和转发单元,其中,
所述MAC地址替换表,用于当发现不同用户的MAC地址发生重叠时,提 供源MAC地址替换用的替换条目;
所述查询单元,用于根据从用户端口接收到的以太网数据帧的源MAC地址 在MAC地址学习表中查找是否有与该源MAC地址相同的学习条目,如果是, 则触发查找替换单元,否则进行正常学习,并触发所述转发单元;
所述替换单元,用于在所述MAC地址替换表中4全查是否对该源MAC地址 进行了替换操作,如果未完成替换操作,则在所述MAC地址替换表中选取一条 未使用过的替换条目替换该源MAC地址,并触发转发单元;如果已完成替换操 作,则直接触发转发单元;
所述转发单元,当被查询单元触发时,所述转发单元用于按照源MAC地址
对该以太网数据帧进行转发;当被替换单元触发时,所述转发单元用于按照该 替换条目中的替换用MAC地址对该以太网数据帧进行转发。
进一步地,在反方向当一个以太网数据帧中携带的目的MAC地址是所述 MAC替换表中的一条已使用过的条目中的替换用MAC地址时,所述替换单元 还用于替换该以太网数据帧的目的MAC为与该替一奐用MAC地址对应的真实 MAC地址,然后触发转发单元;
所述转发单元按照该真实MAC地址对该以太网凄t据帧进行转发。
进一步地,所述装置还包括
老化单元,当MAC地址替换表中的某个已使用的替换条目在一定时间内没 有相关以太网数据帧传输时,所述老化单元用于对该替换条目进行老化删除。 本发明有益效果如下
通过本发明所述方法及装置可以实现当两个或多个在一个VLAN内的用户 MAC地址相同时,仍能正常的为用户提供宽带接入服务,从而提高业务运营服 务质量。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明 书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可 通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获
3曰付。


图1为本发明实施例所述方法的流程示意图2为本发明实施例所述方法中,当用户侧未发生MAC地址重复时,MAC
地址表和MAC地址替换表的示意图3为本发明实施例所述方法中,当用户侧发生MAC地址重复时,MAC 地址表和MAC地址替换表的示意图4为本发明实施例所述装置的结构示意图。
具体实施例方式
本发明针对在为宽带接入用户提供服务的时候可能遇到的两个或多个用户 的MAC地址重叠问题,提供了一种在宽带接入设备上为MAC地址重复用户提 供月良务的方法,通过这种方法可以实现当两个或多个在一个VLAN内的用户 MAC相同时,仍能正常的为用户提供宽带接入服务。
下面结合附图来具体描述本发明的优先实施例,其中,附图构成本申请一 部分,并与本发明的实施例一起用于阐释本发明的原理。
首先,预先配置一张MAC地址替换表,用于当发现不同用户MAC地址发 生重叠时进行源MAC地址替换4喿作。
如图1所示,图1为本发明实施例所述方法的流程示意图,具体可以包括 以下步骤
步骤100:当从用户端口接收到一个以太网凄丈据帧时,根据以太网数据帧的 源MAC地址查找MAC地址表;
步骤101:判断在MAC地址表中是否存在与该源MAC地址相同的MAC 地址学习条目或者MAC地址+VLAN ID学习条目已经在其他的用户端口上学习 过,并且还没有老化,如果是,执行步骤102,否则执行步骤106。
步骤102:当发现在MAC地址表中已经有其他用户端口的MAC地址学习 条目或MAC地址+ VLAN ID学习条目跟这个新收到以太网数据帧中的源MAC地址重复时,4企查MAC地址替换表。
步骤103:判断在MAC地址替换表中是否对该以太网数据帧的源MAC进 行过替换操作,如果未完成替换操作,则执行步骤104,如果已完成替换操作则 执行步骤105。
步骤104:从MAC地址替换表中选取一条未使用的替换条目替换该源MAC 地址,并记录替换前的源MAC地址,标记这个替换条目已经被使用。
步骤105:使用该替换条目中的替换用MAC地址作用新的源MAC地址对 这个以太网数据帧进行下一步转发操作。
步骤106:当没有在MAC地址表中发现已经有其他用户端口的MAC地址 学习条目或MAC地址+ VLAN ID学习条目跟这个新收到数据帧中的源MAC地 址没有重复时,则不更新MAC地址表的相关信息,4要照正常的以太网网桥转发 流程进行学习和转发即可。
以上所述为对上行的数据报文进行源MAC地址替换的过程,对于反方向当 一个以太网数据帧中携带的目的MAC地址是MAC地址替换表中的 一条已使用 的替换条目时,替换这个以太网数据帧的目的MAC ^^址为与该替换条目中的替 换用MAC地址对应的真实的MAC地址,然后纟姿照这个真实的MAC地址进行 下一步转发操作。
并且,当MAC地址替换表中的某个已使用的替换条目在一定时间内没有相 关以太网数据帧传输时,则进行老化删除这个替换条目的操作,标记已使用为 未使用,以防止MAC地址替换表被不用替换条目占满。
为了便于理解本发明,下面举个具体的例子对本发明作进一步阐述。 首先,需要预先在MAC地址学习和转发模块增加一张MAC地址替换表,
所述MAC地址替换表可以属于系统交换模块的全局属性全局端口共享,也可以 每个端口预置一张MAC地址替4奂表,用于当发现MAC地址或者MAC地址 +VLANID信息与其他端口重叠时进行MAC地址替4灸操作;当然这张表也可以 与其他表共用一张表,如MAC地址学习表。在使用此方法时,为了保证正确的 ARP应答,建议同时实现ARP代理的功能应答上层设备的ARP请求。
当用户侧未发生MAC地址重复时,MAC地址表和MAC地址替换表如图2所 示,未发生MAC地址重复时有用户l和用户2两个用户,他们的MAC地址为 01:01:01:01:01:01和01:01:01:01:01:02,都在VLAN 100中,此时MAC地址表已经 学习到这两个端口的MAC地址和VLAN ID,而MAC地址替换表由于还没有发现 MAC地址重复的用户,其中的替换条目都是未使用状态。
当用户3上线时,用户3的MAC地址是01:01:01:01:01:02,在VLAN IOO中, 可以看出用户3的MAC地址+VLAN ID信息与用户2是重复的,如果不对这种情 况做处理,则用户2和用户3的业务数据流都会收到影响。
学习条目。MAC地址学习与转发模块在MAC地址替换表中首先检查一下是否已 经对用户3的MAC地址01:01:01:01:01:02进行了MAC地址替换操作,发现没有之 后选取一个未使用的替换条目02:02:02:02:02:01进行MAC地址替换,并对应着记 录用户3的源MAC地址01:01:01:01:01:02,用户端口等信息,并标记这条替换条 目为已使用状态。对这个上行的以太网数据帧进行源MAC地址替换操作,替换 后的数据帧源MAC地址变成了 02:02:02:02:02:01 ,然后按照MAC地址 02:02:02:02:02:01进行下一步的处理和转发操作,最后发往上联口 。
反方向当上联口有一个目的MAC地址为02:02:02:02:02:01的数据帧发送到 MAC地址学习和转发模块时,首先检查MAC地址替换表是否有这个MAC地址的 替换条目,发现端口3与之对应,则替换这个^:据的目的MAC地址为 01:01:01:01:01:02并发往用户端口 3 。 此时如果有目的MAC地址为 01:01:01:01:01:02的数据帧发送到MAC地址学习和转发才莫块时,由于在MAC地 址替换表中的替换条目中查不到相关的替换条目,则会查找MAC地址表,发现 用户端口 2的MAC地址与之匹配,则这个lt据帧会一皮发送到端口 2.
并且,当一段时间内,用户端口3—直没有数据帧发送,则为了避免MAC 地址替换表被已不用的替换条目占满,则这个02:02:02:02:02:01已使用的替换条 目会被动态删除,回到如图2的状态。
下面结合附图4对本发明实施例所述装置进行详细说明。
如图4所示,图4为本发明实施例所述装置的结构示意图,具体可以包括 MAC地址替换表、查询单元、替换单元、转发单元和老化单元,下面分别对各 个单元进行详细介绍。
MAC地址替换表,设置于MAC地址学习和转发模块中,所述MAC地址 替换表可以属于系统交换模块的全局属性全局端口共享,也可以每个端口预置 一张MAC地址替换表,用于当发现MAC地址或者MAC地址+VLANID信息 与其他端口重叠时进行MAC地址替换操作;当然这张表也可以与其他表共用一 张表,如MAC地址学习表。
查询单元,根据从用户端口4妻收到的以太网彩:据帧的源MAC地址在MAC 地址学习表中查找是否有与该源MAC地址相同的MAC学习条目或者MAC地 址+VLAN ID学习条目,如果是,由替换单元在所述MAC地址替换表中检查是
否对该源MAC地址进行了替换操作;如果没有在MAC地址表中发现已经有其 他用户端口的MAC地址学习条目或MAC地址+ VLAN ID学习条目跟这个新收 到数据帧中的源MAC地址没有重复时,则正常学习该源MAC地址,并由转发 单元按照该源MAC地址对该以太网数据帧进行转发。
替换单元在所述MAC地址替换表中4企查是否对该源MAC地址进行了替换 操作,如果未完成替换操作,则在所述MAC地址替换表中选取一条未使用过的 替换条目替换该源MAC地址,并记录替换前的源MAC地址,标记这个条目已 经被使用。
反方向当一个以太网数据帧中携带的目的MAC地址是所述MAC替换表中 的一条已使用过的替换条目中的替换用MAC地址时,所述替换单元替换该以太 网数据帧的目的MAC为与该替换用MAC地址对应的真实MAC地址,然后由 转发单元按照该真实MAC地址对该以太网数据帧进行转发。
当MAC地址替换表中的某个已使用的替换条目在一定时间内没有相关以 太网数据帧传输时,由老化单元对该替换条目进行老化删除,标记已使用为未 使用,以防止MAC地址替换表^皮不用条目占满。
综上所述,本发明实施例提供了一种为MAC地址重复用户提供服务的方法 及装置,通过这种方法及装置可以实现当两个或多个在一个VLAN内的用户 MAC相同时,仍能正常的为用户提供宽带接入服务。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局 限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易 想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护 范围应该以权利要求书的保护范围为准。
权利要求
1、一种为MAC地址重复用户提供服务的方法,其特征在于,预先设置MAC地址替换表,则所述方法包括步骤A根据从用户端口接收到的以太网数据帧的源MAC地址在MAC地址表中查找是否有与该源MAC地址相同的学习条目,如果是,则执行步骤B,否则进行正常学习和转发;步骤B在所述MAC地址替换表中检查是否对该源MAC地址进行了替换操作,如果未完成替换操作,则在所述MAC地址表中选取一条未使用过的替换条目替换该源MAC地址,并执行步骤C;如果已完成替换操作,则直接执行步骤C;步骤C按照该替换条目中的替换用MAC地址对该以太网数据帧进行转发。
2、 根据权利要求1所述的方法,其特征在于,所述方法还包括反方向当 一个以太网数据帧中携带的目的MAC地址是所述MAC地址替换 表中的一条已使用过的替换条目中的替换用MAC地址时,替换该以太网数据帧 的目的MAC为与该替换用MAC地址对应的真实MAC地址,并按照替换后的 真实MAC地址对该以太网数据帧进4亍转发。
3、 根据权利要求1或2所述的方法,其特征在于,所述方法还包括当MAC地址替换表中的某个已使用的替换条目在一定时间内没有相关数 据帧传输时,则老化删除该替换条目。
4、 根据权利要求1或2所述的方法,其特征在于,所述预先设置MAC地 址替换表的步骤具体包括预先设置一张MAC地址替换表,所述MAC地址替换表属于系统交换模块 的全局属性全局端口共享;或者,预先给每个端口设置一张MAC地址替换表。
5、 根据权利要求1或2所述的方法,其特征在于,所述学习条目包括MAC 地址学习条目或者由MAC地址和虚拟局域网ID组成的学习条目。
6、 一种为MAC地址重复用户提供服务的装置,其特征在于,所述装置包 括MAC地址替换表、查询单元、替换单元和转发单元,其中,所述MAC地址替换表,用于当发现不同用户的MAC地址发生重叠时,提 供源MAC地址替换用的替换条目;所述查询单元,用于根据从用户端口接收到的以太网数据帧的源MAC地址 在MAC地址学习表中查找是否有与该源MAC地址相同的学习条目,如果是, 则触发查找替换单元,否则进行正常学习,并触发所述转发单元;所述替换单元,用于在所述MAC地址替换表中4全查是否对该源MAC地址 进行了替换操作,如果未完成替换操作,则在所述MAC地址替换表中选取一条 未使用过的替换条目替换该源MAC地址,并触发转发单元;如果已完成替换操 作,则直接触发转发单元;所述转发单元,当^C查询单元触发时,所述转发单元用于按照源MAC地址 对该以太网数据帧进行转发;当被替换单元触发时,所述转发单元用于按照该 替换条目中的替换用MAC地址对该以太网数据帧进行转发。
7、 根据权利要求6所述的装置,其特征在于,在反方向当一个以太网数据 帧中携带的目的MAC地址是所述MAC替换表中的 一条已使用过的条目中的替 换用MAC地址时,所述替换单元还用于替换该以太网数据帧的目的MAC为与 该替换用MAC地址对应的真实MAC地址,然后触发转发单元;所述转发单元按照该真实MAC地址对该以太网凄t据帧进行转发。
8、 根据权利要求6或7所述的装置,其特征在于,所述装置还包括老化单元,当MAC地址替换表中的某个已使用的替换条目在一定时间内没 有相关以太网数据帧传输时,所述老化单元用于对该替换条目进行老化删除。
全文摘要
本发明公开了一种为MAC地址重复用户提供服务的方法及装置,所述方法包括步骤A根据从用户端口接收到的以太网数据帧的源MAC地址在MAC地址表中查找是否有与该源MAC地址相同的学习条目,如果是,则执行步骤B,否则进行正常学习和转发;步骤B在所述MAC地址替换表中检查是否对该源MAC地址进行了替换操作,如果未完成替换操作,则在所述MAC地址表中选取一条未使用过的替换条目替换该源MAC地址,并执行步骤C;如果已完成替换操作,则直接执行步骤C;步骤C按照该替换条目中的替换用MAC地址对该以太网数据帧进行转发;本发明可以实现当两个或多个用户MAC相同时,仍能正常的为用户提供宽带接入服务。
文档编号H04L12/56GK101340445SQ20081014718
公开日2009年1月7日 申请日期2008年8月22日 优先权日2008年8月22日
发明者张海林 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1