计算机用户数据协议,计算机网络基础课程—用户数据报协议(User Datagram Protocol)...

用户数据报协议(User Datagram Protocol)

当前大多数操作系统都是支持多进程的,即每一台主机上可以同时运行多个进程或应用程序。每一台主机中的每一个进程都可以与另一台主机中的另一个进程通信。

但在IP协议层,每一个目标IP地址标识一台主机,没有更多的信息可以用来区分数据报应该交给那一个进程或应用程序。

一种很自然的方案是基于在IP包中指定目的IP地址的基础上,进一步指定具体的进程作为报文传送的最终目的。但是把具体的进程指定为报文传送的最终目的有如下问题:

–进程是动态创建和销毁的,发送端几乎不可能辨识接收端机器中的具体的进程。

–如果以进程为最终目的,那么进程的替换都需要通知其他主机。

目前的方案是:按功能(服务)分类,为每类功能提供一个协议“端口”作为最终的报文接收端。

–协议端口是逻辑意义上的,用一些正整数标识

–一台主机可以设置多个多个端口,也即意味着同一主机可运行多种服务。

–基于操作系统的支持,多个端口可并行访问,即多种服务可同时运行。

–基于操作系统的支持,端口提供数据缓存,则端口可同步进程访问。即:一方面,如果数据达到端口,而相应进程未启动,数据可先缓存,等待进程启动;另一方面,若某进程需要读取某端口的数据,而数据尚未到达,则操作系统可先中断进程,等待数据达到后,把数据发送到相应进程并重新启动改进程。

UDP是一个简单的面向数据报的运输层的协议,它提供协议端口,使得应用进程能够向其他进程发送数据报,进行进程间的数据通信。

UDP数据报是无连接、不可靠的。不提供确认、消息反馈控制,与IP数据报相同。可靠性要需要由应用程序本身提供。

UDP规范(RFC-768,1980)。

UDP利用IP进行主机到主机的数据报传输。

UDP数据封装:

UDP报头:

f55c4aad23e0255044d4e2bd07fd1fc1.png

源端口可选,若无,则必须全为零。

报文长度以8位组计算,包括UDP报头和数据,最小值为8,即仅有报头。

检校和也是可选的,但是应该使用,因为这是UDP中唯一提供差错控制的地方。若无,则全为零。

端口号的指定有两种方式:

–众所周知的端口号,由授权组织统一为指定一些端口号列表.

–由软件动态绑定

目前,较小的端口号多指定给一些众所周知的服务,较大的留给应用程序使用.

下表为一些众所周知的端口号指定:

d3287494dce136cf475ecab0f6ed0660.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值