下述段落摘自:http://linux.chinaunix.net/techdoc/net/2009/06/15/1118762.shtml
引用
【三次握手的过程】
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;对应客户端的connect函数(Linux)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;对应服务器端的accept函数。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。对应客户端的connect函数。
【为什么要3次握手】
TCP 使用三次握手的主要原因就是要消除旧有连接中的SYN消息对新连接的干扰。
理解:
因为IP包可能在网络中被延时。
比如上次客户端A发起连接的请求SYN a,但可能数据包并非在网络中丢失而是被延时了,当A端定时器超时后,它将重发包含SYN c的请求数据包。另一方面,上次连接中发送的SYN报文却在此时到达服务器端B,所以接收端对SYN的有效性是无法作出判断,他必须询问对方A来确认这个SYN。
简单点说:因为IP包在网络中有可能延时达到客户端定时器的超时时间,因此接收端无法确认收到的报文是否为有效报文,还需要跟客户端确认。
分享到:
相关推荐
三次握手,TCP/IP协议三次握手,TCP/IP协议三次握手
Internet是使用TCP/IP协议簇。互联网发展之所以迅猛,...无论是技术人员还是维护人员,都要熟悉、甚至精通于TCP/IP协议,最起码要对TCP/IP协议簇中最基础、最重要的协议,如:TCP、IP、ARP、HTTp、FTP等协议了如指掌。
tcp/ip,三次握手四次死挥手
讲解TCPip三次握手机制,是如何保证安全性和准确性的
tcp/ip协议;三次握手四次挥手;tcp/udp;http/https;数据链路层,网络层,传输层以及应用层
socket通讯原理以及tcp、ip三次握手机制分析。
对TCP/IP和socket相关的知识和原因进行了一个简单的总结。
TCPIP教程.zip 本教程内容包括: 以太网 TCP/IP协议: 三次握手,四次握手,keepalive选项 DNS协议 UDP协议 RPC原理 NFC协议 链路层介绍
摘 要:研究TCP/IP网络的监听, “三次握手”建立连接的过程,以及拆断TCP“三次握手”的方法。以RedHat 9.0(Linux)、Windows 2000 Server、Windows XP Professional、Windows XP Home、Windows 2003 为主要操作系统...
4.5 利用TAO跳过三次握手 4.6 小结 第5章 T/TCP协议的实现:插口层 5.1 概述 5.2 常量 5.3 sosend函数 5.4 小结 第6章 T/TCP的实现:路由表 6.1 概述 6.2 代码介绍 6.3 radix_node_head结构 6.4 rtentry结构 6.5 rt_...
主要介绍了TCP/IP协议中三次握手四次挥手的原理及流程分析,具有一定参考价值,需要的朋友可以了解下。
计算机网络基本知识(TCP/IP四层模型、TCP三次握手和四次挥手、http协议)
TCP连接建立(三次握手)和拆除,其中介绍了很多一般书上没有出现的内容如半打开和半关闭;TCP数据交互和窗口机制;TCP超时与重传(可靠传输),并描述了多种实际算法;TCP的各种计时器;TCP的一些修改建议,并提出了T/TCP,详细...
介绍了TCP/IP协议的三次握手,并且解释了传输超时系统的设置。
TCP/ip 协议族各层作用 TCP 三次握手四次断开过程
TCP/IP详解 卷1:协议 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 6 1.7 分用 8 1.8 客户-服务器模型 8 1.9 端口号 9 1.10 标准化过程 10 ...
介绍TCP IP连接时的三次握手和断开时的四次挥手
在TCP/IP协议中,建立连接协议是三次握手,关闭连接是四次握手。
学习TCP/IP协议基础知识,了解三次握手和四次挥手的含义的意义
这个目标的实现省略了连接开始时TCP的三次握手,并缩短了连接结束时TIME_WAIT状态的持续时间。我们将会看到,在客户-服务器事务中,T/TCP的性能与UDP相当,而且T/TCP具有可靠性和适应性,这两点相对UDP来说都是很大...