首页 TCP连接中第三次握手出现的问题及改进方法

TCP连接中第三次握手出现的问题及改进方法

举报
开通vip

TCP连接中第三次握手出现的问题及改进方法 2009年 4月 第 30卷第 2期 湘南学院学报 Journal of Xiangnan University Apr.,2009 V0l_30 No.2 TCP连接中第三次握手出现的问题 及改进方法 朱静涛 (长沙理工大学 电气与信息工程学院,湖南 长沙 41 0000) 摘 要:目前 TCP连接普遍采用三次握手形式,但是在连接过程中(即每次握手时),碰到网络拥塞或网络连接效果不 稳定等问题的概率很高,从而会导致无法连接或延时过长等现象.本文介绍了一个在报文段中用加入计时器来代...

TCP连接中第三次握手出现的问题及改进方法
2009年 4月 第 30卷第 2期 湘南学院学报 Journal of Xiangnan University Apr.,2009 V0l_30 No.2 TCP连接中第三次握手出现的问题 及改进方法 朱静涛 (长沙理工大学 电气与信息工程学院,湖南 长沙 41 0000) 摘 要:目前 TCP连接普遍采用三次握手形式,但是在连接过程中(即每次握手时),碰到网络拥塞或网络连接效果不 稳定等问题的概率很高,从而会导致无法连接或延时过长等现象.本文介绍了一个在报文段中用加入计时器来代替第三 次握手功能的方法,使之可以减少上述问题发生的概率. 关键词:TCP报文段;三次握手;计时器 中图分类号:TP302 文献标识码:A 文章编号:1672—8173(2009)02—0077-03 1 TCP的运输连接管理 TCP是面向连接的协议,运输连接是用来传送TCP报文的.TCP的运输连接的建立和释放是每一次面向 连接的通信中必不可少的过程,因此,连接过程就可以归纳为三个阶段,即:连接建立、数据传送和连接释放. 在连接建立过程中主要需要解决以下三个问题: 1)、要使每一方能够确知对方的存在 2)、要允许双方协商一些参数(如最大报文段长度、最大窗口大小、服务质量等); 3)、能够对运输实体资源(如缓存大小,连接 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 中的项 目等)进行分配. 本文重点关注第一个问题的优化解决方 +. 。 式 . TCP的连接和建立都是采用客户服务器 方式,主动发起连接建立的应用进程叫做客 户(client),被动等待连接建立的应用进程叫 做服务器(server),如图 1所示. 设主机 B中运行一个服务器进程,他先 发出一个被动打开(passive open)命令,告诉 他的 TCP要准备接受客户进程的连接请求 , 然后服务器进程就处于“听”(1isten)的状态 , 不断检测是否有客户进程要发起连接请求. 如有,即做出响应. 主动打开 连接请求 SY AC sEQ=Y AeK--X+i 图 1 TCP连接过程 图 确认 设客户进程运行在主机 A中,它先向其 TCP发出主动打~F(active open)命令,表明要向某个 IP地址的某 个端口建立运输连接. 主机A的TCP向主机B的TCP发出连接请求报文段,其首部中的同比特SYN应置 1,同时选择一个序 号x,表明在后面传送数据时的第一个数据字节的序号时X+l,如图1. 收稿日期:2009一O1—02 作者简介:朱静涛(1984一),男,湖南郴州人,长沙理工大学电气与信息工程学院研 究生.研究方向:计算机网络. · 77· 主机B的TCP收到连接请求报文段后,如同意,则发回确认.在确认报文段中应该将SYN和ACK都置 1, 确认号应为X+I同 时也为自己选择一个序号 Y. 主机 A的TCP收到主机 B的确认后,要向主机 B给出确认,其 ACK置 1,确认号为 Y+I,而自己的序号为 X+I.TCP的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 规定,SYN置 1的报文段要消耗掉一个序号. 当运行服务器进程的主机 A的TCP通知上层应用进程,连接已经建立.当主机 A向主机 B发送第一个 数据报文段时,其序号仍为X+I. 当运行服务器进程的主机 B的TCP收到主机 A的确认后,也通知其上层应用进程,连接已经建立. 整个的这个过程叫做三次握手(three—way handshake),或三次联络. 其中发送第三段报文段的作用,主要是为了防止已失效的连接,请求报文段突然又传送到主机B,因而 产生错误. 2 第三个报文段主要解决的问题 当主机 A发出的第一个连接请求报文段并没有丢失,而是在某些网络结点滞留时间太长,以致延误在这 次连接释放以后才传送到主机 B.本来这是一个已经失效的报文段,但是主机 B收到此失效的连接请求报文段 后,误认为是主机 A又发出的一个新的请 皇 . . 求,于是主机B向主机A发出确认报文段. 1 I I l 但是由于主机 A并没有要求建立连接 L— L— (即对于主机 A来说原报文段已经失效), s 因此不会理会主机 B的确认 ,也不会向主 机 B发送数据.可是主机 B却认为运输连 接已经建立了,并一直等待主机 A发来数 据,这样主机 B的许多的资源就浪费掉了. 采用第三次握手就是为了防止上述现象发 生. 3 在三次握手中可能产生的问题 s ACKSEQ~-Y AC +1 图2 三次握手中可能碰到的不利因素 因为有了三次握手,所以报文段在网络传输中遇到的不利情况的概率增加了:例如当第三次握手时,如果 出现网络问题而使第三个报文段无法到达主机 B,则主机 B不会认为建立连接,而主机 A认为连接已经建立, 并开始发送数据,从而浪费了A的网络资源;另一种情况如果第三个报文段在某些结点延时过长才能到达主 机 B,在此之前主机 B也不会认为连接建立,而主机 A确会认为连接已经建立,开始发送数据,从而也会浪费 了A的网络资源.如图 2 无论是何种网络或则无论网络状况是否良好,进行三次握手都会比进行两次握手多出部分时延(在低速 网络传输介质中比在高速介质中要明显).而在目前国际上都想方设法给TCP连接进行加速操作的情况下,通 过减少一次握手来节省时间是十分必要的. 4 针对第三次握手的改进方法及其作用 由于第三次握手主要是为了防止已经失效的连接请求报文段、突然又传送到主机 B,而产生错误 ,那我们 可以用一种方法让已经失效的连接请求报文段在超过主机 A的连接释放时间(设为Tdis)之后,就能 自动被其 他设备辨认出其已经失效而可以不予理会,这样就可以解决上面的问题.具体改进方法为: 1、在报文段中设置一个计时器,里面包含本报文段的发出时间和有效时间(设为T).T可以由TCP重传机 · 78 · 例中的报文段计时器时间(设为 T )和主机 A的连接释放时 间来确定(并满足 T
本文档为【TCP连接中第三次握手出现的问题及改进方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_220664
暂无简介~
格式:pdf
大小:202KB
软件:PDF阅读器
页数:4
分类:互联网
上传时间:2011-08-26
浏览量:29