架构设计与重构计算机技术一锅炖

UDP概念

2016-04-12  本文已影响793人  践行者

UDP

1.什么是UDP

UDP是一种无连接的传输层协议,主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成,提供面向事务的简单不可靠信息传送服务。提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据,UDP传输的可靠性由应用层负责。正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如DNS、TFTP、SNMP等。


2.UDP功能

为了在给定的主机上能识别多个目的地址,同时允许多个应用程序在同一台主机上工作并能独立地进行数据包的发送和接收,设计用户数据报协议UDP。
使用UDP协议包括:TFTP、SNMP、NFS、DNS、BOOTP
  UDP使用底层的互联网协议来传送报文,同IP一样提供不可靠的无连接数据包传输服务。它不提供报文到达确认、排序、及流量控制等功能。
  在TCP/IP协议层次模型中,UDP位于IP层之上。应用程序访问UDP层然后使用IP层传送数据报。IP层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。


3.与TCP区别

1.UDP速度比TCP快

2.UDP有消息边界

3.UDP可以一对多传输

4.UDP可靠性不如TCP

5.UDP不能保证有序传输


4.UDP广播与多播

4.1 简介

使用UDP协议进行信息的传输之前不需要建议连接。换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的ip地址和端口号,然后将信息封装到一个待发送的报文中并且发送出去。至于服务器端是否存在,或者能否收到该报文,客户端根本不用管。
对于广播,网络中的所有主机都会接收一份数据副本。对于多播,消息只是发送到一个多播地址,网络知识将数据分发给哪些表示想要接收发送到该多播地址的数据的主机。总得来说,只有UDP套接字允许广播或多播。

4.2 广播

广播UDP与单播UDP的区别就是IP地址不同,广播使用广播地址<font color=#ff4500>255.255.255.255</font>,将消息发送到在同一广播网络上的每个主机。值得强调的是:<font color=#ff4500>本地广播信息是不会被路由器转发。
</font>其实广播本质,就是想局域网内所有的人说话,但是广播还是要指明接收者的端口号的,因为不可能接受者的所有端口都来收听广播

4.3多播

同样的UDP多播也要指明接受者的端口号,而且与广播相似的是多播与单播之间的区别还在于地址。ipv4中的多播地址范围是:224.0.0.0到239.255.255.255。在多播中设置了TTl值(Time to live),每一个ip数据报文中都包含一个TTL,每当有路由器转发该报文时,TTL减1,知道减为0时,生命周期结束,报文即时没有到达目的地,也立即宣布死亡。
基本步骤如下:
其步骤如下:

(1)建立一个socket。

(2)然后设置多播的参数,例如超时时间TTL、本地回环许可LOOP等。

(3)加入多播组。

(4)发送和接收数据。

(5)从多播组离开。

上一篇下一篇

猜你喜欢

热点阅读