tcpip-7(TCP与UDP协议与应用)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第7讲传输层(TCP/UDP)协议应用2传输层基本原理服务(Service)与服务质量(QoS)服务:网络中某层向其相邻高层提供的一组操作或接口服务具有单向性(低层为服务的提供者,高层为服务的用户)服务的表现形式:原语(primitive),如系统调用各层次提供的服务具有不同的服务质量:是否面向连接、连接建立和释放的时间、连接建立失败的概率传输时延及其抖动、吞吐率、误码率……高层提供服务的QoS总是比低层服务的QoS更完善TCP/IP体系结构中传输层的基本功能为信源结点和目的结点间的通信提供端到端的数据传输而通信子网只能提供相邻结点之间的点到点传输3通信子网服务与传输服务传输层服务屏蔽通信子网细节,增强通信子网服务的QoS传输服务提供者:网络分层模型中传输层以下的部分传输服务用户:传输层以上的应用传输层应用HostRouterRouterHost通信子网点到点协议端到端协议应用协议传输层应用传输服务提供者传输服务用户4传输层服务传输服务需要解决的问题提供的QoS提供面向连接的传输服务,还是无连接的传输服务?传输层服务访问点(TSAP)的地址标识连接的管理差错控制与流量控制……TCP/IP体系中的传输层UDP–UserDatagramProtocolTCP–TransportControlProtocolDataLinkIPTCPUDPApplications5TCP/IP体系中的传输层端口UDP/TCP中采用端口(port)来标识TSAP传输端口代表TCP/UDP的传输服务访问点TSAP在进程通信中标识相互通信的进程通信的对端进程地址可表示为:(IPaddress,port)传输端口的绑定(binding)进程在某个传输端口进行数据传输前,必须首先通过系统调用与该端口建立绑定关系UDP/TCP的传输端口号(portnumber)端口号用于标识UDP/TCP的传输端口UDP/TCP协议各分别可以提供最多64K个传输端口6传输端口的分配进程通信时,必须了解对端进程的地址(IP+port)主要问题:如何了解对端进程所使用的端口号?端口分配方式全局统一分配端口号动态绑定方式(本地分配)TCP/IP系统种端口分配方法应用进程通信采用“客户-服务器”(client-server)模式将传输端口划分为两类:保留端口和自由端口保留端口(well-knownport):为服务进程全局分配的端口自由端口是在进程需要进行通信时,由本地进行动态分配的客户进程首先动态申请一个本地自由端口号,再通过服务进程所公布的保留端口与服务器进程建立联系,并进行相应协商;上述过程成功后中,就可开始进程间的通信。7常用的保留端口号7ECHO回送37TIME时间42NAMESERVER主机名字服务器53DOMAIN域名服务器67BOOTPS启动协议服务69TFTP简单文件传输161SNMPSNMP网络监控……20FTP-DATA文件传输协议(数据连接)21FTP文件传输协议(控制连接)23TELNET远程登录终端37TIME时间43NICNAMEwhois程序79FINGERfinger程序80HTTPWEB服务……UDP保留端口号TCP保留端口号8思考题怎样进行端口的扫描??9TCP传输控制协议TCP–TransportControlProtocol10TCP的可靠传输服务特性TCP向应用程序提供可靠的传输服务着重解决传输的可靠性问题(分组丢失、失序……)适用于计算机之间的大量数据传输协议复杂、效率较低(与UDP相比)TCP可靠传输服务接口的特征:面向数据流虚电路连接有缓存的传送无结构的数据流全双工连接TCP的可靠性机制数据确认和重传滑动窗口进行流量控制、防止缓冲溢出11TCP传输端口与连接TCP采用传输端口来标识TCP连接TCP协议提供面向连接的虚电路服务,TCP传输端口标识了TCP的传输服务访问点(TSAP)系统支持多进程间采用多连接进行通信;进程通信中,端口号被用于标识同一个系统中的多个通信对端进程;在一个系统中,TCP可提供基于传输端口的数据复用由于进程通信是通过TCP连接实现的,连接的两个端点(也就进程)可用整数对(hostIP,port)来标识给定连接的两个端点,就可以唯一地标识一个TCP连接在TCP中,用户收发数据是通过连接来进行的与UDP不同(其报文收发仅通过协议端口)由于TCP使用两个端点来标识连接,故一个主机上的某个TCP端口号可被多个连接所共享12TCP数据流和报文段TCP提供的传输服务是面向数据流的数据流无结构源端进程发送的数据以字节流的形式传输到目的进程报文段(segment)的划分为了便于传输,TCP把一个字节流序列划分成若干个段报文段是不定长的一般,每个段被封装在一个IP分组中传输被封装的报文段存在以下几种情况:用于传输数据的报文段仅携带了确认信息的报文段携带连接建立请求或连接释放请求的报文段13TCP报文段的格式TCP报文段的结构报文段分为头部和数据区,并封装在一个IP分组中传输TCP头:携带必须的标识和控制信息,包括:连接标识:源端口和目的端口:标识连接的两个端点差错和流量控制:序号:指出本报文段在发送方的数据字节流中的位置确认序号:指出本机希望接收的下一个字节的序号……数据区数据区TCP头TCP报文段IP头IP分组14TCP报文段的格式IP分组头源端口号目的端口号序号确认序号头长度保留码元比特窗口校验和紧急指针任选项(若有)填充数据:03491015163115TCP的可靠性机制——确认和重传TCP传输服务的可靠性采用确认和重传机制来保证:带重传的肯定确认技术作为TCP提供可靠性的基础TCP要求连接的接收端在正确收到数据以后,向源端发送肯定确认信息(ACK)收到确认信息表明接收端已经正确接收到了数据发送方在发送下一个报文段之前需要等待前一个报文段的确认信息发送方为每一个发出的报文段都保存一个备份,发送端发送一个报文段后立刻启动一个定时器;若在定时器超时的时候,远端仍未接收到目的端的数据应答,则认为前一个报文段传送失败,需要进行数据重传16典型的确认/重传机制发送报文1#接收报文1#接收ACK1#发送ACK1#发送报文2#接收报文2#接收ACK2#发送ACK2#发送端接收端时间17TCP的确认与重传机制TCP流是无结构的字节流,并被划分为报文段TCP中确认机制采用的是“累积确认”TCP确认是针对数据流中的字节的,而不是针对报文段;其中使用的序号是特定字节在数据流中的序号(位置)接收端确认的内容是:已经正确收到的、连续数据流中的最后一个字节(prefixofstream)确认的方法是:接收端在确认中给出一个序号,其值为其最后收到的连续正确字节的序号加1;实际上,确认信息中指出了接收端所希望接收到的下一个字节的序号这种确认方法叫做累积确认,即报告接收端已经累积了收到了数据流中的多少字节确认信息利用TCP报文段头中的“确认序号”字段携带18累积确认2143658710911TCP字节数据流ACK=779ACK=8ACK=108已正确收到的字节19超时与重传TCP采用超时重传技术来检测和处理报文段的丢失源端每发送一个报文段并开始等待确认信息时,TCP就启动一个定时器如果在报文段数据的确认信息到达之前,定时器超时,则TCP认为该报文段已经丢失或被破坏,然后重传这一报文段TCP使用自适应重传算法以适应互连网络时延的变化:TCP监视每条连接的性能(网络时延),并由此推算出每个连接合适的定时器时间值20确认重传与超时重传发送分组1#接收分组1#接收ACK1#发送ACK1#发送分组2#接收ACK2#发送ACK2#发送端接收端时间正确传送重发分组2#接收分组2#超时超时重传21滑动窗口的引入简单停等协议的缺陷:资源利用率不高在接到确认信息前,必须推迟下一个报文段的发送网络具有双向通信能力,但停等协议只允许数据单向传输在等待响应的过程中网络完全空闲(特别在大时延网络)如果在一个时延很大的网络上,这个问题就更突出发送端接收端发送发送时间接收应答接收应答空闲发送链路接收链路22传输效率与滑动窗口滑动窗口协议——提高传输效率进行流量控制允许发送方在确认信息到达前,发送多个报文段发送端接收端发送1#发送2#发送3#应答1#应答2#应答3#应答接收应答接收应答接收23滑动窗口在未确认之前,允许发送的数据量由滑动窗口的大小确定收到窗口下界的确认时,窗口就向前滑动,使新进入窗口的数据能够发送滑动窗口只重传未被确认的数据。01234567891011...发送帧序号01234567...接收帧序号891234发送窗口2345发送窗口3456发送窗口0123发送窗口0#确认24TCP流量控制TCP通过可变的窗口大小来进行流量控制TCP允许随时改变窗口大小在确认报文中除确认序号(收到的字节)外,还包含窗口通告,说明接收方还可接收数据的能力窗口通告值可被认为是当前接收缓冲区的大小窗口通告值增加时,发送方可扩大其发送窗口的大小;窗口通告值减少时,发送方则应降低其发送窗口的大小可变窗口的优点不仅提供可靠传输,而且还提供流量控制当接收方缓冲区将要充满时,就可减小其窗口通告的值在极端的情况下,接收方可使用零通告值来要求停止所有的传输25TCP的拥塞控制TCP是端到端的协议TCP的拥塞控制是在端到端的基础上进行的TCP应用HostRouterRouterHost通信子网点到点IP协议无流量/拥塞控制端到端协议TCP应用传输层应用层26TCP对拥塞的响应在出现拥塞时,端点不能了解拥塞发生的细节:发生拥塞的原因拥塞发生的位置对通信连接的端点来说,拥塞通常表现为通信时延的增加TCP的超时重传机制可能导致拥塞的加剧TCP协议采用超时重传机制:在通信时延增加时,其响应是不断重传报文段,这种重传将会加剧拥塞的程度。在出现网络拥塞时,若对分组的重传不加抑制,数据流量增加又将进一步增加时延,出现的恶性循环,最终将导致整个网络完全失效;这种现象称为拥塞崩溃。为避免拥塞崩溃,TCP必须在拥塞发生时减少其数据的传输量27结点1结点2发送ACK(y+1)接收ACKTCP连接的建立TCP使用三次握手协议来建立连接,三次握手协议是连接的两端正确同步的必要条件发送SYN(seq=x)接收SYN(seq=x)发送SYN+ACK(seq=y:x+1)接收SYN+ACK28结点1结点2TCP连接的关闭改进的三次握手协议来关闭TCP连接发送ACK(x+1)接收ACK发送FIN(seq=x)接收FIN(seq=x)应用程序关闭连接发送ACK(y+1)接收ACK发送FIN+ACK(y:x+1)接收FIN+ACK应用程序关闭连接29TCP报文段中的码元比特码元比特字段(CODEBITS)6bit指出报文段的目的和内容,给出报文头中其他字段的解释URGACKPSHRSTSYNFIN发送方字节流结束序号同步连接复位报文端请求急迫操作确认字段可用紧急指针字段可用30TCP报文段的校验TCP校验和的计算方法:同IP分组头的校验校验和计算:除覆盖数据报外,还覆盖一个TCP伪报头TCP伪报头的目的与UDP基本相同源IP地址TCP长度填充域目的IP地址协议078151631全0IP分组头中指定的协议类型码(TCP=6)TCP数据报的长度(不含伪报头)31作业1、编码实现窗口协议。2、编码模拟三步握手过程。思考题详细分析TCP码元比特位的各种应用32用户数据报协议(UDP)UserDatagramProtocol33UDP协议以实现效率为首要目标,具有良好的实时性提供无连接、不可靠的传输服务会出现分组丢失、重复、乱序应用程序需要负责传输可靠性方面的所有工作34UDP协议封装UDP数据报由两部分构成:UDP报头和数据区UDP报文

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功