第五章运输层.ppt
《第五章运输层.ppt》由会员分享,可在线阅读,更多相关《第五章运输层.ppt(141页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机网络(第计算机网络(第 5 版)版)第第 5 章章 运输层运输层2021/9/241课件制作人:邓小鸿第第 5 章章 运输层运输层 5.1 运输层协议概述运输层协议概述 5.1.1 进程之间的通信进程之间的通信 5.1.2 运输层的两个主要协议运输层的两个主要协议 5.1.3 运输层的端口运输层的端口5.2 用户数据报协议用户数据报协议 UDP 5.2.1 UDP 概述概述5.2.2 UDP 的首部格式的首部格式2021/9/242课件制作人:邓小鸿第第 5 章章 运输层(续)运输层(续)5.3 传输控制协议传输控制协议 TCP 概述概述 5.3.1 TCP 最主要的特点最主要的特点 5
2、.3.2 TCP 的连接的连接5.4 可靠传输的工作原理可靠传输的工作原理 5.4.1 停止等待协议停止等待协议 5.4.2 连续连续 ARQ 协议协议5.5 TCP 报文段的首部格式报文段的首部格式2021/9/243课件制作人:邓小鸿第第 5 章章 运输层(续)运输层(续)5.6 TCP 可靠传输的实现可靠传输的实现 5.6.1 以字节为单位的滑动窗口以字节为单位的滑动窗口 5.6.2 超时重传时间的选择超时重传时间的选择 5.6.3 选择确认选择确认 SACK5.7 TCP的流量控制的流量控制 5.7.1 利用滑动窗口实现流量控制利用滑动窗口实现流量控制 5.7.1 必须考虑传输效率必须
3、考虑传输效率2021/9/244课件制作人:邓小鸿第第 5 章章 运输层(续)运输层(续)5.8 TCP 的拥塞控制的拥塞控制 5.8.1 拥塞控制的一般原理拥塞控制的一般原理 5.8.2 几种拥塞控制方法几种拥塞控制方法 5.8.3 随机早期检测随机早期检测 RED5.9 TCP 的运输连接管理的运输连接管理 5.9.1 TCP 的连接建立的连接建立 5.9.2 TCP 的连接释放的连接释放 5.9.3 TCP 的有限状态机的有限状态机 2021/9/245课件制作人:邓小鸿本章重点本章重点n运输层的两个主要协议运输层的两个主要协议UDP和和TCPn可靠传输的工作原理可靠传输的工作原理-停止
4、等待工作原理停止等待工作原理nTCP报文格式报文格式 首部、确认号和窗口首部、确认号和窗口n可靠传输的实现可靠传输的实现nTCP的流量控制方法的流量控制方法nTCP的拥塞控制方法的拥塞控制方法2021/9/246课件制作人:邓小鸿5.1 运输层协议概述运输层协议概述5.1.1 进程之间的通信进程之间的通信n从从通通信信和和信信息息处处理理的的角角度度看看,运运输输层层向向它它上上面面的的应应用用层层提提供供通通信信服服务务,它它属属于于面面向向通通信信部部分分的的最最高高层层,同同时时也也是是用用户户功能中的功能中的最低层最低层。n网网络络核核心心部部分分中中的的路路由由器器在在转转发发分分组
5、组时时都都只只用用到到下下三三层层的的功功能能,即即物物理理层层、数数据链路层和网络层。据链路层和网络层。2021/9/247课件制作人:邓小鸿运输层为相互通信的运输层为相互通信的应用进程应用进程提供了提供了逻辑通信逻辑通信 54321运输层提供应用进程运输层提供应用进程间的逻辑通信间的逻辑通信主机主机 A主机主机 B应用进程应用进程应用进程应用进程路由器路由器 1路由器路由器 2AP1LAN2WANAP2AP3AP4IP 层层LAN1AP1AP2AP4端口端口端口端口54321IP 协议的作用范围协议的作用范围运输层协议运输层协议 TCP 和和 UDP 的作用范围的作用范围AP32021/9
6、/248课件制作人:邓小鸿Question?nIP协议能把源主机发送出的分组按照首协议能把源主机发送出的分组按照首部中的目的地址送到目的主机,那么为部中的目的地址送到目的主机,那么为什么还要设置运输层?什么还要设置运输层?n网络层负责找到通信的双方主机,而运网络层负责找到通信的双方主机,而运输层负责找到通信的进程或者是程序。输层负责找到通信的进程或者是程序。2021/9/249课件制作人:邓小鸿应用进程之间的通信应用进程之间的通信n两两个个主主机机进进行行通通信信实实际际上上就就是是两两个个主主机机中中的的应应用进程互相通信用进程互相通信。n应用进程之间的通信又称为应用进程之间的通信又称为端到
7、端的通信端到端的通信。n运运输输层层的的一一个个很很重重要要的的功功能能就就是是复复用用和和分分用用。应应用用层层不不同同进进程程的的报报文文通通过过不不同同的的端端口口向向下下交交到运输层,再往下就共用网络层提供的服务。到运输层,再往下就共用网络层提供的服务。n“运运输输层层提提供供应应用用进进程程间间的的逻逻辑辑通通信信”。“逻逻辑辑通通信信”的的意意思思是是:运运输输层层之之间间的的通通信信好好像像是是沿沿水水平平方方向向传传送送数数据据。但但事事实实上上这这两两个个运运输输层层之间并没有一条水平方向的物理连接。之间并没有一条水平方向的物理连接。2021/9/2410课件制作人:邓小鸿理
8、解理解“复用复用”和和“分用分用”n机关发送和接受公文的例子,收发室完机关发送和接受公文的例子,收发室完成复用和分用功能。成复用和分用功能。2021/9/2411课件制作人:邓小鸿运输层协议和网络层协议运输层协议和网络层协议的主要区别的主要区别 应用进程应用进程 应用进程应用进程 IP 协议的作用范围协议的作用范围(提供(提供主机之间主机之间的逻辑通信)的逻辑通信)TCP 和和 UDP 协议的作用范围协议的作用范围(提供(提供进程之间进程之间的逻辑通信)的逻辑通信)因因 特特 网网2021/9/2412课件制作人:邓小鸿运输层的主要功能运输层的主要功能 n运运输输层层为为应应用用进进程程之之间
9、间提提供供端端到到端端的的逻逻辑辑通通信信(但网络层是为(但网络层是为主机之间主机之间提供逻辑通信)。提供逻辑通信)。n运输层还要对收到的报文进行运输层还要对收到的报文进行差错检测差错检测。n运运输输层层需需要要有有两两种种不不同同的的运运输输协协议议,即即面面向向连连接的接的 TCP 和和无连接的无连接的 UDP。2021/9/2413课件制作人:邓小鸿两种不同的运输协议两种不同的运输协议n当运输层采用面向连接的当运输层采用面向连接的 TCP 协议时,协议时,尽管下面的网络是不可靠的(只提供尽尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道最大努力服务),但这种逻辑通信信
10、道就相当于一条全双工的就相当于一条全双工的可靠信道可靠信道。n当运输层采用无连接的当运输层采用无连接的 UDP 协议时,这协议时,这种逻辑通信信道是一条种逻辑通信信道是一条不可靠信道不可靠信道。2021/9/2414课件制作人:邓小鸿TCP/IP 的运输层有两个不同的协议:的运输层有两个不同的协议:(1)用户数据报协议用户数据报协议 UDP (User Datagram Protocol)(2)传输控制协议传输控制协议 TCP (Transmission Control Protocol)5.1.2 运输层的两个主要协议运输层的两个主要协议 2021/9/2415课件制作人:邓小鸿n两个对等运
11、输实体在通信时传送的数据单位叫作两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元运输协议数据单元 TPDU(Transport Protocol Data Unit)。nTCP 传送的数据单位协议是传送的数据单位协议是 TCP 报文段报文段(segment)n UDP 传送的数据单位协议是传送的数据单位协议是 UDP 报文报文或或用户数用户数据报据报。TCP 与与 UDP 2021/9/2416课件制作人:邓小鸿TCP/IP 体系中的运输层协议体系中的运输层协议 TCPUDPIP应用层应用层与各种网络接口与各种网络接口运输层运输层2021/9/2417课件制作人:邓小鸿TCP 与与
12、UDP nUDP 在在传传送送数数据据之之前前不不需需要要先先建建立立连连接接。对对方方的的运运输输层层在在收收到到 UDP 报报文文后后,不不需需要要给给出出任任何何确确认认。虽虽然然 UDP 不不提提供供可可靠靠交交付付,但但在在某某些情况下些情况下 UDP 是一种最有效的工作方式。是一种最有效的工作方式。nTCP 则则提提供供面面向向连连接接的的服服务务。TCP 不不提提供供广广播播或或多多播播服服务务。由由于于 TCP 要要提提供供可可靠靠的的、面面向向连连接接的的运运输输服服务务,因因此此不不可可避避免免地地增增加加了了许许多多的的开开销销。这这不不仅仅使使协协议议数数据据单单元元的
13、的首首部部增增大大很多,还要占用许多的处理机资源。很多,还要占用许多的处理机资源。2021/9/2418课件制作人:邓小鸿还要强调两点还要强调两点 n运运输输层层的的 UDP 用用户户数数据据报报与与网网际际层层的的IP数数据据报报有有很很大大区区别别。IP 数数据据报报要要经经过过互互连连网网中中许许多多路路由由器器的的存存储储转转发发,但但 UDP 用用户户数数据据报报是是在在运运输输层的端到端抽象的层的端到端抽象的逻辑信道中传送逻辑信道中传送的。的。nTCP 报报文文段段是是在在运运输输层层抽抽象象的的端端到到端端逻逻辑辑信信道道中中传传送送,这这种种信信道道是是可可靠靠的的全全双双工工
14、信信道道。但但这这样样的的信信道道却却不不知知道道究究竟竟经经过过了了哪哪些些路路由由器器,而而这这些些路路由由器器也也根根本本不不知知道道上上面面的的运运输输层层是是否否建建立了立了 TCP 连接。连接。2021/9/2419课件制作人:邓小鸿5.1.3 运输层的端口运输层的端口n运输层完成应用程序之间的通信,两个运输层完成应用程序之间的通信,两个应用程序靠什么区别?用一般的进程标应用程序靠什么区别?用一般的进程标识符吗?如果识符吗?如果OS系统不同,标识符怎么系统不同,标识符怎么统一?统一?2021/9/2420课件制作人:邓小鸿5.1.3 运输层的端口运输层的端口 n运行在计算机中的进程
15、是用运行在计算机中的进程是用进程标识符进程标识符来标志的。来标志的。n运行在应用层的各种应用进程却不应当让计算机操运行在应用层的各种应用进程却不应当让计算机操作系统指派它的进程标识符。这是因为在因特网上作系统指派它的进程标识符。这是因为在因特网上使用的计算机的使用的计算机的操作系统种类操作系统种类很多,而不同的操作很多,而不同的操作系统又使用系统又使用不同格式的进程标识符不同格式的进程标识符。n为了使运行不同操作系统的计算机的应用进程能够为了使运行不同操作系统的计算机的应用进程能够互相通信,就互相通信,就必须用统一的方法必须用统一的方法对对 TCP/IP 体系的体系的应用进程进行标志。应用进程
16、进行标志。2021/9/2421课件制作人:邓小鸿端口号端口号(protocol port number)简称为端口简称为端口(port)n解决这个问题的方法就是在运输层使用解决这个问题的方法就是在运输层使用协议端协议端口号口号(protocol port number),或通常简称为,或通常简称为端口端口(port)。n虽然通信的终点是应用进程,但我们可以把端虽然通信的终点是应用进程,但我们可以把端口想象是通信的终点,因为我们只要把要传送口想象是通信的终点,因为我们只要把要传送的报文交到目的主机的某一个合适的目的端口,的报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付目的进程)
17、就由剩下的工作(即最后交付目的进程)就由 TCP 来完成。来完成。2021/9/2422课件制作人:邓小鸿软件端口与硬件端口软件端口与硬件端口n在协议栈层间的抽象的协议端口是在协议栈层间的抽象的协议端口是软件软件端口端口。如。如http的的80端口端口n路由器或交换机上的端口是路由器或交换机上的端口是硬件端口硬件端口。n硬件端口是不同硬件设备进行交互的接硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。程与运输实体进行层间交互的一种地址。2021/9/2423课件制作人:邓小鸿TCP 的端口的端口 n端口用
18、一个端口用一个 16 位位端口号进行标志。端口号进行标志。n端端口口号号只只具具有有本本地地意意义义,即即端端口口号号只只是是为为了了标标志志本本计计算算机机应应用用层层中中的的各各进进程程。在在因因特特网网中中不不同同计计算算机机的的相相同同端端口口号号是是没没有有联联系的。系的。2021/9/2424课件制作人:邓小鸿三类端口三类端口 n熟知端口熟知端口,数值一般为,数值一般为 01023。服务器端使。服务器端使用的端口号用的端口号n登记端口号登记端口号,数值为,数值为102449151,为没有熟,为没有熟知端口号的应用程序使用的。使用这个范围的知端口号的应用程序使用的。使用这个范围的端口
19、号必须在端口号必须在 IANA 登记,以防止重复。登记,以防止重复。n客户端口号客户端口号或或短暂端口号短暂端口号,数值为,数值为4915265535,留给客户进程选择暂时使用。,留给客户进程选择暂时使用。当服务器进程收到客户进程的报文时,就知道当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。这个端口号可供其他客户进程以后使用。2021/9/2425课件制作人:邓小鸿Question?n两台主机中的进程要进行通信,除了要两台主机中的进程要进行通信,除了要知道对方主机的知道对方主机的I
20、P地址外还需知道什么地址外还需知道什么?2021/9/2426课件制作人:邓小鸿5.2 用户数据报协议用户数据报协议 UDP 5.2.1 UDP 概述概述 nUDP 只只在在 IP 的的数数据据报报服服务务之之上上增增加加了了很很少少一一点点的的功功能能,即即端端口口的的功功能能和和差错检测差错检测的功能。的功能。n虽虽然然 UDP 用用户户数数据据报报只只能能提提供供不不可可靠靠的的交交付付,但但 UDP 在在某某些些方方面面有有其其特特殊殊的优点。的优点。2021/9/2427课件制作人:邓小鸿UDP 的主要特点的主要特点 nUDP 是是无连接无连接的,即发送数据之前不的,即发送数据之前不
21、需要建立连接。需要建立连接。nUDP 使用尽最大努力交付,即不保证使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。可靠交付,同时也不使用拥塞控制。nUDP 是是面向报文面向报文的。的。UDP 没有拥塞控没有拥塞控制,很适合多媒体通信的要求。制,很适合多媒体通信的要求。nUDP 支持一对一、一对多、多对一和支持一对一、一对多、多对一和多对多的交互通信。多对多的交互通信。nUDP 的首部开销小,只有的首部开销小,只有 8 个字节。个字节。2021/9/2428课件制作人:邓小鸿面向报文的面向报文的 UDPn发送方发送方 UDP 对应用程序交下来的报文,在添对应用程序交下来的报文,在添加
22、首部后就向下交付加首部后就向下交付 IP 层。层。UDP 对应用层交对应用层交下来的报文,既不合并,也不拆分,而是保留下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这些报文的边界。n应用层交给应用层交给 UDP 多长的报文,多长的报文,UDP 就照样发就照样发送,即送,即一次发送一个报文一次发送一个报文。n接收方接收方 UDP 对对 IP 层交上来的层交上来的 UDP 用户数据用户数据报,在去除首部后就原封不动地交付上层的应报,在去除首部后就原封不动地交付上层的应用进程,用进程,一次交付一个完整的报文一次交付一个完整的报文。n应用程序必须选择合适大小的报文。应用程序必须选择合适大小的
23、报文。2021/9/2429课件制作人:邓小鸿UDP 是面向报文的 IP 数据报的数据部分IP 首部IP 层UDP 首部UDP 用户数据报的数据部分运输层应用层报文应用层2021/9/2430课件制作人:邓小鸿UDP首部格式nP185 图5-5n源端口n目的端口n长度n检验和n习题P220 5-142021/9/2431课件制作人:邓小鸿5.3 传输控制协议传输控制协议 TCP 概述概述 5.3.1 TCP 最主要的特点最主要的特点 nTCP 是是面向连接面向连接的运输层协议。的运输层协议。n每一条每一条 TCP 连接只能有两个连接只能有两个端点端点(endpoint),每一条,每一条 TCP
24、 连接只能是连接只能是点点对点对点的(一对一)。的(一对一)。nTCP 提供提供可靠交付可靠交付的服务。的服务。n TCP 提供提供全双工全双工通信。同时发送和接收通信。同时发送和接收n面向字节流面向字节流。2021/9/2432课件制作人:邓小鸿7 68H TCP 面向流的概念面向流的概念 发送发送 TCP 报文段报文段发送方发送方接收方接收方把字节写入把字节写入发送缓存发送缓存从接收缓存从接收缓存读取字节读取字节应用进程应用进程应用进程应用进程1230181716151419202145131211H109 H加上加上 TCP 首部首部构成构成 TCP 报文段报文段TCPTCP字节流字节流
25、字节流字节流H表示表示 TCP 报文段的首部报文段的首部x表示序号为表示序号为 x 的数据字节的数据字节TCP 连接连接2021/9/2433课件制作人:邓小鸿应当注意应当注意nTCP 连接是连接是一条虚连接一条虚连接而不是一条真正的物理连而不是一条真正的物理连接。接。nTCP 对应用进程一次把多长的报文发送到对应用进程一次把多长的报文发送到TCP 的的缓存中是不关心的。缓存中是不关心的。nTCP 根据对方给出的窗口值和当前网络拥塞的程根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(度来决定一个报文段应包含多少个字节(UDP 发发送的报文长度是应用进程给出的)。送的报
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 运输
限制150内