JavaEE-网络原理之UDP协议

UDP报文结构

在这里插入图片描述

报头大小为8个字节.

16位源端口号与16位目的端口号:
16个比特位可表示65536个端口号,分别为0-65535,其中1-1023为为专属端口号,用来为一些知名服务器提供服务,例如:

HTTP服务器专属端口号80
FTP 文件传输协议的端口号为21

16位长度:
表示 UDP 数据报长度,包含 UDP 报文头和 UDP 数据长度。因为 UDP 报文头长度是 8 个字节,所以这个值最小为 8.
UDP报文最大长度约为64KB.
16位校验和:
通过一定数学公式以数据内容做为参数来进行计算得到一个结果称为校验和.

由于网络传输并非那么稳定(可能受外部环境干扰),所以这时候就使用校验和来检验数据传输是否正确,如果校验和错误,则表明数据传输错误,如果校验和正确并不能证明传输的数据就一定正确(属于是检错,不检对).

UDP的特点

无连接

知道对方端口号与ip地址就可以直接进行发送数据,不需要建立连接.

不可靠

没有安全机制,只管发送数据报,至于接受方是否收到,是不知道的也不会进行重传.

面向数据报

应用层给UDP多长的报文,UDP原样发送,既不会拆分,也不会合并.

缓冲区

UDP只有接收缓冲区,没有发送缓冲区.

通俗一点就是说udp发送的数据不会等待,直接提交给系统内核,由内核进行处理,而接收缓冲区是将接受来的数据放入缓冲区,由socket对象进行读取,需要注意的是UDP接收缓冲区接收的数据顺序,不一定与发送的数据顺序一样,接受缓冲区满后再到达的数据会丢失.

基于UDP的应用层协议

NFS:网络文件系统
TFTP:简单文件传输协议
DHCP:动态主机配置协议
BOOTP:启动协议(用于无盘设备启动)
DNS:域名解析协议

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手插口袋谁也不爱♡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值