数据通信与计算机网络-第八章-运输层课件.ppt
《数据通信与计算机网络-第八章-运输层课件.ppt》由会员分享,可在线阅读,更多相关《数据通信与计算机网络-第八章-运输层课件.ppt(97页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第八章 运输层 8.1 运输服务和服务质量 8.2 运输协议机制 8.3 TCP协议 8.4 Socket编程1运输层n运输层是OSI模型的第四层,它承上启下,是整个网络协议体系的核心。n运输层的主要职能是在源计算机到目的计算机之间提供可靠的、经济的数据传送服务。服务是由运输实体(运输服务提供者)来完成的,它使用网络层提供的服务,独立于所使用的物理网络。n使用运输服务的实体可以是会话实体,也可以直接是应用实体(运输服务用户、TS用户)。2运输层n运输实体38.1.1 运输服务n和网络层相似,运输层也提供两种类型的服务。q面向连接的运输服务是一种可靠的服务,整个连接生存期包括连接建立、数据传输
2、和连接释放三个阶段。q无连接的运输服务是一种不可靠的、高效的服务,整个服务期间不需要建立连接。n为什么还需要运输服务?48.1.2 服务质量n服务质量(Quality of Service,QoS)qQoS衡量运输层的总体性能。n为满足运输层QoS,运输层需要弥补网络层服务质量的缺陷。q如果网络层服务质量比较高,那么运输层实现比较简单;q如果网络层服务质量比较低,那么运输层实现比较复杂。68.1.2 服务质量n服务质量参数q连接建立延迟q连接建立失败概率q吞吐量q残留差错率q传输延迟q保护性q优先权q回弹率78.1.2 服务质量nQoS协商(选项协商)88.2 运输协议机制n运输协议数据单元(
3、Transport Protocol Data Unit,TPDU)TPDU含 义CR运输连接请求,要求与对等运输实体建立运输连接CC确认,对CR TPDU的确认DR释放请求,要求释放与对等运输实体之间的运输连接DC确认,对DR TPDU的确认DT,DATA数据,一个运输实体向对等运输实体发送用户数据AK,ACK确认,对数据TPDU的认可REJ,REJECT拒绝,对数据TPDU拒绝接受108.2 运输协议机制n根据与用户要求的差错行为有关的质量对网络服务分类:A型网络服务 B型网络服务 C型网络服务 118.2.1 寻址n相对于TSAP,网络层寻址为网络服务访问点(Network Servic
4、e Access Point,NSAP)。nTCP/IP协议中qTSAP即TCP为端口号(port number)qNSAP即IP地址qNSAP(IP地址)和TSAP(TCP端口号)的结合唯一地标识了一个主机上的一个应用进程。n寻址例:一个时间服务进程13n可靠的顺序网络服务q可接受任意长的信息q百分之百地可靠q按顺序传递数据到目的地q讨论3个问题n复用n流量控制n连接建立和终止8.2.2 A型网络服务上的运输协议15n复用q运输协议实现对运输服务用户的复用:多个用户使用同一个运输协议,它们通过TSAP加以区分。q对于网络服务而言,运输实体也实现复用:n多条运输连接复用一条网络连接;n一条运输
5、连接可以使用多条网络连接。q对应有2种复用n向上复用:复用/解复用n向下复用:分流/合流8.2.2 A型网络服务上的运输协议16 8.2.2 A型网络服务上的运输协议q层间流控:指不同层实体之间的流控。n一层实体向另一层实体发出信息时必须得到该实体的同意,从而实现这两个层次之间的流量控制。18n对等流控的目的是为了限制数据(TPDU)的发送速度,因为:q接收方用户可能跟不上数据流。q接收方运输实体可能跟不上TPDU流。n运输实体通过缓冲区实现对等流控的几种措施:1.接收运输实体什么都不做。2.用网络服务来完成。3.滑动窗口机制4.信用量方案8.2.2 A型网络服务上的运输协议19n信用量方案q
6、方案的基本组成部分有:发送窗口与接收窗口,每个窗口又有上缘和下缘。n对发送窗口,建立连接后,下缘置为0,上缘是对等运输实体给出的信用量,发送一个TPDU后,下缘加1,上缘通过AK TPDU调整,上缘和下缘之间的差即是可发送的TPDU数,当上缘和下缘重合时不能发送TPDU;n对接收窗口,初始时下缘置为0,确认后作调整,上缘是对等实体的信用量,上缘和下缘之差表示可接收的TPDU数,发信用量后调整。8.2.2 A型网络服务上的运输协议208.2.2 A型网络服务上的运输协议q信用量方案例nTPDU的确认和流量控制是分开的。21n连接建立8.2.2 A型网络服务上的运输协议22n可靠无序网络服务q网络
7、服务百分之百可靠q数据长度为任意q但可能有失序情况发生q讨论1个问题:对于这种网络服务,为什么必须使用序号来标明各TPDU之间的关系?n流控中的问题n连接建立中的问题8.2.2 A型网络服务上的运输协议24n无序网络服务流控中的问题8.2.2 A型网络服务上的运输协议258.2.2 A型网络服务上的运输协议n无序网络服务连接建立中的问题268.2.3 B型网络服务上的运输协议nB型网络服务:数据传输可靠(但可能不按顺序),但可能有网络故障。n在任何情况下,运输实体必须能从数据丢失或网络连接断开中得到恢复。序号是一种有效的手段。n序号也是一种处理网络故障的有效手段。q网络连接复位q网络连接断开2
8、88.2.4 C型网络服务上的运输协议nC型网络q网络服务不可靠,不仅有数据丢失、失序,而且有网络复位、连接断开等。q相应的运输实体是最复杂和最困难的。q讨论6个问题n重传策略n重复检测n流量控制n连接建立n连接释放n崩溃恢复29q如何设置合适的重传计时器值?n 计时器值固定n 基于观察值8.2.4 C型网络服务上的运输协议31 8.2.4 C型网络服务上的运输协议计时器说明重传计时器T1重发一个未确认的TPDU重建连接计时器在同一对用户之间从释放连接到建立另一条连接间的最小时间窗口计时器AK TPDU间的最大时间重发CR计时器重发CR TPDU的时间保持计时器TR收不到确认而终止连接的时间不
9、活动计时器I收不到TPDU而终止连接的时间运输层部分重要计时器32n重复检测q三种可能产生重复的情况q可以用序号来识别重复,但处理起来并不很容易。q分两种情况对待:n在连接释放前收到重复TPDU。n在连接释放后收到重复TPDU。8.2.4 C型网络服务上的运输协议33n对于连接释放前收到重复TPDU,需注意两种情况:q可能多个AK TPDU确认同一个DT TPDU;q在TPDU生存期内发生序号循环。8.2.4 C型网络服务上的运输协议34n对于连接释放后的重复问题就比较难处理,特别是连接释放后在同一对运输实体之间又建立一条新的连接时更易产生问题。n解决办法:q序号跨越连接q使用连接标识符8.2
10、.4 C型网络服务上的运输协议35q如何解决当系统崩溃时无法知道序号或连接标识符的问题?n引入生存期的概念:每个TPDU在通信子网中停留时间不能超过生存期。n可用的技术q受限制的子网设计。q每个TPDU设置一个站计数器。q每个TPDU加上时间信息。8.2.4 C型网络服务上的运输协议36n流量控制q使用修改过的信用量流控方案n以(AK N,CREDIT M)表示一个AK TPDU确认了N(及以前的)DT TPDU,并且给出新的信用量值M,允许发送运输实体发送N+1到N+M的DT TPDU。这种机制是很有力的,能满足各种确认和信用量指示的要求。q解决其中潜在的死锁n引入一个窗口计时器n对AK T
11、PDU作出确认8.2.4 C型网络服务上的运输协议37n连接建立q C型网络中TPDU可能丢失或被延迟,导致两次握手连接建立失败。8.2.4 C型网络服务上的运输协议38q因此使用三次握手(Three-Way Handshake)方法建立连接。a)正常b)CR延迟8.2.4 C型网络服务上的运输协议运输实体A运输实体BCR XCC Y,XDT X,YA发起连接建立B 接受A 确认并发数据旧的 CR XCC Y,XREJ Y旧的CR X 到达BB接受A拒绝B的连接39c)CC延迟d)CR,DT 延迟8.2.4 C型网络服务上的运输协议 CR X 旧的CC Z,WREJ ZCC Y,XDT X,Y
12、A发起连接建立旧的CC到达AA拒绝该CCB接受A接受正常的CC并发数据旧的CR X旧的DT X,WCC Y,XREJ Y 旧的CR到达BB接受旧的DT到达BA拒绝40n连接释放q使用三次握手及计时器超时方法释放连接。8.2.4 C型网络服务上的运输协议a)正常情况DRDR启动时钟DC停止钟 DC启动时钟ACK 删除连接ACK 停止钟,删除连接DRDR启动时钟DC停止钟 DC启动时钟ACK 删除连接超时,删除连接丢失b)ACK丢失418.2.4 C型网络服务上的运输协议c)DC丢失d)DC丢失及以后的每个DR均丢失DR启动时钟 DC 删除连接DRDR启动时钟DC 启动时钟DR丢失DR超时,DRA
13、CK停时钟,删除连接停止钟启动时钟DC启动时钟DCACK丢失超时,DR 丢失超时,删除连接几次超时后,删除连接42n崩溃恢复q当一个系统发生崩溃而又重新启动后,会形成半开通状态。q清除半开通连接的一种方法n引入一个计时器,在一定的时间内若没有收到TPDU,就发送一个“伪”TPDU(也称探测TPDU),等待确认。n一旦由于某种原因而使一方处于不活动状态,另一方就会收不到确认,连续若干次收不到确认即自动释放连接。8.2.4 C型网络服务上的运输协议43 8.3 TCP协议nIP层提供的是无连接的、“尽力而为”的、不可靠的网络服务(C类网络)。nTCP/IP体系结构中,运输层就是利用IP提供的不可靠
14、的服务来提供端到端的运输服务。主要包括:q面向连接的、可靠的TCP协议q无连接的UDP协议448.3.1 TCP服务n传输控制协议(Transmission Control Protocol,TCP)的主要作用是在不可靠的网络服务上为应用层提供面向连接的、端到端的可靠字节流服务。qRFC 793:基本TCP定义qRFC 1122:修改和改进qRFC 1323:扩展定义qRFC 2018、RFC 2581:最新改进458.3.1 TCP服务nTCP是一种面向连接的运输协议,在进行数据传输时首先必须建立一条运输连接,数据传输完成之后把连接释放掉。nTCP连接标识q套接字(Socket):主机的IP
15、地址和一个16比特的端口号(Port)。nTCP端口号q一条TCP连接是由发送方套接字和接收方套接字来唯一标识的,即TCP连接用四元组来唯一标识。468.3.1 TCP服务nTCP服务的特征qTCP数据传输服务是全双工的;qTCP连接是点对点的;qTCP连接是面向字节流的;qTCP实体支持数据缓冲和立即发送;qTCP提供紧急数据功能。478.3.1 TCP服务nTCP最初是在Unix环境下实现的,它通过Socket调用来提供服务。Socket调用功能含义socket建立一个Socketbind为建立的Socket建立一个标识listen在一个Sokcet上监听外来的连接请求accept接受So
16、cket上到来的连接connect在一个Socket上建立连接shut_down关闭连接send在一条连接上发送数据receive在一条连接上接受数据select检查一组Socket是否有数据或异常488.3.1 TCP服务nTCP协议是通过段格式来表达的。源端口号目的端口号顺序号确认号窗口大小校验和紧急指针选项(0个或多个字节)数据(可选)保留URGACKPSHRSTSYNFIN数据偏移32 位填充498.3.1 TCP服务q数据偏移(Data Offset,4比特):指示TCP数据开始的位置,也即TCP头部长度,以32比特为单位。q保留(Reserved,6比特)q控制标志(Control
17、 Bits,6比特)nURG:紧急数据标志nACK:确认字段有效标志nPSH:要求马上发送数据nRST:对TCP连接进行复位nSYN:建立TCP连接nFIN:连接释放508.3.1 TCP服务q窗口大小(Window Size,16比特):指示接收方滑动窗口的大小,用于实现TCP流量控制和差错恢复。q校验和(Checksum,16比特):实现对TCP头部的校验。在计算检验和时包括TCP头部、用户数据以及一个TCP伪头部。n伪头部格式:n检验和的计算:所有16位字以补码形式相加,然后对和取反。IP源地址32比特IP目的地址0协议TCP长度518.3.1 TCP服务q紧急指针(Urgent Poi
18、nter,16比特):当URG位有效时,紧急指针指示紧急数据的位置。q选项(Options,变长:040字节):提供了相应的扩展机制,用于实现除TCP基本头部指定功能外的扩展功能。n选项以8位的字节为单位,有2种组成情况:q单字节(类型)q多字节(类型长度N个选项)n如:q类型0q类型1q类型2528.3.2 TCP协议nTCP PDU称为TCP数据段(Segment)q一个TCP数据段由一个20字节的头部、一个可选部分、和一个用户数据部分组成。q整个TCP段的长度限制nIP包64K-1(65535)字节长度限制;n网络MTU(Maximum Transfer Unit,最大传送单位)限制;n
19、TCP协议中用户数据大小受MSS(Maximum Segment Size,最大分段大小)限制。538.3.2 TCP协议nTCP段的固定头部长度为20个字节,同时支持最多40个字节的TCP选项。q源端口号(Source Port,16比特)和目的端口号(Destination Port,16比特):分别表示发送方和接收方的端口号。q顺序号(Sequence Number,32比特):该TCP段中携带的用户数据中第一个字节的编号,编号是以数据字节为单位的。q确认号(Acknowledgment Number,32比特):对顺序号之前的数据已可靠收到的确认,即下一个期望接收的字节的顺序号。548
20、.3.2 TCP协议q填充(Padding,变长):总是以0作填充,可确保TCP头部以32比特边界结束。q数据(Data,变长):数据部分用于传送TCP用户数据。n由于IP分组长度的限制(最大64K),因此TCP最大有效数据载荷长度是65535-20-20=65495。558.3.2 TCP协议状状态态描述描述ClosedClosed无无TCPTCP连连接,也不在建立接,也不在建立连连接接ListenListen用用户户开始开始LISTENLISTEN,等待,等待对对方的呼入方的呼入连连接接SYN ReceivedSYN ReceivedSYNSYN收到,等待收到,等待ACKACKSYN Se
21、ntSYN SentSYNSYN发发出,开始与出,开始与对对方建立方建立连连接接EstablishedEstablished连连接建立成功,可以接建立成功,可以传传送数据送数据FIN Wait 1FIN Wait 1用用户释户释放放连连接,已接,已经发经发出出FINFINFIN Wait 2FIN Wait 2对对方同意方同意释释放放连连接接Timed WaitTimed Wait等待全部等待全部TCPTCP段段传传送完送完毕毕ClosingClosing双方同双方同时时开始开始释释放放连连接接Close WaitClose Wait对对方开始方开始释释放放连连接接TCP协议的状态协议的状态5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据通信 计算机网络 第八 运输 课件
限制150内