第5章--传输层协议ppt课件.ppt
《第5章--传输层协议ppt课件.ppt》由会员分享,可在线阅读,更多相关《第5章--传输层协议ppt课件.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、韩雪琴1韩雪琴2v前面各章回顾了互联网基础体系,描述了前面各章回顾了互联网基础体系,描述了主机和路由器如何发送主机和路由器如何发送Internet数据报,数据报,以及现行的机制下如何将以及现行的机制下如何将IP地址映射到物地址映射到物理地址。本章讨论主机和路由器中的网络理地址。本章讨论主机和路由器中的网络通信软件的结构。紧接着讨论互联网运输通信软件的结构。紧接着讨论互联网运输层协议机制。层协议机制。韩雪琴3v复杂的数据通信系统不会使用单一的协议来处理复杂的数据通信系统不会使用单一的协议来处理所有的传输任务。他们需要一整套相互合作的协所有的传输任务。他们需要一整套相互合作的协议,这些协议称为协议
2、族或协议套件。为什么需议,这些协议称为协议族或协议套件。为什么需要协议?首先考虑数据网络通信中可能出现的问要协议?首先考虑数据网络通信中可能出现的问题。题。 硬件失效硬件失效 网络拥塞网络拥塞 分组延时及丢失分组延时及丢失 数据损伤数据损伤 数据重复及乱序数据重复及乱序韩雪琴4v计算机上的协议软件具有称为层的垂直型栈结构,计算机上的协议软件具有称为层的垂直型栈结构,每一层负责处理问题的一个部分。把通信问题划每一层负责处理问题的一个部分。把通信问题划分为子问题,把协议软件分为多个模块,每个软分为子问题,把协议软件分为多个模块,每个软件处理一个子问题。件处理一个子问题。v关于协议分层的两个思想占据
3、了该领域的主导地关于协议分层的两个思想占据了该领域的主导地位。第一个思路基于国际标准化组织位。第一个思路基于国际标准化组织ISO所建立所建立的开放系统互连参考模型,称为的开放系统互连参考模型,称为ISO模型,给出模型,给出了七个概念层次的组织结构。了七个概念层次的组织结构。 ISO七层模型被设计为描述单一网络的协议,所以它七层模型被设计为描述单一网络的协议,所以它不像不像TCP/IP协议那样有一个具体的层用于互联网的选协议那样有一个具体的层用于互联网的选路。路。韩雪琴5物理层物理层物理层物理层物理层物理层数据链路层数据链路层数据链路层数据链路层数据链路层数据链路层网络层网络层网络层网络层网络层
4、网络层传输层传输层传输层传输层传输层传输层会话层会话层会话层会话层会话层会话层表示层表示层表示层表示层表示层表示层应用层应用层应用层应用层应用层应用层7654321韩雪琴6TCP/IP 的体系结构网络接口层IP各种应用层协议HTTP, FTP, SMTP, DNS 等TCP网际层运输层UDP应用层TCP: 传输控制协议(Transmission ControlProtocol)IP: 网际协议UDP: 用户数据报协议(User DatagramProtocol)韩雪琴7ICMPARP/RARP物理层:传输媒体物理层:传输媒体韩雪琴85 54 43 32 21 1Application laye
5、rTransport layerInternet layerData link layerPhysical layer韩雪琴9v分层的协议要设计成达到这样的效果,即分层的协议要设计成达到这样的效果,即目标主机的第目标主机的第N层所收到的数据就是源主层所收到的数据就是源主机的第机的第N层所发出的数据。层所发出的数据。韩雪琴10韩雪琴115432154321H3物物 理理 传传 输输 媒媒 体体数数 据据 部部 分分数数 据据 部部 分分数数 据据 部部 分分数数 据据 部部 分分10100110100101 比比 特特 流流 11 010111010T2计算机计算机 1 1H5H4H2首部首部尾
6、部尾部AP2AP1应应 用用 程程 序序 数数 据据计算机计算机 2 2比特比特帧帧IP数据报数据报IP分组分组TCP报文段报文段UDP报文段报文段韩雪琴12韩雪琴13v前面各章描述了一个前面各章描述了一个TCP/IP互联网,它能够提互联网,它能够提供在主机之间传输数据报的能力,每个数据报根供在主机之间传输数据报的能力,每个数据报根据其目的主机的据其目的主机的IP地址来进行互联网选路。在地址来进行互联网选路。在Internet协议层中,目的地址等同于主机,没有协议层中,目的地址等同于主机,没有对接收这个数据报的用户或应用程序进行更细致对接收这个数据报的用户或应用程序进行更细致的标识。本届增加一
7、个机制来扩充的标识。本届增加一个机制来扩充TCP/IP协议协议族,使得在给定的主机上能识别多个目的地,同族,使得在给定的主机上能识别多个目的地,同时允许多个应用程序运行于同一台主机上并独立时允许多个应用程序运行于同一台主机上并独立地进行数据报的收发。地进行数据报的收发。韩雪琴14v每个每个UDP报文称为一个用户数据报。从概念上讲,报文称为一个用户数据报。从概念上讲,分为两部分:分为两部分:UDP首部和数据区。首部被分为首部和数据区。首部被分为4个个16比特的字段。比特的字段。韩雪琴15vUDP校验和覆盖的内容超出了校验和覆盖的内容超出了UDP数据报本身的范围。数据报本身的范围。为了计算校验和,
8、为了计算校验和,UDP把伪首部引入数据中。首先把把伪首部引入数据中。首先把0只只赋予校验和字段,然后对整个对象:伪首部、赋予校验和字段,然后对整个对象:伪首部、UDP首部、首部、用户数据,计算一个用户数据,计算一个16比特的二进制反码和。比特的二进制反码和。v使用伪首部的目的是检验使用伪首部的目的是检验UDP数据报已到达正确的目的数据报已到达正确的目的地。如果校验和正确,说明地。如果校验和正确,说明UDP数据报到达了正确主机数据报到达了正确主机上的正确端口。上的正确端口。UDP长度长度协议协议0目的目的IP地址地址源源IP地址地址韩雪琴16端口端口 a a端口端口 b b端口端口 c c韩雪琴
9、177 ECHO回送回送37 TIME 时间时间42 NAMESERVER 主机名字服务器主机名字服务器53DOMAIN域名服务器域名服务器67BOOTPS启动协议服务启动协议服务69TFTP简单文件传输简单文件传输161SNMP简单网络管理协议简单网络管理协议韩雪琴18v前面各章讨论了构成互联网通信基础的不前面各章讨论了构成互联网通信基础的不可靠无连接分组交付服务,可靠无连接分组交付服务,IP协议对此进协议对此进行了定义。本节介绍可靠的流交付服务,行了定义。本节介绍可靠的流交付服务,即传输控制协议即传输控制协议TCP。韩雪琴19v最底层的计算机通信网络提供的服务是不可靠的最底层的计算机通信网
10、络提供的服务是不可靠的分组交付服务。当传输过程中出现错误时,当网分组交付服务。当传输过程中出现错误时,当网络硬件失效或网络负载太重时,分组可能会丢失,络硬件失效或网络负载太重时,分组可能会丢失,数据可能被破坏。动态路由分组的网络会使到达数据可能被破坏。动态路由分组的网络会使到达的分组顺序混乱、时延非常大或重复交付。的分组顺序混乱、时延非常大或重复交付。v最高层的应用程序常常在机器之间传输大量的数最高层的应用程序常常在机器之间传输大量的数据。使用不可靠的无连接交付来传输这样的数据据。使用不可靠的无连接交付来传输这样的数据苦不堪言,而且要求应用程序负责进行差错检测苦不堪言,而且要求应用程序负责进行
11、差错检测和恢复的工作。网络协议的研究目标之一就是为和恢复的工作。网络协议的研究目标之一就是为数据流的交付找出一般的解决方法,数据流的交付找出一般的解决方法,编制一个供编制一个供所用的应用程序使用的数据流交付软件所用的应用程序使用的数据流交付软件。独立的独立的通用协议软件通用协议软件,使我们能够定义一个统一的数据,使我们能够定义一个统一的数据流交付服务接口。流交付服务接口。韩雪琴20v应用程序与应用程序与TCP/IP可靠交付服务之间的接可靠交付服务之间的接口可以用五个特征来描述:口可以用五个特征来描述: 面向数据流面向数据流 虚电路连接虚电路连接 有缓冲的传输有缓冲的传输 无结构的数据流无结构的
12、数据流 全双工连接全双工连接v可靠的数据流交付服务确保在机器之间交可靠的数据流交付服务确保在机器之间交付数据流,不会重复交付或丢失数据。可付数据流,不会重复交付或丢失数据。可靠性使用靠性使用“带重传的肯定确认带重传的肯定确认”技术实现。技术实现。韩雪琴21vTCP是一个通信协议而不是一个软件。该协议是一个通信协议而不是一个软件。该协议 指定了两台计算机之间为了进行可靠传输而交换的指定了两台计算机之间为了进行可靠传输而交换的数数据和确认信息的格式据和确认信息的格式; 指定了计算机为了指定了计算机为了确保数据的正确到达而采取的措施确保数据的正确到达而采取的措施; 规定了规定了TCP软件如何识别给定
13、机器上的软件如何识别给定机器上的多个目的进程多个目的进程; 规定了如何对分组丢失和分组重复等规定了如何对分组丢失和分组重复等错误进行恢复错误进行恢复; 规定了两台计算机如何规定了两台计算机如何初始化一个初始化一个TCP数据流传输以数据流传输以及如何对结束的时机进行协商及如何对结束的时机进行协商。韩雪琴22vTCP是建立在连接抽象之上的,它所对应是建立在连接抽象之上的,它所对应的对象不是单独的端口而是一个虚电路连的对象不是单独的端口而是一个虚电路连接。连接是用接。连接是用一对端点一对端点来标识的。来标识的。TCP把把端点定义为一对整数(端点定义为一对整数(host,port)。)。v例如例如一个
14、连接一个连接可以表示为:可以表示为: (18.26.0.36,1069)和()和(128.10.2.3,25) 连接抽象允许多个连接共享一个端点。连接抽象允许多个连接共享一个端点。 (128.10.2.3,53) (128.9.0.32,118) (128.2.12.39,118)20FTP-DATA文件传输协议(数据连接)文件传输协议(数据连接)21FTP文件传输协议(控制连接)文件传输协议(控制连接)23TELNET远程登录终端远程登录终端25 SMTP简单邮件传输协议简单邮件传输协议53DNS 域名服务器域名服务器79FINGERfinger 程序程序2380HTTPWEB 服务服务v一
15、方面为普通的程序调用同一套熟知端口,另一方面为普通的程序调用同一套熟知端口,另一方面给操作系统很多端口号,有操作系统在一方面给操作系统很多端口号,有操作系统在应用程序需要时进行分配。应用程序需要时进行分配。vTCP 使用使用“连接连接”(而不仅仅是而不仅仅是“端口端口”)作为最作为最基本的抽象,同时将基本的抽象,同时将 TCP 连接的端点称为连接的端点称为插口插口(socket),或,或套接字套接字、套接口套接口。v插口和端口、插口和端口、IP 地址的关系是:地址的关系是: IP 地址131.6.23.13 端口号1500 131.6.23.13, 1500插口(socket)韩雪琴25传输层
16、以下传输层以下传输层传输层应用层应用层传输层以下传输层以下传输层传输层应用层应用层韩雪琴26IP=131.6.23.13IP=128.36.1.22IP=130.42.85.15v1.TCP报文的格式?报文的格式?v2.TCP的滑动窗口工作方式?窗口大小的变化依的滑动窗口工作方式?窗口大小的变化依据是什么?据是什么?v3.什么是糊涂窗口综合症?如何避免糊涂窗口综什么是糊涂窗口综合症?如何避免糊涂窗口综合症?合症?v4.TCP如何实现拥塞控制?如何实现拥塞控制?v5.TCP的定时器有哪些?的定时器有哪些?v6.TCP的重传机制?超时定时器的计算方法?的重传机制?超时定时器的计算方法?v7.TCP
17、如何建立连接?如何释放连接?如何建立连接?如何释放连接?v8.TCP建立连接为什么使用三次握手?建立连接为什么使用三次握手?v9.TCP如何实现可靠传输?如何实现可靠传输?vTCP提供数据流服务提供数据流服务v数据流、序号、报文段数据流、序号、报文段vTCP把数据流当作字节的序列,把序列划把数据流当作字节的序列,把序列划分成若干个段,每个段被放置到单个分成若干个段,每个段被放置到单个IP数数据报中在互联网上传输。据报中在互联网上传输。vTCP使用使用“滑动窗口滑动窗口”机制来解决两个重机制来解决两个重要问题:要问题:传输效率传输效率和和流量控制流量控制。韩雪琴30源端口源端口目的端口目的端口序
18、号序号确认号确认号首部长度首部长度保留未用保留未用码元比特码元比特通告窗口通告窗口校验和校验和紧急指针紧急指针选项选项填充填充数据数据韩雪琴31v源端口和目的端口源端口和目的端口:标识连接的两个端点:标识连接的两个端点v序号序号:指出本报文段在发送方的数据字节:指出本报文段在发送方的数据字节流中的位置流中的位置v确认序号确认序号:指出本机希望接收的下一个字:指出本机希望接收的下一个字节的序号节的序号v首部长度首部长度:以:以32比特为单位的首部长度值。比特为单位的首部长度值。因选项字段的长度根据包含的内容不同而因选项字段的长度根据包含的内容不同而有变化有变化v6比特比特保留字段保留字段为将来的
19、应用而保留为将来的应用而保留韩雪琴32v码元比特码元比特字段字段(CODE BITSCODE BITS) 6bit6bit 指出报文段的目的和内容,给出报文头中其他字段的指出报文段的目的和内容,给出报文头中其他字段的解释解释韩雪琴33v一个一个1616位整数校验和用于位整数校验和用于检验数据检验数据和和首部首部的完整性的完整性vTCP TCP 校验和校验和的计算方法:的计算方法:同同 IP IP 分组头的校验分组头的校验 校验和计算:除覆盖数据报外,还覆盖一个校验和计算:除覆盖数据报外,还覆盖一个 TCP TCP 伪首部伪首部 TCP TCP 伪首部的目的与伪首部的目的与 UDP UDP 基本
20、相同基本相同TCP长度长度协议协议0目的目的IP地址地址源源IP地址地址vTCP 协议是面向字节的。协议是面向字节的。TCP 将所要传送的报文将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于看成是字节组成的数据流,并使每一个字节对应于一个序号。一个序号。v在连接建立时,双方要商定初始序号。在连接建立时,双方要商定初始序号。TCP 每次每次发送的报文段的首部中的序号字段数值表示该报文发送的报文段的首部中的序号字段数值表示该报文段中的段中的数据部分的第一个字节的序号数据部分的第一个字节的序号。v TCP 的确认是对接收到的数据的最高序号表示确的确认是对接收到的数据的最高序号表示确认。接
21、收端返回的确认号是已收到的数据的最高序认。接收端返回的确认号是已收到的数据的最高序号加号加 1。因此确认号表示。因此确认号表示接收端期望下次收到的数接收端期望下次收到的数据中的第一个数据字节的序号据中的第一个数据字节的序号。 韩雪琴352143658710911TCP TCP 字节数据流字节数据流ACK = 779ACK = 8ACK = 108已正确收已正确收到的字节到的字节TCP使用流序号对流中的一个位置进行确认,累计确认使用流序号对流中的一个位置进行确认,累计确认一个确认指出了接收方期望收到的下一个字节的序号。一个确认指出了接收方期望收到的下一个字节的序号。vTCP 采用大小可变的滑动窗
22、口进行流量控制。窗口采用大小可变的滑动窗口进行流量控制。窗口大小的单位是大小的单位是字节字节。v在在 TCP 报文段首部的窗口字段写入的数值就是当前报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。给对方设置的发送窗口数值的上限。v发送窗口在连接建立时由双方商定。但在通信的过发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值调整对方的发送窗口上限值(可增大或减小可增大或减小)。 韩雪琴37vTCP 通过可变的窗口大小来进行流量控制通过可变的窗口大小来进行流量控制 TCP
23、 允许随时改变窗口大小允许随时改变窗口大小 在确认报文中除在确认报文中除收到的字节)外,还包含收到的字节)外,还包含,说明接收方还可接收数据的能力,说明接收方还可接收数据的能力值可被认为是值可被认为是当前接收缓冲区的大小当前接收缓冲区的大小 窗口通告值增加时,发送方可扩大其发送窗口的大小;窗口通告值增加时,发送方可扩大其发送窗口的大小;窗口通告值减少时,发送方则应降低其发送窗口的大窗口通告值减少时,发送方则应降低其发送窗口的大小小收到确认即可前移1002003004005006007008009001012013014015016017018011发送窗口可发送不可发送指针v发送端要发送发送端
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传输 协议 ppt 课件
限制150内