用户数据报协议UDP
来源:互联网 发布:斯凯网络 编辑:程序博客网 时间:2024/04/27 00:46
UserDatagram protocol 用户数据报 ,基于UDP的应用有很多,动态主机配置协议DHCP,域名系统DNS,简单网络管理协议SNMP
传输层 位于应用层和IP层之间
三个要求:
。提供比IP层质量更加高的服务
。识别应用层进程的机制,IP的范围是在整个网络中标志到某台计算机,无法提供该主机内应用的进程识别
。针对不同尺寸的应用层数据进行适当处理,对大数据进行划分,小数据进行整合
TCP/IP协议族提供了两个传输层协议 TCP UDP
考虑这样一个问题,当IP数据报被投递到“目的IP地址”所标识的设备后,必须使用适当的方案来标识数据传输的最终目的地,一个高级应用会有一个或多个进程,进程是系统调度的基本单位,每个进程有唯一的ID来标识,
理论上这里就可以直接采用进程当成数据的最终目的地,但是考虑这样的问题,进程都是动态的,每次主机关机,所有的进程都会发生改变,发送者无法得知接收方每个进程的状态,这时候如果发送方和接受方进行通话的话可以调剂下信息,但是考虑这样一种更为理想的方式,
来考虑特定的窗口就只处理特定的业务,TCP/IP将协议窗口作为应用层与传输层的接口,“端口号”是数据投递的最终目的地,端口号是一个2字节的整数,范围为0~65535,(这么大够用了),这就引出了通信的五元组
-------------------------------------------《源IP地址 源端口号 协议 目的IP地址 目的端口号》===========================
TCP/UDP 端口号是独立的,TCP用的4000仍可以分配给UDP
基于UDP DNS 53 SNMP 161
端口号是一个伟大的发明,很神奇的解决了应用标识的问题,端口号是一个抽象的访问点,和物理端口需要区分开来
UDP概述
UDP提供了应用程序之间传输数据的基本机制,同IP一样,UDP提供了不可靠的,无连接的数据交付服务,可靠性保障和通信效率的代价
udp报文
16比特的两个端口号,报文长度为头部加上数据的长度,最小为8字节(数数头部的大小)
校验和为可选的,该字段为0时,说明未进行校验,校验和字段提供了唯一保证UDP报文无差错的途径(IP对数据报中的数据部分并不计算校验和)
报文封装
上层应用数据——》UDP(添加UDP首部—》用户数据报)——》IP(用户数据报(添加头部)—》IP数据报)——》物理帧(网络接口层)——》比特流在网络中传递
(只有IP层的首部指明了源主机和目的主机的地址,只有UDP层指明了主机上的源端口和目的端口)
理论上,IP数据报的最大长度为65535字节,(16比特的报文长度,不能再大了),减点20字节的IP头部8字节的UDP头部,65507字节是UDP
绝大多数是现代的长度比这个最大值小,
协议标准只是给出了一个是现代的指导,在实际实现时可能存在差异
UDP校验和
udp校验和的范围包括udp头部还有数据区,这样只能保证目的端口地址正确,但是从通信五元的角度看,正确的目的地应该包括目的端口还有主机地址,问题来了,udp数据报并没有涉及到源和目的IP地址,那么为了解决这个问题就必须想方设法得到,这里引入一个12字节的伪首部,
udp伪首部逻辑上是udp首部的一部分,但实际上并不传递
源IP地址和目的IP地址对应的是发送UDP报文的IP
协议字段指明所使用的协议,UDP对应17
UDP长度 字段指明UDP数据报的长度(不包括伪首部)
为计算校验和,UDP层必须与IP层交互获取IP地址信息,利用这些信息生成伪首部
伪首部被附加在UDP报文首部和数据区之前。
UDP-Lite
对校验和字段的使用,UDP给出了两种方案,使用校验和或不使用校验和,如果使用,如果接受方检验校验和字段时发现错误,则整个用户数据报被丢弃。但是有些场景下并没与这么严格的要求,为此,2004/7,IETF推出了UDP-Lite(LightweightUser Datagram Protocol 轻量级用户数据报协议),敏感区和非敏感区两个区域,丢弃与否可以选择了。
区别,报文长度 -》 校验和覆盖 //IP数据报总长度减去首部长度即可获得UDP报文长度
“校验与覆盖”,体现UDP-Lite核心思想所在,从报文的第一个字节开始计算校验和时输入的字节数,“0表示所有的报文都被覆盖” “UDP首部必须被校验和覆盖”,——?这个字段的额取值必须为0或大于等于8的整数,1-7的数字是违法的,(明显嘛,必须覆盖8字节的首部)
服务器,一台主机可以运行多个服务器程序,多个主机可以运行一个服务器程序
- UDP用户数据报协议
- UDP 用户数据报协议
- UDP:用户数据报协议
- UDP:用户数据报协议
- UDP -- 用户数据报协议
- 用户数据报协议 UDP
- UDP用户数据报协议
- UDP:用户数据报协议
- 用户数据报协议UDP
- 用户数据报协议UDP
- 用户数据报协议UDP
- UDP:用户数据报协议
- 用户数据报协议UDP
- 用户数据报协议(UDP) (转)
- 第十四章:用户数据报协议(UDP)
- (11)UDP:用户数据报协议
- 第十一章 UDP:用户数据报协议
- 第六章 用户数据报协议udp
- Number Complement
- VR系列——Oculus Rift 开发者指南:八、性能平视显示器及Oculus调试工具
- MyEclipse的安装教程
- 关于Java中进程与线程的初步认识与掌握
- Eclipse中修改android包名的步骤
- 用户数据报协议UDP
- 【Sicily】1004. 无环图
- 使用Gradle构建SpringBoot工程系列:第六篇:SpringBoot 替换Tomcat为Jetty或UnderTow
- LeeCode Longest Substring Without Repeating Characters
- Javascript读书笔记(一)
- VBA复制粘贴自动筛选后的内容
- 查看进程与端口号之间的关联
- CentOS 安装
- SVN 版本控制器的使用