当前位置:文档之家› 7 传输层

7 传输层


传输层的寻址/编址技术
传输层的寻址技术: 传输层的寻址技术:
从一个应用进程找到对应的TSAP,并通过NSAP调 用网络层的传输服务,把数据发送到目的主机中的 NSAP; 目的主机的传输层通过NSAP取出网络层数据,并通 过TSAP把数据交付给对应的目标应用进程或应用层 协议。 根据发送数据段中携带的目标进程信息,找到对应 的TSAP并把数据提交给目标进程的过程。
流量控制策略
传输层也需要进行流量控制。 传输层也需要进行流量控制。 当数据到达接收方的速度超过接收方能够处理的速度,而接收方又没有 足够的缓存空间时,将导致数据被丢失或者服务被拒绝,特别是它有多 个数据源时。为了避免接收方出现数据超负荷,必须使用流量控制技术 来降低发送方的发送速度。 传输层使用可变滑动窗口协议来实现流量控制,发送方的发送窗口大小 是由接收方根据自己的实际缓存情况给出的。 TCP使用滑动窗口协议。但是TCP使用的滑动窗口协议界于Go-back N帧 与选择重发之间。 TCP使用的滑动窗口协议不使用NAK,看起来像Go-back N帧协议; 由于接收方保存失序的段直到丢失的段到达,它看起来又像选择重发。 TCP的滑动窗口与数据链路层使用的滑动窗口有两个方面的不同点: 的滑动窗口与数据链路层使用的滑动窗口有两个方面的不同点: 的滑动窗口与数据链路层使用的滑动窗口有两个方面的不同点
(2)连接释放技术:
在数据传输结束后,交换数据双方的任一方都可关闭 连接。 传输层协议的释放连接有两种类型: 传输层协议的释放连接有两种类型
非对称连接释放: 非对称连接释放:
通信中的任意一方在自己数据传输完毕之后,可以发出连接释放 请求,二者之间的连接被断开。该方法的优点是实现简单。缺点 是连接释放方式非常粗暴,存在数据丢失情况。因为数据通信可 以是双工方式的,一方数据发送完毕后,另一方可能还有数据传 输,此时如果释放连接,则必然出现数据丢失情况。
在某种程度上,原语相当于C语言程序中的函数。
常用的原语如下: 常用的原语如下
(1)监听原语(LISTEN):监听是否有进程试图连接;如果 有则进入阻塞模式。 (2)连接原语(CONNECT):客户端与服务器建立连接用。 (3)发送原语(SEND):发送数据信息。 (4)接收原语(RECEIVE):接受数据信息,当一个TPDU数 据到达时进入阻塞模式。 (5)断开原语(DISCONNECT):释放连接
连接建立技术
(1)连接建立技术: )连接建立技术:
在一般面向连接的服务中,首先由发送方发 送请求连接报文,如果接收方在规定时间内 能够返回连接确认报文,则可认为在发送方 和接收方之间建立了一个连接,这种建立连 接方案可称之为“两次握手”。 “两次握手” 传输层提供面向连接服务的协议中,建立连 接采用的是“三次握手”方案(three-way “三次握手” handshaking),
固定大小的链状缓冲区分配方法; 可变大小的链状缓冲区分配方法; 循环利用的缓冲区分配方法。
拥塞控制
拥塞( 拥塞(congestion)是分组交换网中的一个重要问 ) 题。如果网络中的载荷(发送到网络中的分组数量) 超过了网络的容量,即网络能处理的分组数量,网 络中就可能发生拥塞。 网络中许多设备资源同时产生拥塞时,则网络的性 能就会明显变坏,整个网络的吞吐量将随输入负荷 的增大而下降。 网络的吞吐量是指单位时间内通过网络的分组数量。 拥塞控制技术是指在拥塞产生之前预防拥塞、或在 拥塞产生之后消除拥塞的技术。 拥塞控制分为两大类: 拥塞控制分为两大类:
如果需要可靠性,则使用可靠的传输层协议; 如果不需要可靠性,就可使用不可靠的传输层协议。
传输层协议功能及内容
根据程之间通信的过程, 根据进程之间通信的过程,传输层的可靠性措施构成了传 输层协议的实体,主要有: 输层协议的实体,主要有:
寻址/编址技术 寻址 编址技术 数据单元定义 建立连接管理 释放连接管理 差错控制 顺序控制 丢失控制 重复控制 流量控制技术 缓冲策略 多路复用/分用技术 多路复用 分用技术 崩溃恢复 确认机制和窗口管理等。 确认机制和窗口管理等。
传输层协议功能及内容
网络层使用通信子网提供数据传输服务,而通信子网 的结构、设备和网络性能是不断变化的,因此网络层 提供的是一种尽力而为的传输服务,是不可靠的。 多数应用进程之间需要的是可靠的数据传输服务,以 满足用户的网络应用需求,因此,为了向应用进程提 因此, 因此 供可靠的传输服务, 供可靠的传输服务,传输层需要采取大量措施来保证 进程与进程之间通信的可靠性。 进程与进程之间通信的可靠性。 同时为了适应不同网络应用的需要,传输层也提供不 可靠的数据传输服务。
连接建立技术
传输层三次握手建立连接
连接建立技术
可以看出,三次握手方案比两次握手多 了最后一个确定报文段。 为什么要发送这第三个报文段呢? 为什么要发送这第三个报文段呢?
这是因为传输层的报文段交给网络层后,存 在丢失、延迟和重复的情况,会产生错误连 接。如果有延迟重复包(delayed duplicates) 存在,那么情况会更严重。
对称连接释放: 对称连接释放:
通信中的双方单独释放二者之间的连接;一方在自己数据传输完 毕之后,可以发出连接释放请求,不再发送数据,但可继续接收 对方的数据。另一方数据发送完毕,也会发出连接释放请求,此 时二者之间的连接才完全断开。该方法的优点是可确保双方都把 自己的数据发送完。缺点是实现复杂。
(2)连接释放技术:
传输层工作环境
传输层协议概述
传输层只存在于主机中,通信子网中的路由器等设备中没有传输 层。 在发送方,传输层将来自发送程序进程的报文转换成传输层分组 传输层将来自发送程序进程的报文转换成传输层分组 (因特网中称报文段 报文段)。 报文段 然后将该报文段传送给网络层,网络层将其封装成网络层数据报 并向目的站发送。 在接收方,网络层从数据报中提取传输层报文段,并向上交给传 输层。 传输层处理收到的报文段,向接收方应用程序进程提供数据。 应用进程可以使用多种传输层协议, 应用进程可以使用多种传输层协议,每种协议都能为调用它的应 用进程提供一组传输层服务。 用进程提供一组传输层服务。 因特网有TCP和UDP两种传输层协议 因特网有 和 两种传输层协议
因为数据通信并不是两个节点或两个主机之间的数据交换过程,而是两 个进程(或应用程序)之间的数据交换过程。 在任何时刻,在源主机上可能运行着多个进程,并且在目的主机上也运 行着多个进程。 为了完成传递过程,需要一种机制将主机上运行的某个进程的数据发送 到目的主机上运行的对应进程上。
因此, 因此,传输层协议的主要功能是为运行在主机中的两个应用进程提 供传输服务,即使用通信子网,提供进程到进程的数据传输服务, 供传输服务,即使用通信子网,提供进程到进程的数据传输服务, 同时向高层屏蔽掉通信子网的细节。 同时向高层屏蔽掉通信子网的细节。
传输层的寻址过程
TSAP3 TSAP1 NSAP1 TSAP2 TSAP6 NSAP3 TSAP5
TSAP4
NSAP2
NSAP4
传输层协议概述
传输层的服务功能通常是以原语的方式提供给应用进 程,即应用进程或应用层通过原语来使用传输层提供 的传输服务。 的传输服务。 每种传输服务均有各自的访问原语。 每种传输服务均有各自的访问原语。
传输层的寻址/编址技术
在网络协议模型中,传输层位于网络层之上,应用层 之下; 网络层与传输层之间的接口被称为网络层服务访问点, 也称NSAP,因特网中的NSAP是IP地址; 应用层与传输层之间的接口被称为传输层服务访问点, 也称TSAP,因特网中的TSAP是端口。 传输层的所有协议被称为传输实体。 TSAP是应用进程或应用层协议调用传输层服务的接口; TSAP和应用进程的关系是一对一关系,即一个应用进 程对应一个TSAP,因此传输层的TSAP数量很多。
三次握手+ 三次握手+定时器释放连接过程
(2)连接释放技术:
在实际应用中,通常采用三次握手+定时器的方式来确保双方之 三次握手+定时器的方式 三次握手 间的连接可靠地释放,如图7.4所示。 主机A发出释放连接请求,同时启动本方定时器;主机B收到并同 意释放该连接时,向主机A发送同意释放应答,启动本方定时器; 主机A收到主机B的同意释放应答后,释放本方的连接,并给主机 B发送释放应答;主机B收到主机A的确认应答后,释放本方连接。 大多数情况下是成功的。 若主机B的第二次握手应答帧丢失或主机A第一次释放请求超时, 则主机A重新启动新的三次握手+定时器释放过程; 若主机A的第三次握手应答帧丢失,此时主机A已经释放本方,主 机B在超时后强行释放本方连接; 若双方多次尝试释放连接而不成功,则双方强行释放各自一方的 连接。
连接建立技术
由于传输层是使用网络层提供的不确定传输服 务,数据报文在通信子网中传输时,可经不同 的路径传输。 通信子网中的设备是基于存储-转发技术工作的, 报文可能立即被转发出去,也可能会存储一段 时间才发送出去,从而产生延迟情况,时间取 决于网络负荷大小。 若报文转发给一个子网设备后,该设备突然故 障或连接线路出现故障,该报文将永远不会被 继续转发,从而出现丢失情况。
连接建立技术
考虑这样一种情况:图中,主机A发出连接请求,但该 请求在网络中出现了延迟。 在规定时间没有收到对方的确认,主机A于是重传一次, 并收到了确认,建立连接并传输数据,数据传输完毕 后释放了该连接。 但是,主机A发出的第一个连接请求报文在此时达到了 主机B,虽然这是一个已经失效的请求连接报文段,但 主机B会误认为是主机A又发出一次新的连接请求,向 主机A发出确认报文段,同意建立连接,并等待主机A 发来数据。 由于主机A并没有要求建立连接,因此不会理睬主机B 的确认,也不会向主机B发送数据。 于是,主机B的许多资源就这样被白白浪费了。
第七章 传输层
传输层协议概述
传输层位于应用层和网络层之间, 传输层位于应用层和网络层之间,是分层的 网络体系结构的核心部分。 网络体系结构的核心部分。 该层为运行在不同主机上的应用进程提供逻 辑通信服务。 辑通信服务。 从应用程序的角度看,通过逻辑通信,运行 不同进程的主机好像直接相连。 应用进程使用传输层提供的逻辑通信功能彼 此发送报文,不必考虑网络下层的实现细节。
相关主题