博通Broadcom SDK源码学习与探讨3——Cable Modem Docsis3.0

​ 声明:原创作品,严禁用于商业目的。 本系列文章适合研发工程师,欢迎和我交流:408797506@qq.com(微信:408797506)

文章目录

1. Channel Bounding

为了达到高速率的上行和下行速度,3.0提出了一个Channel Bounding的概念,将几个channel绑定在一起作为一个传输通道来使用,用以获取更高的上下行速率。
目前支持最多的bounding是将四个channel绑定一起,最高实现上行120Mbits/s,下行160Mbits/s的速率.。

1.1 Downstream Channel Bonding

(1) Downstream Bonding Group
A “Downstream Bonding Group” (DBG) refers to the group of Downstream
Channels over which the CMTS distributes the packets of a downstream service flow. The term “Downstream
Bonding Group” is intended to refer to a set of two or more downstream channels, although during transition periods
only a single channel may be defined or operational in a Downstream Bonding Group.
(2) Downstream Channel Set
The term “Downstream Channel Set” (DCS) applies only in the CMTS and refers to an identified set of one or more
channels over which packets of a service flow are scheduled. A DCS is either a single Downstream Channel or a
multiple-channel Downstream Bonding Group.
(3) Receive Channel Set
The set of downstream channels assigned to an individual CM is called its Receive Channel Set, and is explicitly
configured by the CMTS.

The CMTS assigns a Receive Channel Set to a CM by sending the CM a Receive Channel Configuration. The
Receive Channel Set is the complete list of Downstream Channels that were defined in the Receive Channel
Configuration.

1.2 Upstream Channel Bounding

(1)Upstream Bounding Group
An upstream bonding group consists of two or more upstream channels over which a service flow may be
transmitted. A service flow may be assigned to a single upstream channel or an upstream bonding group.

2. Mac Domain

Mac Domain是CMTS上一个逻辑组合体,整体上可以把一个或者多个Downstream Channel 与一个或者多个 Upsream Channel 称为一个 Mac Domain 。CMTS 使用这个概念来完成 Docsis3.0的各种功能,比如 Channel Bounding。
Mac Domain 至少包含有一个 Downstream 和一个 Upstream channel。

2.1 Cable Modem Service Group

CM-SG ( Cable Modem Service Group ) 表示的是到达某个 CM 的所有 Downstream,Upstream channel 的一个集合。由这样一个 Service Group 的概念衍生出以下的一些概念。
博通Broadcom SDK源码学习与探讨3——Cable Modem Docsis3.0
DS-SG ( Downstream Service Group ) 代表到达某 CM 的所有 Downstream channel 的集合。
US-SG ( Upstream Service Group ) 代表到达某 CM 的所有 Upstream channel 的集合。

2.2 Mac Domain Cable Modem Service Group

MD-CM-SG ( Mac Domain Cable Modem Service Group ) 表示在同一个 Mac Domain 中,所有到达同一个 CM 的 Downstream, Upstream Channel 的集合。
博通Broadcom SDK源码学习与探讨3——Cable Modem Docsis3.0
如果不同的CM(Fiber Node)的 Channel 是完全一样的, 这个应该认为是一个Service Group。
博通Broadcom SDK源码学习与探讨3——Cable Modem Docsis3.0

2.3 Mac Domain Downstream Service Group

MD-DS-SG ( Mac Domain Downstream Service Group ) 表示同一个 Mac Domain 中,所有到达同一个CM 的 Downstream Channel 的集合。

2.4 Mac Domain Upstream Service Group

MD-US-SG ( Mac Domain Upstream Service Group ) 表示同一个 Mac Domain 中,所有到达同一个CM 的 Upstream Channel 的集合。
博通Broadcom SDK源码学习与探讨3——Cable Modem Docsis3.0

3. DSID使用

DSID ( Downstream Service ID ) 在Downstream 的数据中以Downstream Service Extended Header (DS EHDR) 这样一个扩展头的形式出现
功能有以下两个
(1) 对于通过bounding channels传送的数据,用来包含 sequence number, 从而方便进行数据的重新组合
(2) 对于Multicast数据,用来标示将要接收该数据的一个或一组CM

3.1 Pre-Registration DSID

在 CM 注册到 CMTS 之前,CMTS 通过 MDD 告知 CM 一个 pre-registration DSIDs

3.2 DSID注册

(1) 在 CM 注册时候,CMTS 通过 Reg-Rsg,Reg-Rsg-Mp 告知 CM 他所需要知道 DSID。
(2) CM 注册后,如果 CM 有发送 “Join Multicast Session ” 给 CMTS 时,CMTS 会通过 DBC-Req 来告知 CM 目前使用的 DSID 2.1 如果是一个全新的 Multicast Session, CMTS 会分配一个新的 DSID 给该 Session,连同其他的 DSID 发送给 CM 2.2 如果之前已经存在这样一个 Multicast Session, CMTS 就不会再重新分配新的 DSID,而是将现存的 DSID 发送给 CM。

数据包转发

CMTS 负责在传送给 CM 的数据上打上 DSID 的标志。
(1). 广播包不应该打DSID。
(2). 多播包按以下规则标记。
CMTS必须对所有的多播包都进行标记。
路由功能的CMTS 必须对不同的多播组标记不同的 DSID。
转发功能的CMTS 应该对不同的多播组标记不同的 DSID,如果不能识别上层的多播标记,必须按照目的 MAC 的不同标记不同的 DSID。
(3). 需要重新排序的单播包应该标记,不需要重新排序的单播包不应该标记。
博通Broadcom SDK源码学习与探讨3——Cable Modem Docsis3.0

In addition to its forwarding responsibilities, the CMTS labels packets it forwards to the CM with a DSID according
to the following rules:
• The CMTS SHOULD NOT label broadcast packets (addressed to a MAC destination of FF:FF:FF:FF:FF:FF)
   with a DSID. 260
• The CMTS labels multicast packets according to the rules specified in Section 9.2.2.2.
• The CMTS MAY label traffic bearing an individual MAC destination address with a DSID to indicate its
   resequencing context. The CMTS SHOULD NOT label traffic bearing an individual MAC destination address
  with a DSID if that traffic is not sequenced.
However, in cases such as virtual private networks, the above rules need not apply, and the CMTS MAY label
traffic with a DSID to limit the interpretation of layer 2 MAC addresses to a "virtual LAN" of CMs on the RF MAC
interface.

4.1 CMTS数据转发

Forwarder 来负责在RF端口和 NSI 口之间复制转发数据
对于上行数据,Mac Domain中 的收到后转送给上层的 Fowarder,对于下行数据,Forwarder 收到后送给不同Mac Domain,由后者通过进行决策后发送给 CM。
DOCSIS 3.0中规定, CMTS 中同一个 Mac Domain 的 Upstream 和 Downstream 之间的数据转发也需要通过上面的 Forwarder 进行转发。
博通Broadcom SDK源码学习与探讨3——Cable Modem Docsis3.0

4.2 CM数据转发

CM 对于收到的数据,需要进行过滤,查看数据的DSID, 如果DSID 是CMTS 已经告知的,则接收数据包(转给CM 的 IP Stack 或者是复制后转发给下层的 cpe )。否则丢弃
博通Broadcom SDK源码学习与探讨3——Cable Modem Docsis3.0
博通Broadcom SDK源码学习与探讨3——Cable Modem Docsis3.0
博通Broadcom SDK源码学习与探讨3——Cable Modem Docsis3.0

5. 小结

本节介绍了数据上下行,以及数据转发的过程。
下节重点介绍硬件抽象层HAL 的总体架构,对于博通Broadcom的源码系统框架有一个初步的认识。

上一篇:CM开发指南:概述


下一篇:在浏览器输入地址后回车到页面显示全流程