《UDP协议》PPT课件
1 0
1
2
17 UDP长度 2 检验和
2 长 度
UDP 用户数据报 发送在前 首 部
首 部
数
据
数 IP 数据报
据
计算 UDP 检验和的例子
12 字节 伪首部 10011001 00010011 → 00001000 01101000 → 153.19.8.104 10101011 00000011 → 171.3.14.11 00001110 00001011 → 全 0 17 15 00000000 00010001 → 1087 13 00000000 00001111 → 15 全0 数据 数据 数据 数据 00000100 00111111 → 00000000 00001101 → 数据 数据 数据 全 0 00000000 00001111 → 00000000 00000000 → 填充 01010100 01000101 → 01010011 01010100 → 01001001 01001110 → 01000111 00000000 → 153.19 8.104 171.3 14.11 0 和 17 15 1087 13 15 0(检验和) 数据 数据 数据 数据和 0(填充)
UDP 传送的协议数据单位是 UDP 报文或用户数
据报
TCP 与 UDP
UDP 在传送数据之前不需要先建立连接。对方的运输 层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种 最有效的工作方式。 TCP 则提供面向连接的服务。TCP 不提供广播或多播 服务。由于 TCP 要提供可靠的、面向连接的运输服务, 因此不可避免地增加了许多的开销。这不仅使协议数 据单元的首部增大很多,还要占用许多的处理机资源。
S N M P
R I P
21 传输层
25
53
69
UDP
161
520
端口号
使用TCP和 UDP协议的各种应用和应用层协议
应 用
名字转换 选路协议
应用层协议
DNS RIP
运输层协议
一般用UDP 一般用UDP
网络管理 网络文件服务
IP电话 流式多媒体通信 邮件传输 远程登陆 超文本传输 文件传输
SNMP NFS
专用协议 专用协议 SMTP TELNET HTTP FTP
一般用UDP 一般用UDP
一般用UDP 一般用UDP TCP TCP TCP TCP
同一个名词 socket有多种不同的意思
应用编程接口 API 称为 socket API,简称为 socket。 socket API 中使用的一个函数名也叫作socket。
IP地址+Port——套接字socket 一对套接字对应一对通信的进程
如:(138.3.1.6,1500)和221.2.3.1,25)
(144.43.4.1,1500)和(221.2.3.1,25)
常用的端口号
F T P T E L N E T
23 TCP
应用层
S M T P
D N S
T F T P
器发送的ICMP差错报文是新格式,包含出口的M T U,
那么就用该MTU值来发送,否则就用下一个最小的MTU 值来发送。MTU值的个数是有限的,因此在程序中构造 一些由近似值构成的表,取下一个最小MTU值来发送。
最大UDP数据报长度
理论上,I P数据报的最大长度是6 5 5 3 5字节, 这是由I P首部1 6比特总长度字段所限制的。
中的 D F位又为1,则发生I C M P不可达差错。
不能分片时的ICMP不可达差错报文格式
用Traceroute确定路径MTU
尽管大多数的系统不支持路径MTU发现功能,但可以修
改Traceroute程序,用它来确定路径MTU。
具体做法:发送分组,并设置“不分片”标志位。发送的 第一个分组的长度正好与出口M T U相等,每次收到 ICMP“不能分片”差错时就减小分组的长度。如果路由
8 字节 UDP 首部
7 字节 数据
二进制求和 10010110 11101101 → 求和得出的结果 求反码 01101001 00010010 → 检验和
注:
U D P的检验和是可选的,而T C P的检验和是必需的。 如果传送的检验和为0,说明发送端没有计算检验和。
如果发送端没有计算检验和而接收端检测到检验和有差
运输层采取的技术措施
复用/解复用
目的:当网络层服务质量(吞吐量、传输延迟等)较好,而运输层用 户要求不高时,可通过复用在满足运输用户要求的前提下降低费用。 定义:复用/解复用是指在一个网络连接上支持多个运输层连接。 分流/合流 目的:当网络层服务质量(吞吐量、传输延迟等)较差,而运输层用
发送数据之前不需要建立连接 UDP 的主机不需要维持复杂的连接状态表 UDP 用户数据报只有8个字节的首部开销 网络出现的拥塞不会使源主机的发送速率降低,这对某些实时应用是 很重要的。
端口是用报文队列来实现
应 用 层 出队列 运 输 层 TFTP 客户
TFTP 服务器
入队列
出队列
户要求较高时,可通过分流满足运输用户的要求(提高吞吐量,减
少传输延迟)。
定义:分流/合流是指把一个运输连接上传送的会话数据映射到多 个网络连接上传送,各网络连接可相互独立地并行传送。
运输服务原语
三个阶段
连接建立 数据传送
连接释放
4 种服务 TC 建立 正常数据传送 加速数据传送 TC 释放
第七章
用户数据报协议UDP RFC768
TCP/IP详解卷1:CH11、CH12、CH13
主要内容
7.1 7.2 7.3 7.3
运输层协议概述 用户数据报协议UDP 广播和多播 IGMP协议
课下作业
7.1 运输层协议概述
从通信和信息处理的角度看,运输层向它上面 的应用层提供通信服务,它属于面向通信部分 的最高层,同时也是用户功能中的最低层。
错,那么U D P数据报就要被悄悄地丢弃,不产生任何 差错报文。 U D P检验和选项在默认条件下是打开的 尽管U D P检验和是可选的,但是它们应该总是在用。
U D P数据报的长度在检验和计算过程中出现两次。
检测到不同检验和差错的分组统计结果
IP分片
把一份I P数据报分片以后,只有到达目的地才进行重新
12 种原语 TC 建立(4 种) 正常数据传送(4 种) 加速数据传送(2 种) TC 释放(2 种)
用户数据运输服务原语时序
连接建立阶段(3 种可能) 成功建立连接、被叫用户拒绝、TS 提供者拒绝;
数据传送阶段(2 种可能)
正常数据传送、加速数据传送; 连接释放阶段(4 种可能) 一个用户发起的释放、两个用户同时发起的释放、TS 提供 者发起的释放、TS 用户和提供者同时发起的释放;
连接释放失败概率
网络服务分类
A 型网络服务
可接受的残留差错率、可接受的可报告差错率;
B 型网络服务 可接受的残留差错率、不可接受的可报告差错率;需要运 输实体进行差错恢复;
C 型网络服务
不可接受的残留差错率、不可接受的可报告差错率;需要
运输实体进行差错检测和差错恢复;
运输层定义了5 个运输协议类
调用 socket 函数的端点称为 socket。
调用 socket函数时其返回值称为 socket描述符,可简 称为 socket。 在操作系统内核中连网协议的 Berkeley 实现,称为 socket 实现。
7.2 用户数据报协议 UDP
UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口 的功能和差错检测的功能。 U D P不提供可靠性:它把应用程序封装后传给I P层,被IP层封 装后发送出去,但是并不保证它们能到达目的地。 但 UDP 在某些方面有其特殊的优点:
端 口
端口就是运输层服务访问点 TSAP 端口是用来标志应用层的进程 由ICANN负责分配 端口用一个 16 bit 端口号进行标志 端口号只具有本地意义
端口在进程之间的通信中所起的作用
发送方 应用进程 应 用 层 运 输 层
接收方
应用进程
端口 TCP 复用 TCP 报文段 UDP 复用 UDP 用户数据报 IP 复用
TCP/IP 体系中的运输层协议
应用层
运输层
UDP IP
TCP
与各种网络接口
TCP 与 UDP
两个对等运输实体在通信时传送的数据单位叫作
运输协议数据单元 TPDU (Transport Protocol
Data Unit)
TCP 传送的协议数据单位是 TCP 报文段
(segment)
运输层还要对收到的报文进行差错检测
运输层需要有两种不同的运输协议,即面向连
接的 TCP 和无连接的 UDP。
运输层与其上下层之间的关系
主机 A 运输服务用户 (应用层实体) 运输层服务访问点 TSAP 运输实体 应用层 主机 B 运输服务用户 (应用层实体) 层接口 运输协议
运输实体
运输层 层接口
网络层服务访问点 NSAP
网络层 (或网际层)
运输层向上提供可靠的和不可靠的逻辑通信信道
发 送 进 程
应 用 层
数据