《Wireshark数据包分析实战(第2版)》—第6章6.4节用户数据报协议

  1. 云栖社区>
  2. 博客>
  3. 正文

《Wireshark数据包分析实战(第2版)》—第6章6.4节用户数据报协议

异步社区 2017-05-02 15:57:00 浏览713
展开阅读全文

本节书摘来自异步社区《Wireshark数据包分析实战(第2版)》一书中的第6章6.4节,作者【美】Chris Sanders,更多章节内容可以访问云栖社区“异步社区”公众号查看。

6.4 用户数据报协议
用户数据报协议(User Datagram Protocol, UDP)是在现代网络中最常使用的另外一种第4层协议。如果说TCP是为了满足带有内在错误检测的可靠数据传输,那么UDP主要是为了提供高速的传输。出于这个原因,UDP是一种尽力服务,通常会被称为无连接协议。一个无连接协议并不会正式地建立和结束主机之间的连接,也不会像TCP那样存在握手和终止过程。

无连接协议意味着不可靠服务,这将使得UDP流量一点都不稳定。事实上正是如此,但依赖于UDP的协议通常都会有其内置的可靠性服务,或者使用ICMP的一些功能来保证连接更可靠一些。举例来说,应用层协议DNS和DHCP需要高度依赖数据包在网络上传输的速度,其使用UDP作为它们的传输层协议,但是它们自己进行错误检查以及重传计时。

6.4.1 UDP头
UDP头比TCP头要小得多,也简单得多。如图6-27所示,以下是UDP头的域。


50018e35443061900de2db9479e3057d7582e801

源端口:用来传输数据包的端口。

目标端口:数据包将要被传输到的端口。

数据包长度:数据包的字节长度。

校验和:用来确保UDP头和数据到达时的完整性。

文件udp_dnsrequest.pcap中包含有一个数据包,这个数据包是一个使用UDP的DNS请求。当你展开这个数据包的UDP头时,你可以看到4个域(如图6-28所示)。


fb2d7069b5d37e49af900154eb60d05240317046

需要记住的是,UDP并不关心传输的可靠性,所以任何使用UDP的应用在必要的时候都需要采取特殊的步骤,以保证可靠的传输。

网友评论

登录后评论
0/500
评论
异步社区
+ 关注