udp协议号.docx
- 文档编号:28502702
- 上传时间:2023-07-16
- 格式:DOCX
- 页数:13
- 大小:22.71KB
udp协议号.docx
《udp协议号.docx》由会员分享,可在线阅读,更多相关《udp协议号.docx(13页珍藏版)》请在冰豆网上搜索。
udp协议号
竭诚为您提供优质文档/双击可除
udp协议号
篇一:
udp通信协议简介
一、udp概述
1、udp是一种基本的通信协议,只在发送的报文中增加了端口寻址和可选的差错检测功能。
2、udp不是一种握手信息协议,不能确认接收到的数据或交换其他流量控制信息。
3、udp是一种非连接协议,计算机在使用udp发送报文之前,不要求远程已联网或指定的目的端口可用于通信。
正因为如此,将udp称为不可靠协议,即如果只使用
udp,则发送方不知道目的主机何时是否接收到报文。
4、定义udp的文档是RFc0768:
userdatagramprotacal。
在标准std0006中也获得通过。
5、使用udp发送报文的计算机将报文置于udp数据报中。
udp数据报由报头及其后面包含报文的报文组成。
6、发送计算机将udp数据报置于ip数据报的数据字段中。
在以太网中,ip数据报存放在以太网帧的数据字段中。
接收到以太网帧后,目的计算机网络栈将udp数据报的数据部分传递给数据报报头指定的端口或进程。
7、udp的大多数功能不如tcp,所以udp的实现要简单些,更适合于特定的应用场合。
如果需要,则可在使用udp进行通信时自定义握手协议。
例如:
接收接口在接收到报文之后,将返回包含确认代码或其他请求信息的响应。
如果发送方在合理的时间内没有接收到响应信息,就会重新发送报文。
但是,如果应用程序需要的不仅仅是最基本的握手或流量控制,则应该考虑使用tcp而不是udp进行重构。
8、udp有一个tcp没有的功能,就是可将报文发送到多个目的主机,包括向局域网内所有的ip地址以广播方式发送,或者向指定的ip地址以组播方式发送。
对于tcp而言,广播和组播都不现实,因为源主机必须与所有目的主机握手。
二、udp报头
udp报头由4个字段组成,后面紧接着是要传输的数据。
1、源端口号:
源端口号标识发送报文的计算机端口或进程。
长度2字节,可选,如果接收进程不需要知道发送数据报的进程,则该字段可置为0。
2、目的端口号:
目的端口号标识接收报文的目的主机端口或进程。
2字节。
3、数据报长度:
指整个数据报的长度,以字节为单位,包括报头,最大值为65535。
该字段为2字节。
4、udp检验和:
是根据udp数据报和伪报头计算得到的差错检测值,可选,该字段伪为2个字节。
伪报头包含源和目的ip地址,以及来自ip数据报报头的协议值。
ip数据报在网络中传送时包含udp数据报。
伪报头并不会在网络中传送,校验和中所包含的伪报头内容可以避免目的端错误地接收错误路由的数据报。
校验和值的计算方法和ip报头检验和的计算方法类似。
仅在局域网内部传输报文不需要udp校验和,因为以太网帧的校验和已经提供了差错控制。
而对于那些需要通过不同的、也许未知网络传输的报文而言,校验和可以让目的主机能检测到错误数据。
三、udp数据
1、一个udp数据报最大可达到65535个字节,且报头为8字节,因此一个数据报最多可以携带65527个字节的数据。
2、实际上,源计算机常将数据报限制在较短的长度内。
使用较短的数据报的一个原因是,过大的数据报可能不适合目的主机的接收缓冲器大小;或者因为接收数据的应用程序可能需要特定长度的报文。
3、较短数据报也许更高效。
当大的数据报经过不同能力的网络时,网络协议可能会将数据报拆分为报片,要求目的主机将这些报片重组。
所有数据都会到达目的主机,但一般来说,在源主机处拆分数据,然后在目的主机处重组,会比依赖ip进行这项工作更高效。
4、ip标准要求主机能接收最大长度为576字节的数据报。
没有可选项的ip报头长度为20字节,udp报头为8字节,因此一个最大长度为548字节且没有ip选项的udp数据报不经过拆分便可到达目的主机。
udp协议简介
域
源端口是可选域,当其有意义时,它指的是发送进程的端口,这也就假定了在没有其它信息的情况下,返回信息应该向什么地方发送。
如果不使用它,则在此域中填0。
目的端口在有特定的目的网络地址时有意义。
长度指的是此用户数据报长度的八进制表示。
(这表明最小的数据报长度是8。
)校验码有16位,是对ip头,udp头和数据中信息包头的数位取反之和再取反得到的。
包头从概念上说是在udp头信息之前的,它包括有源地址,目的地地址,所使用的协议和udp长度。
这些信息使信息不能被错误地接收。
这个校验过程与
tcp中使用的过程一致。
如果计算出的校验码为零,它将被全零发送。
全零的校验值意味着发送者未产生校验码。
用户接口
用户接口应该允许创建新的接收端口,在接收端口的接收操作有:
应该返回一个八进制数说明源端口和源地址,允许数据报传送,指定数据,源和目标端口和目的地地址。
ip层接口
udp模块必须能够决定源和目标的网络地址,而且必须能够从包头中得知所使用的协议。
一个可能的接口方式是返回整个数据报,包括接收操作返回的包头。
这样的接口还应该允许udp向ip传送完整的带包头的数据报用于传送。
由ip来确定一致性并计算校验码。
协议应用
此协议的最主要的用途是网际名称服务器和小文件传输协议。
协议号
在ip中使用它时,它的协议号是17(八进制中是21)。
udp协议的标题结构
udp信息包由udp标题和数据组成。
udp的标题结构如图15-21所示,它由5个域组成:
源端端口(sourceport)、目的地端口(destinationport)、用户数据包的长度(length)和检查和(checksum)。
其中,前4个域组成udp标题(udpheader),每个域由4个字节组成;检查和域占据2个字节,它用来检测传输过程中是否出现了错误;用户数据包的长度包括所有5个域的字节数。
udp信息包的标题结构
检查和的详细计算可在RFc1071中找到,现举一例说明使用检查和检测错误的道理。
例如,假设从源端a要发送下列3个16位的二进制数:
word1,word2和word3到终端b,检查和计算如下:
word10110011001100110
word20xx1010101010101
word30000111100001111
sum=word1+word2+word311001*********10
检查和(sum的反码)0011010100110101
从发送端发出的4个(word1,2,3以及检查和)16位二进制数之和为
1111111111111111,如果接收端收到的这4个16位二进制数之和也是全“1”,就认为传输过程中没有出差错。
许多链路层协议都提供错误检查,包括流行的以太网协议,读者也许想知道为什么udp也要提供检查和。
其原因是链路层以下的协议在源端和终端之间的某些通道可能不提供错误检测。
虽然udp提供有错误检测,但检测到错误时,udp不做错误校正,只是简单地把损坏的消息段扔掉,或者给应用程序提供警告信息。
读者也可能会问,收发两端的两个进程是否有可能通过udp提供可靠的数据传输?
答案是可以的。
但必需要把确认和重传措施加到应用程序中,应用程序不能指望udp来提供可靠的数据传输。
udp协议的几个特性
(1)udp是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送
时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。
在发送端,udp传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,udp把每个消息段放在队列中,应用程序每次从队列中读一个消息段。
(2)由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。
(3)udp信息包的标题很短,只有8个字节,相对于tcp的20个字节信息包的额外开销很小。
(4)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。
虽然udp是一个不可靠的协议,但它是分发信息的一个理想协议。
例如,在屏幕上报告股票市场、在屏幕上显示航空信息等等。
udp也用在路由信息协议Rip(Routinginformationprotocol)中修改路由表。
在这些应用场合下,如果有一个消息丢失,在几秒之后另一个新的(udp协议号)消息就会替换它。
udp广泛用在多媒体应用中,例如,progressivenetworks公司开发的Realaudio软件,它是在因特网上把预先录制的或者现场音乐实时传送给客户机的一种软件,该软件使用的Realaudioaudio-on-demandprotocol协议就是运行在udp之上的协议,大多数因特网电话软件产品也都运行在udp之上。
[page]
udp协议简介
udp协议是英文userdatagramprotocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。
包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用udp协议。
udp协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,udp仍然不失为一项非常实用和可行的网络传输层协议。
与我们所熟知的tcp(传输控制协议)协议一样,udp协议直接位于ip(网际协议)协议的顶层。
根据osi(开放系统互连)参考模型,udp和tcp都属于传输层协议。
udp协议的主要作用是将网络数据流量压缩成数据报的形式。
一个典型的数据报就是一个二进制数据的传输单位。
每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。
0udp报头
udp报头由4个域组成,其中每个域各占用2个字节,具体如下:
源端口号
目标端口号
数据报长度
校验值
udp协议使用端口号为不同的应用保留其各自的数据传输通道。
udp和tcp协议正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。
数据发送一方(可以是客户端或服务器端)将udp数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。
有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。
因为udp报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。
一般来说,大于49151的端口号都代表动态端口。
数据报的长度是指包括报头和数据部分在内的总的字节数。
因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。
数据报的最大长度根据操作环境的不同而各异。
从理论上说,包含报头在内的数据报的最大长度为65535字节。
不过,一些实际应用往往会限制数据报的大小,有时会降低到8192字节。
udp协议使用报头中的校验值来保证数据的安全。
校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。
如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此udp协议可以检测是否出错。
这与tcp协议是不同的,后者要求必须具有校验值。
udpvs.tcp
udp和tcp协议的主要区别是两者在如何实现信息的可靠传递方面不同。
tcp协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。
与tcp不同,udp协议并不提供数据传送的保证机制。
如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。
因此,通常人们把udp协议称为不可靠的传输协议。
相对于tcp协议,udp协议的另外一个不同之处在于如何接收突法性的多个数据报。
不同于tcp,udp并不能确保数据的发送和接收顺序。
例如,一个位于客户端的应用程序向服务器发出了以下4个数据报
d1
d22
篇二:
udp协议及格式
udp协议及格式
20xx-07-3015:
12:
05|分类:
|标签:
|字号大中小订阅
udp协议简介
udp协议是英文userdatagramprotocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。
包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用udp协议。
udp协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即
使是在今天,udp仍然不失为一项非常实用和可行的网络传输层协议。
与我们所熟知的tcp(传输控制协议)协议一样,udp协议直接位于ip(网际协议)协议的顶层。
根据
osi(开放系统互连)参考模型,udp和tcp都属于传输层协议。
udp协议的主要作用是将网络数据流量压缩成数据报的形式。
一个典型的数据报就是一个二进制数据的传输单位。
每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。
udp报头
udp报头由4个域组成,其中每个域各占用2个字节,具体如下:
源端口号
目标端口号
数据报长度
校验值
udp协议使用端口号为不同的应用保留其各自的数据传输通道。
udp和tcp协议正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。
数据发送一方(可以是客户端或服务器端)将udp数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。
有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。
因为udp报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。
一般来说,大于49151的端口号都代表动态端口。
数据报的长度是指包括报头和数据部分在内的总的字节数。
因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。
数据报的最大长度根据操作环境的不同而各异。
从理论上说,包含报头在内的数据报的最大长度为65535字节。
不过,一些实际应用往往会限制数据报的大小,
有时会降低到8192字节。
udp协议使用报头中的校验值来保证数据的安全。
校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。
如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此udp协议可以检测是否出错。
这与tcp协
议是不同的,后者要求必须具有校验值。
udpvs.tcp
udp和tcp协议的主要区别是两者在如何实现信息的可靠传递方面不同。
tcp协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发送方只有在接收到
该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。
与tcp不同,udp协议并不提供数据传送的保证机制。
如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。
因此,通常人们把udp协议称为不可靠的传输协议。
udp协议的应用
也许有的读者会问,既然udp是一种不可靠的网络协议,那么还有什么使用价值或必要呢?
其实不然,在有些情况下udp协议可能会变得非常有用。
因为udp具有tcp所望尘莫及的速度优势。
虽然tcp协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影
响。
反观udp由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执
行时间,使速度得到了保证。
关于udp协议的最早规范是RFc768,1980年发布。
尽管时间已经很长,但是udp协议仍然继续在主流应用中发挥着作用。
包括视频电话会议系统在内的许多应用都证明了udp协议的存在价值。
因为相对于
可靠性来说,这些应用更加注重实际性能,
所以为了获得更好的使用效果(例如,更高的画面帧刷新速率)往往可以牺牲一定的可靠性(例如,会面质量)。
这就是udp和tcp两种协议的权衡之处。
根据不同的环境和特点,两种传输协议都将在今后的
网络世界中发挥更加重要的作用。
udp首部
端口号表示发送进程和接收进程,tpc端口号与udp端口号是相互独立的,但通常选择相同的端口
号
udp长度字段,udp首部和udp数据的字节长度,该字段的最小值是8字节
udp检验和,覆盖udp首部和udp数据,udp的检验和是可选的,其基本计算方法与ip首部检验和计算方法相类似,但udp数据报的长度可以为奇数字节。
udp数据报包含一个12字节长的伪首部,是为了计算检验和而设置的,伪首部包含ip首部一些字段,其目的是让udp两次检查数据是否已经正确
到达目的地
如果发送端没有计算检验和而接收端检测到检验和有差错,udp数据报被丢弃,不产生任何差错报
文
upd检验和是一个端到端的检验和,由发送端计算,由接收端验证,其目的是为了发现udp首部和
数据在发送端到接收端之间发生的任何改动
udp检验和选项在默认条件是打开的,如果发送端已经计算了检验和,那么接收端必须检验接收到
的检验和.
任何时候ip层接收到一份要发送的ip数据报时,它要判断向本地哪个接口发送数据(选路),并查
留询该接口获得其mtu。
ip把mtu与数据报长度进行比较,如果需要则进行分片
分片可以发生在原始发送端主机上,也可以发生在中间路由器上
把一份ip数据报分片以后,只有到达目的地才进行重装,重新组装由目的端的ip层来完成,其目的
是使分片和重新组装过程对运输层是透明的
ip首部,标识字段、片偏移字段、总长度
标志字段中有一个比特称作“不分片”位,如果将这一比特置1,ip将不对数据报进行分片,相反把数
据报丢度并发送一个icmp差错报文(“需要进行分片但设置了不分片比特”)给起始端
当ip数据报被分片后,每一片都成为一个分组,具有自己的ip首部,并在选择路由时与其他分组独
立
在分片时,除最后一片外,其他每一片中的数据部分必须是8字节的整数倍
ip数据报是指ip层端到端的传输单元,分组是指在ip层和链路层之间传送的数据单元
源抑制报文
源抑制报文(sourcequenchmessage)一般被接受设备用于帮助防止它们的缓存溢出。
接受设
备通过发送源抑制报文来请求源设备降低当前的数据发送速度
其具体过程为
首先,接收设备由于缓存溢出而开始丢弃数据,然后接收设备开始向源设备发送源抑制报文,其发送速度是每丢弃一个数据包就发送一个源抑制报文。
源设备接收到源抑制报文就开始降低它的数据发送速度,知道不再接受源抑制请求为止。
最后只要不再接受到作为接收方目的设备的源抑制请求,源设备
就会又逐渐开始增加其发送速度.
udp通常忽略其接收到的源站抑制报文,tcp接受源站抑制差错报文,并将放慢在该连接上的数据
传输速度
udp输出队列是FiFo
大多数udp服务器在创建udp端点时都使其本地ip地址具有通配符的特点,进入的udp数据报
如果其目的地为服务器端口,那么在任何本地接口均可接收到它
大多数系统允许udp端点对远端地址进行限制,端点将只能接收特定ip地址和端口号的udp数据
报
udp是一个简单协议,它向用户进程提供的服务位于ip层之上,包括端口号和可选的检验和
可以用udp来检验检验和,并观察分片是如何进行的
大多数aRp实现在等待aRp应答时只保留最近传送给目的端的数据报
当系统接收ip数据报的速率超过这些数据报被处理的速率时,系统可以发送icmp源站抑制差错报
文
篇三:
udp协议及分析
udp协议及分析
一、udp协议udp是userdatagramprotocol的简称,中文名是用户数据报协议,是osi(opensysteminterconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,ietFRFc768是udp的正式规范。
udp在ip报文的协议号是17。
udp协议的全称是用户数据报协议,在网络中它与tcp协议一样用于处理数据包,是一种无连接的协议。
在osi模型中,在第四层——传输层,处于ip协议的上一层。
udp有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
udp用来支持那些需要在计算机之间传输数据的网络应用。
包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用udp协议。
udp协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天udp仍然不失为一项非常实用和可行的网络传输层协议。
与所熟知的tcp(传输控制协议)协议一样,udp协议直接位于ip(网际协议)协议的顶层。
根据osi(开放系统互连)参考模型,
udp和tcp都属于传输层协议。
udp协议的主要作用是将网络数据流量压缩成数据包的形式。
一个典型的数据包就是一个二进制数据的传输单位。
每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。
二、udp协议的主要特点
(1)udp是无连接的,即发送数据之前不需要建立连接。
(2)udp使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。
(3)udp是面向报文的。
udp没有拥塞控制,很适合多媒体通信的要求。
(4)udp支持一对一、一对多、多对一和多对多的交互通信。
(5)udp的首部开销小,只有8个字节。
三、udp协议的使用
在选择使用协议的时候,选择udp必须要谨慎。
在网络质量令人十分不满意的环境下,udp协议数据包丢失会比较严重。
但是由于udp的特性:
它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用udp较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。
比
如我们聊天用的icq和qq就是使用的udp协议。
四、udp协议的报头
(1)面向报文的udp
发送方udp对应用程序交下来的报文,在添加首部后就向下交付ip层。
udp对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
应用层交给udp多长的报文,udp就照样发送,即一次发送一个报文。
接收方udp对ip层交上来的udp用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。
应用程序必须选择合适大小的报文。
(2)udp报文的组成
udp报头由4个域组成,其中每个域各占用2个字节,具体如下:
udp源端口号、目标端口号、数据报长度、校验值
udp协议使用端口号为不同的应用保留其各自的数据传输通道。
udp和tcp协议正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。
数据发送一方(可以是客户端或服务器端)将udp数据包通过源端口发送出去,而数据接收一方则通过目标端口接收数据。
有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。
因为udp报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。
一般来说,大于49151的端口号都代表动态端口。
数据报的长度是指包括报头和数据部分在内的总字节数。
因为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- udp 协议