用于CM的远程访问控制列表生成及数据包处理方法与流程

文档序号:18212942发布日期:2019-07-19 22:26阅读:249来源:国知局
用于CM的远程访问控制列表生成及数据包处理方法与流程
本发明属于通信和网络
技术领域
,特别涉及一种用于CM(CableModem,电缆调制解调器)的远程访问控制列表生成及数据包处理方法。
背景技术
:目前,CM(CableModem,电缆调制解调器)大量从单一数据业务向多业务发展,CM上的接口类型也越来越丰富,常见的接口类型有LAN、WLAN、WAN。现有技术中并没有针对CM接口的性能、网络安全进行处理的方法或策略,无法在接口层级实现网络流量、性能、安全策略的灵活配置。技术实现要素:【要解决的技术问题】本发明的目的是提供一种用于CM的远程访问控制列表生成及数据包处理方法,以对CM进行接口层级的配置。【技术方案】本发明是通过以下技术方案实现的。本发明涉及一种用于CM的远程访问控制列表生成及数据包处理方法,包括步骤:A、按照预设ACL(AccessControlList,访问控制列表)命令格式编写ACL命令,将ACL命令通过TLV编码并转换成二进制编码后加入CM配置文件的TLV43字段中,所述CM配置文件存储在CMTS(CableModemTerminalSystems,电缆调制解调器终端系统)相对应的TFTP服务器上;B、当CM上电初始化后,锁定上下行频率,从TFTP服务器上下载CM配置文件并解析,然后将解析得到的ACL命令存入队列缓冲区;C、当CM接口接收或发送数据包时,获取队列缓冲区中的ACL命令,将ACL命令与数据包的头信息进行匹配,根据匹配结果处理数据包。作为一种优选的实施方式,所述步骤B从TFTP服务器上下载CM配置文件的方法包括步骤:B1、CM上电初始化:CM完成硬件、系统接口、网络协议栈的初始化;B2、CM扫描下行通道,与CMTS建立同步;B3、进行测距;B4、建立IP连接:CM通过DHCP服务自动获取CM的IP地址;B5、CM在DHCPOption43字段中获取TFTP服务器的地址和配置文件的路径、文件名信息;B6、CM根据步骤B5中获取到的TFTP服务器的地址和配置文件的路径、文件名信息从TFTP服务器下载CM的配置文件。作为另一种优选的实施方式,所述步骤A中的ACL命令包括通配符掩码,所述ACL命令还包括源地址或目标地址;所述步骤C根据ACL命令中的通配符掩码将源地址或目标地址与数据包的头信息进行匹配。作为另一种优选的实施方式,所述步骤C将ACL命令中的通配符掩码与数据包的头信息进行匹配的方法为:如果ACL命令中的通配符掩码为1,则忽略数据包的头信息的IP地址中对应的位;如果ACL命令中的通配符掩码为0,则将数据包的头信息的IP地址中对应的位与ACL命令中的源地址或目标地址进行精确匹配。作为另一种优选的实施方式,所述步骤C中默认将未匹配成功的数据包的权限设置为禁止通过。作为另一种优选的实施方式,所述预设的ACL命令格式为标准ACL或扩展ACL,所述标准ACL的ACL编号范围为1~99,其格式为:{ip|ipv6}access-list{ACL的编号}{deny|permit}{source[source-wildcard]|any},其中{ip|ipv6}表示ACL的IP类型;{ACL编号}表示标准ACL编号,其为1~99之间的整数;{deny|permit}表示ACL条目执行的操作;{source[source-wildcard]|any}表示源地址以及通配符掩码;所述扩展ACL的ACL编号范围为100~199,其格式为:access-listaccess-list-number{deny|permit}protocolsourcesource-wildcard[operatoroperand][portport-nameorname]destinationdestination-wildcard[operatoroperand][portport-nameorname],其中"access-list-number"为扩展ACL编号,范围从100~199;{deny|permit|remark}表示ACL条目执行的操作,该操作为拒绝或允许或备注;"protocol"代表通信协议;"sourcesource-wildcard"表示源地址以及通配符掩码;"destinationdestination-wildcard"表示目的地址以及通配符掩码;[portport-nameorname]"表示协议端口号或名称。【有益效果】本发明提出的技术方案具有以下有益效果:通过本发明提出的技术方案,既能保障网络安全,提升CM设备对数据包的处理效率,提升网络性能,又能实现CM设备的远端灵活配置,减少了CM设备的现场维护成本。附图说明图1为本发明的实施例一提供的用于CM的远程访问控制列表生成及数据包处理方法的流程图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的具体实施方式进行清楚、完整的描述。实施例一图1为本发明实施例一提供的用于CM的远程访问控制列表生成及数据包处理方法的流程图。如图1所示,该方法包括步骤S1至步骤S3,下面分别对各个步骤进行详细说明。步骤S1:编写ACL命令并将ACL命令加入CM配置文件的TLV43字段中。步骤S1中,按照预设ACL命令格式编写一条或若干条ACL命令,将ACL命令通过TLV编码以及二进制编码后加入CM配置文件的TLV43字段中,其中CM配置文件存储在CMTS相对应的TFTP服务器上。步骤S1中,标准ACL的ACL编号范围为1~99,其格式为:{ip|ipv6}access-list{ACL的编号}{deny|permit}{source[source-wildcard]|any},其中大括号中内容必选,方括号中内容可选,{ip|ipv6}表示ACL的IP类型,指示是IPv4ACL(ip)还是IPv6ACL(ipv6);{ACL编号}表示标准ACL编号,其为1~99之间的整数;{deny|permit}表示ACL条目执行的操作,即匹配这条规则的数据是允许(permit)还是拒绝(deny);{source[source-wildcard]|any}表示源地址以及通配符掩码,具体地,指定一个IP地址范围,比如"192.168.1.00.0.0.255","host192.168.1.1"或者"any"。扩展ACL的ACL编号范围为100~199,其格式为:access-listaccess-list-number{deny|permit}protocolsourcesource-wildcard[operatoroperand][portport-nameorname]destinationdestination-wildcard[operatoroperand][portport-nameorname],其中"access-list-number"为扩展ACL编号,范围从100~199;{deny|permit|remark}表示ACL条目执行的操作,该操作为拒绝或允许或备注;"protocol"代表通信协议,可以用具体的协议名称代替,比如TCP、UDP、ICMP、IP等;"sourcesource-wildcard"表示源地址以及通配符掩码;"destinationdestination-wildcard"表示目的地址以及通配符掩码;[portport-nameorname]"表示协议端口号或名称,输入telnet和23的效果相同。按照上述格式编写好ACL命令后,将ACL命令加入CM配置文件的TLV43字段中。具体地,CMTS依据DOCSIS3.0规格说明(DOCSIS@3.0MACandUpperLayerProtocolsInterfaceSpecificationCM-SP-MULPIv3.0-I27-150528附录C.1.1.18.2),在Euro-DOCSISvendorspecificExtensionField(43)数据段下增加相关ACL配置项。TLV43是DOCSISExtensionField,是预留给厂商自定义的TLV(VendorSpecification),其编码原理如表1所示。表1TLV43编码类型(T)长度(L)值(V)值的类型43.830x982f3c十六进制值43.180nIpaccess-list6permithost192.168.5.10字符串43.181nIpaccess-group6eth/0in字符串TLV43需要VendorID,指设备厂商设置的设备MAC地址的前三个字节,表1中,43.8是VendorID,43.180是ACL规则项,43.181是ACL执行项。即43.180是规则,43.181是具体在哪个接口,哪个方向上运行上述规则。需要说明,这里的180或181都是厂商自定义数值。本实施例中,TLV43编码具体采用二进制编码(为描述简单,采用16进制描述),上述配置的编码如下:0x2b4c0803982f3cb4296970206163636573732d6c6973742036207065726d697420686f7374203139322e3136382e352e3130b51a6970206163636573732d67726f75702036206574682f3020696e。此编码由配置文件编辑工具来生成并保存到配置文件中。根据上述编码可知,总共有4个TLV字段:第一个TLV字段:T(0x2b=43)L(0x4c=76)V(080398...20696e)。第二个字段:T(0x08=43.8)L(0x03=3)V(982f3c)。第三个TLV字段:T(0xb4=43.180)L(0x29=41)V(697020…2e3130)。第四个TLV字段:T(0xb5=43.181)L(0x1a=26)V(697020…20696e)。步骤S1执行完后,执行步骤S2。步骤S2:CM从TFTP服务器上下载CM配置文件并解析,然后将解析得到的ACL命令存入队列缓冲区。步骤S2中,当CM上电初始化后,锁定上下行频率,从TFTP服务器上下载CM配置文件并解析,然后将解析得到的ACL命令存入队列缓冲区。具体地,该步骤通过对ACL进行类别解析,生成ACL命令对应的类别下的命令规则,其规则中定义了控制数据包通过或禁止的匹配原则,ACL的一般规则遵循3P原则,即为CM每种协议(Per-Protocol)、每个方向(Per-Direction)、每个接口(Per-Interface)配置一条ACL。具体地,从TFTP服务器上下载CM配置文件的方法包括以下步骤:(1)、CM上电初始化:CM完成硬件、系统接口、网络协议栈的初始化;(2)、CM扫描下行通道,与CMTS建立同步;(3)、进行测距;(4)、建立IP连接:CM通过DHCP服务自动获取CM的IP地址;(5)、CM在DHCPOption43字段中获取TFTP服务器的地址和配置文件的路径、文件名信息;(6)、CM根据上一步骤中获取到的TFTP服务器的地址和配置文件的路径、文件名信息从TFTP服务器下载CM的配置文件。步骤S3:当CM接口接收或发送数据包时,获取队列缓冲区中的ACL命令,将ACL命令与数据包的头信息进行匹配,根据匹配结果处理数据包。步骤S3中,当CM接口接收或发送数据包时,获取队列缓冲区中的ACL命令,将ACL命令与数据包的头信息进行匹配,根据匹配结果处理数据包。匹配之前需要提取ACL中的命令配置项,即提取出对应于本CM(符合本CM厂商ID)的TLV43字段,还需要对数据包进行包头的数据字段解析,提取出数据帧的协议、方向、源/目的地址、端口等信息。另外,该步骤根据ACL命令中的通配符掩码将源地址或目标地址与数据包的头信息进行匹配。具体方法为:如果ACL命令中的通配符掩码为1,则忽略数据包的头信息的IP地址中对应的位;如果ACL命令中的通配符掩码为0,则将数据包的头信息的IP地址中对应的位与ACL命令中的源地址或目标地址进行精确匹配。例如,192.168.1.00.0.0.255:匹配192.168.1.0~192.168.1.255内的所有IP;192.168.0.00.0.255.255:匹配192.168.0.0~192.168.255.255;192.168.16.00.0.7.255:由于16的二进制编码为00010000,7的二进制编码为00000111,因此其匹配的IP地址为192.168.16.0~192.168.23.255;192.168.1.00.0.0.254:匹配192.168.1.0中所有偶数IP;192.168.1.10.0.0.254:匹配192.168.1.0中所有奇数IP。根据匹配结果设置权限,具体地,匹配成功的数据包的权限可以设为允许或禁止,如果设为允许权限则允许通过,如果设为禁止权限则禁止通过;未匹配成功的数据包默认设置为禁止通过。从以上实施例可以看出,通过本发明实施例对CM进行配置,既能保障网络安全,提升CM设备对数据包的处理效率,提升网络性能,又能实现CM设备的远端灵活配置,减少了CM设备的现场维护成本。需要说明,上述描述的实施例是本发明的一部分实施例,而不是全部实施例,也不是对本发明的限制。基于本发明的实施例,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1