一、UDP协议是什么?
UDP是User Daragram Protocol的简称,中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
##############################
IP:点到点(相邻机器;跨越网络)
传输层:端到端(信源和信宿;End-to-End)
服务:网络中各层向紧邻上层提供的一组操作,是相邻两层的界面。下层是服务提供者,上层是服务用户。
服务质量:N层总要向N+1层提供N-1层更完善、更高质量的服务。
##############################
二、UDP详解
1.UDP的特点
无连接、不可靠、传输效率高、适用于传输量比较少的情况;
校验和覆盖:从报文首部的第一个字节开始计算校验和字节数;
‘0’:整个报文都被覆盖;
规定首部必须被覆盖。
4.UDP校验和的计算和伪首部
校验的内容:首部+数据区,包括源、目标IP
计算校验和的过程:
使用伪首部,但是不发送伪首部。
5.UDP-Lite
思想:增加校验和字段使用的灵活性;
方法:数据=敏感+非敏感两个区域;
敏感区域:计算校验和的区域,当这个区域的数据发生差错时,报文将被丢弃。
非敏感区域:不校验数据的区域。即便这个区域的数据发生差错,报文也不会被丢弃。
6.UDP端口
实质:是一个可读可写的软件结构,内部有一个接收报文缓冲区。每个端口以一个16bit整数标识。
如何获取端口号:
源端口:任意
目标端口:
1)集中式统一指派
2)动态指派
常用的几个端口:53(DNS)、88(Kerberos)、161(SNMP)
7.最大UDP数据报文长度
理论上:65536-20-8=65507
实际发现:例子(最大IP数据包长度):
SunOS4.1.3环回测试:32767
BSD/386 ->SunOS4.1.3:32786
Solaris2.2环回测试:65507
结论:最大报文长度与源端和目标的端实现有关。
三、传输层
1.传输层的作用
承上启下,“加强”和“弥补”通信子网服务。
加强:对QoS而言,指提高服务的可靠性。弥补:对服务类型要提供端到端进程通信。
特色:提高可靠性。
2.两类传输协议 TCP&UDP
3.端口和端口号
传输层要提供端到端的进程通信,但是
1)不能把进程作为通信的最终目的地
进程是动态的;进程可能改变;发送方通常不知道与哪个进程打交道
2)用协议的端口作为最终目的地
5.通信的五元素
目的IP地址;目的端口;源IP地址;源端口号;协议
标签:协议,UDP,首部,报文,端口,校验,传输层 来源: https://www.cnblogs.com/HuiH/p/11747785.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。