5.2 计算机网络之传输层UDP协议
文章目录
- 1.用户数据报协议UDP概述及特点优势
- 2.UDP首部格式
- 3.当传输层从IP层收到UDP数据报时
- 4.UDP校验
1.用户数据报协议UDP概述及特点优势
为什么应用开发人员宁愿在UDP之上构建应用,也不选择TCP?既然TCP提供可靠的服务,而UDP不提供,那么TCP总是首选吗?答案是否定的,因为有很多应用更适合用UDP,主要是因为UDP具有如下优点:
1)UDP无须建立连接。
- UDP不会引入建立连接的时延。
- 试想如果DNS运行在TCP而非UDP.上,那么DNS的
速度
会慢很多。 - HTTP使用TCP而非UDP,是因为对于基于文本数据的Web网页来说,
可靠性
是至关重要的。
2)无连接状态。
- TCP需要在端系统中维护连接状态。此连接状态包括接收和发送缓存、拥塞控制参数和序号与确认号的参数。
- 而UDP不维护连接状态,也不跟踪这些参数。
- 因此,
某些专用应用服务器使用UDP
时,一般都能支持更多的活动客户机
。
3)分组首部开销小。
TCP
有20B
的首部
开销,而UDP
仅有8B
的开销。
4)应用层能更好地控制要发送的数据和发送时间。
- UDP没有拥塞控制,因此网络中的拥塞
不会影响主机的发送效率
。 某些实时应用要求以稳定的速度发送
,能容忍一些数据的丢失,但不允许有较大的时延
,而UDP正好满足这些应用的需求。
5)UDP常用于一次性传输较少数据的网络应用
- 如DNS、SNMP等,因为对于这些应用,若采用TCP,则将为连接创建、维护和拆除带来不小的开销。
- UDP也常用于多媒体应用(如IP电话、实时视频会议、流媒体等),显然,可靠数据传输对这些应用来说并不是最重要的,但TCP的拥塞控制会导致数据出现较大的延迟,这是它们不可容忍的。
6)UDP提供尽最大努力的交付,即不保证可靠交付
- 但这并不意味着应用对数据的要求是不可靠的,因此所有维护传输可靠性的工作需要用户在应用层来完成。
应用实体可以根据应用的需求来灵活设计自己的可靠性机制
。
7)UDP是面向报文的。
- 发送方UDP对
应用层交下来的报文
,在添加首部后就向下交付给IP层,
既不合并,也不拆分
,而是保留这些报文的边界; - 接收方UDP对IP层交上来UDP用户数据报,在去除首部后就原封不动地交付给上层应用进程,一次交付一个完整的报文。
- 因此
报文不可分割,是UDP数据报处理的最小单位
。
2.UDP首部格式
各字段意义如下:
- 1)源端口。源端口号。在需要对方回信时选用,不需要时可用全0。
- 2)目的端口。目的端口号。这在终点交付报文时必须使用到。
- 3)长度。UDP数据报的长度(包括首部和数据),其最小值是8 (仅有首部)。
- 4)校验和。检测UDP数据报在传输中是否有错。有错就丢弃。该字段是可选的,当源主机不想计算校验和时,则直接令该字段为全0。
3.当传输层从IP层收到UDP数据报时
根据首部中的目的端口,把UDP数据报通过相应的端口.上交给应用进程
如果接收方UDP发现收到的报文中的目的端口号不正确(即不存在对应于端口号的应用进程),那么就丢弃该报文,并由ICMP发送“端口不可达”差错报文给发送方
。
4.UDP校验
- 伪首部和全0字节是不发送的,仅供校验使用
5.2 计算机网络之传输层UDP协议相关推荐
- 计算机网络传输层UDP协议--龙之介计算机网络学习(3)
概述: 其实计算机网络主要聊的就是因特网五层协议栈的那几种协议,通过对各个协议的构成,了解一个数据包(报文)是如何从网络中完成传输的作用. 这是一个系列的,主要用于自己复习计网. 计算机网络应用层–龙 ...
- 计算机网络概述---传输层 UDP和TCP
传输层的功能 传输层为应用进程间提供端到端的逻辑通信(网络层是提供主机之间的逻辑通信), 传输层两大重要的功能:复用 和 分用. 复用:在发送端,多个应用进程公用一个传输层: 分用:在接收端,传输层会 ...
- 网络 传输层 | UDP协议与TCP协议详解(三次握手及四次挥手、滑动窗口、拥塞控制)
概念 传输层:是负责应用程序之间的数据传输(通过端口的描述,描述了哪两个进程间的通信):传输层的两个主要协议:UDP 和 TCP UDP协议 UDP协议全称:用户数据报协议(User Dategram ...
- 前端网络基础-传输层UDP协议
UDP(User Dategram Protocol)即用户数据报协议 它也是传输层协议. 我们需要知道数据分为重要数据和不重要数据,比如你发了一封邮件,下载文件,这些都是重要数据,少了一点,可能文件 ...
- 【TCP/IP网络协议】(五)传输层UDP协议
文章目录 传输层协议 一.端口 二.UDP概述 三.UDP报文 四.程序测试 传输层协议 从之前介绍的网络层协议来看,通信的两端是两台主机,IP数据报首部就标明了这两台主机的IP地址,但是从传输层来看 ...
- 传输层——UDP协议
文章目录 传输层 再谈端口号 端口号划分 认识及查看知名端口号 linux下网络命令 **netstat(查看当前主机的连接情况,高频重要)** pidof(查看服务器的进程id) UDP协议 UDP ...
- [转](传输层)UDP协议
目录 数据单位 特点 具体实现 要求 UDP首部格式 发送UDP请求的客户端图释 数据单位 UDP 传送的数据单位协议是 UDP 报文或用户数据报 特点 UDP 是无连接的,即发送数据之前不需要建立连 ...
- 计算机网络 --- 传输层UDP协议
UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能. UDP的主要特点 UDP是无连接的,减少开销和发送数据之前的时延. UDP使用最大努力交付,即不保证可靠交付. UDP是面向报文 ...
- 【计算机网络】传输层 : TCP 协议 ( TCP 协议特点 | TCP 报文段首部格式 | TCP 报文段控制位 )
文章目录 一.TCP 协议 特点 二.TCP 报文段首部格式 三.TCP 报文段首部 666 控制位 一.TCP 协议 特点 TCP 协议 特点 : ① 面向连接 : TCP 协议的连接是 " ...
最新文章
- 分享一个轻型ORM--Dapper选用理由
- linux 下安装node 环境
- JEECG_3.7 权限开发讲解-张代浩-专题视频课程
- ModelCoder状态机中的State逻辑
- 半夜“逃离上海”?阿里副总裁贾扬清回应:正常差旅回去看病 请不要误解
- 记dropbox与git不和谐的一个问题
- mysql 事务操作详细实例介绍
- 一加6体验深度测评:一款性价比极高的旗舰
- 光绪变法为什么没成功
- Maven-Eclipse使用maven创建HelloWorld Java项目
- logstash zip linux安装,centos7.4安装测试logstash6.5.0
- 实对称矩阵的特征值求法_旋转之三 - 旋转矩阵
- 超简单版Python打包exe文件,并修改图标,这将是你见过最容易上手的教程~
- matlab中whos怎么用,【安富莱DSP教程】第3章 Matlab 简易使用(一)
- 计算机知识的研修总结,计算机信息技术学习研修总结
- Redis RDB和AOF
- linux 强制类型转换,C++ 新标准下的强制类型转换详解
- 首批通过!百度智能云曦灵平台获信通院数字人能力评测权威认证
- java replica set_K8s 的ReplicaController ReplicaSet DaemonSet和Job
- 蓝牙麦克风 android,带有蓝牙麦克风的Android语音识别器