CN101610258B - 一种docsis mac地址过滤方法 - Google Patents
一种docsis mac地址过滤方法 Download PDFInfo
- Publication number
- CN101610258B CN101610258B CN2009100894639A CN200910089463A CN101610258B CN 101610258 B CN101610258 B CN 101610258B CN 2009100894639 A CN2009100894639 A CN 2009100894639A CN 200910089463 A CN200910089463 A CN 200910089463A CN 101610258 B CN101610258 B CN 101610258B
- Authority
- CN
- China
- Prior art keywords
- mac address
- address
- ram
- module
- mac
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明提出的一种DOCSIS MAC地址过滤方法,其特点在于将一定数量的MAC地址按特殊格式存储在片内RAM中,用4个8位比较器完成DOCSIS MAC地址过滤。本发明提出的方法,是将接收到的MAC地址与RAM中的MAC地址进行一组一组的比较。每组比较完得出结果,如果当前组有与接收到的MAC地址相同的MAC地址,则此轮过滤结束,如果当前组没有与接收到的MAC地址相同的MAC地址,则再进行下一组的比较,直到与所有组的MAC地址比较完。其实现的装置可以由RAM模块(000)、地址产生模块(001)、MAC地址接收模块(010)、比较器模块(011)和结果产生模块(100)组成。
Description
技术领域
本发明属于网络传输领域,特别涉及网络传输领域中的物理层的内容。
背景技术
标识网络中的一台计算机,一般至少有三种方法,最常用的是域名地址、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帧才被接收,否则接收端不接收此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,表示到目前为止,接收到的MAC地址与从RAM中读到的MAC地址没有相同的。
本发明提出的方法进行过滤过程如图1所示,将MAC地址比较分为第1组和第2及其以上组。每接收MAC地址的一个字节,此字节都要与RAM中第一组MAC地址的第一个字节进行比较,并记录比较结果,同时把接收到的MAC地址字节保存在MAC地址寄存器中,当接收完6个MAC地址后,第1组地址比较完毕,输出da_meet,对于第2及其以上组,将保存在MAC地址寄存器中地址与RAM中存储的地址对应字节进行比较,输出da_meet。每组MAC地址比较完如果得到结果da_meet=1,则过滤结束,否则将接收到的MAC地址与下一组MAC地址进行比较,直到最后一组比较完。
本发明提出的一种DOCSIS MAC地址过滤方法,其装置由RAM模块(000)、地址产生模块(001)、MAC地址接收模块(010)、比较器模块(011)和结果产生模块(100)组成,如图2所示。地址产生模块受本装置输出信号的控制,产生的地址输送给RAM模块、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+1的空间里,存放的是第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地址。
地址产生器模块,此模块用于产生RAM的读地址。此模块受整个装置的输出信号da_meet控制,它的实现是由内部一个计数器进行控制,实现后表现出来的工作流程图4所示。
初始地址为1,开始工作后,首先判断da_meet是否为1,和当前的地址是否为6MN,前者表示RAM中有与接收的MAC地址相同的MAC地址,后者表示接收的MAC地址与RAM中所有的MAC地址比较完毕,两种情况如果都成立或者有一种情况成立,则地址产生器模块输出地址为1;如果两种情况都不成立,则输出的地址自动加1。
MAC地址接收模块,此模块用于接收要被过滤的MAC地址。它的内部由一个48位寄存器构成,在工作时此模块受RAM读地址的控制。MAC地址接收模块只在接收的MAC地址与RAM中的第一组MAC地址比较时进行MAC地址接收操作;接收的MAC地址与RAM中的其他组MAC地址比较时,MAC地址接收模块进行移位操作,具体工作流程如图5所示。
当RAM读地址为1时,MAC地址接收模块接收要被过滤MAC地址的第1个字节,其方法是48位寄存器左移八位,低八位移入要被过滤MAC地址的第1个字节;当RAM读地址为N+1时,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位数据进行比较,大小相同结果为1,不同为0,故此模块有4位的输出,并将此输出输送给结果产生器模块。
结果产生器模块,它内部包含了一个4N位寄存器,用于存放接收的MAC地址与RAM中每组MAC地址进行比较的结果。4N位寄存器里的数据从低位到高位依次代表当前组的某一个MAC地址与接收到的MAC地址进行比较的结果,其中的某一位为1,说明这一位代表的MAC地址与接收到的MAC地址相同。结果产生器模块受RAM读地址的控制,它的工作原理如下。
比较器模块输送来的数据是RAM中的各个MAC地址第1个字节与接收的MAC地址第1个字节的比较结果时,此数据直接被存入4N位寄存器中;当比较器模块输送来的数据不是RAM中的MAC地址第1个字节与接收的MAC地址第1个字节的比较结果时,此数据与4N位寄存器的对应位相与操作后,再被存入4N位寄存器中。
RAM中的一组MAC地址与接收到的MAC地址进行比较完后,即RAM读地址为6N、12N、18N……MN时,对4N位寄存器的结果进行判断。如果4N位寄存器里的数据有一位为1,则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地址,共占用RAM 96个地址空间。
RAM地址为1的空间里,32位的空间从高位到低位分别存放第1、第2、第3和第4个MAC地址的第1个字节;从RAM地址为2到地址为4的空间里,存放的是从第5个MAC地址到第16个MAC地址的第1个字节;RAM地址为5的空间里,存放的是第1、第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地址第1个字节的比较结果时,此数据直接被存入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地址相同的。
下面为本实施例的工作流程。
步骤1:装置开始工作,首先接收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地址过滤,减少硬件资源,节省过滤时间。
Claims (1)
1.一种DOCSIS MAC地址过滤方法,其特点在于MAC地址过滤装置由RAM模块(000)、地址产生模块(001)、MAC地址接收模块(010)、比较器模块(011)和结果产生模块(100)组成;
其中,所述的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+1的空间里,存放的是第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地址;
所述的MAC地址接收模块(010),内部由一个48位寄存器构成,在工作时此模块受外部控制信号和RAM读地址的控制,MAC地址接收模块只在与第一组RAM中的MAC地址比较时进行接收MAC地址操作,其余时间在外部控制信号的控制下进行移位操作;
当控制信号有效,而且RAM读地址为1时,MAC地址接收模块接收要被过滤的MAC地址的第1个字节;当控制信号有效,RAM读地址为N+1时,MAC地址接收模块接收要被过滤的MAC地址的第2个字节;当控制信号有效,RAM读地址为2N+1、3N+1、4N+1和5N+1时,MAC地址接收模块接收要被过滤的MAC地址的第3、第4、第5和第6个字节;其余,当控制信号有效时,内部的48位寄存器进行首尾循环左移8位;
所述的地址产生模块(001),此模块用于产生RAM的读地址,受外部控制信号的控制,同时也受整个装置的输出信号da_meet控制,它的实现是由内部一个计数器进行控制;
它的工作过程为:初始地址为1,开始工作后,首先判断da_meet是否为1,和当前的地址是否为6MN,前者表示RAM中有与接收的MAC地址相同的MAC地址,后者表示接收的MAC地址与RAM中所有的MAC地址比较完毕,两种情况如果都成立或者其中一种情况成立,则地址产生器模块输出地址为1;如果两种情况都不成立,则输出的地址自动加1;
所述的比较器模块(011),此模块将MAC地址接收模块(010)接收的MAC地址与从RAM中读出的MAC地址进行比较,MAC地址接收模块(010)输出的8位数据分别与RAM模块(000)输出的数据的第31位到第24位、第23位到第16位、第15位到第8位和第7位到第1位组成的4组8位数据进行比较,大小相同结果为1,不同为0,比较器模块有4位的输出,并将此输出输送给结果产生器模块;
所述的结果产生器模块(100),它内部包含了一个4N位寄存器,用于随时存放接收的MAC地址与RAM中每组MAC地址进行比较的结果;4N位寄存器里的数据从低位到高位依次代表当前组的某一个MAC地址与接收到的MAC地址进行比较的结果,其中的某一位为1,说明这一位代表的MAC地址与接收到的MAC地址相同;结果产生器模块受RAM读地址的控制;
当比较器模块的输出是RAM中的MAC地址第1个字节与接收的MAC地址第1个字节的比较结果时,此比较器模块的输出直接被存入4N位寄存器中;当比较器模块的输出数据不是RAM中的MAC地址第1个字节与接收的MAC地址第1个字节的比较结果时,此数据与4N位寄存器的对应位相与操作后,再被存入4N位寄存器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100894639A CN101610258B (zh) | 2009-07-21 | 2009-07-21 | 一种docsis mac地址过滤方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100894639A CN101610258B (zh) | 2009-07-21 | 2009-07-21 | 一种docsis mac地址过滤方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101610258A CN101610258A (zh) | 2009-12-23 |
CN101610258B true CN101610258B (zh) | 2012-03-28 |
Family
ID=41483840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100894639A Expired - Fee Related CN101610258B (zh) | 2009-07-21 | 2009-07-21 | 一种docsis mac地址过滤方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101610258B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701775A (zh) * | 2013-12-04 | 2014-04-02 | 中国科学院深圳先进技术研究院 | 一种抵御流量分析的发送、接收数据的方法、装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489339A (zh) * | 2002-07-06 | 2004-04-14 | ���ǵ�����ʽ���� | 保证用户匿名的方法及其无线局域网*** |
CN1490991A (zh) * | 2002-10-18 | 2004-04-21 | 华为技术有限公司 | 虚拟以太网适配卡的方法 |
CN1579068A (zh) * | 2002-09-02 | 2005-02-09 | 索尼株式会社 | 装置验证设备及方法、信息处理设备及方法和计算机程序 |
CN101072239A (zh) * | 2007-06-25 | 2007-11-14 | 中兴通讯股份有限公司 | 一种实现ip地址过滤的方法及装置 |
-
2009
- 2009-07-21 CN CN2009100894639A patent/CN101610258B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489339A (zh) * | 2002-07-06 | 2004-04-14 | ���ǵ�����ʽ���� | 保证用户匿名的方法及其无线局域网*** |
CN1579068A (zh) * | 2002-09-02 | 2005-02-09 | 索尼株式会社 | 装置验证设备及方法、信息处理设备及方法和计算机程序 |
CN1490991A (zh) * | 2002-10-18 | 2004-04-21 | 华为技术有限公司 | 虚拟以太网适配卡的方法 |
CN101072239A (zh) * | 2007-06-25 | 2007-11-14 | 中兴通讯股份有限公司 | 一种实现ip地址过滤的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101610258A (zh) | 2009-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102857327B (zh) | 一种数据传输方法和装置 | |
CN1021395C (zh) | 同步-异步和异步-同步转换器 | |
CN106528674B (zh) | 基于Hbase行健的高性能查询方法和装置 | |
CN102176726B (zh) | 一种电能表信息采集***中的地址自适应方法 | |
CN1126293C (zh) | 异步时分复用分组数据传输*** | |
JP7074839B2 (ja) | パケット処理 | |
CN105847148B (zh) | 一种数据帧转发控制方法及*** | |
CN101394451B (zh) | 呼叫详细记录数据的存储方法、显示方法及*** | |
CN106875653A (zh) | 集中器识别载波电能表变更的方法及装置 | |
CN106201778B (zh) | 信息处理方法及存储设备 | |
CN101834772B (zh) | 一种基于以太环网的介质访问控制地址分类方法和装置 | |
CN101610258B (zh) | 一种docsis mac地址过滤方法 | |
CN1291341C (zh) | 以太网无源光网络***动态过滤数据库的实现方法及装置 | |
CN101789173B (zh) | 一种学习波形的方法和装置 | |
CN1905558A (zh) | 单一化以太网交换板及数据交换方法 | |
CN101188429B (zh) | 一种比特交织器和进行比特交织的方法 | |
CN107506311A (zh) | 一种固态硬盘的ftl表的刷写方法及装置 | |
CN102710283B (zh) | 直接序列扩频伪码捕获方法、捕获装置及通信*** | |
CN102624510B (zh) | 基于跳频的信道映射的方法和装置 | |
CN102316176B (zh) | 数据包处理和溯源方法、装置及*** | |
CN103365782A (zh) | 内存管理方法 | |
CN106603364A (zh) | 一种可用于实时传输的以太网通信方法 | |
CN103200110A (zh) | 一种应用于智能变电站局域网的数据组播方法和装置 | |
CN102571555B (zh) | 一种建立邻居关系时的hello报文发送方法和装置 | |
CA2461492A1 (en) | Method for operating an isochronous cyclical communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
DD01 | Delivery of document by public notice |
Addressee: Beijing BM Electronics High-Technology Co., Ltd. Document name: Notification of Termination of Patent Right |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120328 Termination date: 20150721 |
|
EXPY | Termination of patent right or utility model |