《计算机网络》第六章_第1页
《计算机网络》第六章_第2页
《计算机网络》第六章_第3页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

1、第六章 传输层传输层位于面向通信的低三层和面向信息处理的高三层之间,为高层用户提供独立于具体网络的、经济、有效和可靠的端到端数据传输服务。§ 6.1 传输服务传输层提供两种类型的服务:-面向连接的传输服务。-无连接的传输服务。传输服务的必要性:-可靠的服务:用户不能控制通信子网来满足自己所需的网络服务,只能在网络层上增加一个属于用户自己的传输层来保证所需的传输服务。应用程序便能采用一个标准服务质量、接口定义等五花-统一的接口:由于传输服务是独立于网络服务的, 统一的传输服务原语来调用各种不同的网络服务八门) 传输服务原语传输服务原语是传输用户用来访问传输服务的接口。 每种传输服务均有

2、各自的访 问原语。伯克利套接字( Berkeley Socket ) 面向连接的套接字通信连接的建立:-服务器端:执行SOCKET创建一个新的套接字通信端点并为其分配表空间。执行BIND为套接字分配一个本地地址和名字。执行LISTEN表示服务器进程愿意接受连接请求,并指定连接等待队列的最 大长度。执行ACCEP,阻塞服务器进程,等待客户的连接请求。一旦客户的连接请 求到达,传输实体即为其创建一个新的具有相同属性的套接字,并产生一 个进程或线程在新套接字上处理该连接。然后服务器进程回到原来的套接 字上继续监听连接请求。-客户端:执行SOCKET创建一个新的套接字通信端点。不需 BIND,执行CO

3、NNECT阻塞连接请求者并主动开始建立连接的进程。当服务器的应答到来后,客户进程被唤醒,连接即告建立。连接建立后,双方都可使用SEN和 RECEIV在已有的连接上发送和接收数据。连接的释放是对称的,当双方都执行了 CLOS后,连接即被释放。§ 6.2 传输协议 传输层协议与网络层提供的服务质量有很大关系。网络层提供的服务越完善,传 输层协议就越简单,反之,传输层协议越复杂。子网根据其提供的服务质量的差异可以分为三类:-A类:可提供完善的数据传输服务,分组的丢失、重复和错序等情况极少出现, 可忽略不计。有些局域网可提供接近 A 类的服务。-B类:单独的分组丢失很少发生,但网络层会因为内

4、部拥塞或软、硬件故障等 原因而时常发出N-RESE原语。传输层协议要纠正由于重置而出现的混乱,建 立新的网络连接, 重新同步, 恢复正常传输, 使传输服务用户对网络层出现的 重置一无所知。大多数广域网属于此类。-C类:这类子网提供的传输服务最不可靠。会出现分组丢失和重复,还可能出 现重置。提供数据报服务的广域网、无线分组交换网、以及互联网均属此类。传输层协议与网络服务质量的关系 建立连接( connection establishment )由于通信子网的不可靠性和存储能力,造成不可预知的延迟,使得可靠地建立传 输连接变得十分困难。一些解决的方法有:给每个连接分配一个唯一的连接标识, 每个传输

5、实体将用过的连接标识记在表 中,以区别新旧连接。限制分组的寿命:为每个分组设置一个寿命域(计数器),每隔一定的时间寿 命减1,减至0时就丢弃分组。可以设定一个时间T (根据不同的协议,为分组 最大寿命的若干倍),当一个分组发送后,经时间 T,所有和该分组有关的分 组就全不存在了,这大大简化了问题。为每台主机设置一个一直运转的计时时钟(二进制计数器,位数足够大),每 隔一定时间加1,当建立连接时,用时钟的低k位作为本连接的初始序号。此后 的发送序号按序递增,不再参考计数器值,但发送序号不能进入禁止区。基于时钟的方法解决了数据TPD的延迟重发问题,其前提条件是双方已建立了 传输连接,知道对方的初始

6、序号。但由于控制TPD也会延迟,造成建立传输连 接的复杂。可采用三次握手( three-way handshake )的方法加以解决。三次握手连接建立法 释放连接( connection release )释放传输连接有两种方式:非对称释放( asymmetric release ):任何一方发出断连请求即可终止连接。 容易造成数据丢失。对称释放( symmetric release ):一条连接的两个方向被看成是两个单独的 连接。一方发出断连请求表明它的数据已发送完毕, 但仍可以在连接上接收对 方的数据。只有双方都发出了断连请求,连接才被终止。三次握手连接释放法实际中采用的三次握手连接释放法

7、不是绝对可靠的,但已令人足以满意了。流量控制和缓冲策略传输层虽然和数据链路层一样都采用了滑动窗口协议等机制来实现流量控制, 但 由于传输层上(主机)的连接数多且不定,而中间通信子网的传输能力有限,不 可能为每条连接分配固定数量的缓冲区。由于发送流量涉及到接收端的接收能力和通信子网的传输能力, 因此必须从这两 个方面来讨论传输层上的流量控制。发送流量应该取接收端和通信子网所能允许的流量值中的较小值。从接收能力出发传输层连接须对收发双方动态地分配缓冲区数量: 发送端应向接收端申请所需的 缓冲空间(接收端一侧) ,接收端也应能根据情况决定为发送端预留多少空间 (动 态可变),通过确认及时告知发送端,

8、以便调整发送流量。死锁问题:-由于包含缓冲区分配数的控制TPDU(确认)可能会丢失,从而造成死锁。-解决方法:每台主机应定期向每个连接发送控制 TPDU动态缓冲的分配管理 从子网能力出发发送方采用可动态调整窗口大小的滑动窗口协议来匹配网络的承载能力发送方定期地监视网络的传输能力c (网络每秒钟可传输的TPD数量)和循环时 间r (从发出TPD到收到其确认为止所需的时间),然后计算出发送窗口的大小( cr )。-c可以简单地通过计算在某段时间间隔内确认的 TPD数除以时间间隔来决定 测量时应尽快发送数据。-r可以从发送端精确获得,一般取某段时间内的平均值。§6.4 因特网传输协议有两个

9、主要的协议:- 面向连接的 TCP( Transmission Control Protocol)协议- 无连接的 UDP( User Data Protocol )协议TC助、议TCP是专门设计用于在不可靠的In ternet上提供可靠的、端到端的字节流(非报 文流)通信的、议。-发送方TCP实体将应用程序的输出流分为不超过64k字节(实际通常为1500字 节)的数据片段(piece ),并将每个数据片段封装在一个IP分组中发送出去。-接收方TCP实体根据字节序号(32位)将接收到的各个数据片段组装成连续的 字节流交给应用程序。TCP艮务是通过收发双方分别创建的称为套接字(socket ,包

10、含IP地址和端口号)之间的连接来获得的。所有的TCP连接都是全双工的点到点的连接,不支持组播和广播。TCP勺基本数据单元TCP实体交换数据的基本单元(TPDU称作数据段(segme nt)。每个数据段包含 一个固定的 20字节的头(还可加一个可选部分)和若干数据字节,其总长度可在 建立连接时通过互向声明自己所能接收的最大段长 MSS(maximum segment size) 来选定或双方使用一个缺省的MSS(536字节),但MSS勺选取应使得每个段封装 成IP分组后,其长度不超过IP分组的载荷能力(65535字节)及相应网络的最大传输单元 MTU( maximum transfer unit

11、 )。TCP采用三次握手的方法建立连接服务器方执行LISTENSACCEP原语,被动监听;客户方执行connect原语,产生一个SYF为1和AC为0的TCP段表示连接请求; 服务器方的传输实体接收到这个TCP段后,首先检查是否有服务进程在所请求的 端口上监听,若没有,回答RS置位的TCf段;若有服务进程在所请求的端口上监听,该服务进程可以决定是否接受该请求。在 接受后,发出一个SYNS1和ACKS 1的TCP段表示连接确认,并请求与对方的连接;发起方收到确认后,发出一个SYNS 0和ACKS 1的TCP段表示给对方的连接确认; 若两个主机同时试图建立彼此间的连接,则只能建立一条连接。初始连接序

12、号的选择采用基于时钟的方案,每隔 4微妙初始连接序号加 1。 分组的最长寿命为 120秒。TCP采用对称释放法释放连接TC啲全双工连接可看成一个双单工的连接,每个单工连接都独立地释放。通信双方必须都向对方发送FIN=1的TCP段并得到对方的应答,连接才能被释放, 有四个阶段。可以将第一个AC数据段和第二个FIN数据段合并,从而变为三次握手。为防止半连接,必须使用定时器计时,对 FIN数据段的应答在两个最大分组生命 期内未到达,就释放连接。对方也会超时释放。TCF传输策略TC啲窗口管理机制-基于确认和可变窗口大小;-窗口大小为0时,正常情况下,发送方不能再发TCP段,但有两个例外 紧急数据可以发

13、送;为防止死锁,发送方可以发送1字节的TCP段,以便让接收方重新声明确认 号和窗口大小。如何改进传输层的性能?-策略1:发送方缓存应用程序的数据,等到形成一个比较大的段再发出;-策略2:在没有可能进行“捎带”的情况下,接收方延迟发送确认段;-策略3:使用Nagle算法:当应用程序每次向传输实体发出一个字节时,传输实体发出第一个字节并缓存所有其后的字节直至收到对第一个字节的确认; 然后 将已缓存的所有字节组段发出并对再收到的字节缓存,直至收到下一个确认;-策略4:使用Clark算法解决傻窗口症状(silly window syndrome ) 傻窗口症状:当应用程序一次从传输层实体读出一个字节时

14、,传输层实体 会产生一个一字节的窗口更新段,使得发送方只能发送一个字节; 解决办法:限制收方只有在具备一半的空缓存或最大段长的空缓存时,才 产生一个窗口更新段。TCF的拥塞控制由于当前网络传输介质的可靠性越来越高,所以 TCP实体认为超时就是网络拥塞 造成的,可根据超时来判断是否发生拥塞。出现拥塞的两种情况-快网络小缓存接收者-慢网络大缓存接收者-导致网络拥塞的两个潜在因素是:网络能力和接收能力。TCP处理第一种拥塞的措施-在连接建立时声明最大可接受段长度;-利用可变滑动窗口协议防止出现拥塞;TCP处理第二种拥塞的措施-发送方维护两个窗口 :可变发送窗口和拥塞窗口,按两个窗口的最小值发送;-拥塞窗口依照慢启动 (slow start )算法和拥塞避免(congestion avoidanee ) 算法变化。拥塞控制算法慢启动( slow start )算法:建立连接时,拥塞窗口被初始化成该连接支持的最 大段长度,发送一个最大长度的段,若没有超时,则对拥塞窗口加倍扩大,发送 两个最大长度的段,重复此过程,直至最终达到接收窗口大小(即为发送的有效 窗口)或发生超时(取此时拥塞窗口的一半作为发送的有效窗口)。In ternet的拥塞控制算法:初始设置临界值(threshold )为64kB,若发生超时, 将临界值设为当前拥塞窗口的 1/2

温馨提示

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

评论

0/150

提交评论