7 传输层

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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