传输层概述可靠传输原理PPT课件.ppt_第1页
传输层概述可靠传输原理PPT课件.ppt_第2页
传输层概述可靠传输原理PPT课件.ppt_第3页
传输层概述可靠传输原理PPT课件.ppt_第4页
传输层概述可靠传输原理PPT课件.ppt_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12讲传输层概述 UDP 可靠传输原理 第5章传输层 第1讲 上讲小结 快速提问1 上讲的重点是什么 ICMP的作用IGMP协议的作用什么是VPN 上章要点复习 快速提问2 IP层转发分组的流程什么是直接交付 什么是间接交付 IP包如何分片 如何划分子网无分类编址CIDR的表示什么是路由 选择 协议RIP OSPF BGP交换路由信息的三个要点ICMP的作用IGMP协议的作用什么是VPN 本章特点 内容特点是课程重点本章重点 传输层的作用和重要性连续ARQ 差错控制 原理流量控制拥塞控制TCP协议 含上述重点的实现 难点 窗口技术 拥塞控制 本章教材目录 5 1传输层协议概述5 2用户数据报协议UDP5 3传输控制协议TCP概述5 4可靠传输的工作原理5 5TCP报文段的首部格式5 6TCP可靠传输的实现5 7TCP的流量控制5 8TCP的拥塞控制5 9TCP的传输连接管理 本讲内容及其安排 1 传输层协议概述 5 1 1 1传输层的主要功能进程之间的通信 5 1 1 可靠通信的实现1 2TCP IP的传输层的两个主要协议 5 1 2 1 3传输层的端口 5 1 3 2 用户数据报协议UDP 5 2 2 1UDP概述 5 2 1 2 2UDP的首部格式 5 2 2 2 3UDP基于端口的分用 本讲内容及其安排 续 3 可靠传输的工作原理 5 4 p189 3 1可靠通信的概念3 2停止等待协议 5 4 1 p189 3 2 1假设不会出错 流量控制 3 2 2 假设不会丢失报文3 2 3考虑会丢失报文3 2 4解决重复报文的问题 编号3 2 5停等协议的信道利用率3 3连续ARQ协议 5 4 2 3 3 1基本概念3 3 2Go back N的连续ARQ3 3 3发送窗口的概念3 3 4应答方法的改进 本讲预习情况检查 快速提问3 传输层的作用和重要性传输层如何满足不同应用的需求什么是传输层的端口UDP的特点TCP的特点可靠通信原理停等协议如何解决纠错停等协议如何解决报文丢失停等协议如何解决重复报文停等协议的缺点连续ARQ协议的概念发送窗口的概念捎带应答 累积应答 1 传输 Transport 层协议概述 5 1 1 进程之间的通信 5 1 1 计算机通信 实际上是两个主机中的应用进程互相通信 又称为端到端的通信 传输层的主要功能之一为应用进程之间提供端到端的通信 进程寻址 区别 网络层 为主机之间提供通信 1 1传输层的主要功能 1 实现应用进程互相通信 2 实现可靠传输 传输层为相互通信的应用进程提供了逻辑通信 54321 传输层提供应用进程间的逻辑通信 主机A 主机B 应用进程 路由器1 路由器2 AP1 LAN2 WAN AP2 AP3 AP4 IP层 LAN1 AP1 AP2 AP4 54321 AP3 实通信 实通信 实通信 2 传输层的可靠通信 可靠传输 各位无差错 没有丢失 按原序到达 没有重复用户对传输的可靠性有一定的要求传输层是通信的最高层 最后一次为可靠传输把关传输层的主要功能之二实现可靠传输 差错检测 有错重传 说明 传输层的二重作用 从通信角度看 是面向通信部分的最高层 对通信质量的最后一次把关 从信息处理角度看 是用户功能中的最低层只有资源子网的主机的协议栈才有传输层比较 通信子网的路由器只有低三层 1 2TCP IP的传输层的两个主要协议 5 1 2 用户面临多种不同的通信子网 如 不同的通信子网传输可靠性不同 IP层提供无连接服务 X 25网提供面向连接的服务不同用户的需求不同 例如 金融 贸易 可靠性要求第一图象传输 速度要求第一语音 实时性要求第一如何最佳地为用户提供传输服务 可靠通信要解决 有效 和 可靠 的矛盾 矛盾 可靠性与资源开销大和速度慢在可靠通信时要解决 有效 和 可靠 的矛盾在提供可靠服务的同时 尽量少地占用资源 尽量使速度降低的少一点改进 可靠传输 控制方法流量控制拥塞控制 如何最佳地为不用用户需求提供传输服务 策略一 M种用户需求 N种通信子网 设计N M种专用的传输层协议缺点 工作量太大策略二 设计一种通用的传输层协议缺点 协议复杂 效率低 很难兼顾 有效 和 可靠 策略三 设计几种主要的传输层协议供用户选用 效率高但可靠性低 或 可靠性高但效率低OSI的方法 五种传输层协议TL0 TL1 TL2 TL3 TL4TCP IP方法 二种传输层协议UDP TCP TCP IP的传输层的两个主要协议 为满足不同需求的业务 传输层提供两种不同的传输协议无连接的用户数据报协议UDP UserDatagramProtocol 相当于最简单的TL0 速度快 效率高无连接的 不保证可靠的服务面向连接的传输控制协议TCP 相当于最复杂的TL4 TransmissionControlProtocol 面向连接的可靠服务速度较慢 效率较低 传输层向上提供通信的二种逻辑信道 传输层填补通信子网与用户需求的差异 屏蔽了通信子网的细节 为用户 应用进程 提供统一 简洁的界面 TCP IP体系中的传输层协议 TCP UDP IP 应用层 与各种网络接口 传输层 传输层的TPDU与网际层的IP数据报的区别 IP数据报经过路由器时 被拆包 路由器使用IP包首部的控制信息传输层的TPDU经过路由器时 不被拆包在传输层的端到端抽象的逻辑信道中传送的 路由器没有传输层 TCP的TPDU称为TCP报文段 segment UDP的TPDU称为UDP报文或用户数据报 传输协议数据单元TPDU 1 3传输层的端口 5 1 3 传输层二大功能之一 实现应用进程互相通信需要解决的问题 传输层寻址 报文送给哪个应用程序 运行在计算机中的进程是用进程标识符来标志的 不同的操作系统使用不同格式的进程标识符 进程的创建和撤销都是动态的 为了使运行不同操作系统的计算机的应用进程互相通信 TCP IP体系必须用统一的方法对应用进程进行标志 解决方法 在传输层使用协议端口号标识应用程序协议端口号 protocolportnumber 简称为端口 port 端口 port 已知 第一章 服务访问点SAP 上层实体调用下层服务的逻辑接口从用户角度 一个SAP表示一个服务窗口从服务提供者角度 一个SAP表示一个用户端口 传输层服务访问点TSAPTCP IP的传输层与应用层的逻辑接口也称为传输层地址 端口 port 续 54321 传输层提供应用进程间的逻辑通信 应用进程 IP层 AP1 AP2 AP4 54321 AP3 端口的作用 应用层的各种应用进程都将其数据通过端口向下交付给传输层传输层将其报文段中的数据通过端口向上交付给应用层相应的进程 从这个意义上讲 端口是用来标志应用层的进程 端口 port 续 应用程序的程序员可以把端口想象是通信的端点 区别 硬件端口与软件端口路由器或交换机上的端口是硬件端口 不同硬件设备进行连接的接口传输层提供的端口是软件端口 应用层进程与传输实体进行层间交互的一种地址 端口是用报文队列来实现 自学 UDP端口51000 UDP端口69 出队列 入队列 出队列 入队列 TFTP服务器 TFTP客户 UDP用户数据报 应用层 传输层 端口 port 续 端口用一个16位端口号进行标志 端口号只具有本地意义 即 端口号只是为了标志本计算机应用层中的各进程 不同计算机的相同端口号是没有联系的 不同计算机的二个进程通信的端口不必相同 端口举例 Email 主机A与主机C建立了二个SMTP连接主机B与主机C建立了一个SMTP连接 如何知道对等实体的端口号 三类端口 服务器端使用的熟知端口 well known 保留端口 0 1023 为常用的每种服务进程固定分配一个熟知端口号TCP BGP 179 HTTP 80 UDP DNS 53 SNMP 161 全局分配 见 RFC1700 登记端口号 数值为1024 49151 为没有熟知端口号的应用程序使用的 使用这个范围的端口号必须在IANA登记 防止重复 客户端口号或短暂端口号 数值为49152 65535客户进程选择后暂时使用 服务器进程收到客户进程的报文时 知道客户进程的动态端口号 发送响应数据通信结束后 这个端口号可供其他客户进程以后使用 三层不同的 地址 IP地址 用于源 宿主机间的虚通信 标记这个数据报的源 宿主机 物理地址 用于相邻二台主机间的实通信 标记其中一条链路上通信的源 宿主机 传输层地址 用于源 宿进程间的虚通信 标记这个报文段的源 宿进程 三层不同的 地址 传输层功能之一 复用和分用 应用层 运输层 网络层 TCP报文段 UDP用户数据报 应用进程 TCP复用 IP复用 UDP复用 TCP报文段 UDP用户数据报 应用进程 端口 端口 TCP分用 UDP分用 IP分用 发送方 接收方 传输层设有多个端口 同时为多个进程服务 2 用户数据报协议UDP 5 2 UDP只在IP数据报服务上增加了很少一点的功能 即 进程寻址 端口功能 复用首部差错检测 2 1UDP概述 5 2 1 UDP的主要特点 自学 UDP是无连接的 发送数据之前不需要建立连接 UDP使用尽最大努力交付即不保证可靠交付 同时也不使用拥塞控制 UDP是面向报文的 UDP支持多种交互通信 一对一 一对多 多对一 多对多 UDP的开销小 很适合多媒体通信的要求首部开销小 只有8个字节没有重传机制 流量控制 拥塞控制的开销 面向报文的UDP 自学 对应用层交来的报文 既不合并 也不拆分 应用程序必须选择合适大小的报文 只在报文前添加首部 就向下交付IP层 IP数据报的数据部分 IP首部 IP层 UDP首部 UDP用户数据报的数据部分 传输层 应用层报文 应用层 2 2UDP的首部格式 5 2 2 数据 首部 IP数据报 发送在前 数据 首部 UDP用户数据报 伪首部 源端口 目的端口 长度 检验和 数据 首部 UDP长度 源IP地址 目的IP地址 0 17 IP数据报 字节 4 4 1 1 2 12 2 2 2 2 字节 发送在前 数据 首部 UDP用户数据报 伪首部仅仅是为了计算检验和 把 伪首部 和UDP用户数据报连接在一起计算检验和 计算UDP检验和的例子 1001100100010011 153 190000100001101000 8 1041010101100000011 171 30000111000001011 14 110000000000010001 0和170000000000001111 150000010000111111 10870000000000001101 130000000000001111 150000000000000000 0 检验和 0101010001000101 数据0101001101010100 数据0100100101001110 数据0100011100000000 数据和0 填充 1001011011101101 求和得出的结果0110100100010010 检验和 153 19 8 104 171 3 14 11 12字节伪首部 8字节UDP首部 7字节数据 按二进制反码运算求和将得出的结果求反码 全0171510871315全0数据数据数据数据数据数据数据全0 3 可靠传输的工作原理 5 4 p189 3 1可靠通信的概念区分三个概念差错检测 如何发现传输错误是无差错接受和无差错传输的基础无差错接受 只接受没有传输错误的数据对有传输错误的数据丢弃无差错传输 可靠通信 发送的数据都能被无差错接受 3 1可靠通信的概念 不存在完全可靠的物理信道如何在有差错的信道上进行无差错传输 可靠通信 发送的数据都能被无差错接受各位无差错没有丢失按发送的顺序到达没有重复实现 综合运用以下技术 面向连接差错检测编号 确认和重传机制 二类校验码 二类差错控制策略 使用纠错码 接收方纠错 前向纠错 FEC ForwardErrorCorrection 发送前 计算纠错码发送时 同时发送用户数据和纠错码接收时 校验 若有错 纠错 纠错码效率低 适用于不可能重传的场合 使用检错码 发送方纠错 检错重发 ARQ 发送前 计算检错码发送时 同时发送校验码接收时 校验 若无错则确认 若有错 请发送方重发 需要反向信道 重发 在误包率足够小的条件下 检错重发性能较好 例 设误码率 10 8 传108位数据使用纠错码 接收方纠错 设 报文长1000位 纠错码500位 效率 1000位 1500位 66 使用检错码 发送方纠错 设报文长1000位 检错码16位 报文出错率 10 6 发106个报文 平均错1个报文 效率 1000位 106个报文 1016位 106 1 个报文 98 4 广泛使用检错重发 重点 检错重发 的教学方法 目前广泛使用 返回N组连续ARQ 协议 但初学者难以迅速掌握 根据先易后难的原则 依次介绍停止等待协议 也是连续发送协议的基础 假设不会出错 只需流量控制会出错 但假设不会丢失报文考虑会丢失报文重复报文的问题连续ARQ协议概念返回N组连续ARQ协议 实用协议 选择重传连续ARQ协议 3 2停止等待协议 5 4 1 p189 假定所传送的任何数据不会出错但不能保证接收端总能接收发送端发来的数据 存储器 CPU等资源的占有 需要流量控制由接收方控制发送方发送报文的速度 这是网络中流量控制的一个基本方法 3 2 1假设不会出错 流量控制 具有最简单流量控制的数据链路层协议算法 1 发送方 1 等待上层的数据 2 从上层取到数据 组装报文 3 发送报文 4 等待 5 收到确认信息 则转到 1 2 接收方 1 等待 2 收到发送方的报文 将其交上层 3 向发送方发送一个确认信息 表示 报文已经交给上层 允许发送下一个报文 4 转到 1 两种情况的对比 传输均无差错 A B DATA DATA DATA DATA 送主机B 送主机B 送主机B 送主机B A B DATA 送主机B DATA 送主机B 时间 无流量控制 流量控制 不会由于来不及接收而丢失数据效率降低了 不可靠信道的停止等待协议 去掉上述 不会出差错 的假定 即 信道是有差错的实际信道如何进行差错控制 再分三步讨论 假设不会丢失报文考虑会丢失报文考虑重复报文的问题 3 2 2 假设不会丢失报文 接收方收到报文 缓存 进行校验若发现差错时 删去报文 向发送方发送一个否认报文NAK 请求发送方重传出错的报文若没有差错 将报文交用户 向发送方发送一个确认报文ACK 发送方收到否认报文NAK 重发出错的报文收到确认报文ACK 删去备份 可以发下一个新报文 发送方 发送前对数据求校验码 检错玛 校验码随数据一起组成报文缓存 发送 等待对方应答 传输正确 传输过程 传输出错 重发 发新数据 3 2 3考虑会丢失报文 超时重发 丢失报文 若报文首部信息出错 收不到 丢失报文发送方收不到应答 死锁 等待回答 死锁 解决办法 超时重发 发送方发送一个报文时 启动一个超时计时器 timeouttimer 若超时计时器到了重传时间tout而仍未收到任何确认报文 则重传这一报文 tout时 超时重发 报文丢失 超时重发 的示意图 一般将重传时间tout设置为略大于 平均往返时间 分析 三种报文丢失及超时重发的结果 数据报文 丢失 接受方只收到一次正确的报文 否定应答报文 丢失 接受方只收到一次正确的报文 肯定应答报文 丢失 接受方收到二次正确的报文 收到重复报文 这也是一种错误 改进不发否定应答报文 让对方超时重发 肯定应答报文 改称为 确认报文 对报文编号 识别重复报文 将其丢弃 3 2 4解决重复报文的问题 编号 使每一个报文带上不同的发送序号 如 每发送一个新的报文就把它的发送序号加1 确认信息也包括 报文序号 信息对哪个报文的确认若接收方收到序号相同的报文 表明是重复报文 丢弃重复报文 必须向发送方再发送确认报文ACK 超时重发 是重复报文 丢弃 肯定应答报文出错或丢失 需要重发确认应答报文 停等协议 报文的编号方法 报文号是协议的开销 占用的位数越少 传输的开销就越小 只需区别前后相邻二个报文 只需一位序号以0和1交替的方式出现 模2加1 停等协议 报文的编号方法 设置发送方变量V S 含义 V S 1号报文已被确认发送一个报文后 还未得到确认 V S 期望得到应答的报文的编号发送的报文已得到确认后 v S v S 1 模2加 下一报文的编号设置接收方变量V R 希望收到的新报文的序号 0 V R V S 0 1 0接受 1 1接受 0 0 超时重发 重复帧丢弃 1 0 若收到的报文的序号不等于V R 则是重复报文 0 V R V S 0 0接受 1 1 1 0 0 0 结论 虽然网络低层传输会出现差错 只要传输层采用有效的检错重传机制 可以为上面应用层提供可靠传输的服务 当 错码率 报文长度 1时 通信的最终差错率取决于校验码的性能几点注意发送完一个报文后 必须暂存 数据报文和确认信息都必须进行编号 超时计时器的重传时间应当比数据传输的平均往返时间更长一些 超时重发 自动重传请求ARQ 采用超时重发 接收方不需要请求发送方重传出错的报文 感到重传是发送方自动进行的 称为自动重传请求ARQ AutomaticRepeatreQuest 3 2 5停等协议的信道利用率 停止等待协议优点 简单缺点 信道利用率太低 TD RTT A TD RTT TA B 分组 确认 t t 分组 确认 TD 数据报文的发送时间RTT 2倍传播时间 往返时间TA 确认报文的发送时间 信道的利用率U 5 3 3 3连续ARQ协议 5 4 2 在TD RTT TA时间内 发送方连续发送多个分组 教材 流水线传输 不必每发完一个报文就停下来等待对方的确认 3 3 1基本概念 可获得很高的信道利用率 允许连续发送多少报文才合适 开销 发送方需要n个缓冲区 双向通信 二个发送方各需要n个缓冲区 所以 n不能取太大如果 n TD TD RTT TA 增加N也不能提高效率 所以 n不必取太大 连续ARQ协议的报文编号 结论要求 未确认的报文的编号不能相同编号 0 n 共n 1种号码例如 n 5 需要三位编号 0 7 确认报文迟到问题 在数据链路层实现ARQ协议 不会发生 确认 迟到问题在传输层实现ARQ协议 延时可能较大会发生 确认 迟到问题 1 1 重复报文 0 1 1 0 V R V S 0 0 ACK 0 1 0 1 2 错误认为发送成功 所以 编号的位数需要较多 2 N 1 N 1 N 1 0 0 ACK 0 3 3 2Go back N 回退N 的连续ARQ 接收方只接收按序到达的正确报文如果发送方发送了5个报文 第3个报文丢失了 这时接收方只接收并确认前两个报文 不管第4 5个报文是否正确 都不接受 发送方对后三个报文超时重发 最坏情况 重发n个报文这就叫做Go back N 回退N 的连续ARQ 优点控制简单所需的缓冲区少发送方 n个接收方 1个 3 3 3发送窗口的概念 滑动窗口Slidewindows 是一种描述网络协议执行情况的工具发送方用发送窗口Wt描述发送数据的过程接收方用发送窗口Wr描述接收数据的过程可以形象地描述流量控制 差错控制的过程计算机内部 并不是图形 是一个数据结构 发送窗口 发送窗口 由发送方维持窗口大小WT 是一种状态变量 表示 发送端最多可以发送多少没有被确认的数据这些数据的编号本例 窗口大小WT 5已经发送一个报文段 编号为1还可以发四个报文段 依次编号为2 3 4 5 连

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论