版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机网络,第六章 传输层,主要内容,传输层编址 建立传输连接 释放传输连接 流量控制 因特网的传输层 套接字接口,传输层的功能,传输层要解决的问题: 为运行在不同主机上的应用进程提供逻辑通信功能。 设置传输层的两个原因: 为端系统上运行的多个进程提供多路复用和解多路复用的功能。 为应用进程提供所需的数据传输服务。 传输层还必须向应用程序提供一组易于使用的操作(称传输服务接口)。,1. 传输层编址,为指明将数据包交给哪个进程处理,每个进程需要一个标识。 在网络环境中标识进程的方法是为每个进程指定一个传输地址,其一般性术语为传输服务访问点TSAP。 传输地址是传输层通信的端点: 每个TSAP上绑
2、定一个应用进程,应用进程通过各自的TSAP调用传输层服务。 传输实体通过本地的NSAP调用网络层服务,与远程的对等传输实体通信。,TSAP、NSAP和传输实体的关系,传输层地址的获取,客户进程如何获知服务员进程的TSAP? 使用众所周知地址:适用于常用的标准服务。 使用进程服务员:适用于不常用的服务。 TSAP的实现: TSAP只是一种抽象,具体实现方法取决于不同的系统,通常可由一个消息队列实现。,2. 建立传输连接,在一个不可靠的数据报网络中可靠地建立传输连接的关键,是排除无关的重复包对连接建立过程的干扰。 一些措施: 给每个连接指定连接标识,每个主机记录已使用过的连接标识;可靠性及扩展性均
3、较差。 给每个数据包规定寿命,在寿命减为0时丢弃分组。 引入时间T,规定主机在重启后至少等待T时间再建立连接,确保崩溃前发送的分组都已消亡。 确保TPDU的序号空间不重叠: 采用基于时钟的算法确定起始序号 控制T和数据包寿命,确保序号空间不重叠。 采用三次握手过程可靠交换各自的起始序号。,三次握手建立传输连接,3. 释放传输连接,两种释放连接的方法 不对称释放:任何一方释放连接,连接即被释放;易造成数据丢失及形成半开的连接。 对称释放:一条传输连接被看成是由两个方向上的单工连接组成,一方释放连接只是表示数据发完了,但仍可在另一个方向上接收数据。双方均释放连接,连接才被释放。 三次握手释放传输连
4、接 正常释放:主动方发出DR,响应方收到一次DR。 异常:主动方发出DR,响应方从未收到DR,形成半开的连接。 异常处理:引入不活动定时器和哑TPDU。,三次握手释放传输连接,三次握手法释放连接(续),4. 流量控制,流量控制是一种由接收端控制发送速度的反馈机制,通常采用滑动窗口机制实现。 数据链路层和传输层上的滑动窗口机制: 数据链路层上的滑动窗口机制采用固定缓冲区分配策略(缓冲区大小及数量都固定),这在传输层上做不到。 数据链路层上发送端和接收端都必须缓存,而在传输层上有多种缓存方案可供选择。 数据链路层上的发送窗口仅由接收端控制,而传输层上的发送窗口还受网络处理能力的限制。,传输层上的缓
5、存策略,发送方缓存还是接收方缓存? 若通信子网是不可靠的,则发送方一般必须缓存,而接收方可以选择缓存或不缓存。 若通信子网是可靠的,则视接收方为其预留的缓冲空间大小,发送方可以选择缓存或不缓存。 缓冲区分配方案: 以TPDU为单位分配? 以连接为单位分配? 缓冲区大小固定还是可变?,动态缓冲区分配示例,动态缓冲区分配的特点是确认与缓存分离。,5. 因特网的传输层,用户数据报协议(UDP):提供不可靠无连接服务。 传输控制协议(TCP):提供可靠的字节流服务。,5. 1 UDP协议,UDP报头格式 UDP提供的功能: 多路复用和解多路复用(利用端口号) (可选的)轻量级差错检查,但不反馈 UDP
6、不负责流量控制和出错重传,所有这些都由用户进程完成。 UDP的应用:RPC,实时多媒体传输。,UDP头及伪头结构,远程过程调用RPC,RPC的基本思想 允许调用远程计算机上的过程,并使这种调用看起来象本地调用一样,方便客户-服务器应用软件的编写。 RPC的实现 客户进程绑定到一个客户桩(client stub),服务器进程绑定到一个服务器桩(server stub)。 客户进程调用客户桩,参数通过压栈的方式传递。 客户桩将参数封装成一个消息,执行一个系统调用发送消息。 内核通过调用传输层服务将消息发送到服务器桩。 服务器桩用传过来的参数调用服务器例程,将返回的结果封装到一个消息中,执行一个系统
7、调用将消息发送给客户桩。 客户桩将结果返回给客户进程。,UDP用于多媒体传输,多媒体通信的特点: 实时传输 按顺序交付 能容忍少量数据丢失 TCP能保证传输顺序,但其差错控制和拥塞控制机制不能保证实时性。 UDP的实时性较好,但不能保证交付顺序,且缺乏拥塞控制易导致高丢包率。 使用UDP传输多媒体数据的解决方案是在UDP之上设计一个实时传输协议RTP,用来解决包序维持及速率调整等问题。,5.2 TCP协议,TCP使用连接进行通信,连接状态只保留在两个端系统中,因而是一个端到端的协议。 TCP连接是一个字节流而不是报文流,它不保留报文的边界。 TCP连接是全双工的,在每个方向上支持一个字节流。
8、TCP连接是点到点的,不支持多播或广播。 TCP提供的功能: 多路复用与解多路复用 顺序交付 差错控制 流量控制 拥塞控制,TCP报文,TCP实体间交换的协议数据单元称为段,每个段由报头和数据(可能没有)组成。 最大段长度受IP包数据域长度(最大为65535字节)及链路MTU的限制。 TCP报头由20字节的固定头和可变长度的选项头组成。 重要的TCP选项包括: 最大段长度(maximum segment size, MSS) 窗口比例 选择重传,TCP报头结构,TCP伪头结构,建立TCP连接,注: 前两个TCP段都使用了定时器,并在定时器超时后重发。 采用基于时钟的方法选择初始连接序号,取为4
9、微秒。 主机崩溃后,至少等待60秒后才启动。 若收到SYN报文段的TCP实体发现目的端口上没有进程在监听,则发送一个RST置1的TCP段,拒绝建立连接。,释放TCP连接,TCP流量控制,TCP采用可变长度的滑动窗口进行流量控制,接收方在返回给发送方的段中报告接收窗口(window size)的大小。 当接收窗口为0时一般必须停止发送,但以下两种情况例外: 可以发送紧急数据,例如终止在远端计算机上运行的进程。 可以发送一个1字节的段,以触发一个包含接收窗口大小的响应。 糊涂窗口综合症(silly window syndrome) 接收方不断发送具有微小增量窗口的通告,引起发送方不断发送小数据分组
10、,从而导致大量的带宽浪费。 现行的TCP标准使用启发式方法来防止糊涂窗口综合症。,接收方启发式策略,仅当有“非平凡的”可用空间时才发送窗口更新通告。 “非平凡的”可用空间:可用空间达到缓冲区空间的一半或者一个MSS(取两者的最小值)。 TCP标准推荐采用推迟确认技术提高传输效率,即当没有非平凡的可用空间时,推迟发送确认。 推迟确认的优点:降低通信量,提高吞吐率。 推迟确认的缺点: 确认延迟太大会导致不必要的重传,因而标准规定最多推迟500ms。 不利于TCP往返时间的估计,因而标准推荐接收方至少每隔一个报文段使用正常方式对报文段进行确认。,发送方启发式策略,允许TCP在收到应用数据后不马上发送
11、,等收集到足够多的数据后再发送。 问题:发送方TCP应该等待多长时间? Nagle算法: 在上一次传输的数据未被确认前,后续到来的数据放到缓冲区中;当数据足以填满一个最大长度的段或前一次传输的确认到来时(取最早的时间),将缓冲区中的数据封装到一个TCP段中发送。 Nagle算法可以适应不同的网络延时、不同的最大段长度以及不同应用程序速度的组合情况,而且在常规情况下不会降低网络的吞吐量。,TCP拥塞控制,TCP拥塞控制采用端到端的机制,方法是让每一个发送方根据自己感知的网络拥塞程度来调整发送速度。 问题: 发送方如何知道从它到目的节点的路径上发生了拥塞? 发送方如何限制发送速率? 当发送方检测到
12、拥塞时,采用什么算法来改变发送速率? 问题一的解决: TCP用超时来检测拥塞(与TCP配合使用的RED(随机早检测算法)会在网络拥塞时丢弃包)。 问题二的解决: TCP使用拥塞窗口和发送窗口一起限制发送速率,其中接收窗口体现接收端的缓冲能力,拥塞窗口体现网络当前的处理能力。,TCP拥塞控制算法,TCP拥塞控制算法包括三个部分: 加性增/乘性减(additive increase / multiplicative decrease, AIMD)原则 慢启动算法 快速重传和快速恢复机制,AIMD原则,加性增/乘性减: 乘性减:每发生一次超时事件,就将当前的拥塞窗口减半(最小不低于1个MSS),因此
13、拥塞窗口在持续出现超时时按指数规律递减。 加性增:当拥塞窗口内的段都在预定的时间内被确认(即没有超时发生)时,拥塞窗口增大一个MSS。在实际操作时,若拥塞窗口用CongWin表示,则每次收到一个确认后,拥塞窗口的增量按如下公式计算:= MSS (MSS/CongWin)。 AIMD原则的要点: 发送方减小拥塞窗口的速度比加大这个窗口要快得多。事实证明,这是拥塞控制机制达到稳定的必要条件。,慢启动与拥塞避免,慢启动: 慢启动在两种情况下使用:连接刚建立,以及超时后重新启动数据传输。 以一个MSS作为拥塞窗口的初始值,每当收到一个确认就将拥塞窗口增加1个MSS,直至发生超时或达到一个门限。在到达该
14、点之前,拥塞窗口成倍增加。 拥塞避免: 发生超时后,将当前拥塞窗口的一半作为拥塞阈值,使用慢启动算法将拥塞窗口增大到该阈值,此后进入拥塞避免状态,采用加性增的方法继续增加拥塞窗口。,慢启动和拥塞避免,快速重传与快速恢复,超时触发重传的问题:重发丢失的段需要很长时间。 快速重传:接收方缓存并响应每个正确收到的TCP段,对于未按顺序到达的段发送一个重复确认。发送方在收到3个重复确认后开始重传丢失的段。接收方收到重传的段后,发送累积确认。若发送方在收到3个重复确认前发生超时,按超时事件处理。 快速恢复:发送端在收到3个重复确认后进入拥塞避免阶段(而不是慢启动阶段)。具体来说,当发送端收到少于3个重复
15、确认时,拥塞窗口和拥塞阈值均不变;当收到第3个重复确认时,将拥塞阈值设为拥塞窗口的一半,并令拥塞窗口等于拥塞阈值,此后拥塞窗口按线性增长。,确定超时间隔,问题:重传定时器的值(超时间隔)设为多长合适? 超时间隔与段的平均来回时间及方差均有关系。 来回时间的估计: TCP对每条连接维护来回时间估计值RTT。在发送了一个段后启动重传定时器,在得到确认后计算段的来回时间M,然后根据公式:RTT = RTT + (1-)M 修正RTT,是比例因子。 方差的估计: TCP实体维护来回时间的测量值与估计值之间的偏差D。当得到RTT的最新估计值后,用公式:D = D + (1-)|RTT - M| 修正D,
16、然后设置新的超时间隔:timeout = RTT + 4*D。,确定超时间隔(续),估计来回时间的问题: TCP的确认是有二义性的。 Karn算法 忽略有二义性的确认,只对一次发送成功的报文段测量来回时间,并据此更新RTT估计值。 定时器补偿:发送方每当重传一个报文段时,TCP就增加超时间隔,大多数的TCP实现采用公式:new_timeout = *timeout,典型值为2 。 实际使用的Karn算法 先用RTT估计值计算初始的超时间隔,然后在每次重传时对超时间隔进行补偿,直到成功传输一个报文段为止,此后保持这个超时间隔不变。当某个报文段没有重传就被确认后,再重新计算RTT的值并设定相应的超
17、时间隔。,6. 套接字接口,套接字(socket):定义了应用程序与传输层协议软件交互时可以执行的操作,最初是BSD UNIX操作系统的一部分,现在已成为网络应用编程接口的工业标准。 套接字采用了UNIX操作系统的“打开-读-写-关闭”的I/O操作模式 应用在调用传输层服务通信前,必须请求操作系统创建一个用于通信的套接字,系统返回一个小整数描述字标识这个套接字。 当应用调用底层过程在网络上收发数据时,必须将该描述字作为一个参数。 通信结束时,应用请求操作系统关闭套接字。,实现套接字的主要过程,Socket: 创建一个套接字并返回一个整数描述字 descriptor = socket(protofamily, type, protocol) Close: 告诉系统终止对套接字的使用 close(socket) Bind: 指定服务器进程使用的、等待连接的协议端口号 bind (socket, localaddr, addrlen),实现套接字的主要过程(续),Listen: 将套接字设置为被动模式,等待来自客户的连接 listen(socket, queuesize) Accept: 接收下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 给排水安全教育培训试题
- 钢梁施工方案
- 跌倒坠床应急预案及处理流程
- 拔牙后出血护理查房
- 冬季施工防雨雪冰冻灾害应急预案1
- 病原微生物实验室生物安全应急预案
- 二级造价工程师《水利工程》备考习题及答案
- 出院患者随访护理规范
- 村集体财务会计考试试题及答案
- 2025年AI优化汽车焊接机器人焊接速度控制
- 2026年高考物理真题山东卷含答案
- 2026年度教育系统学校年轻后备干部考试知识题库及答案
- 小学四年级上册计算题专项练习(30天每日一练 可直接打印 )
- 仁爱版七年级英语上册单词默写表(2026年)
- (2026版)《民用无人驾驶航空器实名登记和激活要求》培训课件
- 材料行业就业指导
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.7-2025)
- 苏州小学天文知识竞赛题库及答案
- 2025年华为光芯片笔试题及答案
- 避孕药具发放培训
- 高级波段技术分析价格行为交易系统之区间分析
评论
0/150
提交评论