网络通信 频道

网络红宝书:TCP/IP协议全解(下)

   2.用户数据报协议(UDP)
  UDP全称是User Datagram Protocol,中文名为用户数据报协议。UDP 提供无连接的网络服务,该服务对消息中传输的数据提供不可靠的、最大努力传送。这意味着它不保证数据报的到达,也不保证所传送数据包的顺序是否正确。UDP数据包的头部结构如图1-26所示。
 

 

源端口
目的端口
用户数据包的长度
校验和
数据

 图1-26  UDP数据包头部结构

  (1)源、目的端口:作用与TCP数据段中的端口号字段相同,用来标识源端和目标端的应用进程。
  (2)用户数据包的长度:标明UDP头部和UDP数据的总长度字节。
  (3)校验和:用来对UDP头部和UDP数据进行校验。
  

  提示:这里与TCP是不同的,对UDP来说,此字段是可选项,而TCP数据段中的校验和字段是必须有的。
  
  要使用UDP,应用程序必须提供源和目标应用程序的IP地址和UDP端口号。尽管某些UDP端口和TCP端口使用相同的编号,但这两种端口是截然不同且相互独立的。与TCP端口一样,1024以下的UDP端口号是由IANA分配的端口。表1-5列出了一些常用的UDP端口。
  
表1-5  UDP常见端口号

 

UDP端口号
   
53
DNS 名称查询
69
TFTP简单文件传输协议
137
NetBIOS 名称服务
138
NetBIOS 数据报服务
161
简单网络管理协议(SNMP)
520
路由信息协议(RIP)

 
  也许你会问:“既然UDP是一种不可靠的网络协议,那么还有什么使用价值或必要呢?”其实不然,在有些情况下UDP可能会变得非常有用。因为UDP具有TCP所望尘莫及的速度优势。虽然TCP中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大地降低了执行时间,使速度得到了保证。

1
相关文章