这节课我们来学习一下UDP协议。
那在上节课呢我们学了这样一个打油诗。
啊,就是传输层有两个好兄弟,大哥TCP和二弟UDP。大哥很靠谱,二弟不靠谱。那只要说到UDP协议我们就要知道它的一个重要的特点,就是它不建立连接,也就是无连接,也是不可靠的一种服务。
那这个用户数据报协议UDP呢只是在IP数据报的服务基础之上增加了一点点的功能,也就是复用分用以及差错检测,这两个非常基础的功能。那UDP的主要特点呢我们就总结一下,因为上节课都已经学过了。首先第一个就是无连接的。那这种无连接的服务呢就可以减少一定时延和开销,就没有建立连接、维护连接以及释放连接这样一个过程,所以这个时延是比较小的。那第二个呢就是UDP使用最大努力交付,也就是不保证可靠交付,就是一种不可靠的交付。那我们现在看到网络层啊是不可靠的交付,尽最大努力交付。那传输层如果使用UDP协议的话,也不会保证可靠交付。那可靠交付由谁来保证呢?应该就是由传输层的上一层,也就是由应用层来保证这个可靠以及顺序的交付。第三点呢就是UDP是面向报文的,它呢适合一次性传输少量数据的网络应用。
那什么是面向报文呢?我们来结合这个封装的例子来看一下。首先呢一个应用层的应用程序会产生应用层的报文,