4-3:TCP协议之UDP协议
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4-3:TCP协议之UDP协议相关的知识,希望对你有一定的参考价值。
一:UDP协议格式
- 16位UDP长度:指的是整个数据包(首部+数据)的最大长度
- 若校验和出错,则直接丢弃
二:UDP特点
无连接:知道对端的IP和端口号就可以直接传输,而无需建立连接
不可靠:没有确认机制,没有重传机制;如果因网络故障导致该段无法发到对方,UDP协议也不会给应用层返回任何错误信息
面向数据报:不能够灵活的控制读写数据的次数和数量,应用层交付给UDP不管多长的报文,UDP都会原样发送,不会拆分也不会合并
三:UDP的缓冲区
UDP没有真正意义上的缓冲区。调用sendto会直接交给内核,由内核将数据传给网络层协议进行后续的传输动作
UDP具有接受缓冲区,但是该缓冲区并不能保证收到的UDP报的顺序和发送的是一致的,如果缓冲区满了,后来的数据包将会被丢弃
四:基于UDP的应用层协议
- NFS:网络文件系统
- TFTP:简单文件传输协议
- DHCP:动态主机配置协议
- BOOTP:启动协议(用于无盘设备启动)
- DNS:域名解析协议
五:UDP在内核中的实现
UDP在内核中的实现也是一个结构体,使用到的就是C语言学习时学到的位段
struct udphdr {
__be16 source;//源
__be16 dest;//目的
__be16 len;//长度
__sum16 check;//校验和
};
以上是关于4-3:TCP协议之UDP协议的主要内容,如果未能解决你的问题,请参考以下文章