第七章-传输层new.ppt_第1页
第七章-传输层new.ppt_第2页
第七章-传输层new.ppt_第3页
第七章-传输层new.ppt_第4页
第七章-传输层new.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、主要内容:,传输层的主要功能 进程的复用和分用 UDP协议TCP协议 传输层的连接管理 传输层的流量控制 传输层的重传机制,8.1 传输层的主要功能,网络层的主要不足: 面向无连接,不可靠 对数据不检错 传输层是网络层的重要补充: 实现端到端的可靠通信 实现进程的复用和分用 实现进程管理,运输层只存在于通信子网以外的主机中,运输层为应用进程之间提供逻辑通信(收发员),但网络层是为主机之间提供逻辑通信(收发室).,端口与端口号: 应用层和传输层之间的接口实际上为缓冲区,用16bit的端口号进行标识(065535) 熟知端口(01023):分配给常用的应用层程序固定使用的如FTP(21),TELN

2、ET(23),SMTP(25),DNS(53),HTTP(80),SNMP(161) 一般端口(102465535):用来随时分配给请求通信的客户进程,显然不固定。 插口(socket):IP地址端口号,在整个因特网中,通信的一对插口必须是唯一的。,利用传输层屏蔽下层的不同 传输层还执行许多其它功能。它的主要作用之一是为更高层协议屏蔽下层操作的细节。传输层的目标是在源端机和目的主机之间提供可靠或不可靠的传输服务,而且由于传输服务独立于网络服务,故可以采用一个标准的原语集提供传输服务(不必经过会话层和表示层),用传输服务原语编写的应用程序能广泛地适用于各种网络。,8.2 TCP/IP中的传输层,

3、两种不同的协议 传输层主要提供面向连接的服务,但面向连接的服务效率低,尤其对于突发性的短报文通信,所以在TCP/IP模型中有辅以面向无连接的服务。具体地为: TCP协议传输控制协议,面向连接 UDP协议用户数据报协议,面向无连接,常用的应用层服务(协议)所用的传输层协议,8.3 UDP协议,UDP协议的用途 (1)发送数据之前不需要建立连接(当然发送数据结束时也没有连接需要释放),因而减少了开销和发送数据之前的时延。 (2)UDP没有拥塞控制,也不保证可靠交付,因此主机不需要维持具有许多参数的、复杂的连接状态表。 (3)UDP用户数据报只有8个字节的首部开销,比TCP的20个字节的首部要短。

4、(4)由于UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。,UDP格式 伪首部:真首部只包含端口号。但在计算检验和时,用的是IP地址端口号。 检错方法:IP数据报所用的方法相似即检验和 检验范围:首部数据 差错处理由上层保证,但常常被忽略,所以仅在LAN上工作得很好 无序号(?) 可见用户数据报协议UDP只在IP的数据报服务之上增加了端口的功能和差错检测的功能,主要应用于选路协议RIP、网络管理协议SMTP等短且可靠性要求不高的数据报文的传输。,8.4 TCP协议,TCP服务 定时当系统的条件不能按用户定义的超时参数及时传递数据时,TCP通知自己的高层协议,告诉它服务失败。高

5、层协议随后可能会中止该连接或采取其它一些措施。 有序实际上协议本身不能完全保证。 标记TCP在建立连接时,相互之间协商由高层协议提出的安全性和优先级要求,若在连接期间出现了安全性的值不匹配情况,TCP将中断该连接。,流量控制TCP在其连接的通信过程中,能够调整流量,以防止内部的TCP数据传递出现拥挤,从而导致服务质量下降和出错。 错误控制TCP能在它的检验和所允许的范围内保证数据的无差错传递。 总结:TCP协议的功能是保证数据报文正确、有序、及时地到达目的地,同时防止网络出现拥塞。,TCP的报文编号与确认,TCP不是按传送的报文段来编号,而是按字节流编号。 TCP将所要传送的整个报文(这可能包

6、括许多个报文段)看成是一个个字节组成的数据流,然后对每一个字节编一个序号。 在连接建立时,双方要商定初始序号。 TCP的确认是对接收到的数据的最高序号表示确认。但返回的确认序号是已收到的数据的最高序号加1。 由于TCP能提供全双工通信,因此通信中的每一方都不必专门发送确认报文段,可以在传送数据时捎带传送确认信息。,TCP的重传,若发送方在规定的设置时间内没有收到确认,就要将末被确认的报文段重新发送。接收方若收到有差错的报文段,则丢弃此报文段(不发送否认信息)。若收到重复的报文段,也要将其丢弃,但要发回(或捎带发回)确认信息。这与数据链路层非常类似。,TCP的排序 若TCP收到的报文段无差错,只

7、是末按序号,那么应如何处理?TCP对此未作明确规定,而是让TCP的实现者自行确定。可行的方法是或者将不按序的报文段丢弃,或者先将其暂存于接收缓存内,待所缺序号的报文段收齐后再一起上交应用层。如有可能,采用后一种策略对网络的性能会更好些。,TCP性能的改善,推迟发送NagIe算法 应对傻瓜窗口 在TCP的实现中广泛使用,具体算法如下: 若数据是逐个字节地到达发送端,则发送端就将第一个字符先发送出去,将后面到达的字符都缓存起来; 当收到对第一个字符的确认后,再将缓存中的所有字符装成一个报文段发送出去,同时继续对到达的字符进行缓存; 只有在收到确认后才继续发送下一个报文段; 算法还规定,当到达的字符

8、已达到接收端缓存的空间的一半大小或已达到报文段的最大长度时,就立即发送下一个报文段。 但有时不宜采用Nagle算法。?,推迟确认 应对糊涂窗口综合症(sillywindowsyndrome) 设想这种情况:接收端的缓存己满,而交互式的应用进程一次只从缓存中读取一个字符(这样就在缓存产生 1个字节的空位子),然后向发送端发送确认,并通知窗口为1个字节(但发送的数据报是40字节长)。接着,发送端又发来1个字符(但发来的数据报是41字节长)。接收端发回确认,仍然通知窗口为1个字节。如此进行下去,网络的效率当然很低。要解决这个问题,可让接收端等待一段时间,使得缓存 己能有足够的空间容纳一个最长的报文段

9、 或者已有一半的空间处于空的状态。 只要出现这两种情况之一,就发出确认报文,并向发送端通知当前的窗口大小。,8.5 TCP的流量控制,TCP采用可变发送窗口的方式进行流量控制。 发送窗口的大小写在TCP报文段首部的窗口字段。 在连接建立时发送窗口大小由双方商定。 在通信的过程中,接收端可根据自己的资源情况,随时动态地调整。 P203图88表示的是在TCP中使用的窗口概念。,8.6 TCP的拥塞技术,一. 拥塞窗口的设置 基于接收端的流量控制仅能保证接收端来得及接收。但如果发送端发送报文的速率太快会造成网络的拥塞。 为了避免发生拥塞,发送端主机应主动控制发送速率,发送端的发送窗口应按以下方式确定

10、: 发送窗口=Min通知窗口,拥塞窗口 通知窗口是接收端根据其接收能力许诺的窗口值,是来自接收端的流量控制。 拥塞窗口是发送端根据网络拥塞情况得出的窗口值,是来自发送端的流量控制。,二. 拥塞控制技术,指拥塞窗口的大小控制技术。 因特网标准推荐使用以下三种技术,即慢启动、加速递减和拥塞避免,具体以拥塞控制操作步骤说明: (1) 当一个连接初始化时,将拥塞窗口置为1(即窗口允许发送1个报文段)。并设置慢启动的门限窗口值。 (2) 发送端若收到了对所有发出的报文段的确认,就在下一次发送时将拥塞窗口加倍。若出现了超时,则将当时的拥塞窗口值减半,作为新的门限窗口值,同时拥塞窗口再次变为1。 (3) 拥

11、塞窗口重新从1开始按指数规律增长。但当增长到新的门限窗口值(增长快慢的分界线)时,就每次只将拥塞窗口加1,使拥塞窗口按线性规律增长。当网络又出现超时,仍重复上述过程。,在上述步骤中,TCP共用了三种拥塞控制技术: 慢启动 是指每出现一次超时,拥塞窗口都降低到1,使报文段慢慢注人到网络中(不过这个名词不太准确,因为拥塞窗口增长的速率并不很慢)。 加速递减 是指每出现一次超时,就将门限窗口值减半。若超时频繁出现,则门限窗口减小的速率是很快的。 拥塞避免 是指当拥塞窗口增大到门限窗口值时,就将拥塞窗口指数增长速率降低为线性增长速率,避免网络再次出现拥塞。 P255习题726,8.7 TCP的重传机制

12、,一. 重传问题 重传机制是TCP中最重要和最复杂的问题之一。 这是因为TCP下层的互连网环境是一个非常复杂的环境:差异性与动态性。 P205图810画出了数据链路层和运输层的往返时延概率分布的对比: 对于数据链路层,其往返时延的方差很小,因此将超时时间设置为最大时延,即如图中的Tl即可。 对网络层来说,其往返时延的方差很大。超时时间设置最小如图中的T2,或最大如图中的T3都不合适。,二. TCP重传处理 TCP采用了一种自适应算法: (1)记录每一个报文段发出的时间,以及收到相应的确认报文段的时间,并以这两个时间之差作为报文段的往返时延。将各个报文段的往返时延样本加权平均,就得出报文段的平均

13、往返时延T。 (2)另外每测量到一个新的往返时延样本(不一样的),就按下式重新计算一次平均往返时延: 平均往返时延T=(旧的往返时延 T)+(1-)(新的往返时延样本) 式中,0 1。若接近于1,表示新算出的往返时延T和原来的值相比变化不大,即新的往返时延样本的影响不大(T值更新较慢)。若选择a接近于零,则表示加权计算的往返时延T受新的往返时延样本的影响较大(T值更新较快)。典型的权值为7/8。,(3)计时器所设的重传时间应略大干上面的平均住返时延,即 重传时间= (平均往返时延) 这里是个大于1的系数。实际上,系数值是很难确定的。若取接近于1,则发送端可以很及时地重传丢失的报文段,从而可以提

14、高效率。但若报文段并未丢失,而仅仅是增加了一点时延,那么过早地重传未收到确认的报文段,则反而会加重网络的负担。 TCP的标准推荐值取为2。,(4)多次重传时延 Kam算法:报文段每重传一次,就将重传时间增大一些: 新的重传时间=(旧的重传时间) 这里系数的典型值是2。,8.8 TCP报文段的格式,TCP首部最小长度是20字节。固定部分各字段的意义如下: 源端口和目的端口各占2个字节。16bit的端口号加上32bit的IP地址,构成了相当于运输层服务访问点TSAP的地址(总共是48bit)。 序号占4字节,是本报文段所发送的数据部分第一个字节的序号。 由于序号字段有32bit,可对4GB(即4干

15、兆字节)的数据进行编号。这样就可保证当序号重复使用时,旧序号的数据早已在网络中消失了。,确认序号占4字节,是期望收到对方下次发送的数据的第一个字节的序号,也就是期望收到的下一个报文段首部中的序号。 数据偏移占4bit,它指出数据开始处与TCP报文段起始处之间的距离这实际上就是TCP报文段首部的长度(最大?)。,6个比特控制字段(或称为标志) : 紧急比特URG 当其为l时,表明此报文段应尽快传送(相当于高优先级),例如从键盘发出中断信号; 确认比特ACK 只有当ACK=l时确认序号字段才有意义。当ACK0时,确认序号没有意义。 急迫比特PSH 当PSH=l时,表明请求远地TCP将本报文段立即传

16、送给其应用层,而不要等到整个缓存都填满了后再向上交付。 复位比特RST 当RST=l时,表明出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重建运输连接。复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接。,同步比特SYN 在连接建立时使用。当SYNl而ACK0时,表明这是一个连接请求报文段。对方若同意建立连接,则应在发回的报文段中使SYNl和ACK=l。因此,同步比特SYN置为1时,就表示这是一个连接请求或连接接受报文,而ACK比特的值用来区分是哪一种报文。 终止比特FIN 用来释放一个连接。当FTN=l时,表明欲发送的字节串己经发完,并要求释放运输连接。,窗口 占2字节(?

17、一次最多可连续发送多少数据)。窗口字段是报文段发送方的接收窗口,单位为字节。 检验和 占2字节。检验和字段检验的范围包括首部和数据这两部分。但和用户数据报UDP一样,在计算检验和时,用的是伪首部来计算检验和。 选项 长度可变。TCP只规定了一种选项,即最大报文段长度MSS(Maximum SegmentSize)。MSS告诉对方的TCP:我的缓存所能接收的报文段的最大长度是MSS。,MSS的选择并不简单。“当MSS长度减小时,网络的利用率就降低。但反过来,若TCP报文段非常长,那么在IP层传输时就可能要分解成多个短数据报片。在目的站要将收到的各个短数据报片装配成原来的TCP报文段。另外传输出错

18、的概率也要增大。 一般认为,MSS应尽可能大些,只要在 IP层传输时不需要再分片就行。在连接建立的过程中,双方部将自己能够支持的最大报文长度MSS写入这一字段。在以后的数据传送阶段,MSS取双方提出的较小时那个数值。 若主机未填写这项,则MSS的默认值是536字节长的净负荷。因此,所有在因特网上的主机都应能够接受的报文段长度是53620=556字节。,8.9 TCP的传输连接管理,一. 连接应解决的问题: (1)要使每一方能够确知对方的存在。 (2)要允许双方协商一些参数 (如最大报文段长 度、最大窗口大小、服务质量等)。 (3)能够对传输实体资源(如缓存大小、连接表中 的项目等)进行分配。,

19、二. 连接的建立三次握手,TCP的连接和建立都是采用客户/服务器方式-主动发起连接建立的进程叫做客户(client),而被动等待连接建立的进程叫做服务器(Server): 服务器端:服务器进程运行后,先发出一个被动打开(passive open)命令,告诉其TCP要准备接受客户进程的连接请求。然后服务器进程就处于“听”(listen)的状态(永久性的),不断检测是否有客户进程要发起连接请求。如有,即作出响应。 客户端:客卢进程运行后先向其TCP发出主动打开(active open)命令(临时性的),表明要向某个IP地址的某个端口建立运输连接。,例:P249图716 第一次握手 主机A的TCP向

20、主机B的TCP发出连接请求报文段,其首部中的同步比特SYN应该为1,同时选择一个序号X,表明在后面传送数据时的第一个数据字节的序号是X; 第二次握手 主机B的TCP收到连接请求报文段后,如同意,则发回确认。在确认报文段中应将SYN置为1,确认序号应为X+l,同时也为自己选择一个序号y。,第三次握手 主机A的TCP收到此报文段后,还要向B给出确认,其确认序号为y+l。同时主机A的TCP通知上层应用进程,连接已经建立(或打开)。当运行服务器进程的主机B的TCP收到主机A的确认后,也通知其上层应用进程,连接巳经建立。 书中ACKX1表示法不太正确,三. 连接的释放四次握手,在数据传输结束后,通信的双方都需

温馨提示

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

评论

0/150

提交评论