一种docsismac地址过滤方法

文档序号:7701653阅读:104来源:国知局
专利名称:一种docsis mac地址过滤方法
技术领域
本发明属于网络传输领域,特别涉及网络传输领域中的物理层的内容。
些旦灶士
标识网络中的一台计算机, 一般至少有三种方法,最常用的是域名地址、ip
地址和MAC地址,分别对应应用层、网络层和物理层。
MAC (media access control介质访问控制)地址是烧录在网卡里的。MAC 地址,也叫硬件地址或者物理地址,共48比特(6字节)。0-23位叫做组织唯一标 志符,是识别局域网节点的标识。24-47位是由厂家自己分配,其中第40位是组 播地址标志位。网卡的物理地址通常是由网卡生产厂家置入网卡的非易失性存 储器中,它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主 机的地址。
在网络底层的物理层传输过程中,是通过物理地址来识别主机的,它一般也 是全球唯一的。比如,著名的以太网卡,其物理地址是48bit的整数,如
44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构 将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产 以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。
HFC网中CMTS与CM之间MAC层传输的数据是DOCSIS MAC帧。DOCSIS MAC帧里面 包含有MAC地址,CMTS与CM之间进行通信时,接收端要对收到的MAC帧进行MAC地 址过滤。接收端的RAM中存放着一定数量的MAC地址,如果接收的MAC地址与RAM 中的一个MAC地址相匹配(与之相等),此MAC帧才被接收,否则接收端不接收

发明内容
本发明提出的一种DOCSIS MAC地址过滤方法,其特点在于将-定数量的MAC 地址按特殊格式存储在片内RAM中,接收的MAC地址与RAM中的MAC地址相比 较,来确定接收的MAC地址是否为RAM中存储的地址之一,本发明提出的方法 用4个8位比较器完成DOCSIS MAC地址过滤。
本发明提出的一种DOCSIS MAC地址过滤方法,是将接收到的MAC地址与RAM 中的MAC地址进行 一组邻的比较。da一meet为整个装置的输出结果,如果为1, 表示接收到的MAC地址与RAM中的某一个MAC地址相同;如果为0,表示到R前为止,接收到的MAC地址与从RAM中读到的MAC地址没有相同的。
本发明提出的方法进行过滤过程如图1所示,将MAC地址比较分为第1组 和第2及其以上组。每接收MAC地址的一个字节,此字节都要与RAM中第一组 MAC地址的第一个字节进行比较,并记录比较结果,同时把接收到的MAC地址字 节保存在MAC地址寄存器中,当接收完6个MAC地址后,第l组地址比较完毕, 输出da一meet,对于第2及其以上组,将保存在MAC地址寄存器中地址与RAM中 存储的地址对应字节进行比较,输出da—meet。每组MAC地址比较完如果得到结 果da_meet=l,则过滤结束,否则将接收到的MAC地址与下一组MAC地址进行比 较,直到最后一组比较完。
本发明提出的一种DOCSIS MAC地址过滤方法,其装置由RAM模块(000)、 地址产生模块(001) 、 MAC地址接收模块(010)、比较器模块(Oil)和结果 产生模块(100)组成,如图2所示。地址产生模块受本装置输出信号的控制, 产生的地址输送给MM模块、MAC地址接收模块和结果产生模块,RAM模块的输 出与MAC地址接收模块的输出在比较器模块中进行比较操作后,输送给结果产 生模块。下面对各个模块进行详细的介绍。
RAM模块(000),里面存放着一定数量的MAC地址,具体的存储方式如图 3所示,定义此片内RAM可存放数据的长度为32位,共存放M组MAC地址,每 组包含4N个MAC地址。
RAM地址为1的空间里,32位的空间从高位到低位依次存放第1、第2、第 3和第4个MAC地址的第1个字节;从RAM地址为2到地址为N的空间里,存放 的是从第5个MAC地址到第4N个MAC地址的第1个字节;RAM地址为N+l的空 间里,存放的是第l、第2、第3和第4个MAC地址的第2个字节;相同的道理, 从RAM地址为N+2到地址为2N的空间里,存放的是从第5个MAC地址到第4N 个MAC地址的第2个字节;往下,从RAM地址为2N+1到地址为6N的空间里, 依次存放的是第1个MAC地址到第4N个MAC地址的第3、第4、第5和第6个 字节。这样,在RAM中,地址为1到地址为6N的空间里存放的是第一组的MAC 地址。按照相同的存放方式,从地址为6N+1到地址为12N的空间里存放的是第 二组MAC地址,接下来,从地址为12N+1到地址为6MN的空间里,存放的是第3 组到第M组MAC地址。
地址产生器模块,此模块用于产生RAM的读地址。此模块受整个装置的输 出信号da一meet控制,它的实现是由内部一个计数器进行控制,实现后表现出 来的工作流程图4所示。
初始地址为1,开始工作后,首先判断da —meet是否为1,和当前的地址是否为6MN,前者表示RAM中有与接收的MAC地址相同的MAC地址,后者表示接 收的MAC地址与RAM中所有的MAC地址比较完毕,两种情况如果都成立或者有 一种情况成立,则地址产生器模块输出地址为1;如果两种情况都不成立,则输 出的地址自动加1。
MAC地址接收模块,此模块用于接收要被过滤的MAC地址。它的内部由一个 48位寄存器构成,在工作时此模块受R層读地址的控制。MAC地址接收模块只 在接收的MAC地址与RAM中的第一组MAC地址比较时进行MAC地址接收操作; 接收的MAC地址与RAM中的其他组MAC地址比较时,MAC地址接收模块进行移位 操作,具体工作流程如图5所示。
当RAM读地址为1时,MAC地址接收模块接收要被过滤MAC地址的第1个字 节,其方法是48位寄存器左移八位,低八位移入要被过滤MAC地址的第1个字 节;当RAM读地址为N+l时,MAC地址接收模块接收要被过滤的MAC地址的第2 个字节;当RAM读地址分别为2N+1、 3N+1、 4N+1和5N+1时,MAC地址接收模块 分别接收耍被过滤的MAC地址的第3、第4、第5和第6个字节。在接收MAC地 址的同时,接收到的MAC地址会立即与RAM中的MAC地址进行比较,具体的工 作方式会在介绍比较器模块时说明。
接收完要被过滤的MAC地址,此MAC地址也与RAM里的第一组MAC地址比 较完,如果发现有与之相同的MAC地址,整个装置输出da—meet = 1,如果未发 现有与之相同的MAC地址,地址产生器模块会产生后面的地址,此时MAC地址 接收模块不再进行新的MAC地址接收,内部的48位寄存器进行首尾循环左移8 位操作。
比较器模块,此装置将MAC地址接收模块接收的MAC地址与从RAM中的MAC 地址进行比较,MAC地址接收模块的输出为8位,RAM中输出的MAC地址为32 位,比较器模块的输出为4位,内部结构如图6所示。MAC地址接收模块输出的 8位数据分别与RAM输出的数据的第31位到第24位、第23位到第16位、第 15位到第8位和第7位到第0位组成的4组8位数据进行比较,大小相同结果 为l,不同为O,故此模块有4位的输出,并将此输出输送给结果产生器模块。
结果产生器模块,它内部包含了一个4N位寄存器,用于存放接收的MAC地 址与RAM中每组MAC地址进行比较的结果。4N位寄存器里的数据从低位到高位 依次代表当前组的某一个MAC地址与接收到的MAC地址进行比较的结果,其中 的某一位为l,说明这一位代表的MAC地址与接收到的MAC地址相同。结果产生 器模块受RAM读地址的控制,它的T.作原理如—F。
比较器模块输送来的数据是RAM中的各个MAC地址第1个字节与接收的MAC地址第l个字节的比较结果时,此数据直接被存入4N位寄存器屮;当比较器模
块输送来的数据不是RAM中的MAC地址第1个字节与接收的MAC地址第1个字 节的比较结果时,此数据与4N位寄存器的对应位相与操作后,再被存入4N位 寄存器中。
RAM中的一组MAC地址与接收到的MAC地址进行比较完后,即RAM读地址为 6N、 12N、 18N……丽时,对4N位寄存器的结果进行判断。如果4N位寄存器里 的数据有一位为l,则da一meet = 1,表示RAM中的MAC地址有与接收到的MAC 地址相同的;如果4N位寄存器里的数据的各位全为0,则da—meet = 0,表示 RAM中的MAC地址没有与接收到的MAC地址相同的。
本发明提出的一种DOCSIS MAC地址过滤方法,通过以上介绍的实现方式, 可以实现DOCSIS MAC地址过滤,同时减少硬件资源,节省过滤时间。


图1为本发明提出的方法实现过程的流程图; 图2为整个装置的结构图3为RAM内部的数据存储方式;
图4为MAC地址接收模块的工作流程图5为地址产生器模块的工作流程图; 图6为比较器模块的结构图7为具体实施例的工作流程图。
具体实施例方式
下面将结合附图,通过具体的实施过程对本发明做进一步说明。
在本实施例中N为4, M为4,因此,RAM中存放的MAC地址分为4组,每 组有16个MAC地址,共占用R旭96个地址空间。
RAM地址为1的空间里,32位的空间从高位到低位分别存放第1、第2、第 3和第4个MAC地址的第1个字节;从RAM地址为2到地址为4的空间里,存放 的是从第5个MAC地址到第16个MAC地址的第1个字节;RAM地址为5的空间 里,存放的是第l、第2、第3和第4个MAC地址的第2个字节;从RAM地址为 6到地址为8的空间里,存放的是从第5个MAC地址到第16个MAC地址的第2 个字节;往下,从RAM地址为9到地址为24的空间里,依次存放的是第1个MAC 地址到第16个MAC地址的第3、第4、第5和第6个字节。这样,在RAM中, 地址为1到地址为24的空间里存放的是第一组MAC地址。从地址为25到地址 为48的空间里存放的是第二组MAC地址,接下来,从地址为49到地址为96的 空间里,存放的是第3组和第4组MAC地址。MAC地址接收模块,当RAM读地址为1时,MAC地址接收模块接收要被过滤 的MAC地址的第1个字节,其方法是48位寄存器左移8位,低8位移入接收的 MAC地址的第1个字节;当RAM读地址为5时,MAC地址接收模块接收要被过滤 的MAC地址的第2个字节;当RAM读地址分别为9、 13、 17和21时,MAC地址 接收模块接收要被过滤的MAC地址的第3、第4、第5和第6个字节。在接收MAC 地址的同时,接收的MAC地址会立即与RAM中的MAC地址进行比较,接收的MAC 地址与RAM里的第一组MAC地址比较完,如果发现有与之相同的MAC地址,整 个装置的输出端da一meet = 1,如果未发现有与之相同的MAC地址,地址产生器 模块会产生后面的地址,此时MAC地址接收模块不再接收新的MAC地址,内部 的48位寄存器进行首尾循环左移8位。
比较器模块内部结构上文都进行说明。结果产生器模块内部包含了一个16 位寄存器,比较器模块输送来的数据是RAM中的MAC地址第1个字节与接收的 MAC地址第l个字节的比较结果时,此数据直接被存入16位寄存器中;当比较 器模块输送来的数据不是RAM中的MAC地址第1个字节与接收的MAC地址第1 个字节的比较结果时,此数据与16位寄存器的对应位相与操作后,再被存入16 位寄存器中。
RAM中的每一组MAC地址与接收到的MAC地址进行比较完后,即RAM读地址 为24、 48、 72和96时,对16位寄存器的结果进行判断。如果16位寄存器里 的数据有一位为1,则da—meet = 1,表示RAM中的MAC地址有与接收到的MAC 地址相同的;如果16位寄存器里的数据的各位全为0,则da—meet 二 0,表示 RAM中的MAC地址没有与接收到的MAC地址相同的。
下面为本实施例的工作流程。
步骤l:装置开始工作,首先接收MAC地址并将接收的数据与RAM中第一组 MAC地址各个字节依次进行比较,如果有相同的MAC地址,da一meet = 1,过滤 完毕;如果没有相同MAC地址,da_meet 二 0,执行步骤2。
歩骤2:接收的MAC地址与RAM中第二组MAC地址进行比较,比较完成,如 果有相同的MAC地址,da—meet 二 1,过滤完毕;如果没有相同的MAC地址,da_meet =0,执行步骤3。
步骤3:接收的MAC地址与RAM中第三组MAC地址进行比较,比较完成,如 果有相同的MAC地址,da一meet = 1 ,过滤完毕;如果没有相同的MAC地址,da_meet =0,执行歩骤4。 歩骤4:接收的MAC地址与RAM中第四组MAC地址进行比较,比较完成,如 果有相同的MAC地址,da—meet = 1 ,过滤完毕;如果没有相同的MAC地址,da—meet二 0,过滤完毕。
本发明提出的一种DOCSIS MAC地址过滤方法,通过以上介绍的实现方式, 利用4个比较器,可以实现DOCSIS MAC地址过滤,减少硬件资源,节省过滤时 间。
权利要求
1、一种DOCSIS MAC地址过滤方法,其特点在于此MAC地址过滤装置由RAM模块(000)、地址产生模块(001)、MAC地址接收模块(010)、比较器模块(011)和结果产生模块(100)组成。
2、 如权利要求1所述的结构中的RAM模块(000)每个地址空间存放一个 32位的数据,模块里面存放M组带过滤的MAC地址,每组包括4N个过滤的MAC 地址;RAM地址为1的空间里,32位的空间从高位到低位依次存放第1、第2、第 3和第4个MAC地址的第1个字节;从RAM地址为2到地址为N的空间里,存放 的是从第5个MAC地址到第4N个MAC地址的第1个字节;RAM地址为N+l的空 间単,存放的是第1、第2、第3和第4个MAC地址的第2个字节;相同的道理, 从RAM地址为N+2到地址为2N的空间里,存放的是从第5个MAC地址到第4N 个MAC地址的第2个字节;往下,从RAM地址为2N+1到地址为6N的空间里, 依次存放的是第1个MAC地址到第4N个MAC地址的第3、第4、第5和第6个 字节;在RAM中,地址为1到地址为6N的空间里存放的是第一组MAC地址;按 照相同的存放方式,从地址为6N+1到地址为12N的空间里存放的是第二组MAC 地址,接下来,从地址为12N+1到地址为6MN的空间里,存放的是第3组到第M 组MAC地址。
3、 如权利要求1所述的结构中的MAC地址接收模块(001),内部由一个 48位寄存器构成,在工作时此模块受外部控制信号和RAM读地址的控制,MAC 地址接收模块只在与第一组RAM中的MAC地址比较时进行接收MAC地址操作, 其余时间在外部控制信号的控制下进行移位操作;当控制信号有效,而且RAM读地址为1时,MAC地址接收模块接收要被过滤 的MAC地址的第1个字节;当控制信号有效,RAM读地址为N+l时,MAC地址 接收模块接收要被过滤的MAC地址的第2个字节;当控制信号有效,RAM读地 址为2N+1、 3N+1、 4N+1和5N+1时,MAC地址接收模块接收要被过滤的MAC地址 的第3、第,4、第5和第6个字节;其余,当控制信号有效时,内部的48位寄 存器进行首尾循环左移8位。
4、 如权利要求1所述的结构中的地址产生器模块(010),此模块用于产 生RAM的读地址,受外部控制信号的控制,同时也受整个装置的输出信号da —meet控制,它的实现是由内部一个计数器进行控制;它的工作过程为初始地址为0,开始工作后,首先判断da —meet是否为 1,和当前的地址是否为6MN,前者表示RAM中有与接收的MAC地址相同的MAC 地址,后者表示接收的MAC地址与RAM中所有的MAC地址比较完毕,两种情况中如果有一种成立,则地址产生器模块输出地址为0;然后再判断外部控制信号 是否有效,如有效则输出的地址自动加1。
5、 如权利要求1所述的结构中的比较器模块(011),此模块将Mf地址接收模块(001)接收的MAC地址与从RAM中读出的MAC地址进行比较,MAC地 址接收模块(001)输出的8位数据分别与RAM模块(000)输出的数据的第31 位到第24位、第23位到第16位、第15位到第8位和第7位到第1位组成的4 组8位数据进行比较,大小相同结果为l,不同为O,比较器模块有4位的输出, 并将此输出输送给结果产生器模块。
6、 如权利要求1所述的结构中的结果产生器模块(100),它内部包含了 一个4N位寄存器,用于随时存放接收的MAC地址与RAM中每组MAC地址进行比 较的结果;4N位寄存器里的数据从低位到高位依次代表当前组的某一个MAC地 址与接收到的MAC地址进行比较的结果,其中的某一位为l,说明这一位代表的 MAC地址与接收到的MAC地址相同;结果产生器模块受RAM读地址和外部其他控 制信号的控制;当比较器模块的输出是RAM中的MAC地址第1个字节与接收的MAC地址第1 个字节的比较结果时,此比较器模块的输出直接被存入4N位寄存器中;当比较 器模块的输出数据不是RAM中的MAC地址第1个字节与接收的MAC地址第1个 字节的比较结果时,此数据与4N位寄存器的对应位相与操作后,再被存入4N 位寄存器中。
全文摘要
本发明提出的一种DOCSIS MAC地址过滤方法,其特点在于将一定数量的MAC地址按特殊格式存储在片内RAM中,用4个8位比较器完成DOCSIS MAC地址过滤。本发明提出的方法,是将接收到的MAC地址与RAM中的MAC地址进行一组一组的比较。每组比较完得出结果,如果当前组有与接收到的MAC地址相同的MAC地址,则此轮过滤结束,如果当前组没有与接收到的MAC地址相同的MAC地址,则再进行下一组的比较,直到与所有组的MAC地址比较完。其实现的装置可以由RAM模块(000)、地址产生模块(001)、MAC地址接收模块(010)、比较器模块(011)和结果产生模块(100)组成。
文档编号H04L12/56GK101610258SQ20091008946
公开日2009年12月23日 申请日期2009年7月21日 优先权日2009年7月21日
发明者李占才 申请人:北京九方中实电子科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1