udp协议(汇总4篇)
【导言】此例“udp协议(汇总4篇)”的文书资料由阿拉题库网友为您分享整理,以供您学习参考之用,希望这篇资料对您有所帮助,喜欢就复制下载支持吧!
udp协议【第一篇】
关键词:ARM;Linux;交叉编译环境;UDP协议;重发机制;重发次数
UDP协议以其高效性和应用的简单,被广泛运用于嵌入式网络开发中。由于UDP协议的应用简单,在嵌入式设备开发过程中,网络资源的利用率并不高。以下将介绍一个UDP具体项目实验过程,描述ARM-Linux环境的软硬件环境构建过程,并对UDP协议下一种重发模式中上位机的重发次数的确定提出一种可行的方法。
1 研究背景
随着嵌入式技术的快速发展,嵌入式设备已经在许多领域取代了传统的微型机设备。本文的选题主要来自于实习期间承接的一项改造项目:某院校特长生评分系统的改造。项目改造目的有:1) 保留原上位机。2) 改用手持式客户端进行显示及评分操作。3)保留原有网络设备。针对要求,我们使用S3C2440作为硬件平台,移植Linux操作系统,并在ARM-Linux环境下研究了UDP协议的通信过程,进行了上位机与嵌入式系统的UDP协议通信实验及分析,并给出一种重发机制中的发送次数求法。
2 硬件平台介绍
S3C2440处理速度达到了400MHZ,具有较高的性价比。为了提高开发效率,我们采用公司自行研制开发的ET-S3C2440开发板。
ET-S3C2440开发板简介
ET-S3C2440是公司自行开发的一款ARM9架构的实验开发板,其结构框图如图1。
核心板的主要器件有:32MB×2片SDRAM,64MB NORFLASH,512MB NANDFLASH。设计了启动方式可选,通过开关选择从Nandflash或Norflash启动。
实验相关电路说明
底板电路主要功能是输入输出以及网络通讯功能。按键输入部分采用扫描方式获得输入,用一个单向地址锁存器和一个双向地址锁存器与地址总线相连,可以通过扫描地址来获得按键输入。LCD采用三星的寸TFT屏作为显示输出设备。网卡芯片选用的是与原设备匹配的10M 的CS8900A,关于CS8900A与S3C2440的硬件连接,有众多资源可供参考,本文不再赘述。
3 系统软件平台的构建
硬件平台搭建完毕后要将操作系统和应用程序在硬件平台上运行起来。以下是对嵌入式Linux操作系统移植的过程。
交叉编译环境的构建
Linux 版本的内核可以登录到下载。本文选择的是工具链()
在宿主机上进入Linux系统,切换当前目录到工具链所在目录,新建一个arm目录保存解压后的文件(mkdir /user/local/arm)并将解压到这个目录中(tar jxvf –C /user/local/arm)。然后将环境变量-linux-gcc所在的目录(编辑/etc/profile 添加语句”export PATH=/user/local/arm//bin:),然后reboot一下,这样交叉编译环境就构建好了。
BOOTLOADER的移植
vivi是一款相当成熟和相对简单的常用bootloader,我们以vivi为移植原型,将S3C2440所有IO端口寄存器定义添加到头文件,删除部分硬件平台使用不到的代码,最后将修改过的vivi制作成镜像烧录到flash中。[1]
udp协议【第二篇】
关键词:IPSec NAT IKE UDP封装
随着网络技术飞速发展,IPSec已经成为搭建虚拟专用网(VPN)的核心技术。1998年底IETF规划并制定的IPSec。它不仅为IP协议层以上的高层协议和应用提供优质的安全保护,也可兼容IPv4及IPv6,并具有很好的扩展性和可利用性。
NAT,是一种将私有(保留)地址转化为合法IP地址的转换技术,它不仅完美地解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
目前,NAT设备的应用越来越广泛,但它的使用对基于IP的VPN的发展造成了极大的阻碍和影响,其原因在于IPSec协议负责VPN 中的保护传输数据的安全性的工作。在数据传输过程中,IPSec必将对IP包进行修改,因此不能被NAT通过而被丢弃。如何能让二者在VPN网络下协调工作,成为了实现NAT穿透的重要课题。
一、IPSec与NAT的不兼容性分析
根据对两协议的分析,会发现NAT和IPSec具有一定的不兼容。其主要表现有三:一、NAT影响ESP(封装安全载荷协议);二、NAT影响AH(网络认证协议);三、NAT影响IKE(密钥管理协议)。而根据对其特征分析后得出结论,IPSec对NAT的支持只有在地址转换情况下和隧道模式才能完成数据NAT穿越,这样既对NAT的工作造成了一定限制,又降低了IPSec的安全性能,可行性差。
为了能使IPSec在VPN中得到充分利用,在现有条件下,IPSec和NAT兼容性解决方案就应满足可部署性、远程访问、防火墙兼容性、可扩展性、后向兼容性、安全性等特性。
二、利用UDP封装法实现NAT的透明穿透
为实现NAT 透明穿透可以采取封装UDP的方法,这样既不需对NAT网关和路由作任何修改又简单易用,但缺点也很明显,添加UDP 报文头,将加大带宽开销,鉴于传输带宽持续扩大,这开销可忽略不计。此方法原理和实现如下:
1、封装格式。为了实现端口的正确转换,保证端口值对NAT可见,我们采取封装UDP的方法,在IP包头和AH/ESP的之间添加一个UDP头,完成封装。由于端口应用重复,为简化配置和避免端口安全隐患,需要采取措施来区分端口500的数据包是IKE消息还是UDP封装的ESP。我们将在IKE 报头添加Non-ESP标记。 在确定存在一个中间NAT之后,支持IPSec NAT-T 的对话方开始使用新的IKE报头。
2、IKE协商过程。通过采取IKE协商来确定IPSec通信实体双方是否采用封装UDP的方法。通过IKE协商在其中增添新的NAT-OA和NAT-D有效载荷和及UDP通道类型。
1)新的NAT-OA有效载荷:其包括IPSec对话方的原始地址。接收方将UDP封装的ESP传输模式时每个对话方在快速模式协商期间发送的 NAT-OA有效载荷存储在用于 SA 的参数中。
2)新的NAT-D有效载荷:新的有效载荷整合一个地址和端口号将其作为散列值,并在主模式协商期间,即IKE协商第一阶段第三、四条消息中,IPSec 对话方中包括一个用于目标地址和端口,另一个用于源地址和端口的两个NAT-D有效载荷。接收方通过NAT-D有效载荷来确定NAT之后是否存在一个的地址端口号被NAT 转换过,然后运用转换后的地址和端口号来判别有无在NAT之后对话方位。
3)用于UDP封装的ESP传输模式和隧道模式的新的封装模式。在快速模式协商期间,为了通知IPSec 对话方应该对 ESP使用 UDP 封装,将采取这两种新的封装模式。
3、地址通告和Keepalive包。由于封装UDP IPSec分组只能解决NAPT 设备不支持AH 和ESP 通信等问题,因此还需要辅助方法来解决如UDP端口映射、TCP校验和错误的保持等问题。为保证校验和正确无误,就必须要实现地址通告,这就需要通信双方将原始IP地址和端口发送给对方。它的实现通过IKE第二阶段的前两条消息中的NAT-OA有效载荷,其中包含 IPSec 对话方的原始地址,因此接收方接收后就可以通过它检验解密之后的上层校验和。
消息发起者在初始主模式和快速模式 IKE 协商期间在NAT中创建了一个 UDP端口映射。 但是,超时后NAT 中的UDP映射一般没有使用就会自动删除。如果响应者随后向发起者发送IKE消息却没有提供UDP端口映射,那么NAT将丢弃其消息。只有利用定期发送Keepalive包,同步刷新后续IKE协商和UDP封装的ESP的UDP端口映射,才能解决此问题,正常保证通信。
三、结束语
随着目前IPSec应用越来越广泛,其已成为VPN的核心协议之一,而由于IPv6取代IPv4仍需时日,因此NAT设备仍将是限制IPSec推广的最大障碍,而UDP封装将是当前解决兼容性问题的最优选择之一,但也并不完善,仍需进一步探讨研究。
参考文献:
[1]Aboba B, William Dixon. IPSec-NAT compatibility requirements[Z]. Internet draft, draft-ietf-IPsec-nat-reqts txt, 2001
udp协议【第三篇】
基于UDP的数据传输协议(UDP-basedDataTransferProtocol,简称UDT)是一种互联网数据传输协议。UDT的主要目的是支持高速广域网上的海量数据传输,而互联网上的标准数据传输协议TCP在高带宽长距离网络上性能很差。顾名思义,UDT建于UDP之上,并引入新的拥塞控制和数据可靠性控制机制。UDT是面向连接的双向的应用层协议。它同时支持可靠的数据流传输和部分可靠的数据报传输。由于UDT完全在UDP上实现,它也可以应用在除了高速数据传输之外的其它应用领域,例如点到点技术(P2P),防火墙穿透,多媒体数据传输等等。
(来源:文章屋网
udp协议【第四篇】
关键词:屏幕广播;UDP协议;数据传输
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)31-7765-02
屏幕广播技术在实验教学领域,特别在计算机实验教学上起到非常好的作用。一般看来屏幕广播技术的核心技术主要集中在屏幕的截取以及传输上。要做到实时性强,屏幕色彩以及刷新速度与教师机一样是非常不容易的。
就目前所了解的解决方案中一般就截取画面而言,如果采用截取整个屏幕然后广播传输是不可取的,因为这样会增加网络传输的负担,传输的数据量大,实时性也不好。而另外的一种方案就是将屏幕分为若干区域通过判断屏幕中画面的不同区域的图像改变而将改变的部分通过网络传输。但这样做也会造成网络传输频繁,画面有时候会产生残留现象。若采用无连接的、占用网络带宽资源较少的UDP协议可以解决这个问题。
1 UDP协议
UDP是User Datagram Protocol的简称,中文名是用户数据包协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。它是IETF RFC 768是UDP的正式规范。
UDP协议的特点:
1) UDP是一个无连接协议,传输数据之前,源端和终端不建立连接。
2) 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。
3) UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。
4) 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。
5) UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表。
虽然在局域网不稳定的环境下,UDP协议数据包丢包率会偏大。但是由于UDP协议所具有的特性――不属于连接型协议,因此具有占用网络小,处理速度快的优点,所以通常多媒体文件,特别是音频、视频和普通数据在传送时较多的使用UDP。因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如常用的QQ,在传输文字数据、语音数据的时候就是采用UDP协议。
正是由于UDP协议有些这种无连接方式、不可靠的特性,这就使得在一个小型百兆快速以太网中,由于网络环境比较满意,所以我们就能使用此协议进行屏幕广播。再加上每台计算机使用UDP协议的时候占用网络带宽较小,即使局域网中接入较多的计算机(一般计算机实验室的机器数在100台左右)也不会由于网络带宽占用太大而造成屏幕广播的延时。
2 屏幕广播技术
屏幕广播技术实际上是以C/S的方式,通过计算机局域网得以实现的。服务器程序一般安装在主控制计算机上,通常安装在每间实验室的教师机;客户端一般安装在受控制计算机上,通常安装在实验室的学生机上。主控制计算机通过截屏将屏幕里的数据广播至受控制计算机。若采用TCP协议,则会造成数据延时过高。正由于UDP协议不需要建立连接和释放,所以在广播数据中具有效率高、速度快、延时低等有点,故屏幕广播技术适合采用UDP协议进行数据的广播。
实现远程屏幕广播包括以下5个主要步骤:
1) 主控制端和客户端利用UDP协议,主控制端绑定IP广播地址;
2) 主控制端抓取屏幕的数据;
3) 压缩屏幕图像的数据;
4) 由控制端通过局域网向客户端广播发送图像数据;
5) 客户端接收主控制端发送的数据并进行显示屏幕图像。
屏幕广播技术是利用Windows的多线程技术和UDP协议来共同实现的。当教师机上启动屏幕广播之后,系统会创建一个新的线程用来进行当前的屏幕广播,当屏幕广播终止之后自动将这个线程关闭,使得操作系统的资源能够得到重新利用。该线程是在系统的后台执行,由系统的主线程控制。为了提高传输速率,同时降级网络资源的占用,首先要对教师机的屏幕进行分割抓屏,也就是说要将教师机的屏幕按照3×3平均分割成9个较小的网格区域,每个网格区域对应于一个传输线程,接着通过CRC校验即循环冗余校验码(Cyclic Redundancy Check)比对算法找出哪些屏幕区域发生了变化,将发生变化区域的位图数据进行JPG格式的数据压缩,然后使用UDP协议将发生改变的屏幕区域通过对应传输线程传输到客户端的学生机上。学生机在接受到数据之后再将其进行重组,并且同时判断其区域位置,最后将图像显示在学生机的屏幕上。由于只是传输了屏幕发生改变的区域数据,再加上采用具有无连接型、占用网络带宽资源少的UDP协议进行传输数据,在一个局域网内,屏幕广播效果得到了很大的提升。
上述屏幕广播的过程周而复始,这样就能把教师机上屏幕数据不断的发送到学生机。使得教师在教师机上的全部操作都能实时的传输到学生机的屏幕上。这样的话,教师能够边讲解教学内容、边进行实际操作演示给学生看,不仅提高了课堂教学效果,而且提高了学生的学习效率。
说明:
循环冗余校验码(CRC)是一种根据网络数据封包或电脑档案等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者储存之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。一般来说,循环冗余校验的值都是32位的整数。由于本函数易于用二进制的电脑硬件使用、容易进行数学分析并且尤其善于检测传输通道干扰引起的错误,因此获得广泛应用。它的的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*2的R次方,这样C(x)的右边就会空出R位,这就是校验码的位置。通过C(x)*2的R次方除以生成多项式G(x)得到的余数就是校验码。将作为控制端的教师机的屏幕划分成3*3的9个网络区域,对这9个网格区域分别进行屏幕数据的抓取。然后进行CRC校验比对。数组Prior CRC:array[0..8] of int64;和New CRC:array:[0..8] of int64;分别用于存储上一次和本次不同抓屏的网格图像数据的校验值,如果New CRC[tag]=Prior CRC[tag],则说明该网格内的屏幕显示没有发生变化,则该数据就不需要进行传输。若New CRC[tag]Prior CRC[tag],则说明该网格内的屏幕显示已经发生变化,则该数据就需要通过UDP广播协议在局域网内进行数据的传输,将数据发送到客户端,再由客户端将网格数据还原显示到指定的屏幕网格区域,这就完成了一次屏幕广播。
3 屏幕广播技术在实际实验教学中的应用
计算机实验室管理平台是海南大学三亚学院计算机应用基础实验中心的省级科研项目,里面的特色之一就是屏幕广播技术。该平台已经在实验中心使用2年多了,反映效果良好。尤其平台内所嵌套的屏幕广播技术,得到了学院领导的一致肯定和实验教师的一致好评。
屏幕广播技术有效的解决了在局域网内进行广播大量网络数据的时候,占用大量网络带宽和系统资源这一棘手的问题。在计算机上机实验教学中,教师通过计算机管理平台中的屏幕广播模块,教师可以选择对特定机房还是对特定班级进行屏幕广播,边讲解、边实际操作给学生看。当屏幕广播结束之后,学生能够立刻进行实践操作。随着学院的不断壮大完善,班级不断的扩大,实验室也要根据实际需要进行扩大。若每间计算机实验室扩展较大,传统的用投影仪教学的方式已经无法适应大型计算机实验室实验教学的需求,且投影仪维护费用较高,尤其是投影仪的灯泡寿命仅仅3000小时左右,这就造成实验中心维护费用较高。通过采用屏幕广播技术,可以在提高实验教学效果的同时,大大的降低实验教学的运行成本。在计算机实验室中具有广泛的用途。
参考文献:
[1] 臧辉如。高校计算机实验室综合管理的研究[C].海南省高校实验室论文集,2009.
[2] 刘佳,冯震,单娟。基于Winsock通信的远程屏幕抓取技术研究[J].石家庄铁路职业技术学院学报,2008(12).
[3] 陈绍钧。屏幕广播技术在演示教学系统中的应用[J].实验室科学,2008(8).