ImageVerifierCode 换一换
格式:PPT , 页数:141 ,大小:1.03MB ,
文档编号:4915778      下载积分:29 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-4915778.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(第五章运输层课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

第五章运输层课件.ppt

1、课件制作人:邓小鸿第第 5 章章 运输层运输层 5.1 运输层协议概述运输层协议概述 5.1.1 进程之间的通信进程之间的通信 5.1.2 运输层的两个主要协议运输层的两个主要协议 5.1.3 运输层的端口运输层的端口5.2 用户数据报协议用户数据报协议 UDP 5.2.1 UDP 概述概述5.2.2 UDP 的首部格式的首部格式课件制作人:邓小鸿第第 5 章章 运输层(续)运输层(续)5.3 传输控制协议传输控制协议 TCP 概述概述 5.3.1 TCP 最主要的特点最主要的特点 5.3.2 TCP 的连接的连接5.4 可靠传输的工作原理可靠传输的工作原理 5.4.1 停止等待协议停止等待协

2、议 5.4.2 连续连续 ARQ 协议协议5.5 TCP 报文段的首部格式报文段的首部格式课件制作人:邓小鸿第第 5 章章 运输层(续)运输层(续)5.6 TCP 可靠传输的实现可靠传输的实现 5.6.1 以字节为单位的滑动窗口以字节为单位的滑动窗口 5.6.2 超时重传时间的选择超时重传时间的选择 5.6.3 选择确认选择确认 SACK5.7 TCP的流量控制的流量控制 5.7.1 利用滑动窗口实现流量控制利用滑动窗口实现流量控制 5.7.1 必须考虑传输效率必须考虑传输效率课件制作人:邓小鸿第第 5 章章 运输层(续)运输层(续)5.8 TCP 的拥塞控制的拥塞控制 5.8.1 拥塞控制的

3、一般原理拥塞控制的一般原理 5.8.2 几种拥塞控制方法几种拥塞控制方法 5.8.3 随机早期检测随机早期检测 RED5.9 TCP 的运输连接管理的运输连接管理 5.9.1 TCP 的连接建立的连接建立 5.9.2 TCP 的连接释放的连接释放 5.9.3 TCP 的有限状态机的有限状态机 课件制作人:邓小鸿本章重点本章重点n运输层的两个主要协议运输层的两个主要协议UDP和和TCPn可靠传输的工作原理可靠传输的工作原理-停止等待工作原理停止等待工作原理nTCP报文格式报文格式 首部、确认号和窗口首部、确认号和窗口n可靠传输的实现可靠传输的实现nTCP的流量控制方法的流量控制方法nTCP的拥塞

4、控制方法的拥塞控制方法课件制作人:邓小鸿5.1 运输层协议概述运输层协议概述5.1.1 进程之间的通信进程之间的通信n从通信和信息处理的角度看,从通信和信息处理的角度看,运输层向运输层向它上面的应用层提供通信服务它上面的应用层提供通信服务,它属于,它属于面向通信部分的面向通信部分的最高层最高层,同时也是用户,同时也是用户功能中的功能中的最低层最低层。n网络核心部分中的路由器在转发分组时网络核心部分中的路由器在转发分组时都只用到下三层的功能,即物理层、数都只用到下三层的功能,即物理层、数据链路层和网络层。据链路层和网络层。运输层为相互通信的运输层为相互通信的应用进程应用进程提供了提供了逻辑通信逻

5、辑通信 54321运输层提供应用进程间的逻辑通信运输层提供应用进程间的逻辑通信主机主机 A主机主机 B应用进程应用进程应用进程应用进程路由器路由器 1路由器路由器 2AP1LAN2WANAP2AP3AP4IP 层层LAN1AP1AP2AP4端口端口端口端口54321IP 协议的作用范围协议的作用范围运输层协议运输层协议 TCP 和和 UDP 的作用范围的作用范围AP3课件制作人:邓小鸿Question?nIP协议能把源主机发送出的分组按照首协议能把源主机发送出的分组按照首部中的目的地址送到目的主机,那么为部中的目的地址送到目的主机,那么为什么还要设置运输层?什么还要设置运输层?n网络层负责找到

6、通信的双方主机,而运网络层负责找到通信的双方主机,而运输层负责找到通信的进程或者是程序。输层负责找到通信的进程或者是程序。课件制作人:邓小鸿应用进程之间的通信应用进程之间的通信n两个主机进行通信实际上就是两个主机中的两个主机进行通信实际上就是两个主机中的应应用进程互相通信用进程互相通信。n应用进程之间的通信又称为应用进程之间的通信又称为端到端的通信端到端的通信。n运输层的一个很重要的功能就是运输层的一个很重要的功能就是复用复用和和分用分用。应用层不同进程的报文通过不同的端口向下交应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。到运输层,再往下就共用网络层提供的服

7、务。n“运输层提供应用进程间的逻辑通信运输层提供应用进程间的逻辑通信”。“逻逻辑通信辑通信”的意思是:运输层之间的通信的意思是:运输层之间的通信好像好像是是沿水平方向传送数据。但事实上这两个运输层沿水平方向传送数据。但事实上这两个运输层之间并没有一条水平方向的物理连接。之间并没有一条水平方向的物理连接。课件制作人:邓小鸿理解理解“复用复用”和和“分用分用”n机关发送和接受公文的例子,收发室完机关发送和接受公文的例子,收发室完成复用和分用功能。成复用和分用功能。课件制作人:邓小鸿运输层协议和网络层协议运输层协议和网络层协议的主要区别的主要区别 应用进程应用进程 应用进程应用进程 IP 协议的作用

8、范围协议的作用范围(提供(提供主机之间主机之间的逻辑通信)的逻辑通信)TCP 和和 UDP 协议的作用范围协议的作用范围(提供(提供进程之间进程之间的逻辑通信)的逻辑通信)因因 特特 网网课件制作人:邓小鸿运输层的主要功能运输层的主要功能 n运输层为运输层为应用进程之间应用进程之间提供提供端到端的端到端的逻辑通信逻辑通信(但网络层是为(但网络层是为主机之间主机之间提供逻辑通信)。提供逻辑通信)。n运输层还要对收到的报文进行运输层还要对收到的报文进行差错检测差错检测。n运输层需要有两种不同的运输协议,即运输层需要有两种不同的运输协议,即面向连面向连接的接的 TCP 和和无连接的无连接的 UDP。

9、课件制作人:邓小鸿两种不同的运输协议两种不同的运输协议n当运输层采用面向连接的当运输层采用面向连接的 TCP 协议时,协议时,尽管下面的网络是不可靠的(只提供尽尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道最大努力服务),但这种逻辑通信信道就相当于一条全双工的就相当于一条全双工的可靠信道可靠信道。n当运输层采用无连接的当运输层采用无连接的 UDP 协议时,这协议时,这种逻辑通信信道是一条种逻辑通信信道是一条不可靠信道不可靠信道。课件制作人:邓小鸿TCP/IP 的运输层有两个不同的协议:的运输层有两个不同的协议:(1)用户数据报协议用户数据报协议 UDP (User Dat

10、agram Protocol)(2)传输控制协议传输控制协议 TCP (Transmission Control Protocol)5.1.2 运输层的两个主要协议运输层的两个主要协议 课件制作人:邓小鸿n两个对等运输实体在通信时传送的数据单位叫作两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元运输协议数据单元 TPDU(Transport Protocol Data Unit)。nTCP 传送的数据单位协议是传送的数据单位协议是 TCP 报文段报文段(segment)n UDP 传送的数据单位协议是传送的数据单位协议是 UDP 报文报文或或用户数用户数据报据报。TCP 与与 UDP

11、 课件制作人:邓小鸿TCP/IP 体系中的运输层协议体系中的运输层协议 TCPUDPIP应用层应用层与各种网络接口与各种网络接口运输层运输层课件制作人:邓小鸿TCP 与与 UDP nUDP 在传送数据之前在传送数据之前不需要先建立连接不需要先建立连接。对。对方的运输层在收到方的运输层在收到 UDP 报文后,报文后,不需要不需要给出给出任何任何确认确认。虽然。虽然 UDP 不提供可靠交付,但在不提供可靠交付,但在某些情况下某些情况下 UDP 是一种最有效的工作方式。是一种最有效的工作方式。nTCP 则提供则提供面向连接的服务面向连接的服务。TCP 不提供广不提供广播或多播服务。由于播或多播服务。

12、由于 TCP 要提供要提供可靠的可靠的、面面向连接向连接的运输服务,因此的运输服务,因此不可避免地增加了许不可避免地增加了许多的开销多的开销。这不仅使协议数据单元的首部增大。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。很多,还要占用许多的处理机资源。课件制作人:邓小鸿还要强调两点还要强调两点 n运输层的运输层的 UDP 用户数据报与网际层的用户数据报与网际层的IP数据报数据报有很大区别。有很大区别。IP 数据报数据报要经过互连网中要经过互连网中许多路许多路由器的存储转发由器的存储转发,但,但 UDP 用户数据报用户数据报是在运是在运输层的端到端抽象的输层的端到端抽象的逻辑信道

13、中传送逻辑信道中传送的。的。nTCP 报文段是在运输层抽象的端到端逻辑信道报文段是在运输层抽象的端到端逻辑信道中传送,这种信道是可靠的全双工信道。但这中传送,这种信道是可靠的全双工信道。但这样的信道却不知道究竟经过了哪些路由器,而样的信道却不知道究竟经过了哪些路由器,而这些路由器也根本不知道上面的运输层是否建这些路由器也根本不知道上面的运输层是否建立了立了 TCP 连接。连接。课件制作人:邓小鸿5.1.3 运输层的端口运输层的端口n运输层完成应用程序之间的通信,两个运输层完成应用程序之间的通信,两个应用程序靠什么区别?用一般的进程标应用程序靠什么区别?用一般的进程标识符吗?如果识符吗?如果OS

14、系统不同,标识符怎么系统不同,标识符怎么统一?统一?课件制作人:邓小鸿5.1.3 运输层的端口运输层的端口 n运行在计算机中的进程是用运行在计算机中的进程是用进程标识符进程标识符来标志的。来标志的。n运行在应用层的各种应用进程却不应当让计算机操运行在应用层的各种应用进程却不应当让计算机操作系统指派它的进程标识符。这是因为在因特网上作系统指派它的进程标识符。这是因为在因特网上使用的计算机的使用的计算机的操作系统种类操作系统种类很多,而不同的操作很多,而不同的操作系统又使用系统又使用不同格式的进程标识符不同格式的进程标识符。n为了使运行不同操作系统的计算机的应用进程能够为了使运行不同操作系统的计算

15、机的应用进程能够互相通信,就互相通信,就必须用统一的方法必须用统一的方法对对 TCP/IP 体系的体系的应用进程进行标志。应用进程进行标志。课件制作人:邓小鸿端口号端口号(protocol port number)简称为端口简称为端口(port)n解决这个问题的方法就是在运输层使用解决这个问题的方法就是在运输层使用协议端协议端口号口号(protocol port number),或通常简称为,或通常简称为端口端口(port)。n虽然通信的终点是应用进程,但我们可以把端虽然通信的终点是应用进程,但我们可以把端口想象是通信的终点,因为我们只要把要传送口想象是通信的终点,因为我们只要把要传送的报文交

16、到目的主机的某一个合适的目的端口,的报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付目的进程)就由剩下的工作(即最后交付目的进程)就由 TCP 来完成。来完成。课件制作人:邓小鸿软件端口与硬件端口软件端口与硬件端口n在协议栈层间的抽象的协议端口是在协议栈层间的抽象的协议端口是软件软件端口端口。如。如http的的80端口端口n路由器或交换机上的端口是路由器或交换机上的端口是硬件端口硬件端口。n硬件端口是不同硬件设备进行交互的接硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。程与运输实体进行层间

17、交互的一种地址。课件制作人:邓小鸿TCP 的端口的端口 n端口用一个端口用一个 16 位位端口号进行标志。端口号进行标志。n端口号只具有端口号只具有本地本地意义,即端口号只是为意义,即端口号只是为了标志本计算机应用层中的各进程。在因了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联特网中不同计算机的相同端口号是没有联系的。系的。课件制作人:邓小鸿三类端口三类端口 n熟知端口熟知端口,数值一般为,数值一般为 01023。服务器端使。服务器端使用的端口号用的端口号n登记端口号登记端口号,数值为,数值为102449151,为没有熟,为没有熟知端口号的应用程序使用的。使用这个范围

18、的知端口号的应用程序使用的。使用这个范围的端口号必须在端口号必须在 IANA 登记,以防止重复。登记,以防止重复。n客户端口号客户端口号或或短暂端口号短暂端口号,数值为,数值为4915265535,留给客户进程选择暂时使用。,留给客户进程选择暂时使用。当服务器进程收到客户进程的报文时,就知道当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。这个端口号可供其他客户进程以后使用。课件制作人:邓小鸿Question?n两台主机中的进程要进行通信,除了要两台主机中的进程要进行通信,除了要知道对

19、方主机的知道对方主机的IP地址外还需知道什么?地址外还需知道什么?课件制作人:邓小鸿5.2 用户数据报协议用户数据报协议 UDP 5.2.1 UDP 概述概述 nUDP 只在只在 IP 的数据报服务之上增加的数据报服务之上增加了很少一点的功能,即了很少一点的功能,即端口的功能端口的功能和和差错检测差错检测的功能。的功能。n虽然虽然 UDP 用户数据报只能提供不可靠用户数据报只能提供不可靠的交付,但的交付,但 UDP 在某些方面有其特殊在某些方面有其特殊的优点。的优点。课件制作人:邓小鸿UDP 的主要特点的主要特点 nUDP 是是无连接无连接的,即发送数据之前不的,即发送数据之前不需要建立连接。

20、需要建立连接。nUDP 使用尽最大努力交付,即不保证使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。可靠交付,同时也不使用拥塞控制。nUDP 是是面向报文面向报文的。的。UDP 没有拥塞控没有拥塞控制,很适合多媒体通信的要求。制,很适合多媒体通信的要求。nUDP 支持一对一、一对多、多对一和支持一对一、一对多、多对一和多对多的交互通信。多对多的交互通信。nUDP 的首部开销小,只有的首部开销小,只有 8 个字节。个字节。课件制作人:邓小鸿面向报文的面向报文的 UDPn发送方发送方 UDP 对应用程序交下来的报文,在添对应用程序交下来的报文,在添加首部后就向下交付加首部后就向下交付

21、IP 层。层。UDP 对应用层交对应用层交下来的报文,既不合并,也不拆分,而是保留下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这些报文的边界。n应用层交给应用层交给 UDP 多长的报文,多长的报文,UDP 就照样发就照样发送,即送,即一次发送一个报文一次发送一个报文。n接收方接收方 UDP 对对 IP 层交上来的层交上来的 UDP 用户数据用户数据报,在去除首部后就原封不动地交付上层的应报,在去除首部后就原封不动地交付上层的应用进程,用进程,一次交付一个完整的报文一次交付一个完整的报文。n应用程序必须选择合适大小的报文。应用程序必须选择合适大小的报文。课件制作人:邓小鸿UDP 是面

22、向报文的 IP 数据报的数据部分IP 首部IP 层UDP 首部UDP 用户数据报的数据部分运输层应用层报文应用层课件制作人:邓小鸿UDP首部格式nP185 图5-5n源端口n目的端口n长度n检验和n习题P220 5-14课件制作人:邓小鸿5.3 传输控制协议传输控制协议 TCP 概述概述 5.3.1 TCP 最主要的特点最主要的特点 nTCP 是是面向连接面向连接的运输层协议。的运输层协议。n每一条每一条 TCP 连接只能有两个连接只能有两个端点端点(endpoint),每一条,每一条 TCP 连接只能是连接只能是点点对点对点的(一对一)。的(一对一)。nTCP 提供提供可靠交付可靠交付的服务

23、。的服务。n TCP 提供提供全双工全双工通信。同时发送和接收通信。同时发送和接收n面向字节流面向字节流。课件制作人:邓小鸿7 68H TCP 面向流的概念面向流的概念 发送发送 TCP 报文段报文段发送方发送方接收方接收方把字节写入把字节写入发送缓存发送缓存从接收缓存从接收缓存读取字节读取字节应用进程应用进程应用进程应用进程1230181716151419202145131211H109 H加上加上 TCP 首部首部构成构成 TCP 报文段报文段TCPTCP字节流字节流字节流字节流H表示表示 TCP 报文段的首部报文段的首部x表示序号为表示序号为 x 的数据字节的数据字节TCP 连接连接课件

24、制作人:邓小鸿应当注意应当注意nTCP 连接是连接是一条虚连接一条虚连接而不是一条真正的物理连而不是一条真正的物理连接。接。nTCP 对应用进程一次把多长的报文发送到对应用进程一次把多长的报文发送到TCP 的的缓存中是不关心的。缓存中是不关心的。nTCP 根据对方给出的窗口值和当前网络拥塞的程根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(度来决定一个报文段应包含多少个字节(UDP 发发送的报文长度是应用进程给出的)。送的报文长度是应用进程给出的)。nTCP 可把太长的数据块划分短一些再传送。可把太长的数据块划分短一些再传送。TCP 也可等待积累有足够多的字节后再构成

25、报文段发也可等待积累有足够多的字节后再构成报文段发送出去。送出去。课件制作人:邓小鸿5.3.2 TCP 的连接的连接 nTCP 把把连接连接作为最基本的抽象。作为最基本的抽象。n每一条每一条 TCP 连接有两个端点。连接有两个端点。nTCP 连接的端点不是主机,不是主机的连接的端点不是主机,不是主机的IP 地址,不是应用进程,也不是运输层地址,不是应用进程,也不是运输层的协议端口。的协议端口。TCP 连接的端点叫做连接的端点叫做套接套接字字(socket)或或插口插口。n端口号端口号拼接到拼接到(contatenated with)IP 地地址即构成了套接字。址即构成了套接字。课件制作人:邓小

26、鸿套接字套接字(socket)套接字套接字 socket=(IP地址地址:端口号端口号)(5-1)n每一条每一条 TCP 连接唯一地被通信两端的两个连接唯一地被通信两端的两个端点(即两个套接字)所确定。即:端点(即两个套接字)所确定。即:TCP 连接连接:=socket1,socket2 =(IP1:port1),(IP2:port2)(5-2)课件制作人:邓小鸿5.4 可靠传输的工作原理可靠传输的工作原理n理想的传输条件具备的两个特点:理想的传输条件具备的两个特点:n传输信道不产生差错传输信道不产生差错n不管发送方以多快的速度发送数据,接不管发送方以多快的速度发送数据,接收方总是来得及处理收

27、到的数据。收方总是来得及处理收到的数据。而实际的网络都不具备以上两个理想条件。而实际的网络都不具备以上两个理想条件。5.4 可靠传输的工作原理可靠传输的工作原理5.4.1 停止等待协议停止等待协议(a)无差错情况无差错情况A发送发送 M1确认确认 M1B发送发送 M2发送发送 M3确认确认 M2确认确认 M3A发送发送 M1B超时重传超时重传 M1发送发送 M2确认确认 M1丢弃有差错丢弃有差错的报文的报文(b)超时重传超时重传tttt课件制作人:邓小鸿Question?n发送方在发送完一个分组后,需要保留发送方在发送完一个分组后,需要保留分组的副本吗?分组的副本吗?n分组和确认分组需要进行编

28、号吗?分组和确认分组需要进行编号吗?n超时重传时间至少应该设置为多少?超时重传时间至少应该设置为多少?课件制作人:邓小鸿请注意请注意n在发送完一个分组后,必须暂时保留已在发送完一个分组后,必须暂时保留已发送的分组的副本。发送的分组的副本。n分组和确认分组都必须进行编号。分组和确认分组都必须进行编号。n超时计时器的重传时间应当比超时计时器的重传时间应当比数据在分数据在分组传输的平均往返时间组传输的平均往返时间更长一些。更长一些。课件制作人:邓小鸿确认丢失和确认迟到确认丢失和确认迟到 A发送发送 M1B超时超时重传重传 M1发送发送 M2丢弃丢弃重复的重复的 M1重传确认重传确认 M1(a)确认丢

29、失确认丢失确认确认 M1A发送发送 M1B超时超时重传重传 M1发送发送 M2丢弃丢弃重复的重复的 M1重传确认重传确认M1(b)确认迟到确认迟到确认确认 M1收下迟到收下迟到的确认的确认但什么也不做但什么也不做tttt课件制作人:邓小鸿Question?n我们在网络层中讲过,在不可靠的网络我们在网络层中讲过,在不可靠的网络中传输可靠的分组,需要增加哪两个机中传输可靠的分组,需要增加哪两个机制?制?课件制作人:邓小鸿可靠通信的实现可靠通信的实现n使用上述的确认和重传机制,我们就可使用上述的确认和重传机制,我们就可以以在不可靠的传输网络上实现可靠的通在不可靠的传输网络上实现可靠的通信信。n这种可

30、靠传输协议常称为这种可靠传输协议常称为自动重传请求自动重传请求ARQ(Automatic Repeat Quest)。nARQ 表明重传的请求是表明重传的请求是自动自动进行的。接进行的。接收方不需要请求发送方重传某个出错的收方不需要请求发送方重传某个出错的分组分组。课件制作人:邓小鸿信道利用率信道利用率 n停止等待协议的优点是简单,但缺点是停止等待协议的优点是简单,但缺点是信道利用率太低信道利用率太低。TDRTTATD+RTT+TAB分组分组确认确认tt分组分组确认确认课件制作人:邓小鸿Question?nTD的含义是什么?的含义是什么?nRTT的含义是什么?的含义是什么?nTA的含义是什么?

31、的含义是什么?n如果要求信道利用率,计算公式应该是如果要求信道利用率,计算公式应该是什么?什么?课件制作人:邓小鸿信道的利用率信道的利用率 U ADDTTTURTT(5-3)课件制作人:邓小鸿Question?n怎样提高信道利用率?怎样提高信道利用率?方案一:使方案一:使TD变大?变大?TA变小?还是变小?还是RTT变变小?小?方案二:有必要发一个分组就停下来等待方案二:有必要发一个分组就停下来等待确认吗?造成利用率不高的主要原因就确认吗?造成利用率不高的主要原因就是等待时间浪费了,我一次多发一些分是等待时间浪费了,我一次多发一些分组。组。课件制作人:邓小鸿流水线传输流水线传输 n发送方可发送

32、方可连续发送连续发送多个分组,不必多个分组,不必每发完一个分每发完一个分组就停顿下来等待对方的确认组就停顿下来等待对方的确认。n由于信道上一直有数据不间断地传送,这种传输由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率。方式可获得很高的信道利用率。B分组分组ttAACK课件制作人:邓小鸿5.4.2 连续连续 ARQ 协议协议 123456789101112(a)发送方维持发送窗口(发送窗口是发送方维持发送窗口(发送窗口是 5)发送窗口发送窗口(b)收到一个确认后发送窗口向前滑动收到一个确认后发送窗口向前滑动向前向前123456789101112发送窗口发送窗口课件制作人:邓

33、小鸿累积确认累积确认 n接收方一般采用接收方一般采用累积确认累积确认的方式。即不的方式。即不必对收到的分组逐个发送确认,而是对必对收到的分组逐个发送确认,而是对按序到达的按序到达的最后一个分组最后一个分组发送确认,这发送确认,这样就表示:样就表示:到这个分组为止的所有分组到这个分组为止的所有分组都已正确收到了都已正确收到了。课件制作人:邓小鸿累积确认的优缺点是什么?累积确认的优缺点是什么?n累积确认有的优点是:容易实现,即使累积确认有的优点是:容易实现,即使确认丢失也不必重传。确认丢失也不必重传。n缺点是:不能向发送方反映出接收方已缺点是:不能向发送方反映出接收方已经正确收到的所有分组的信息。

34、如发送经正确收到的所有分组的信息。如发送方发送了方发送了5个分组,接收方收到了个分组,接收方收到了1,2,4,5,但中间第,但中间第3个分组丢失了,请问接个分组丢失了,请问接收方发送的确认号为多少?收方发送的确认号为多少?课件制作人:邓小鸿Go-back-N(回退(回退 N)n如果发送方发送了前如果发送方发送了前 5 个分组,而中间个分组,而中间的第的第 3 个分组丢失了。这时接收方只能个分组丢失了。这时接收方只能对对前两个分组前两个分组发出确认。发送方无法知发出确认。发送方无法知道后面三个分组的下落,而只好把后面道后面三个分组的下落,而只好把后面的三个分组都再重传一次。的三个分组都再重传一次

35、。n这就叫做这就叫做 Go-back-N(回退(回退 N),表示),表示需要再退回来重传已发送过的需要再退回来重传已发送过的 N 个分组。个分组。n可见当通信线路质量不好时,连续可见当通信线路质量不好时,连续 ARQ 协议会带来负面的影响。协议会带来负面的影响。课件制作人:邓小鸿TCP 可靠通信的具体实现可靠通信的具体实现 nTCP 连接的每一端都必须设有两个窗连接的每一端都必须设有两个窗口口一个一个发送窗口发送窗口和一个和一个接收窗口接收窗口。n TCP 的可靠传输机制用的可靠传输机制用字节的序号字节的序号进行进行控制。控制。TCP 所有的确认都是所有的确认都是基于序号基于序号而而不是基于报

36、文段。不是基于报文段。n TCP 两端的四个窗口经常处于两端的四个窗口经常处于动态变化动态变化之中。之中。nTCP连接的往返时间连接的往返时间 RTT 也也不是固定不不是固定不变的变的。需要使用特定的算法估算较为合。需要使用特定的算法估算较为合理的重传时间。理的重传时间。TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FIN32 位位SYNRSTPSHACKURG位位 0 8 16 24 31填填 充充TCP 数据部

37、分数据部分TCP 首部首部TCP 报文段报文段IP 数据部分数据部分IP 首部首部发送在前发送在前5.5 TCP 报文段的首部格式报文段的首部格式 TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG位位 0 8 16 24 31填填 充充源端口和目的端口字段源端口和目的端口字段各占各占 2 字节。字节。端口是运端口是运输层与应用层的服务接口输层与应用层的服务接口。运输层的复用和分用功能。运输

38、层的复用和分用功能都要通过端口才能实现。都要通过端口才能实现。TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG位位 0 8 16 24 31填填 充充序号字段序号字段占占 4 字节。字节。TCP 连接中传送的数据流连接中传送的数据流中的每一个字节都编上一个序号。中的每一个字节都编上一个序号。序号字段的值则指序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。的是本报文段所发送的数据

39、的第一个字节的序号。课件制作人:邓小鸿Question?n序号的范围是多少?序号的范围是多少?TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG位位 0 8 16 24 31填填 充充确认号字段确认号字段占占 4 字节,是期望收到对方的字节,是期望收到对方的下一下一个报文段的数据的第一个字节的序号个报文段的数据的第一个字节的序号。课件制作人:邓小鸿例子n如发送方发送了如发送方发送了5个分组,

40、接收方收到了个分组,接收方收到了1,2,4,5,但中间第,但中间第3个分组丢失了,个分组丢失了,请问接收方的确认号字段为多少?请问接收方的确认号字段为多少?TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG位位 0 8 16 24 31填填 充充窗口字段窗口字段 占占 2 字节,用来让对方设置发送窗口的字节,用来让对方设置发送窗口的依据,单位为字节。依据,单位为字节。065535之间的整数。

41、之间的整数。课件制作人:邓小鸿n窗口指的是发送本报文段的一方的窗口指的是发送本报文段的一方的接收接收窗口窗口n窗口字段明确指出了现在窗口字段明确指出了现在允许对方发送允许对方发送的数据量的数据量。n例例 设确认号是设确认号是701,窗口字段为,窗口字段为1000,说明发送此报文段的一方从说明发送此报文段的一方从701算起,还算起,还有接收有接收1000个字节数据的空间个字节数据的空间课件制作人:邓小鸿练习nP221 5-23课件制作人:邓小鸿5.6 TCP 可靠传输的实现可靠传输的实现5.6.1 以字节为单位的滑动窗口以字节为单位的滑动窗口前移前移不允许发送不允许发送已发送并已发送并收到确认收

42、到确认A 的发送窗口的发送窗口=20允许发送的序号允许发送的序号26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56B 期望期望收到的序号收到的序号前沿前沿后沿后沿前移前移收缩收缩根据根据 B 给出的窗口值给出的窗口值A 构造出自己的发送窗口构造出自己的发送窗口 TCP 标准强烈不赞成标准强烈不赞成发送窗口前沿发送窗口前沿向后收缩向后收缩 不允许发送不允许发送已发送并已发送并收到确认收到确认A 的发送窗口位置不变的发送窗口位置不变允许发送但尚未发送允许发送但尚未发

43、送26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送但未收到确认已发送但未收到确认56P1P2P3不允许接收不允许接收已发送确认已发送确认并交付主机并交付主机B 的接收窗口的接收窗口允许接收允许接收26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56未按序收到未按序收到可用窗口可用窗口A 发送了发送了 11 个字节的数据个字节的数据

44、 P3 P1=A 的发送窗口(又称为通知窗口)的发送窗口(又称为通知窗口)P2 P1=已发送但尚未收到确认的字节数已发送但尚未收到确认的字节数P3 P2=允许发送但尚未发送的字节数(又称为可用窗口)允许发送但尚未发送的字节数(又称为可用窗口)课件制作人:邓小鸿Question?nB出现了出现了“未按序收到未按序收到”的情况,即收到了的情况,即收到了32,33,但是,但是31未到,请问未到,请问B发送的确认报文段中发送的确认报文段中的确认号为多少?的确认号为多少?n此时此时B的动作应该是什么?该怎样处理的动作应该是什么?该怎样处理32,33,又该怎样处理接收窗口的前进或者是不动?又该怎样处理接收

45、窗口的前进或者是不动?n假定一段时间后假定一段时间后B收到收到31,此时,此时B的动作该如的动作该如何?将何?将3133怎样处理?接收窗口如何变化?怎样处理?接收窗口如何变化?n此时此时B给给A发确认,确认号为多少?发确认,确认号为多少?允许发送但尚未发送允许发送但尚未发送A 的发送窗口向前滑动的发送窗口向前滑动26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送并收到确认已发送并收到确认不允许不允许发送发送已发送已发送但未收到确认但未收到确认56P1P2P3允许

46、接收允许接收B 的接收窗口向前滑动的接收窗口向前滑动26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送确认已发送确认并交付主机并交付主机不允许不允许接收接收56未按序收到未按序收到A 收到新的确认号,发送窗口向前滑动收到新的确认号,发送窗口向前滑动 先存下,等待缺少的先存下,等待缺少的数据的到达数据的到达不允许不允许发送发送已发送并收到确认已发送并收到确认A 的发送窗口已满,有效窗口为零的发送窗口已满,有效窗口为零26 27 28 29 30 31 32 33

47、34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送但未收到确认已发送但未收到确认56P1P2P3A 的发送窗口内的序号都已用完,的发送窗口内的序号都已用完,但还没有再收到确认,必须停止发送。但还没有再收到确认,必须停止发送。课件制作人:邓小鸿Question?nA发送的数据因为没有收到确认,并且发发送的数据因为没有收到确认,并且发送窗口已经用完必须停止发送。假设送窗口已经用完必须停止发送。假设A发发送的数据已经正确到达了送的数据已经正确到达了B,并且,并且B也发也发送了确认,但是这些确认送了确认,但是这些确认

48、“迟到迟到”了。了。请问请问A应该怎么做?应该怎么做?B应该怎么做?应该怎么做?n超时重传一直到收到超时重传一直到收到B的确认的确认课件制作人:邓小鸿发送缓存 最后被确认的字节发送应用程序发送缓存最后发送的字节发送窗口TCP序号增大课件制作人:邓小鸿Question?n发送缓存中的内容是什么?发送缓存中的内容是什么?n发送缓存的空间比发送窗口大还是小?发送缓存的空间比发送窗口大还是小?n发送缓存的后沿和发送窗口的后沿的关发送缓存的后沿和发送窗口的后沿的关系是什么?为什么?系是什么?为什么?课件制作人:邓小鸿接收缓存接收缓存接收应用程序接收应用程序已收到已收到接收窗口接收窗口TCP接收缓存接收缓

49、存下一个读取下一个读取的字节的字节序号增大序号增大下一个期望收到的下一个期望收到的字节(确认号)字节(确认号)课件制作人:邓小鸿Question?n接收缓存存放什么?接收缓存存放什么?n接收缓存和接收窗口哪个大?接收缓存和接收窗口哪个大?n接收窗口什么时候变小,什么时候变大?接收窗口什么时候变小,什么时候变大?课件制作人:邓小鸿发送缓存与接收缓存的作用发送缓存与接收缓存的作用n发送缓存用来暂时存放:发送缓存用来暂时存放:n 发送应用程序传送给发送方发送应用程序传送给发送方 TCP 准备发送准备发送的数据;的数据;n TCP 已发送出但尚未收到确认的数据。已发送出但尚未收到确认的数据。n接收缓存

50、用来暂时存放:接收缓存用来暂时存放:n 按序到达的、但尚未被接收应用程序读取按序到达的、但尚未被接收应用程序读取的数据;的数据;n 不按序到达的数据。不按序到达的数据。课件制作人:邓小鸿5.6.2 超时重传时间的选择超时重传时间的选择n重传机制重传机制是是 TCP 中最重要和最复杂的问中最重要和最复杂的问题之一。题之一。nTCP 每发送一个报文段,就对这个报文每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的段设置一次计时器。只要计时器设置的重传时间到但还没有收到确认,就要重重传时间到但还没有收到确认,就要重传这一报文段。传这一报文段。课件制作人:邓小鸿必须考虑的问题必须考虑的问

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|