《计算机网络》课件-3传输层_第1页
《计算机网络》课件-3传输层_第2页
《计算机网络》课件-3传输层_第3页
《计算机网络》课件-3传输层_第4页
《计算机网络》课件-3传输层_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

传输层传输层的作用是在通信子网提供的服务的基础上,为上层应用层提供有效的、合理的传输服务。使高层用户在相互通信时不必关心通信子网的实现细节和具体服务质量。

主要阐述无连接的传输层协议UDP和面向连接的传输层协议TCP两大传输层协议,最后简述套接字和套接字编程的基本概念。

3.1传输服务传输层又称为运输层,位于应用层和网络层之间,是分层网络体系结构的核心部分。传输层用于增强和弥补通信子网的服务不足,提供主机之间有效、合理的传输服务。设置传输层的理由:3.1传输服务

应用进程…

应用进程…

IP协议的作用范围(提供主机之间的逻辑通信)TCP和UDP协议的作用范围(提供进程之间的逻辑通信)因

网(1)两个主机进行通信实际上是两个主机中的应用进程互相通信

3.1传输服务传输层的复用和分用

进程传输层复用IP数据报传输层分用IP数据报TSAPNSAP

3.1传输服务从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。

物理层网络层传输层应用层数据链路层面向信息处理面向通信用户功能通信子网端系统3.1传输服务为了提高传输效率,IP首部中的首部校验和字段只检验IP数据报首部是否出现差错而不检查数据部分传输层TCP和UDP的校验和既要校验首部也要校验数据部分,并且只在发送端进行一次校验和计算,在接收端进行一次检测(2)传输层对整个报文段进行差错校验和检测

3.1传输服务当传输层采用面向连接的协议(如TCP)时,它为应用进程在传输实体间建立一条全双工的可靠逻辑信道,尽管下面的网络可能是不可靠的(如IP交换网络)。当传输层采用如UDP这样的无连接协议时,这种逻辑信道是不可靠的。

(3)根据应用的不同,传输层需要执行不同的传输协议来提供不同的传输服务

3.1传输服务用户不能对通信子网加以控制,无法解决网络层的服务质量不佳问题应用层协议如果强调数据传输的可靠性,那么选择TCP较好,分组的丢失、残缺甚至网络重置都可以被传输层检测到,并采取相应的补救措施。如果应用层协议强调实时应用要求,那么选择UDP为宜。(4)传输层的存在使得传输服务比网络服务更加合理有效

3.1传输服务(5)传输层采用一个标准的原语集提供传输服务由于传输服务独立于网络服务,故可以采用一个标准的原语集提供传输服务。为网络向高层提供了一个统一的服务界面,所以用传输服务原语编写的应用程序就可以广泛适用于各种网络。3.1传输服务一个传输层协议通常可同时支持多个进程的连接。若通信子网所提供的服务越多,传输协议就可以做得越简单。若网络层提供虚电路服务,那就能保证报文无差错、不丢失、不重复、并且按序地进行可靠交付,因而传输协议就很简单。但若网络层提供的是不可靠的数据报服务,如果要保证传输服务质量,则要求主机有一个复杂的传输协议。

传输层的主要功能3.1传输服务向上提供可靠的和不可靠的逻辑通信信道?应用层运输层发送进程接收进程接收进程数据数据全双工可靠信道数据数据使用TCP协议使用UDP协议不可靠信道

发送进程3.1传输服务传输层协议的选择是根据高层用户的需要和低层网络协议提供的服务来决定的。高层对传输层服务的要求T通信子网所提供的服务

N传输层协议=T-N传输层协议的分类3.1传输服务

网络提供的服务质量网络连接具有可接受低残留差错率和可接受低故障通知率网络连接具有可接受的低残留差错率和不可接受的高故障通知率网络连接具有不可接受的高差错率A型B型C型3.1传输服务OSI参考模型中的传输层协议分类TP1TP2)TP3TP4TP0差错恢复与复用类支持B型网络差错检测和恢复、复用类支持C型网络简单类

支持A型网络

复用类支持A型网络基本差错恢复类支持B型网络OSI3.1传输服务传输层的UDP和TCP都使用了端口(port)与上层的应用进程进行通信,端口就是传输层服务访问点TSAP(也就是与应用进程的接口)

端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。从这个意义上讲,端口是应用层进程的标识。

2、传输层编址3.1传输服务

2、传输层编址RPC111()SNMP131()TFTP39()SMTP25()FTP21()HTTP80()UDPTCPIP应用层传输层网络层3.1传输服务

2、传输层编址其数值一般为0~1023。这些端口号是TCP/IP体系确定并公布的熟知端口用来随时分配给请求通信的客户进程一般端口端口类型3.1传输服务

3、无连接服务和面向连接服务无连接的服务面向连接的服务通信之前不需要建立连接数据通信之前需要建立连接,传输过程中需要保持连接,数据通信完毕之后连接释放数据按顺序发送,但未必按顺序接收按序接收不可靠服务可靠服务协议简单,效率高协议复杂,效率不高3.1传输服务协议层次无连接的服务面向连接的服务传输层UDPTCP网络层IPX.25分组级数据链路层CSMA/CDHDLC,PPP

3、无连接服务和面向连接服务3.2无连接的传输层协议UDPUDP是一个简单的面向用户数据报的传输层协议。应用进程的输出正好产生一个UDP数据报,并组装成一个待发送的IP数据报。UDP只在IP的数据报服务之上增加了很少一点的功能,即端口的功能和有限的差错检测功能。1、UDP概述3.2无连接的传输层协议UDPUDP是无连接的。在传输数据前不需要与对方建立连接。UDP提供不可靠的服务。数据可能不按发送顺序到达接收方,也可能会重复或者丢失数据。UDP同时支持点到点和多点之间的通信。UDP是面向报文的。

1、UDP概述3.2无连接的传输层协议UDP2、UDP首部格式

伪首部源端口目的端口长

度检验和数

据首

部UDP长度源IP地址目的IP地址017IP数据报字节44112122222字节发送在前数

据首

部UDP用户数据报3.2无连接的传输层协议UDP2、UDP首部格式

伪首部源端口目的端口长

度检验和数

据首

部UDP长度源IP地址目的IP地址017IP数据报字节44112122222字节发送在前数

据首

部UDP用户数据报

用户数据报UDP有两个字段:数据字段和首部字段。首部字段有8个字节,由4个字段组成,每个字段都是两个字节。3.2无连接的传输层协议UDPUDP用户数据报的首部中检验和用来检验整个用户数据报(首部加数据部分)出现的差错。在计算检验和时在UDP数据报之前要增加12个字节的伪首部。所谓“伪首部”是因为这种首部只在计算UDP校验和的时候使用,既不向下层传送,也不向上层递交。

2、UDP首部格式

3.2无连接的传输层协议UDP2、UDP首部格式

伪首部源端口目的端口长

度检验和122222字节源IP地址目的IP地址0协议长度3.2无连接的传输层协议UDP2、UDP首部格式

网络需传输的UDP数据报数据如下,以13进制数表示,其中第一行数据是IP数据报首部的内容,第二行数据是UDP数据,请计算其UDP校验和。45000020f91200008011bf9fc0a80034c0a8003313311389000c??

??504341553.2无连接的传输层协议UDP2、UDP首部格式

UDP首部的校验和字段设置为0,如果UDP数据域长度为奇数的话,则填充一个“0”字节将UDP首部和数据部分按照13位为单位划分伪首部部分参与校验和计算进行反码求和运算最后对累加的结果取反码,即得到UDP校验和3.2无连接的传输层协议UDP3、UDP实例

协议名称协议默认端口使用UDP协议原因说明域名系统DNS53为了减少协议的开销动态主机配置协议DHCP67需要进行报文广播简单文件传输协议TFTP69实现简单,文件需同时向许多机器下载简单网络管理协议SNMP161网络上传输SNMP报文的开销小路由选择信息协议RIP520实现简单,路由协议开销小实时传输协议实时传输控制协议RTPRTCP50045005因特网的实时应用3.3面向连接的传输层协议TCPTCP是面向连接的TCP提供可靠的服务TCP只能进行点到点的通信TCP是面向字节流的1、

TCP概述TCP的基本概念3.3面向连接的传输层协议TCPTCP首部20字节的固定首部目

口数据偏移检

和选

(长

变)源

口序

号紧

针窗

口确

号保

留FIN32bitSYNRSTPSHACKURG比特08162431填

充TCP数据部分TCP首部TCP报文段IP数据部分IP首部发送在前TCP首部20字节固定首部目

口数据偏移检

和选

(长

变)源

口序

号紧

针窗

口确

号保

留FINSYNRSTPSHACKURG比特08162431填

充源端口和目的端口字段——各占2字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。

TCP首部20字节固定首部目

口数据偏移检

和选

(长

变)源

口序

号紧

针窗

口确

号保

留FINSYNRSTPSHACKURG比特08162431填

充序号字段——占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。

TCP首部20字节固定首部目

口数据偏移检

和选

(长

变)源

口序

号紧

针窗

口确

号保

留FINSYNRSTPSHACKURG比特08162431填

充确认号字段——占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。TCP首部20字节固定首部目

口数据偏移检

和选

(长

变)源

口序

号紧

针窗

口确

号保

留FINSYNRSTPSHACKURG比特08162431填

充数据偏移——占4bit,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。“数据偏移”的单位不是字节而是

32bit

字(4字节为计算单位)。

TCP首部20字节固定首部目

口数据偏移检

和选

(长

变)源

口序

号紧

针窗

口确

号保

留FINSYNRSTPSHACKURG比特08162431填

充标志位含义URG表明此报文段中包含紧急数据。ACK表明确认号字段有效。PSH表明应尽快将此报文段交付给接收应用程序。RST表明TCP连接出现严重差错,须释放连接,然后再重新建立连接。SYN在连接建立是用来同步序号。FIN用来释放一个连接。

3.3面向连接的传输层协议TCPTCP首部20字节固定首部目

口数据偏移检

和选

(长

变)源

口序

号紧

针窗

口确

号保

留FINSYNRSTPSHACKURG比特08162431填

充窗口字段——占2字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。TCP首部20字节固定首部目

口数据偏移检

和选

(长

变)源

口序

号紧

针窗

口确

号保

留FINSYNRSTPSHACKURG比特08162431填

充检验和——占2字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在TCP报文段的前面加上12字节的伪首部。TCP首部20字节固定首部目

口数据偏移检

和选

(长

变)源

口序

号紧

针窗

口确

号保

留FINSYNRSTPSHACKURG比特08162431填

充紧急指针字段——占16bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。TCP首部20字节固定首部目

口数据偏移检

和选

(长

变)源

口序

号紧

针窗

口确

号保

留FINSYNRSTPSHACKURG比特08162431填

充选项字段——长度可变。TCP只规定了一种选项,即最大报文段长度MSS(MaximumSegmentSize)。MSS告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是MSS个字节。”MSS是TCP报文段中的数据字段的最大长度。数据字段加上TCP首部才等于整个的TCP报文段。MSS=TCP报文长度

-TCP首部长度TCP首部20字节固定首部目

口数据偏移检

和选

(长

变)源

口序

号紧

针窗

口确

号保

留FINSYNRSTPSHACKURG比特08162431填

充填充字段——这是为了使整个首部长度是

4字节的整数倍。3.3面向连接的传输层协议TCP3、

TCP连接管理

建立连接——三次握手SYN=1,SEQ=xACK=1,ACK=x+1SYN=1,SEQ=yACK=1,SEQ=x+1

ACK=y+13.3面向连接的传输层协议TCP3、

TCP连接管理

建立释放——四次握手(文雅释放)FIN=1,SEQ=mACK=1,ACK=m+1FIN=1,SEQ=nACK=m+1ACK=1,SEQ=m+1ACK=n+1半关闭状态双向关闭状态3.3面向连接的传输层协议TCPTCP将连接可能处在的状态及各状态可能发生的变迁,画成状态转移图的形式,称为有限状态机。图中每一个方框即TCP可能具有的状态,方框中的字是TCP标准使用的状态名;状态之间的箭头表示可能发生的状态变迁,箭头旁边的字表示变迁的原因,或状态变迁后又出现的动作。

TCP的有限状态机3、

TCP连接管理

T

C

P

CLOSEDESTABLISHEDLISTENCLOSE_WAITFIN_WAIT_1SYN_RCVDFIN_WAIT_2CLOSINGTIME_WAITSYN_SENTLAST_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定时经过两倍报文段寿命后关闭3.3面向连接的传输层协议TCPTCP将所要传送的整个应用层报文(这可能要嵌在多个报文段中发送)看成是一个个字节组成的数据流,然后对每一个字节编一个序号。在连接建立时,双方要商定初始序号。TCP就将每一次所传送的报文段中的第一个数据字节的序号,放在TCP首部的序号字段中。

4、

TCP可靠传输

确认机制3.3面向连接的传输层协议TCPTCP的确认是对接收到的数据的最高序号表示确认。接收端返回的确认号是已收到的数据的最高序号加1。因此确认号表示接收端期望下次收到的数据中的第一个数据字节的序号。

为提高效率,TCP可以累积确认,即在接收多个报文段后,一次确认。4、

TCP可靠传输

确认机制3.3面向连接的传输层协议TCP4、

TCP可靠传输用TCP传送112字节的数据。设窗口为100字节,而TCP报文段每次也是传送100字节的数据。再设发送端和接收端的起始序号分别选为l00和200,试画出连接建立阶段到连接释放的图。

3.3面向连接的传输层协议TCP4、

TCP可靠传输3.3面向连接的传输层协议TCP4、

TCP可靠传输

超时重传机制由于TCP的下层是一个互连网环境,IP数据报所选择的路由变化很大。因而运输层的往返时延的方差也很大。时间数据链路层运输层T1T2T3往返时延的概率分布3.3面向连接的传输层协议TCP4、

TCP可靠传输RTT自适应算法计算一次平均往返时延:RTTnew=RTTsample

(第一次测量)RTTnew=α×RTTold+(l-α)×RTTsample(第二次以后的测量),上式中RTTold是前次测量的RTTnew在上式中对0≤α<1。典型的α值为7/8。

3.3面向连接的传输层协议TCP4、

TCP可靠传输RTTD算法引入RTT的偏差的加权平均值RTTDnew,计算方法如下:RTTDnew=RTTsample/2(第一次测量)RTTDnew=β×RTTDold+(l-β)×|RTTnew-RTTsample|(第二次以后的测量)在上式中对0≤β<1。典型的β值为3/4。3.3面向连接的传输层协议TCP4、

TCP可靠传输RTO算法最后,超时重传时间RTO采用以下公式计算出来:RTO=RTTnew+4×RTTDnewKarn提出了一个算法:在计算平均往返时延时,只要报文段重发了,就不采用其往返时延样本。这样得出的平均往返时延和重发时间较准确。

3.3面向连接的传输层协议TCP4、

TCP可靠传输

定时器重传定时器持续定时器保活定时器3.3面向连接的传输层协议TCP5、

TCP流量控制TCP采用大小可变滑动窗口的方式进行流量控制。窗口大小的单位是字节。根据接收方接收能力,通过接收窗口rwnd(receivewindow)可以实现端到端的流量控制,接收端将接收窗口rwnd的值放在TCP报文的首部中的“窗口”字段,传送给发送端。3.3面向连接的传输层协议TCP5、

TCP流量控制发送窗口在连接建立时由双方商定初始值。在通信的过程中,接收端可根据自己的资源情况,随时动态地调整自己的接收窗口,然后告诉发送方,使发送方的发送窗口和自己的接收窗口一致。这种由接收端控制发送端的做法,在计算机网络中经常使用。

3.3面向连接的传输层协议TCP5、

TCP流量控制TCP采用大小可变滑动窗口的方式进行流量控制。根据图3-13的通信情况,设主机A向主机B发送数据。双方商定的窗口值是500。设每一个报文段为100字节长,序号的初始值为1。请问接收方对发送方进行了几次的流量控制?

3.3面向连接的传输层协议TCP5、

TCP流量控制主机A主机BSEQ=1,WIN=500SEQ=101ACK=101,WIN=400SEQ=201SEQ=301SEQ=401ACK=101,WIN=0SEQ=101ACK=501,WIN=300(1)(2)(3)3.3面向连接的传输层协议TCP6、

TCP拥塞控制拥塞控制的基本功能是避免网络发生拥塞,或者缓解已经发生的拥塞。TCP/IP拥塞控制机制主要集中在传输层实现。TCP为了进行有效的拥塞控制,需要通过拥塞窗口cwnd(congestionwindow)来进行衡量网络的拥塞程度。注意,发送窗口的取值依据拥塞窗口和接收窗口中的较小的值,即Min[rwnd,cwnd]。rwnd在流量控制中已阐述,在下文中将只关注cwnd。

3.3面向连接的传输层协议TCP6、

TCP拥塞控制慢启动拥塞避免快速重传快速恢复3.3面向连接的传输层协议TCP6、

TCP拥塞控制慢启动拥塞避免cwnd≥ssthresh拥塞3重复ACKssthresh=1/2cwndcwnd=1MSSssthresh=1/2cwndcwnd=ssthresh快速重传、快速恢复3.3面向连接的传输层协议TCPTCP的拥塞窗口cwnd大小(以报文段个数为单位)与传输轮次n的关系如图所示:(1)请画出拥塞窗口和传输轮次的关系曲线图。(2)请问各个传输轮次使用的是什么拥塞控制算法?(3)各个阶段的门限值ssthresh各是多大?(4)第40个报文段在第几个传输轮次发送?

6、

TCP拥塞控制CWND12481617181920n123456789CWND124810111267n1011121314151617183.3面向连接的传输层协议TCP6、

TCP拥

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论