




已阅读5页,还剩72页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机通信与网络ComputerTelecommunications&Networks,第6章传输层,传输层,传输层的作用是在通信子网提供的服务的基础上,为上层应用层提供有效的、合理的传输服务。使高层用户在相互通信时不必关心通信子网的实现细节和具体服务质量。主要阐述6.2无连接的传输层协议UDP和面向连接的传输层协议TCP两大传输层协议,最后简述套接字和套接字编程的基本概念。,内容纲要,传输服务无连接的传输层协议UDP面向连接的传输层协议TCP套接字,6.1传输服务,传输层又称为运输层,位于应用层和网络层之间,是分层网络体系结构的核心部分。传输层用于增强和弥补通信子网的服务不足,提供主机之间有效、合理的传输服务。设置传输层的理由:,6.1传输服务,应用进程,应用进程,IP协议的作用范围(提供主机之间的逻辑通信),TCP和UDP协议的作用范围(提供进程之间的逻辑通信),因特网,(1)两个主机进行通信实际上是两个主机中的应用进程互相通信,6.1传输服务,传输层的复用和分用,进程,传输层复用,IP数据报,传输层分用,IP数据报,TSAP,NSAP,6.1传输服务,从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。,物理层,网络层,传输层,应用层,数据链路层,面向信息处理,面向通信,用户功能,通信子网,端系统,6.1传输服务,为了提高传输效率,IP首部中的首部校验和字段只检验IP数据报首部是否出现差错而不检查数据部分传输层TCP和UDP的校验和既要校验首部也要校验数据部分,并且只在发送端进行一次校验和计算,在接收端进行一次检测,(2)传输层对整个报文段进行差错校验和检测,6.1传输服务,当传输层采用面向连接的协议(如TCP)时,它为应用进程在传输实体间建立一条全双工的可靠逻辑信道,尽管下面的网络可能是不可靠的(如IP交换网络)。当传输层采用如UDP这样的无连接协议时,这种逻辑信道是不可靠的。,(3)根据应用的不同,传输层需要执行不同的传输协议来提供不同的传输服务,6.1传输服务,用户不能对通信子网加以控制,无法解决网络层的服务质量不佳问题应用层协议如果强调数据传输的可靠性,那么选择TCP较好,分组的丢失、残缺甚至网络重置都可以被传输层检测到,并采取相应的补救措施。如果应用层协议强调实时应用要求,那么选择UDP为宜。,(4)传输层的存在使得传输服务比网络服务更加合理有效,6.1传输服务,(5)传输层采用一个标准的原语集提供传输服务,由于传输服务独立于网络服务,故可以采用一个标准的原语集提供传输服务。为网络向高层提供了一个统一的服务界面,所以用传输服务原语编写的应用程序就可以广泛适用于各种网络。,6.1传输服务,一个传输层协议通常可同时支持多个进程的连接。若通信子网所提供的服务越多,传输协议就可以做得越简单。若网络层提供虚电路服务,那就能保证报文无差错、不丢失、不重复、并且按序地进行可靠交付,因而传输协议就很简单。但若网络层提供的是不可靠的数据报服务,如果要保证传输服务质量,则要求主机有一个复杂的传输协议。,传输层的主要功能,6.1传输服务,向上提供可靠的和不可靠的逻辑通信信道,?,应用层,运输层,发送进程,接收进程,接收进程,数据,数据,全双工可靠信道,数据,数据,使用TCP协议,使用UDP协议,不可靠信道,发送进程,6.1传输服务,传输层协议的选择是根据高层用户的需要和低层网络协议提供的服务来决定的。高层对传输层服务的要求T通信子网所提供的服务N传输层协议TN,传输层协议的分类,6.1传输服务,网络提供的服务质量,网络连接具有可接受低残留差错率和可接受低故障通知率,网络连接具有可接受的低残留差错率和不可接受的高故障通知率,网络连接具有不可接受的高差错率,A型,B型,C型,6.1传输服务,OSI参考模型中的传输层协议分类,差错恢复与复用类支持B型网络,差错检测和恢复、复用类支持C型网络,简单类支持A型网络,复用类支持A型网络,基本差错恢复类支持B型网络,OSI,6.1传输服务,传输层的UDP和TCP都使用了端口(port)与上层的应用进程进行通信,端口就是传输层服务访问点TSAP(也就是与应用进程的接口)端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。从这个意义上讲,端口是应用层进程的标识。,2、传输层编址,6.1传输服务,2、传输层编址,RPC111,(),SNMP161,(),TFTP69,(),SMTP25,(),FTP21,(),HTTP80,(),UDP,TCP,IP,应用层传输层网络层,6.1传输服务,2、传输层编址,其数值一般为01023。这些端口号是TCP/IP体系确定并公布的,熟知端口,用来随时分配给请求通信的客户进程,一般端口,端口类型,6.1传输服务,3、无连接服务和面向连接服务,6.1传输服务,3、无连接服务和面向连接服务,内容纲要,传输服务无连接的传输层协议UDP面向连接的传输层协议TCP套接字,6.2无连接的传输层协议UDP,UDP是一个简单的面向用户数据报的传输层协议。应用进程的输出正好产生一个UDP数据报,并组装成一个待发送的IP数据报。UDP只在IP的数据报服务之上增加了很少一点的功能,即端口的功能和有限的差错检测功能。,1、UDP概述,6.2无连接的传输层协议UDP,UDP是无连接的。在传输数据前不需要与对方建立连接。UDP提供不可靠的服务。数据可能不按发送顺序到达接收方,也可能会重复或者丢失数据。UDP同时支持点到点和多点之间的通信。UDP是面向报文的。,1、UDP概述,6.2无连接的传输层协议UDP,2、UDP首部格式,伪首部,源端口,目的端口,长度,检验和,数据,首部,UDP长度,源IP地址,目的IP地址,0,17,IP数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数据,首部,UDP用户数据报,6.2无连接的传输层协议UDP,2、UDP首部格式,伪首部,源端口,目的端口,长度,检验和,数据,首部,UDP长度,源IP地址,目的IP地址,0,17,IP数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数据,首部,UDP用户数据报,用户数据报UDP有两个字段:数据字段和首部字段。首部字段有8个字节,由4个字段组成,每个字段都是两个字节。,6.2无连接的传输层协议UDP,UDP用户数据报的首部中检验和用来检验整个用户数据报(首部加数据部分)出现的差错。在计算检验和时在UDP数据报之前要增加12个字节的伪首部。所谓“伪首部”是因为这种首部只在计算UDP校验和的时候使用,既不向下层传送,也不向上层递交。,2、UDP首部格式,6.2无连接的传输层协议UDP,2、UDP首部格式,伪首部,源端口,目的端口,长度,检验和,12,2,2,2,2,字节,6.2无连接的传输层协议UDP,2、UDP首部格式,网络需传输的UDP数据报数据如下,以16进制数表示,其中第一行数据是IP数据报首部的内容,第二行数据是UDP数据,请计算其UDP校验和。45000020f91200008011bf9fc0a80064c0a8006613611389000c?50434155,6.2无连接的传输层协议UDP,2、UDP首部格式,UDP首部的校验和字段设置为0,如果UDP数据域长度为奇数的话,则填充一个“0”字节将UDP首部和数据部分按照16位为单位划分伪首部部分参与校验和计算进行反码求和运算最后对累加的结果取反码,即得到UDP校验和,6.2无连接的传输层协议UDP,3、UDP实例,内容纲要,传输服务无连接的传输层协议UDP面向连接的传输层协议TCP套接字,6.3面向连接的传输层协议TCP,TCP是面向连接的TCP提供可靠的服务TCP只能进行点到点的通信TCP是面向字节流的,1、TCP概述,TCP的基本概念,6.3面向连接的传输层协议TCP,TCP首部,20字节的固定首部,目的端口,数据偏移,检验和,选项(长度可变),源端口,序号,紧急指针,窗口,确认号,保留,FIN,32bit,SYN,RST,PSH,ACK,URG,比特08162431,填充,TCP数据部分,TCP首部,TCP报文段,IP数据部分,IP首部,发送在前,TCP首部,20字节固定首部,目的端口,数据偏移,检验和,选项(长度可变),源端口,序号,紧急指针,窗口,确认号,保留,FIN,SYN,RST,PSH,ACK,URG,比特08162431,填充,源端口和目的端口字段各占2字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。,TCP首部,20字节固定首部,目的端口,数据偏移,检验和,选项(长度可变),源端口,序号,紧急指针,窗口,确认号,保留,FIN,SYN,RST,PSH,ACK,URG,比特08162431,填充,序号字段占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。,TCP首部,20字节固定首部,目的端口,数据偏移,检验和,选项(长度可变),源端口,序号,紧急指针,窗口,确认号,保留,FIN,SYN,RST,PSH,ACK,URG,比特08162431,填充,确认号字段占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。,TCP首部,20字节固定首部,目的端口,数据偏移,检验和,选项(长度可变),源端口,序号,紧急指针,窗口,确认号,保留,FIN,SYN,RST,PSH,ACK,URG,比特08162431,填充,数据偏移占4bit,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。“数据偏移”的单位不是字节而是32bit字(4字节为计算单位)。,TCP首部,20字节固定首部,目的端口,数据偏移,检验和,选项(长度可变),源端口,序号,紧急指针,窗口,确认号,保留,FIN,SYN,RST,PSH,ACK,URG,比特08162431,填充,6.3面向连接的传输层协议TCP,TCP首部,20字节固定首部,目的端口,数据偏移,检验和,选项(长度可变),源端口,序号,紧急指针,窗口,确认号,保留,FIN,SYN,RST,PSH,ACK,URG,比特08162431,填充,窗口字段占2字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。,TCP首部,20字节固定首部,目的端口,数据偏移,检验和,选项(长度可变),源端口,序号,紧急指针,窗口,确认号,保留,FIN,SYN,RST,PSH,ACK,URG,比特08162431,填充,检验和占2字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在TCP报文段的前面加上12字节的伪首部。,TCP首部,20字节固定首部,目的端口,数据偏移,检验和,选项(长度可变),源端口,序号,紧急指针,窗口,确认号,保留,FIN,SYN,RST,PSH,ACK,URG,比特08162431,填充,紧急指针字段占16bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。,TCP首部,20字节固定首部,目的端口,数据偏移,检验和,选项(长度可变),源端口,序号,紧急指针,窗口,确认号,保留,FIN,SYN,RST,PSH,ACK,URG,比特08162431,填充,选项字段长度可变。TCP只规定了一种选项,即最大报文段长度MSS(MaximumSegmentSize)。MSS告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是MSS个字节。”,MSS是TCP报文段中的数据字段的最大长度。数据字段加上TCP首部才等于整个的TCP报文段。MSS=TCP报文长度TCP首部长度,TCP首部,20字节固定首部,目的端口,数据偏移,检验和,选项(长度可变),源端口,序号,紧急指针,窗口,确认号,保留,FIN,SYN,RST,PSH,ACK,URG,比特08162431,填充,填充字段这是为了使整个首部长度是4字节的整数倍。,6.3面向连接的传输层协议TCP,3、TCP连接管理,建立连接三次握手,SYN=1,SEQ=x,ACK=1,ACK=x+1SYN=1,SEQ=y,ACK=1,SEQ=x+1ACK=y+1,6.3面向连接的传输层协议TCP,3、TCP连接管理,建立释放四次握手(文雅释放),FIN=1,SEQ=m,ACK=1,ACK=m+1,FIN=1,SEQ=nACK=m+1,ACK=1,SEQ=m+1ACK=n+1,半关闭状态,双向关闭状态,6.3面向连接的传输层协议TCP,TCP将连接可能处在的状态及各状态可能发生的变迁,画成状态转移图的形式,称为有限状态机。图中每一个方框即TCP可能具有的状态,方框中的字是TCP标准使用的状态名;状态之间的箭头表示可能发生的状态变迁,箭头旁边的字表示变迁的原因,或状态变迁后又出现的动作。,TCP的有限状态机,3、TCP连接管理,TCP的有限状态机,CLOSED,ESTABLISHED,LISTEN,CLOSE_WAIT,FIN_WAIT_1,SYN_RCVD,FIN_WAIT_2,CLOSING,TIME_WAIT,SYN_SENT,LAST_ACK,主动打开,被动打开,被动关闭,主动关闭,起点,被动打开,主动打开发送SYN,同时打开,收到SYN,发送SYN,ACK,收到ACK,数据传送阶段,关闭发送FIN,关闭发送FIN,关闭发送FIN,收到RST,收到SYN发送SYN,ACK,关闭或超时,收到ACK,收到SYN,ACK发送ACK,收到ACK,收到ACK,收到FIN发送ACK,收到FIN,ACK发送ACK,收到FIN发送ACK,同时关闭,收到FIN发送ACK,发送SYN,定时经过两倍报文段寿命后,关闭,6.3面向连接的传输层协议TCP,TCP将所要传送的整个应用层报文(这可能要嵌在多个报文段中发送)看成是一个个字节组成的数据流,然后对每一个字节编一个序号。在连接建立时,双方要商定初始序号。TCP就将每一次所传送的报文段中的第一个数据字节的序号,放在TCP首部的序号字段中。,4、TCP可靠传输,确认机制,6.3面向连接的传输层协议TCP,TCP的确认是对接收到的数据的最高序号表示确认。接收端返回的确认号是已收到的数据的最高序号加1。因此确认号表示接收端期望下次收到的数据中的第一个数据字节的序号。为提高效率,TCP可以累积确认,即在接收多个报文段后,一次确认。,4、TCP可靠传输,确认机制,6.3面向连接的传输层协议TCP,4、TCP可靠传输,用TCP传送112字节的数据。设窗口为100字节,而TCP报文段每次也是传送100字节的数据。再设发送端和接收端的起始序号分别选为l00和200,试画出连接建立阶段到连接释放的图。,6.3面向连接的传输层协议TCP,4、TCP可靠传输,6.3面向连接的传输层协议TCP,4、TCP可靠传输,超时重传机制,由于TCP的下层是一个互连网环境,IP数据报所选择的路由变化很大。因而运输层的往返时延的方差也很大。,时间,数据链路层,T1,T2,T3,往返时延的概率分布,6.3面向连接的传输层协议TCP,4、TCP可靠传输,RTT自适应算法,计算一次平均往返时延:RTTnew=RTTsample(第一次测量)RTTnewRTTold+(l)RTTsample(第二次以后的测量),上式中RTTold是前次测量的RTTnew在上式中对01。典型的值为7/8。,6.3面向连接的传输层协议TCP,4、TCP可靠传输,RTTD算法,引入RTT的偏差的加权平均值RTTDnew,计算方法如下:RTTDnewRTTsample/2(第一次测量)RTTDnewRTTDold+(l)|RTTnew-RTTsample|(第二次以后的测量)在上式中对01。典型的值为3/4。,6.3面向连接的传输层协议TCP,4、TCP可靠传输,RTO算法,最后,超时重传时间RTO采用以下公式计算出来:RTORTTnew+4RTTDnewKarn提出了一个算法:在计算平均往返时延时,只要报文段重发了,就不采用其往返时延样本。这样得出的平均往返时延和重发时间较准确。,6.3面向连接的传输层协议TCP,4、TCP可靠传输,定时器,重传定时器持续定时器保活定时器,6.3面向连接的传输层协议TCP,5、TCP流量控制,TCP采用大小可变滑动窗口的方式进行流量控制。窗口大小的单位是字节。根据接收方接收能力,通过接收窗口rwnd(receivewindow)可以实现端到端的流量控制,接收端将接收窗口rwnd的值放在TCP报文的首部中的“窗口”字段,传送给发送端。,6.3面向连接的传输层协议TCP,5、TCP流量控制,发送窗口在连接建立时由双方商定初始值。在通信的过程中,接收端可根据自己的资源情况,随时动态地调整自己的接收窗口,然后告诉发送方,使发送方的发送窗口和自己的接收窗口一致。这种由接收端控制发送端的做法,在计算机网络中经常使用。,6.3面向连接的传输层协议TCP,5、TCP流量控制,TCP采用大小可变滑动窗口的方式进行流量控制。根据图6-13的通信情况,设主机A向主机B发送数据。双方商定的窗口值是500。设每一个报文段为100字节长,序号的初始值为1。请问接收方对发送方进行了几次的流量控制?,6.3面向连接的传输层协议TCP,5、TCP流量控制,主机A,主机B,SEQ=1,WIN=500,SEQ=101,ACK=101,WIN=400,SEQ=201,SEQ=301,SEQ=401,ACK=101,WIN=0,SEQ=101,ACK=501,WIN=300,(1)(2)(3),6.3面向连接的传输层协议TCP,6、TCP拥塞控制,拥塞控制的基本功能是避免网络发生拥塞,或者缓解已经发生的拥塞。TCP/IP拥塞控制机制主要集中在传输层实现。TCP为了进行有效的拥塞控制,需要通过拥塞窗口cwnd(congestionwindow)来进行衡量网络的拥塞程度。注意,发送窗口的取值依据拥塞窗口和接收窗口中的较小的值,即Minrwnd,cwnd。rwnd在流量控制中已阐述,在下文中将只关注cwnd。,6.3面向连接的传输层协议TCP,6、TCP拥塞控制,慢启动拥塞避免快速重传快速恢复,6.3面向连接的传输层协议TCP,6、TCP拥塞控制,慢启动,拥塞避免,cwndssthresh,拥塞,3重复ACK,ssthresh=1/2cwndcwnd=1MSS,ssthresh=1/2cwndcwnd=ssthresh快速重传、快速恢复,6.3面向连接的传输层协议TCP,TCP的拥塞窗口cwnd大小(以报文段个数为单位)与传输轮次n的关系如图所示:(1)请画出拥塞窗口和传输轮次的关系曲线图。(2)请问各个传输轮次使用的是什么拥塞控制算法?(3)各个阶段的门限值ssthresh各是多大?(4)第40个报文段在第几个传输轮次发送?,6、TCP拥塞控制,6.3面向连接的传输层协议TCP,6、TCP拥塞控制,6.3面向连接的传输层协议TCP,7、TCP实例,内容纲要,传输服务无连接的传输层协议UDP面向连接的传输层协议TCP套接字,6.4套接字,1、套接字概念,UDP和TCP使用“端口号”作为计算机系统中高层应用进程的标识,而IP地址则标识了网络中的一台主机,IP地址和端口号的组合称为套接字。套接字和端口、IP地址的关系是:,6.4套接字,1、套接字概
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生物科技行业创新技术与市场前景研究报告
- 2025年医疗器械行业技术变革及市场前景研究报告
- 2025年智慧农业行业农业物联网技术发展前景分析报告
- 2025年区块链技术行业应用前景分析报告
- 商场员工安全培训通讯稿课件
- 2025年汽车行业新能源技术发展前景研究报告
- 2025年区块链技术在物流行业的应用前景分析报告
- 巴彦淖尔市2025内蒙古巴彦淖尔市直属乌兰牧骑(市歌舞剧院)招聘事业编制演职人员笔试历年参考题库附带答案详解
- 国家事业单位招聘2025国家农业农村部食物与营养发展研究所招聘笔试历年参考题库附带答案详解
- 国家事业单位招聘2025中国农业科学院蔬菜花卉研究所招聘编外财务人员1人笔试历年参考题库附带答案详解
- 2025-2026学年地质版(2024)小学体育与健康三年级(全一册)教学设计(附目录P123)
- CAD快捷命令to犀牛
- 机电控制与可编程序控制器技术课程设计
- 福建师范大学2023年815写作与翻译考研真题(回忆版)
- 《归园田居(其一)》《登高》《梦游天姥吟留别》联读课件 统编版高中语文必修上册
- 企业职工基本养老保险待遇申报表
- 幼儿园大班数学:《层级分类》 课件
- 质量管理体系建立运行情况报告
- 涉河建设项目审查管理体会及探讨课件-涉河建设项目管理及建设方案审查技术标准课件
- DB44∕T 1168-2013 轮扣式钢管脚手架构件
- 世界汽车工业课件
评论
0/150
提交评论