传输层主要内容内容摘要:

初始连接协议对于随时需要创建的应用进程是十分有效的。 但是有一些应用并不依赖进程服务器,而与一些硬件设备相连,不能临时仓促创建。 传输连接的发起方如何确定对方的 TSAP – NAME SERVER( directory server) 利用一个特殊的进程称为名称服务器或目录服务器,它的 TSAP是众所周知的。 远方客户程序首先和 NAME SERVER建立连接,告知 NAME SERVER自己需要服务的名称。 NAME SERVER将相应的 TSAP地址作为回答。 远方客户程序释放和 NAME SERVER的传输连接,与所需要的服务进程建立连接。 图例:初始连接协议 建立连接  传输连接的概念 – 面向应用层需要传输服务的进程 – 在两个传输用户之间建立逻辑联系 – 内部表现为一些缓冲区和一组协议机制 – 外部表现为高可靠性  建立连接面临的问题:网络可能丢失、重复分组。 特别是延迟重复分组(delayed duplicates)的存在,导致传输层建立连接很复杂。 建立连接  解决延迟重复分组的关键是丢弃过时的分组,可用如下方法: – 非重复的 TSAP – 过时连接表 – 分组的 TTL(分组生成周期 )机制 – 三次握手机制 非重复的 TSAP  原理 – 废弃使用过的传输地址。  方法 – 系统为每次的传输连接赋予一个新的传输地址。 – 当此连接被释放的时候,此传输地址就被废弃了。  缺点 – 不支持进程服务器,因为没有公认的众所周知的 TSAP存在。 过时连接表  原理 – 利用过时连接表和在 TPDU增加连接标识信息检查所到达的分组是否为重复分组。  方法 – 连接发起方为每个传输连接分配一个连接标识符,并将此信息存入本次传输服务中的每个 TPDU 中(包括连接请求)。 – 当连接释放的时候,各传输实体将此连接标识信息添加到本机维护的一张过时连接表中。 过时连接表 – 每个新的连接请求到达的时候,根据连接标识符核对过时连接表,如果已经过时,该连接视为重复连接。  缺点 – 需要保留历史记录,不适应突发情况。 – 当机器由于崩溃而丢失了过时连接表时,就无法再识别重复连接。 分组的 TTL机制  原理 – 利用 TTL丢弃超时分组。  方法 – 定义和计算每个分组的生存时间 TTL。 – 超时未到达目的地的,被视为陈旧分组而遭到抛弃。  缺点 – 消除重复连接请求依赖通信子网完成。 – 不能避免网络层分组传输的不可靠性。 三次握手建立连接  三次握手 (threeway handshake)方案解决了由于网络层会丢失、存储和重复分组带来的问题。  三次握手正常建立连接的过程 – A 发出序号为 X的建立连接请求 CR TPDU。 – B 发出序号为 Y的接受连接确认 ACK TPDU,并确认 A的序号为 X的建立连接请求。 – A 发出序号为 X的第一个数据 DATA,并确认 B的序号为 Y的接受连接确认。 主机 A 主机 B    连接请求 CR(seq=x) 接受连接,回送确认 ACK(seq=y, ACK=x) 发送数据,回送确认 DATA(seq=x, ACK=y) 连接成功 ! 重复的 CR  如果出现了重复的建立连接请求 CR的情况,三次握手可以很好的解决。 主机 A 主机 B    重复连接请求 CR(seq=x) 接受连接,回送确认 ACK(seq=y, ACK=x) 拒绝连接,回送确认 REJECT(ACK=y) X是重复连接请 求,放弃连接。 重复的 CR和重复的 ACK并存  重复的建立连接请求 CR和重复的接受连接确认 ACK并存时,三次握手也可以解决重复连接问题。 主机 A 主机 B 重复连接请求 CR(seq=x) 接受连接,回送确认 ACK(seq=y, ACK=x) 拒绝连接,回送确认 REJECT(ACK=y) X是重复连接请求, 放弃连接。 应该是 ACK=y, 所以 ACK=z是重复的。 重复发送确认 ACK=z Data(seq=x, ACK=z) 释放连接  非对称式连接释放方法 – 一方发出释放连接请求后,整个连接断开。 – 存在丢失数据的危险。  对称式连接释放方法 – 各自独立发出释放连接请求,收到对方的释放确认后才可以释放连接。 – 由于 两军问题。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。