网络原理——UDP协议

目录

UDP概述

UDP的主要特点

1.无连接

2.不可靠

3.面向数据报

4.缓冲区

5.大小受限

UDP首部格式

UDP工作流程

基于UDP的应用层协议


UDP概述

UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

UDP的主要特点

1.无连接

        发送数据时不需要建立连接,只需要知道对方的IP和端口号就可以发送数据,减少了开销和发送数据前的时延

2.不可靠

        UDP协议并不提供数据传送的保证机制。如果在从发送方到接收方的传递过程中出现数据包的丢失,协议本身并不能做出任何检测或提示。网络层本身是不可靠的,UDP有没有做过任何的处理,所以UDP是不可靠的

3.面向数据报

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

4.缓冲区

        UDP没有发送缓冲区,有接收缓冲区。

5.大小受限

        UDP协议首部中有一个16位的最大长度。也就是说一个UDP能传输的数据最大长度是64K(包含UDP首部)。

UDP首部格式

网络原理——UDP协议_第1张图片

 

UDP长度:数据报的长度是指包括报头和数据部分在内的总字节数。因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分。

校验和:检测 UDP 用户数据报在传输中是否有错。有错就丢弃。

UDP工作流程

发送

        1.从应用层取到数据

        2.准备报头部分:源端口号 ,目标端口,UDP长度,检验和

        3. 数据交给网络层发送

        4.网络层发送成功之后,通知应用层发送成功

UDP接收

        1.数据存放在内核缓冲区里

        2.解包:header部分定长,拆分为header部分和payload部分

        3.读取header部分四个字段:源端口,目标端口,长度,校验和

        4.检查长度和校验和是否正确,不正确直接扔掉

        5.payload放到接收缓冲区中,根据端口号通知应用层来接收

        6.长时间未接受,直接扔掉

基于UDP的应用层协议

        NFS:网络文件系统

        TFTP:简单文件传输协议

        DHCP:动态主机配置协议

        BOOTP:启动协议(用于无盘协议启动)

        DNS:域名解析协议

 

你可能感兴趣的:(udp,网络,网络协议)