DOCSIS models for ns-3

This module extends ns-3 to simulate the MAC layer operation of a single DOCSISĀ® link (between a cable modem and a CMTS) for a single customer.
Categories: Cable Internet

This module extends ns-3 to simulate the MAC layer operation of a single DOCSISĀ® link (between a cable modem and a CMTS) for a single customer. The module includes abstracted PHY models to simulate the presence of OFDM(A) physical channels, models to simulate the request/grant exchange process for requesting upstream transmission opportunities for a cable modem, a simple scheduling model to handle grant requests and congestion due to other CMs in the service group, a downstream MAC model for the CMTS, an AQM model (both DOCSIS-PIE and Dual Queue Coupled AQM), and Queue Protection. All of the OFDM(A) channel configuration options are supported, and subset of the Service Flow QoS configuration parameters are supported. Both single service flow (corresponding to DOCSIS 3.1) and two service flow (corresponding to Low Latency DOCSIS extensions to DOCSIS 3.1) are supported. The corresponding specification is version I19 of the DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification.

This document is furnished on an "AS IS" basis and CableLabs does not provide any representation or warranty, express or implied, regarding the accuracy, completeness, noninfringement, or fitness for a particular purpose of this document, or any document referenced herein. Any use or reliance on the information or opinion in this document is at the risk of the user, and CableLabs shall not be liable for any damage or injury incurred by any person arising out of the completeness, accuracy, infringement, or utility of any information or opinion contained in the document. CableLabs reserves the right to revise this document for any reason including, but not limited to, changes in laws, regulations, or standards promulgated by various entities, technology advances, or changes in equipment design, manufacturing techniques, or operating procedures. This document may contain references to other documents not owned or controlled by CableLabs. Use and understanding of this document may require access to such other documents. Designing, manufacturing, distributing, using, selling, or servicing products, or providing services, based on this document may require intellectual property licenses from third parties for technology referenced in this document. To the extent this document contains or refers to documents of third parties, you agree to abide by the terms of any licenses associated with such third-party documents, including open source licenses, if any. This document is not to be construed to suggest that any company modify or change any of its products or procedures. This document is not to be construed as an endorsement of any product or company or as the adoption or promulgation of any guidelines, standards, or recommendations.


Works with ns-3.30

Release Notes

<p>Initial release</p>

This module works for recent versions of ns-3-dev as a contributed module but with an associated mainline patch. Detailed installation instructions can be found at:

To report bugs, please open an issue in the module GitHub repository.

Contributions to the module are welcome. Please review the on the [GitHub page]( and open a pull request if you agree to the code of conduct posted there.

This ns-3 extension is one or more contributed modules.

Version 1.0

Released June 5, 2020

Works with ns-3.30