{"title":"ns-3中的流量分化与多队列组网","authors":"Pasquale Imputato, S. Avallone","doi":"10.1145/3067665.3067677","DOIUrl":null,"url":null,"abstract":"The Linux networking subsystem provides fundamental abstraction to send and receive packets or to perform other operations. At socket layer, the user can set the socket priority used by the networking stack to prioritise the packets. The kernel sends a high priority packet before a low priority packet but the exact behaviour depends on the traffic control layer. A priority based queueing discipline uses that value of priority to enqueue the packets while a multiqueue aware queueing discipline uses a priority mapping defined by the device to enqueue the packets in its queues. The enqueue event triggers a number of consecutive dequeues based on the implemented device flow control mechanism. In case of a WiFi device, an additional layer, named the Soft MAC layer, sits in between the networking API and the hard device MAC. This layer defines the priority mapping and the device driver uses the API provided by that layer to notify the kernel about the status of their queues. In this paper, we present the introduction of the socket priority and of the multiqueue networking infrastructure in ns-3 and the design of the new flow control infrastructure. Finally, we report a preliminary evaluation of our work, consisting of a number of tests that highlight the new behaviour introduced by our models.","PeriodicalId":309072,"journal":{"name":"Proceedings of the 2017 Workshop on ns-3","volume":"20 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"Traffic Differentiation and Multiqueue Networking in ns-3\",\"authors\":\"Pasquale Imputato, S. Avallone\",\"doi\":\"10.1145/3067665.3067677\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The Linux networking subsystem provides fundamental abstraction to send and receive packets or to perform other operations. At socket layer, the user can set the socket priority used by the networking stack to prioritise the packets. The kernel sends a high priority packet before a low priority packet but the exact behaviour depends on the traffic control layer. A priority based queueing discipline uses that value of priority to enqueue the packets while a multiqueue aware queueing discipline uses a priority mapping defined by the device to enqueue the packets in its queues. The enqueue event triggers a number of consecutive dequeues based on the implemented device flow control mechanism. In case of a WiFi device, an additional layer, named the Soft MAC layer, sits in between the networking API and the hard device MAC. This layer defines the priority mapping and the device driver uses the API provided by that layer to notify the kernel about the status of their queues. In this paper, we present the introduction of the socket priority and of the multiqueue networking infrastructure in ns-3 and the design of the new flow control infrastructure. Finally, we report a preliminary evaluation of our work, consisting of a number of tests that highlight the new behaviour introduced by our models.\",\"PeriodicalId\":309072,\"journal\":{\"name\":\"Proceedings of the 2017 Workshop on ns-3\",\"volume\":\"20 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-06-13\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 2017 Workshop on ns-3\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3067665.3067677\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2017 Workshop on ns-3","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3067665.3067677","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Traffic Differentiation and Multiqueue Networking in ns-3
The Linux networking subsystem provides fundamental abstraction to send and receive packets or to perform other operations. At socket layer, the user can set the socket priority used by the networking stack to prioritise the packets. The kernel sends a high priority packet before a low priority packet but the exact behaviour depends on the traffic control layer. A priority based queueing discipline uses that value of priority to enqueue the packets while a multiqueue aware queueing discipline uses a priority mapping defined by the device to enqueue the packets in its queues. The enqueue event triggers a number of consecutive dequeues based on the implemented device flow control mechanism. In case of a WiFi device, an additional layer, named the Soft MAC layer, sits in between the networking API and the hard device MAC. This layer defines the priority mapping and the device driver uses the API provided by that layer to notify the kernel about the status of their queues. In this paper, we present the introduction of the socket priority and of the multiqueue networking infrastructure in ns-3 and the design of the new flow control infrastructure. Finally, we report a preliminary evaluation of our work, consisting of a number of tests that highlight the new behaviour introduced by our models.