Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Network programming 如何在ns-3模型中设置/获取数据包碎片化所花费的时间?_Network Programming_Modeling_Ns 3 - Fatal编程技术网

Network programming 如何在ns-3模型中设置/获取数据包碎片化所花费的时间?

Network programming 如何在ns-3模型中设置/获取数据包碎片化所花费的时间?,network-programming,modeling,ns-3,Network Programming,Modeling,Ns 3,如果我通过路由器上具有不同MTU的多个子网传输数据包,它可能会被分割。如何获取或设置ns-3模型中碎片的每次操作所花费的时间?我需要知道这一点来计算速度。我不清楚你在问什么,但让我试着回答 如果您想测量ns-3创建片段并重新组装它们所需的CPU时间,您可以运行一个简单的2节点实验,并更改发送节点出站网络接口的mtu,以查看碎片化与非碎片化所花费的挂钟时间 另一方面,如果您想测量将一个数据包拆分为多个数据包的模拟时间方面的效果,并对每个数据包执行MAC级访问功能,那么它只是 在MAC层使用的访问

如果我通过路由器上具有不同MTU的多个子网传输数据包,它可能会被分割。如何获取或设置ns-3模型中碎片的每次操作所花费的时间?我需要知道这一点来计算速度。

我不清楚你在问什么,但让我试着回答

如果您想测量ns-3创建片段并重新组装它们所需的CPU时间,您可以运行一个简单的2节点实验,并更改发送节点出站网络接口的mtu,以查看碎片化与非碎片化所花费的挂钟时间

另一方面,如果您想测量将一个数据包拆分为多个数据包的模拟时间方面的效果,并对每个数据包执行MAC级访问功能,那么它只是

  • 在MAC层使用的访问功能。如果你想模拟交换式以太网,这很容易。归零
  • 通过介质的传输延迟。如果使用以太网,这也很简单:电缆的长度与电缆中电磁波的速度成正比,这取决于电缆的质量
  • 片段的大小和培养基的吞吐量

基本上,如果您知道数据包将被分割多少次(多个路由器可以将数据包连续分割成更小的片段)以及每次将使用哪个mtu,您可以简单地创建该过程的分析模型,并通过模拟预测数据包的实际传输级别传输延迟。

如果您通过TCP传输数据包,它应该已经知道路径MTU,并且永远不会超过它,因此根本不会发生碎片。