Study-Hard-传输层协议UDP-简析(不断更新)

来源:互联网 发布:淘宝店怎样才能赚钱 编辑:程序博客网 时间:2024/05/21 13:45

        UDP是一个简单的面向数据报的传输层协议:app的每个输出操作都可以产生一个UDP数据报,并组装成一份待发送的IP数据报。

        同时,UDP是不可靠的,它将数据通过网际层的IP协议发送数去,但并不保证它们能到达目的地。那么我们需要考虑Q1:什么场景下,我们需要使用UDP协议?

        另一方面,则是如果数据报超过的网络中允许的最大值,将进行切片,这个切片称之为IP切片。

        下面,看下UDP的Header中究竟包含了什么:


         通过UDP的Header,可以看出,端口号表示发送进程与接收进程。这里注意下,UDP只包含了Port的地址,IP地址是在IP层加上去的,并由IP层将IP数据报进行分发。

        UDP Header中的长度字段,指的是UDPHeader与Data的和,最小为8byte(仅Header)。

        下面简单回答一些关于UDP的问题:

Q1:UDP协议使用在什么场景之下?

A1:流媒体、即时多媒体游戏等就有UDP的典型应用。并且在诸如域名系统(DNS)也使用了UDP协议。


Q2:UDP数据报过长后的IP切片?

A2:引起对数据报切片的原因是,物理层的限制,那么真实的发送步骤是:

a.IP层接收到数据报

b.判断从本地哪个端口发送(选路)

c.查看该端口的MTU(Maximum Transmission Unit,最大传输单元),如果数据报大于MTU,则进行分割。

d.分片的发生地点:发送端或路由器

这样,数据报就被切片啦,那么分片后的一个关键问题就是重组啦,重组的关键在IP头中,会在介绍IP协议的时候进行介绍。


Q3:UDP是非可靠的,如果需要保证UDP的可靠性如何做?

A3:如果需要,则需要在应用层进行实现。



原创粉丝点击