为什么明星整牙那么快| 什么是假药| 女人梦见猪是什么预兆| 胆囊息肉是什么意思| dolphin是什么意思| 孙楠留什么给你| 宜入宅是什么意思| 1962年属什么| 脑震荡后眩晕吃什么药| 肉桂跟桂皮有什么区别| fierce是什么意思| 87岁属什么| 硬化萎缩性苔藓是什么病| 子宫前倾是什么意思| pending是什么状态| 孕早期适合吃什么食物| 用什么泡脚减肥最快| 失眠吃什么中成药效果最好| 送礼送什么水果| 梦见吃李子是什么意思| 为什么会长黑头| 纸是什么生肖| 压差小是什么原因引起的| 96年五行属什么| 阴茎是什么| 什么叫心律不齐| 什么耳什么聋| 反酸烧心吃什么药| 爸爸的奶奶叫什么| 1938年属什么生肖属相| 女人要的是什么| 女用避孕套是什么样的| 体寒湿气重喝什么茶好| 感冒有痰吃什么药| bbr是什么牌子| 爬金字塔为什么会死| 甲钴胺不能和什么药一起服用| 什么是干细胞| 嘴巴经常长溃疡是什么原因| 香蕉有什么好处| 杠杆炒股是什么意思| 为什么三角形具有稳定性| 代理是什么| 怀孕乳房会有什么变化| shipped是什么意思| 寄生虫感染吃什么药| vogue是什么牌子| 白带发绿是什么原因| 射精无力吃什么药最佳| 鱼油不适合什么人吃| 吞咽困难挂什么科| 为什么针灸后越来越痛| 血管堵塞吃什么好疏通| 数位是什么| 杀鸡取卵是什么生肖| 相破是什么意思| 西席是什么意思| 虫介念什么| 胆固醇偏高吃什么食物可以降胆固醇| 什么酷暑| 肝病有什么反应| 职业暴露是什么意思| 胎盘长什么样子图片| 产复欣颗粒什么时候吃| 桂皮是什么树的皮| 火麻是什么植物| penis什么意思| 吃木瓜有什么好处| 什么叫变态| 什么胆忠心| 温婉是什么意思| 打胰岛素是什么病| 什么能让男人变大变长| 吴刚和嫦娥什么关系| 骨头受伤了吃什么恢复的快| 北京中秋节有什么活动| 胆固醇是什么| 性瘾是什么| 线下是什么意思| 窦性心动过缓是什么病| 5月份什么星座| 听雨是什么意思| 甲减饮食需要注意什么| 打饱嗝是什么原因造成的| picc是什么| 盐为什么要加碘| 为什么暑假比寒假长| 什么样的女人招人嫉妒| 七七事变是什么生肖| 处男是什么意思| 霸道是什么意思| 肝左叶囊肿是什么意思| 经常性偏头疼是什么原因| 休止期脱发什么意思| 动物都有什么| 眼睛疲劳干涩用什么眼药水| 旗舰机是什么意思| 鼻梁高的男人说明什么| 银杏叶是什么颜色| 佑字五行属什么| 曷是什么意思| 卡介苗预防什么病| 什么贤什么能| 紫菜和海苔有什么区别| 熊猫为什么有黑眼圈| 贫血的人适合喝什么茶| 苍蝇吃什么| 三月阳春好风光是什么生肖| 面子里子什么意思| 977是什么意思| 黎字五行属什么| 注意身体是什么意思| 暗里着迷什么意思| 美国什么时候建国的| 中专什么时候报名| 淋巴细胞比率低是什么意思| 6月3号什么星座| 白细胞满视野是什么意思| 嗓子发炎肿痛吃什么药| 按摩椅什么牌子最好| 柏拉图之恋是什么意思| 福祉是什么意思| 什么是阴历什么是阳历| 肾虚吃什么食物好| 1953年属什么| 夜尿多吃什么药效果好| nda是什么| 影子虫咬伤后用什么药| 切勿是什么意思| 解肌是什么意思| 狗狗肠胃炎吃什么药| 阳萎是什么| 血糖高要忌口什么| 开封古代叫什么| 表达是什么意思| 乙肝e抗体高是什么意思| 田螺不能和什么一起吃| b型o型生出来的孩子什么血型| 病毒性发烧吃什么药| loho是什么牌子| isis是什么组织| 心脏供血不足用什么药| 月经是什么意思| 5.20什么星座| 晚上睡觉脚抽筋是什么原因| 漏尿是什么原因| 湿疹吃什么中成药| 什么是前列腺钙化| 蚁后长什么样| 猴子尾巴的作用是什么| 月经推迟十天是什么原因| 骨蒸潮热是什么症状| 疱疹是什么病啊| 谷什么意思| 中性粒细胞比率偏高是什么意思| 脾胃不好吃什么食物可以调理| 子宫肌瘤长在什么位置| 小孩老是眨眼睛是什么原因| 尿失禁是什么原因| 长方形的纸可以折什么| 瑜伽什么意思| 寄居蟹吃什么食物| 做梦吃饺子是什么意思| 胃病能吃什么水果| 为什么脚上会长鸡眼| 胆结石吃什么排石最快| 婴儿吐泡泡是什么原因| 化疗后吃什么补身体| 活塞是什么意思| 几又念什么| 什么米之乡| 1985年什么命| 胃不舒服吃什么好| 高危性行为是什么| 什么时候闰三月| 三周年祭日有什么讲究| 微信被拉黑后显示什么| 胃火大吃什么药| 血糖高不能吃什么食物| 为什么想吃甜食| 霏是什么意思| 太阳又什么又什么| 鸡肉配什么菜好吃| 狗肉不能和什么一起吃| 孕反一般什么时候开始| 卡司是什么意思| 身上有斑点是什么原因| 麻古是什么| 反刍什么意思| 什么是职务| 化验痰可以检查出什么| 夏字五行属什么| ifyou什么意思| 缺钾是什么原因引起的| 吃什么补充蛋白| dr是什么| 麝牛是什么动物| 月经不调去医院要做什么检查| 圆脸适合什么发型女| 晚上喝蜂蜜水有什么好处和坏处| 心脏支架是什么材料做的| 裳能组什么词| xxoo什么意思| 推是什么意思| 脑血栓不能吃什么| 大便不成形吃什么中成药| 伊始是什么意思| 水果什么时间段吃最好| 过三关 是什么意思| 女性尿酸低是什么原因| 舛是什么意思| 治疗幽门螺旋杆菌的四联药是什么| 烧头七有什么讲究| 心病科主要看什么病| 咳嗽有白痰吃什么药最好| 什么是红曲米| 海苔吃多了有什么坏处| 高血压吃什么最好| 男人肾虚吃什么补得快| 什么酒不能喝打一生肖| 弥漫性脂肪肝什么意思| 6月29日是什么星座| 夏天可以种什么蔬菜| 梦见捞鱼是什么意思| 85年的属什么| 多巴胺是什么| 脸部麻木是什么的前兆| 满人是什么民族| 瞳距是什么意思| 冬虫夏草是什么东西| 老人生日送什么礼物好| 鸭胗是鸭的什么部位| 剪什么样的发型好看| 贫嘴什么意思| 陶渊明世称什么| 言字旁与什么有关| 扁平疣吃什么药| 卡粉是什么意思| 夏至要吃什么| 淫羊藿是什么| 张国立的老婆叫什么名字| 呵呵是什么意思啊| 年上年下是什么意思| 总蛋白偏低是什么原因| 豆角和什么不能一起吃| 学习机什么牌子好| 相与是什么意思| 黑加京念什么| 肌红蛋白偏低说明什么| 发声是什么意思| 公务员国考和省考有什么区别| 进贡是什么意思| 阴阳两虚吃什么药最好| 肚脐眼下面痛什么原因| 低级别上皮内瘤变是什么意思| 吃什么药可以延长性功能| 肠易激综合症吃什么药| 嗯嗯嗯是什么意思| 孕妇什么情况下打肝素| 细菌性阴道炎用什么药效果最好| 向日葵是什么季节| 节育环嵌顿是什么意思| 国企是什么意思| 狐臭是什么| 百度

新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 构建Ad Hoc网络跨层协议交互机制

网络视听节目新规 关于“鬼畜视频”的权威说法来了

——
作者:赵玉亭 时间:2025-08-05 来源:通信标准与质量信息网 收藏
  摘要: 信道的时变特性和拓扑的不断变化导致了链路的频繁断续,使得数据包大量丢失。这就要求高层应用协议能够快速访问底层传输协议甚至信道的状态信息,各层协议之间能够根据需要互相交换信息,迅速作出决策,提高分组接收成功率。本文基于QualNet仿真器设计并实现了一种网络协议栈跨层的机制。结果表明,利用该机制,能够快速建立,使得高层协议及时获取低层协议的有用信息,从而可根据信道的状况动态调节网络协议设置,提高分组发送成功率,优化网络传输的性能。

  关键词:,网络,跨层,,仿真

1.引言

  传统的基于TCP/IP的网络协议栈将各个协议层独立开来,相邻层之间通过良好的层间接口进行直接通信,而非相邻层之间不允许进行直接通信。每个协议层专注于完成本层内部的全部功能,而不必去关心其它层的功能实现。这样做的好处在于,设备厂商内能够专注于某一协议层的网络设备的开发,进行功能优化与添加,只要保证层间接口的标准化,就不会影响到整个网络的互通。这一理念鼓励了设备厂商的技术创新,使得市场上不断出现质优价廉的产品和服务,促成了全球互联网Internet的飞速发展。但是,对于动态网络和有线、无线混合异构网络来说,严格的分层限制了信息获取的灵活性,使得网络设计者无法根据无线网络的动态特性做出自适应优化,导致传统用于有线网络的严格分层的协议栈在上述网络中无法高效运行[1]。

  在一个典型的无线移动网络(MANET)中,由于无线信道的时变性和节点的移动性,使得链路的断开、路由的改变频繁发生,要维护网络的正常运行,就要及时发送网络控制信息,这就会给目前低带宽的无线链路带来很大的开销。在某一层次的性能优化也许还会导致全局协议栈的性能的降低[2]。同时,基于严格分层的协议栈使得高层协议希望直接得到的网络底层信息需要经历几个中间协议层才能得到,信息的更新带有明显的迟滞性[3]。针对无线网络的特点及问题,许多研究人员提出,打破基于TCP/IP协议栈的严格分层限制,使得相关协议层次能够直接进行信息的,从而极大提高网络的传输性能。Vineet Srivastava等人综述了跨层设计的现状和发展方向,将跨层定义为违反参考协议栈构架的协议设计,并将跨层分类为创建新接口、合并相邻层、无新接口的耦合设计和全局垂直信息交互四种[4]。Taesang Yoo等人利用NS-2网络仿真器构建了一个跨层设计框架用以研究 网络上的视频传输性能[5]。XinSheng Xia和Qilian Liang利用OPNET建立了一个MAC层和物理层耦合的跨层机制[6]。Ning Yang等人基于NS-2建立了物理层和介质访问控制(MAC)层、网络层和MAC层之间的信息交互[7]。

  目前的研究大多是基于网络仿真器软件实现的,交互的研究主要针对于有延时限制的多媒体信息传输,而仿真软件的仿真速度及实时性影响着许多研究的顺利开展,例如我们建立的 网络实时视频传输实验平台就必须要依托于高速的网络仿真引擎[8]。同时,仿真工具的易用性也影响着我们的研究进度。基于上述原因,我们选择QualNet作为我们的网络仿真工具,取得了良好的效果。

  本文首先介绍了QualNet网络仿真器及与我们跨层协议实现相关的消息处理机制,接着以应用层和网络层跨层交互为例,讲解了如何在QualNet里面实现跨层协议设计,然后给出了不同节点、不同应用之间跨层协议交互的设计实现。最后总结全文并指出下一步的工作方向。

2.QualNet及其消息处理机制

  2.1QualNet网络仿真器

  QualNet是一种应用于无线、有线以及混合动态网络的快速而且精确的开发、仿真系统。Scalable Network Technologies Inc.公司将美国加州大学洛杉矶分校(UCLA)开发的开放源代码的GloMoSim成功地转化为了商业版本——QualNet。目前已经在世界范围内50多个国家和地区得到了推广应用,它的客户主要是美国的大的军方项目承包商,包括DARPA、微软、NASA、雷神、美国空军等,目前已经成为美国军方网络中心战及未来作战系统(FCS)的主要仿真平台。

  2.2QualNet协议栈构架

  QualNet协议栈的设计遵循着TCP/IP网络协议栈分层结构,如图1所示。但是,QualNet还提供了一套完整的消息传递机制,使得我们能够进行类似图2所示的跨层协议开发。







图1 QualNet分层协议栈 图2 跨层协议示例


  2.3QualNet消息处理流程

  以应用层恒定比特率(CBR)协议为例,QualNet标准协议栈的内部消息处理流程如图3所示。





图3 QualNet内部消息处理流程


  首先,应用层对CBR分组使用MESSAGE_Alloc( )函数分配内存空间,并利用MESSAGE_PacketAlloc( )函数将用户载荷拷贝到packet结构体指针,通过MESSAGE_Send( )递交给传输层,传输层利用MESSAGE_AddHeader( )函数增加一个TCP或者UDP头,通过MESSAGE_Send( )函数递交给网络层,网络层通过路由寻径,增加了IP头以后递交给MAC子层,MAC子层增加MAC帧头后递交给物理层,经过相应的编码、调制、天线发射出去,经过无线信道的模拟传输,历经了衰落、多径、损耗,到达接收端,如果发生差错就要根据MAC层设置进行相应的处理,如重传。接收端的处理过程与发送端相反,经过MESSAGE_RemoveHeader( )函数层层剥离协议头,将消息递交给上层进行相应的处理,最终到达目的应用协议,利用MESSAGE_Free( )函数释放掉由发送端使用的MESSAGE_Alloc( )函数和MESSAGE_PacketAlloc( )函数分配的内存空间。

  可见,如果要想实现跨层信息交互,就要在执行MESSAGE_Send( )函数的时候,将原来的消息参数进行相应的更改,使得仿真器经过事件调度以后能够将此消息递交给期望的处理函数。下面,我们就将CBR协议进行修改,实现如图2所示的绕过UDP传输协议直接将CBR分组递交给IP层的跨层协议交互功能。

3基于QualNet的跨层交互机制

  如图2所示,跨层协议交互分为两个部分,一部分是应用层直接将数据递交给IP层处理,另一部分是IP层将数据绕过UDP协议传送到CBR处理函数入口。

  3.1应用层到网络层的通信

  常规协议栈中,基于UDP的应用层协议将用户数据发送到UDP,添加UDP头后发送到IP。为了使得CBR能直接将用户数据发送到IP,我们就要首先确定UDP使用了哪些接口来和网络层进行通信,然后在CBR和IP之间使用相同的接口。

  图4所示为分层的协议栈接口,可以看到,CBR调用接口函数APP_UdpSendNewHeaderVirtualDataWithPriority( )将CBR数据发送给UDP协议,UDP协议调用接口函数NetworkIpReceivePacketFromTransportLayer( )将数据发送给IP,接着IP进行相应的处理并调用函数RoutePacketAndSendToMac( )将数据包发送到MAC层。我们所需要做的,就是要将原来的数据通路打断,让CBR协议直接调用接口函数NetworkIpReceivePacketFromTransportLayer( ),并传递相应的参数。





图4 CBR协议层间接口(左:分层;右:跨层)


  3.2网络层到应用层的通信

  对于网络层到应用层的跨层通信,首先要确定传输层和应用层之间使用的是什么接口函数,然后使得网络层使用相同的接口将数据传递给应用层。网络层函数DeliverPacket( )从接收到的IP包的头内读取接收端协议编号ipProtocolNumber,将数据包传递给目的协议。对于一个基于UDP的应用程序,DeliverPacket( )使用函数SendToUdp( )发送接收到的数据包给UDP,因而,将数据包传递给应用层就要使用UDP函数TransportUdpSendToApp( )。为了使得IP能够直接向CBR发送数据,编写一个函数SendToCbr( )并修改DeliverPacket( )使之调用SendToCbr( )向CBR发送数据包,该修改过程的伪代码如图5所示。

4跨层仿真实例

  我们针对上述的CBR跨层协议交互,进行了无线移动Ad Hoc网络数据传输的仿真实验,实验结果表明,即使是经过简单的跨层交互(只是跨过了传输层),较之严格分层的协议栈,分组投送成功数量提高了33%。

  4.1实验设置

  我们选取了1000M


评论


相关推荐

技术专区

关闭
09年的牛是什么命 乳腺属于什么科室 帕金森挂什么科 宫腔积液排出什么颜色 妇科彩超主要检查什么
一月10号是什么星座 牛磺酸有什么作用 上海为什么叫魔都 经期量少吃什么来排血 一本万利是什么生肖
广州白云区有什么好玩的地方 中耳炎去药店买什么药 上岸了是什么意思 什么去火 低筋面粉是什么
水乳什么牌子好用 宝宝大便酸臭味是什么原因 足底麻木是什么原因 顿服是什么意思 尿路感染吃什么
什么是应激反应hcv9jop5ns8r.cn 列装是什么意思hcv8jop5ns9r.cn 绿茶是什么hcv9jop6ns1r.cn 男人吃什么可以补精imcecn.com 路由器坏了有什么症状hcv8jop0ns0r.cn
满月打什么疫苗1949doufunao.com 法令纹深代表什么面相hcv7jop9ns9r.cn 奥美拉唑什么时候吃最好inbungee.com 肺间质纤维化是什么病hcv9jop6ns1r.cn dm是什么意思hcv8jop0ns9r.cn
茶叶杀青是什么意思chuanglingweilai.com 承字属于五行属什么hcv8jop2ns3r.cn 司空见惯什么意思hcv9jop6ns0r.cn 拍手腕中间有什么好处jiuxinfghf.com 嗓子痒痒吃什么药hcv9jop0ns5r.cn
舌苔黄腻是什么原因hcv9jop0ns4r.cn 生存是什么意思hcv8jop7ns2r.cn 医保和农村合作医疗有什么区别hcv8jop7ns7r.cn 女人纵欲过度会有什么症状hcv8jop4ns4r.cn 秋天喝什么粥好hcv7jop9ns8r.cn
百度