CableModem 的中文名字叫电缆调制解调器?(简称CM),Cable是指有线电视网络,Modem是调制解调器?。顾名思义,CableModem就是利用有线电视网络(CATV)将外网(包括internet等)与客户电脑内网桥接在一起的终端设备。利用CableModem上网,这是一种怎样的上网方式呢?其实它与我们比较熟悉的电话线(ADSL)上网方式比较类似的,通过电话线可以上网,通过家里的看电视的cable线也是可以的。简单地说就是家里面的设备可以通过看电视用的cable线连接到Internet实现上网。这就使得有线电视网络(CATV)可以播放通常的音频数字节目,同时又可以双向传输用户上网数据。

基本介绍

DOCSIS?标准

既然 Cablemodem 是通过有线同轴电缆和外网连接在一起的,那么它的通信协议和电气标准是如何定义的呢?在此需要介绍一个工业标准— DOCSIS?。生产软件

DOCSIS?,全称 DATA OVER CABLE SYSTEMS INDUSTRIAL STANDARDS,翻译成由电缆系统来传送数据的工业标准。DOCSIS? 标准规范了 Cablemodem 数据传输的方式,CM 上网的每一个步骤,每一个必须用到的设备以及信号怎么来传送,CM 的控制协议,数据是如何分解的,CM 怎么跟 CMTS 来沟通,CM 的安全如何来保障,同时将网络通过同轴电缆的传送与其它在同轴电缆上传送的服务达成共存,而不互相干扰,CM 并不对普通的电视频道频率范围造成影响, 因为每一个传输频道上的频段是被合理的划分的。

我们目前主要应用为 EuroDOCSIS?,所以以下介绍都以 EuroDOCSIS2?.0和Docsis3.0为准。

DOCSIS?协议是由一个专门的机构叫:Cable Labs,专门负责这方面的研究并组织专家讨论制定规范和协议——基于电缆的数据业务接口规范(Data-Over-Cable Service Interface Specifications,or DOCSIS?),对整个系统实现理论,工作原理作出规范要求。

完整的DOCSIS?应用系统如图所示。

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(1)

DOCSIS?协议经过这些年的发展,由最早1.0发展到了现在3.0,并且新一代的标准DOCSIS? 4.0已在讨论中,奔着“向更高的带宽发展”目标而去。

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(2)

DOCSIS?规范各版本以下的特点和改进:DOCSIS? 1.0/1.1:

DOCSIS?2.0:

DOCSIS?3.0:

Docsis3.0协议

DOCSIS?网络OSI分层模型

在这里简单的描述一下docsis3.0协议,DOCSIS?协议跟以太网的分层结构类似,也是将网络分为OSI分层模型,网络分层如图所示。

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(3)

大家注意到DOCSIS?的第一层物理层、第二层媒体访问控制层与通常我们见到的Internet网络的不同,但完成的目标和功能还是一样的。Docsis3.0有以下各部分协议:

——增补了以往的RFI 规范, 添加了新的功能概念如组播,下行信道捆绑,上行信道捆绑,新的MAC和IPv6

——增补了以往的RFI 规范…专注于RF问题…在M-CMTS规范中结合了DRFI 规范

——增补了以往的OSSI 规范并增加了MIB

——通过增加新的安全功能增补了以往的BPI 规范

DOCSIS? 3.0特点

a)信道捆绑(Channel Bonding -下行速率可以达到200Mbps以上,-上行速率可以达到120Mbps以上。b) 上下行频率物理范围有所扩展 -下行频率从750M可扩展到1GHz,-上行频率范围从5-65 MHz可扩展为5-85 MHz. 。c) 兼容性 -3.0网络同样可以向下兼容使用2.0,1.1,1.0的Cable Modem ,-3.0的Cable Modem也可以在非3.0的网络环境中使用。d) 安全性 - 增加Eae提前加密技术,使注册过程更有安全保障e) 支持IPv6 -CM可选择的支持模式和双栈管理模式(支持IPV4和IPV6)f)增强的IP组播 -所有绑定通道都可以传输组播信息(源域间组播、组播的QoS和授权)g) 管理扩展 - IPDR (Internet Protocol Detail Record),可按业务使用对用户做到精细计费。- 扩展的MIB库(较前一版标准扩充了超过50%的MIB),更利于用户对设备的管理和控制。-更完备的信号质量的监测和远程诊断。可促进客户服务和维修。

Docsis3.0通道捆绑

下行信道绑定的理论基础是CMTS在数据包插入序号(SDID),然后把数据包放在不同的信道上传输,CM负责把接收到的数据包按照序号重新排列,最后把必要的数据发给CPE。

上行信道绑定的理论基础是CM先是根据数据流类型和大小向CMTS申请带宽和信道,CMTS会根据实际情况(负载平衡等...)授权和分配带宽给CM,CM得到授权后再将编好序号的数据包从信道发送出去,CMTS接收到数据包后再重新组装数据流。

其中DOCSIS3.0比较吸引人的改进是,通道绑定,对IPv6的支持,和对IPTV的支持 。

通道绑定为有线电视运营商提供了一个灵活的方式,可为用户提供超过160 Mbps的下行速度,和超过120 Mbps的上行速度,使有线电视的视频服务有可能完全IP化,从而电视服务全面走向IPTV。

详细请下载docsis3.0协议学习了解,附DOCSIS3.0协议下载地址: http://www.cablelabs.com/cablemodem/specifications/specifications30.html

Cablemodem的应用环境

Cablemodem的应用需要一个非常重要的前端设备,CMTS

HEADEND CMTS,全称 HEADEND CableModem Terminal Systems 在整个运作中其实起到了一个心脏的作用,运行于服务商前端。为什么这么说呢,用户被通过用同轴电缆联网之后,信号被 AMP 扩充(根据同轴距离物理限制来定)传送,此时 CMTS 的基本工作就是去解决 ROUTING(路由)的问题,还有就是提供DHCP和DNS等服务。

如下图:

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(4)

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(5)

在此图中,我们可以看到,若干个 Cablemodem 通过有线电缆链接到 CMTS,通过 CMTS 和 Cablemodem,我们的终端用户才能有效的链接到外网(internet)。更简单地说,CMTS与CableModem之间的通信模式就是客户端——服务器模式(C/S),如下图。

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(6)

用户家的设备(CPE)想上网,首先要先把上网数据交给CableModem,CableModem通过混合光纤同轴电缆网(HFC)把数据传输给CMTS,前端的CMTS通过接口再把数据传到Internet上。

Cablemodem工作原理

传统的 CATV 电视广播网络中,通信是单向的,前端的调制器将音视频节目信号调制到有线网络中,数字机顶盒只需要接收信号。但是 Cablemodem 需要双向通信,不仅要接收前端 CMTS 的数据,同时还需要发送数据给前端,实现cable同时传输电视数字信号和网络信息理论基础:频分复用(Frequency Division Multiplexing or FDM)。所以DOCSIS?对Cablemodem和CMTS的通信方式和频段做了明确的定义。

如下图

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(7)

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(8)

不同的DOCSIS?标准,频率范围和调制方式也是略有不同的。

前端 CMTS 向终端 Cablemodem 传输信号,我们称为下行信号;Cablemodem往 CMTS 发送的信号,我们称为上行信号。

Docsis2.0上下行参数:

下行:

载波频率范围 108M-862M Hz

载波频宽 8M Hz

调制方式:64/256QAM

上行:

载波频率范围 5M-65M Hz

载波频宽 0.2,0.4,0.8,1.6,3.2 MHz

调制方式:QPSK/16QAM

Docsis3.0的上下行参数.

下行:

1、解 调: 64/256QAM

2、最大速度:300Mbps(256QAM)

3、频率范围:88-860MHZ

4、接收电平:-15--- 15dBmV

上行:

1、调 制:TDMA,ATDMA,SCDMA。

2、最大速度:120Mbps

3、频率范围:5-42MHZ

4、发射电平:17-61dBmV

通过规范将 cablemodem 的上下行频段分隔,避免信号的互相干扰。

Cablemodem的具体工作上线步骤:

第一步,CableModem锁下行通道(Downstream Channel Search)

Cablemodem 自动对整个网络(108-862Mhz)扫频,同时 Cablemodem 的下行指示灯开始闪烁。

为什么要先锁下行通道?因为主下行通道有上行通道的参数,也就是说Cable Modem想要发数据给前端CMTS,就必须知道通过上行通道发数据,而上行通道在什么频点,怎么设置?包含这些参数的消息都可以在主下行通道里接收到。

锁主下行通道过程主要完成以下工作:

  1. 同步QAM信号

  2. 同步FEC和MPEG信息

注意的是CableModem不会每次开机,都会从头开头去扫描下行频点,这样很浪费时间,CableModem会在 [[Flash][使用Nand [[Flash][使用Nand [[Flash][使用Nand FLASH开辟一个Cache用来保存最后几次成功锁频的频点,CM开机启动时先会从Cache中获取主下行信道,尝试用Cache的频点去锁频,如果没有成功再逐个扫描整个带宽频点。

另外,这里为什么说是锁“主”下行通道?有“主”就必然有“次”,在多个下行通道里,不是每个下行通道都包含设置上行通道的参数,只有主下行通道才会有的,没有带上行参数的下行通道只能是“次”了。

Cablemodem 锁定 CMTS 的下行频率,将 CMTS 发送的一些 信息包搜下来,其中最重要的就是 UCD。此时 Cablemodem 的下行指示灯将常亮不再闪烁。

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(9)

第二步,CableModem监听同步消息(Monitor for SYNC Message)

CMTS会在某个下行的通道上每200us发一次sync,用于系统时间同步。CM收到了SYNC消息之后调整自己的参考时钟,只有这样CableModem才能在上行的通道与CMTS在正确的时间片(mini-slots)通信。如图所示

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(10)

第三步,CableModem获取上行参数(Obtain Upstream Parameters)

CMTS会在某个下行的通道每2s发一次UCD(包含上行频点,符号率,调制方式和其它的一些通信参数),CableModem会在锁定的主下行通道获取UCD。

UCD参数包含以下参数:

modulation(调解)

symbol rate(数据波段频率)

channel width(频道带宽)

frequency(频率)

上行通道ID下行通道IDBurst描述

第四步,初始测距(Initial Ranging)

按照UCD包里的信息,指定的调制方式等信息发送上行信号。CableModem先会发一个8 dBmV 的测距请求,如果没有收到CMTS发回的距测反馈,modem会再发加了3db的测距请求,一直到收到CMTS的Respone。CMTS会把测距请求放到一个叫Station Maintenance的地方,CableModem以后每30s发一次这个请求,用来告诉CMTS这个modem还在连接状态。当CableModem设置了新参数后会重新测距。CMTS会在某个下行的通道每2ms发一次MAP(包含分配给每个CableModem的通话时间)。所有的CableModem都是使用同一上行通道与CMTS通信,所以要通过时分复用(每个CableModem轮流用一定的时间片)来与前端CMTS交互。如图所示

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(11)

第五步,CableModem自动调整参数(Auto Adjustments)

CMTS收到CableModem初始测距请求之后,会返回一个respone,并分配一个临时的SID和带宽。CM会根据返回的消息调整时移(timing offset),电平(power level),频点调整(frequency adjustment)。这时 CMTS 和 cablemodem建立了有效的上行通路,上行灯常亮.

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(12)

第六步,EAE(Early Authentication and Encryption)

注意这个过程是Docsis3.0所特有的,目的是为保证注册上线过程是安全的,防止“黑客”的攻击,这个过程是可选的,决定是否开启这个EAM过程是由MDD的消息里的配置决定的。MDD消息也是Docsis3.0所特有的,CMTS会在一些下行通道中播出 MDD消息。CableModem会在Ranging操作的时候收到MDD消息并根据消息内容决定是否开启EAE。这个过程会对后面的操作DHCP、ToD、Registration、BPI验证都有影响。

EAE开启过程如图所示。

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(13)

第七步,带宽请求(Bandwidth Requests)

CableModem接着会用固定格式的Mac数据帧向CMTS进行带宽分配表求。CMTS接受到请求后会把带宽分配情况描述在Map消息里,发给CableModem,并以Map消息为准。任何时候CM带宽请求都是这样的,不限于这里上线操作。

第八步,获取IP(Establish IP via DHCP)

CableModem会向CMTS发出DHCP请求,用于获取IP参数,请求过程如下图所示。

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(14)

需要注意的是,CMTS的DHCP服务器返回中包含了以下参数:

第九步,获取当前时间(Time of Day)

过程是CableModem向CMTS发一个ToD&UTC请求,CMTS返回一个response,CableModem根据Response进行时间服务器校准同步。这个过程在1.x版本中是必须的,但其它版本是可选的。

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(15)

第十步,注册(Registration)

CableModem会用在DCHP过程获取到的参数,向CMTS的TFTP服务器下载配置文件。

CableModem下载完配置文件后对配置文件进行解析。接着CableModem向CMTS发送一个注册上线请求(REG-REQ),其中包含了以下信息:

CMTS在收到注册上线请求之后,会检查MAC地址、参数的签名后给CM分配一个SID(之前的都是临时的),给CM请求的业务类型分配不同的带宽,同时开通相应的网络访问权限。CMTS完成请求处理之后,给CableModem返回一个Respone。在注册过程的CMTS返回中包含TCC (Transmit Channel Configuration )和TCS(Transmit Channel Set 用于配置上行信道的设置)消息。整个过程如图所求示。

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(16)

第十一步,BPI验证(Baseline Privacy)

如果在tftp配置文件里面有开启BPI验证的配置,整个上线过程还没算完成,还要CableModem与CMTS之间进行BPI验证过程。这个过程主要是为了安全目的,防止“黑客”利用“漏洞”骗取上网服务。这个“漏洞”就是前端CMTS判断一个CableModem的上网权限主要根据CM请求的MAC地址。这就不得不防止“黑客”通过修改CableModem的Mac地址来达到获取上网权限目的。

那么怎么防止这种情况的发生呢?

要防止这种情况的发生,首先要解决问题是如何保证CableModem发出的请求所用的MAC地址是合法的?证书可以保证,这证书是可以最终被权威机构CA认可的,相当于大家都认可的。同时证书只能被拥有者所使用,因为只有证书拥有者才知道密钥。每一台Modem的Mac地址都是不同的,所以每台Modem都有自己的证书(CM certificate)。

之前说到证书是被CA认可的,整个世界那么多的CableModem,每台CableModem都有自己证书,那么是不是每台Modem的证书都是由CA直接认可和颁发的呢?不是的,CA只需给CableModem制造商颁发证书(Manufacturer Certificate),然后再由制造商利用证书生成每一台CableModem的证书。证书的关系如图所示。

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(17)

电缆调制解调器在哪里(的中文名字叫电缆调制解调器)(18)

BPI验证过程:

CableModem 会给CMTS发一个认证请求request,这个request包含了以下内容:

CMTS收到request之后会进行以下操作:

如果以上条件都满足了,那CMTS会继续以下操作:

CMTS在完成这些操作之后,会给CableModem返回一个Response,包含了以下内容:

验证过程的主体思想:为保证两方的通信过程是保密的, CableModem 和CMTS都拥了一对非对称密钥,发给对方数据都用对方的公钥加密,只有拥有对应私钥才能解出明文,加上CA认可的证书就可以验证MAC地址是否是合法的。

一般的CableModem会拥有以下证书和密钥:

只有CableModem的BPI验证通过了,Cablemodem才算正式上线,此时Cablemodem的在线灯常亮。

,