您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > internet的课件资料第三章1
12021/3/18第三章TCP/IP网际互连传输层技术22021/3/18主要内容传输层的基本原理TCP/IP体系中的传输层机制用户数据报协议(UDP)传输控制协议(TCP)32021/3/18传输层的基本原理42021/3/18传输层的基本功能TCP/IP体系结构中传输层的基本功能为信源结点和目的结点间的通信提供端到端的数据传输而通信子网只能提供相邻结点之间的点到点传输服务(Service)与服务质量(QoS)相邻网络层次间的界面反映了相邻层次间的关系服务:网络中某层向其相邻高层提供的一组操作或接口服务具有单向性(低层为服务的提供者,高层为服务的用户)服务的表现形式:原语(primitive),如系统调用各层次提供的服务具有不同的服务质量:是否面向连接、连接建立和释放的时间、连接建立失败的概率传输时延及其抖动、吞吐率、误码率……高层提供服务的QoS总是比低层服务的QoS更完善52021/3/18通信子网服务与传输服务传输层服务屏蔽通信子网细节,增强通信子网服务的QoS传输服务提供者:网络分层模型中传输层以下的部分传输服务用户:传输层以上的应用传输层应用HostRouterRouterHost通信子网点到点协议端到端协议应用协议传输层应用传输服务提供者传输服务用户62021/3/18传输层服务传输服务需要解决的问题提供的QoS提供面向连接的传输服务,还是无连接的传输服务?传输层服务访问点(TSAP)的地址标识连接的管理差错控制与流量控制……TCP/IP体系中的传输层UDP–UserDatagramProtocolTCP–TransportControlProtocolDataLinkIPTCPUDPApplications72021/3/18TCP/IP体系中的传输层端口UDP/TCP中采用端口(port)来标识TSAP传输端口代表TCP/UDP的传输服务访问点TSAP在进程通信中标识相互通信的进程通信的对端进程地址可表示为:(IPaddress,port)传输端口的绑定(binding)进程在某个传输端口进行数据传输前,必须首先通过系统调用与该端口建立绑定关系UDP/TCP的传输端口号(portnumber)端口号用于标识UDP/TCP的传输端口UDP/TCP协议各分别可以提供最多64K个传输端口82021/3/18传输端口的分配进程通信时,必须了解对端进程的地址(IP+port)主要问题:如何了解对端进程所使用的端口号?端口分配方式全局统一分配端口号动态绑定方式(本地分配)TCP/IP系统种端口分配方法应用进程通信采用“客户-服务器”(client-server)模式将传输端口划分为两类:保留端口和自由端口保留端口(well-knownport):为服务进程全局分配的端口自由端口是在进程需要进行通信时,由本地进行动态分配的客户进程首先动态申请一个本地自由端口号,再通过服务进程所公布的保留端口与服务器进程建立联系,并进行相应协商;上述过程成功后中,就可开始进程间的通信。92021/3/18常用的保留端口号7ECHO回送37TIME时间42NAMESERVER主机名字服务器53DOMAIN域名服务器67BOOTPS启动协议服务69TFTP简单文件传输161SNMPSNMP网络监控……20FTP-DATA文件传输协议(数据连接)21FTP文件传输协议(控制连接)23TELNET远程登录终端37TIME时间43NICNAMEwhois程序79FINGERfinger程序80HTTPWEB服务……UDP保留端口号TCP保留端口号102021/3/18基于端口的复用IP层端口a端口b端口c基于端口的复用UDPUDP数据报到达应用1应用2应用3112021/3/18用户数据报协议(UDP)UserDatagramProtocol122021/3/18UDP协议以实现效率为首要目标,具有良好的实时性提供无连接、不可靠的传输服务会出现分组丢失、重复、乱序应用程序需要负责传输可靠性方面的所有工作132021/3/18UDP协议封装UDP数据报由两部分构成:UDP报头和数据区UDP报文是封装在IP分组中进行传送的IP应用UDP数据链路概念分层UDP头UDP数据区IP头IP数据区帧头帧数据区应用数据142021/3/18UDP数据报的格式IPheadersourceportdestinationportlengthchecksumdata:01502468UDP源端口:发送端的UDP端口号;当不需要对端返回数据时,该字段为0。UDP目的端口:接收端的UDP端口号。数据报长度:以字节计算的整个数据报的长度,最小值8字节(只含UDP头)。数据报校验和(可选):0:表示未选用校验功能;其它值表示数据报的校验和,若该字段为全1则表示校验和为0。152021/3/18UDP数据报的校验UDP数据报校验是一项可选的功能用户禁止该功能可以进一步提高通信的效率UDP校验和的计算方法:与IP分组头的校验相同校验和计算:除覆盖数据报外,还覆盖一个UDP伪报头源IP地址UDP长度填充域目的IP地址协议078151631全0IP分组头中指定的协议类型码(UDP=17)UDP数据报的长度(不含伪报头)伪报头并非UDP数据报中实际的有效成分伪报头是一个虚拟的数据结构:其中的信息是从数据报所在IP分组头的分组头中提取的使用伪报头是为了验证UDP数据报是否正确地传到了目的系统中伪报头的采用在一定程度上违反了网络结构分层的原则162021/3/18UDP基本工作过程UDP数据报的发送和接收通过UDP端口实现端口是一个可读写的结构,具有内部的报文缓冲区数据报发送UDP软件将用户数据封装在UDP数据报中转交给IP软件,进行IP封装和转发数据报的接收IP层接收到UDP数据报,提交给UDP软件的各端口端口判断该报文的目的端口号是否与当前端口匹配若匹配成功,将该数据报保存到相应端口的接收队列中;(若队列已满,则丢弃该数据报)若未匹配,则丢弃该数据报,同时向源端发送“端口不可达”的ICMP包172021/3/18传输控制协议TCP–TransportControlProtocol182021/3/18TCP的可靠传输服务特性TCP向应用程序提供可靠的传输服务着重解决传输的可靠性问题(分组丢失、失序……)适用于计算机之间的大量数据传输协议复杂、效率较低(与UDP相比)TCP可靠传输服务接口的特征:面向数据流虚电路连接有缓存的传送无结构的数据流全双工连接TCP的可靠性机制数据确认和重传滑动窗口进行流量控制、防止缓冲溢出192021/3/18TCP传输端口与连接TCP采用传输端口来标识TCP连接TCP协议提供面向连接的虚电路服务,TCP传输端口标识了TCP的传输服务访问点(TSAP)系统支持多进程间采用多连接进行通信;进程通信中,端口号被用于标识同一个系统中的多个通信对端进程;在一个系统中,TCP可提供基于传输端口的数据复用由于进程通信是通过TCP连接实现的,连接的两个端点(也就进程)可用整数对(hostIP,port)来标识给定连接的两个端点,就可以唯一地标识一个TCP连接在TCP中,用户收发数据是通过连接来进行的与UDP不同(其报文收发仅通过协议端口)由于TCP使用两个端点来标识连接,故一个主机上的某个TCP端口号可被多个连接所共享202021/3/18TCP数据流和报文段TCP提供的传输服务是面向数据流的数据流无结构源端进程发送的数据以字节流的形式传输到目的进程报文段(segment)的划分为了便于传输,TCP把一个字节流序列划分成若干个段报文段是不定长的一般,每个段被封装在一个IP分组中传输被封装的报文段存在以下几种情况:用于传输数据的报文段仅携带了确认信息的报文段携带连接建立请求或连接释放请求的报文段212021/3/18TCP报文段的格式TCP报文段的结构报文段分为头部和数据区,并封装在一个IP分组中传输TCP头:携带必须的标识和控制信息,包括:连接标识:源端口和目的端口:标识连接的两个端点差错和流量控制:序号:指出本报文段在发送方的数据字节流中的位置确认序号:指出本机希望接收的下一个字节的序号……数据区数据区TCP头TCP报文段IP头IP分组222021/3/18TCP报文段的格式IP分组头源端口号目的端口号序号确认序号头长度保留码元比特窗口校验和紧急指针任选项(若有)填充数据:034910151631232021/3/18TCP的可靠性机制——确认和重传TCP传输服务的可靠性采用确认和重传机制来保证:带重传的肯定确认技术作为TCP提供可靠性的基础TCP要求连接的接收端在正确收到数据以后,向源端发送肯定确认信息(ACK)收到确认信息表明接收端已经正确接收到了数据发送方在发送下一个报文段之前需要等待前一个报文段的确认信息发送方为每一个发出的报文段都保存一个备份,发送端发送一个报文段后立刻启动一个定时器;若在定时器超时的时候,远端仍未接收到目的端的数据应答,则认为前一个报文段传送失败,需要进行数据重传242021/3/18典型的确认/重传机制发送报文1#接收报文1#接收ACK1#发送ACK1#发送报文2#接收报文2#接收ACK2#发送ACK2#发送端接收端时间252021/3/18TCP的确认与重传机制TCP流是无结构的字节流,并被划分为报文段TCP中确认机制采用的是“累积确认”TCP确认是针对数据流中的字节的,而不是针对报文段;其中使用的序号是特定字节在数据流中的序号(位置)接收端确认的内容是:已经正确收到的、连续数据流中的最后一个字节(prefixofstream)确认的方法是:接收端在确认中给出一个序号,其值为其最后收到的连续正确字节的序号加1;实际上,确认信息中指出了接收端所希望接收到的下一个字节的序号这种确认方法叫做累积确认,即报告接收端已经累积了收到了数据流中的多少字节确认信息利用TCP报文段头中的“确认序号”字段携带262021/3/18累积确认2143658710911TCP字节数据流ACK=779ACK=8ACK=108已正确收到的字节272021/3/18超时与重传TCP采用超时重传技术来检测和处理报文段的丢失源端每发送一个报文段并开始等待确认信息时,TCP就启动一个定时器如果在报文段数据的确认信息到达之前,定时器超时,则TCP认为该报文段已经丢失或被破坏,然后重传这一报文段TCP使用自适应重传算法以适应互连网络时延的变化:TCP监视每条连接的性能(网络时延),并由此推算出每个连接合适的定时器时间值282021/3/18确认重传与超时重传发送分组1#接收分组1#接收ACK1#发送ACK1#发送分组2#接收ACK2#发送ACK2#发送端接收端时间正确传送重发分组2#接收分组2#超时超时重传292021/3/18滑动窗口的引入简单停等协议的缺陷:资源利用率不高在接到确认信息前,必须推迟下一个报文段的发送网络具有双向通信能力,但停等协议只允许数据单向传输在等待响应的过程中网络完全空闲(特别在大时延网络)如果在一个时延很大的网络上,这个问题就更突出发送端接收端发送发送时间接收应答接收应答空闲发送链路接收链路302021/3/18传输效率与滑动窗口滑动窗口协议——提高传输效率进行流量控制允许发送方在确认信息到达前,发送多个报文段发送端接收端发送1#发送2#发送3#应答1#应答2#应答3#应答接收应答接收应答接收312021/3/18滑动窗口在未确认之前,允许发送的数据量由滑动窗口的大小确定收到窗口下界的确认时,窗口就向前滑动,使新进入窗口的数据能够发送滑动窗口只重传未被确认的数据。01234567891011...发送帧序号01234567...接收帧序号891234发送窗口2
本文标题:internet的课件资料第三章1
链接地址:https://www.777doc.com/doc-7821638 .html