首页 > 其他分享 >ns-3_ Day 10

ns-3_ Day 10

时间:2023-01-12 09:11:58浏览次数:394  
标签:10 字节 Packet payload tag 分组 ns Day

ns-3的分组Packet

ns-3的分组由header、payload、trailer组成。Packet定义了分组的存储结构,内部维护一个字节数组 Packet::m_buffer,header、payload、trailer存储在这个字节数组中。

  • 传输层和网络层的ns-3 Packet Header具有完全相同的存储结构
  • Packet使用虚拟payload,ns-3只会记录payload的大小(单位是Byte)而不为其分配内存。

创建

使用Create模板函数,返回指向Packet对象的Ptr

Header和Trailer

Header和Trailer是分组头和分组尾的基类分组尾携带的都是帧检测序列FCS。派生类包括:

  • TcpHeader
  • Ipv4Header
  • WifiMacHeader
  • ……
  • EthernetTrailer
  • LrWpanMacTrailer 低功率广域网络分组尾
  • WifiMacTrailer

分组头尾从C++类到字节数组需要通过序列化Serialize()来完成。Header类只负责定义一个通信协议分组头的信息结构,在网络中实际传输的是Packet对象。以TcpHeader为例:
image.png

分段和重组

ns-3使用Packet::CreateFragment()函数进行分段,参数指定起始字节和长度,返回新分段的Ptr;重组通过Packet::AddAtEnd()完成。

Tag

ns-3分组除了携带header和trailer以外,还可以携带若干tag。例如可以把一些底层协议参数(如跨层QoS设置)存储在应用层Packet的tag列表,当底层协议处理这个Packet的时候就可以读取对应的设置。
Tag有分组tag和字节tag两种:

  • 分组tag 分段后,每个分段都将拥有该tag的拷贝
  • 字节tag 只属于被添加时分组的所有字节,后续添加的头尾和负载都不拥有该tag

标签:10,字节,Packet,payload,tag,分组,ns,Day
From: https://www.cnblogs.com/leewaytang/p/17045459.html

相关文章

  • day2-双指针-977--59
     暴力解法      螺旋矩阵,边界条件有点多,要好好分析才可以  classSolution{public:vector<vector<int>>generateMatrix(intn){......
  • 「技术人生」第10篇:如何做研发效能提升(即指标体系建设过程回顾)
    作者:贺科学(晨末)背景纵观软件研发的发展历程,如果说“业务需求开发”是核心主线的话,那么研发效能建设就是这一核心主线之外最大的一条支线。每个历史阶段的研发效能所面对......
  • Codeforces Edu Round 106 Div2
    解题A.DominoonWindowsill这个题给一个2xn的方格,一个行有k1个白块,第二行有k2个白块,那么现在有w个2x1的白块和b个2x1黑块,白对白,黑对黑,问能不能全放下这个就是判断下白......
  • b站pandas编程练习100例
     题1使用List构造Series使用pandas,把下方数据List,变为一个Series。将Series输出到命令行。courses=['语文','数学','英语','计算机']题解:import......
  • 洛谷P1040. 加分二叉树
    题目描述设一个\(n\)个节点的二叉树tree的中序遍历为(\(1,2,3,…,n\)),其中数字\(1,2,3,…,n\)为节点编号。每个节点都有一个分数(均为正整数),记第\(i\)个节点的分数......
  • mt_Day4:常用API(String,ArryList)
    常用API(String,ArryList)String1.StringString对象不可变的原因:1.String变量每次的修改其实都是产生并指向了新的字符对象2.原来的字符对象都是没有改变的,所以称为不可......
  • OpenJ_Bailian - 1088
    OpenJ_Bailian-1088题解:DFS记忆化搜索记忆化搜索也可以说是动态规划,最后的答案也是从一个个子问题推导而来#include<bits/stdc++.h>#defineZeoystd::ios::sync......
  • 【图论】浅谈JohnSon全源最短路
    前置知识SPFA、Dijkstra.引文先是给一道题目:给定一个包含n个结点和m条带权边的有向图,求所有点对间的最短路径长度,一条路径的长度定义为这条路径上所有边的权值和。......
  • 抽象代数:置换群,Burnside 引理和 Polya 定理
    群群的定义给定集合\(G\)和二元运算\(\cdot\)满足如下性质:封闭性:\(\foralla,b\inG\),有\((a\cdotb)\inG\)结合律:\(\foralla,b,c\inG\),有\((a\cdotb)\cdot......
  • 代码随想录算法训练营day01 | leetcode 704/27
    前言  考研结束半个月了,自己也简单休整了一波,估了一下分,应该能进复试,但还是感觉不够托底。不管怎样,要把代码能力和八股捡起来了,正好看到卡哥有这个算法训练营,遂果断参加......