ns3 Traffic Control Layer解读

reference

  • 官网模块设计:traffic-control-layer
    • 流量控制层如何拦截传出和传入数据包的更多详细信息
    • 关于数据包如何遍历网络堆栈的讲解 – tl;dr
    • 目前感觉不安装qdisc也会排队,且不会影响正常的运转,那就先不看这些了…
      但是我发现,默认会有一个rootqdisc, 而且默认的排队长度还是1000p ?…设置成1p之后,丢包就是在TC层丢的了…所以device代码层的地方完全trace不到丢包情况(毕竟enqueue到tc层的rootqdisc的时候已经被drop了?)… emmm

summary

  • 流量控制层位于 NetDevices (L2) 和任何网络协议(例如 IP)之间
  • 目前,ns3的流量控制层只处理传出的数据包。特别是,传出的数据包在queuing discipline中排队,该discipline可以对它们执行多项操作。
  • IPv{4,6} 接口使用聚合对象 TrafficControlLayer 向下发送数据包,而不是直接调用 NetDevice::Send()。在对数据包进行分析和处理后,当背压机制允许时,TrafficControlLayer 会调用右侧 NetDevice 上的 Send() 方法。【存疑,目前在ipv4l3protocal里面看到的还是sendrealout中底哦啊用interface的send,which调用device的send】
  • 。。。(一些qdisc的介绍)

版权声明:本文为Hesy_H原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。