Tcp: Transmission Control protocol传输控制协议(转载)
Tcp是主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接。
位码即标记位,有6种表示:syn(Synchronous)建立联机,ACK(acknowledgement)确认,PSH(push)传送,FIN(finish)结束,RST(rest)重置,URG(urgent)紧急,Seq(sequence number)顺序号,Acknowledgement number确认顺序号。
第一次握手:主机A发送syn=1,随机参数顺序号seq number=1234567的数据包到服务器,主机B由syn=1知道,A要求建立联机。
第二次握手:主机B收到请求后要确认联机信息,向A发送Ack number=(主机A的seq number+1),syn=1,ack=1,随机产生seq = 7654321。
第三次握手:主机A收到后确认Ack number是否正确,即第一次发送的seq+1,ack=1。若正确,主机A会在发送ack number=(主机B的seq number+1),ack=1,主机B收到seq值与ack=1确认正确,联机成功。
完成3次握手,主机A与主机B开始传送数据。
Tcp/IP采用3次握手建立一个可靠的连接。
第一次握手:建立连接是,客户端发送syn包到服务器(syn=j),并进入syn_send状态,等待服务器确认。
第二次握手:服务器收到syn包,必须回复客户端SYN包的确认Ack包(ack = j +1),同时自己也发送一个SYN包(syn = k),即syn+ack包,此时服务器进入SYN_RECV状态。
第三次握手:客户端收到SYN+ACK包,向服务器SYN回复确认Ack包(ack = k+1),此包发送完毕,客户端和服务器进入established状态,完成3次握手。然后客户端和 服务器端进行传输数据。
实例:
IP 192.168.1.116.3337 > 192.168.1.123.7788: S 3626544836:3626544836
IP 192.168.1.123.7788 > 192.168.1.116.3337: S 1739326486:1739326486 ack 3626544837
IP 192.168.1.116.3337 > 192.168.1.123.7788: ack 1739326487,ack 1
第一次握手:192.168.1.116发送位码syn=1,随机产生seq number=3626544836的数据包到 192.168.1.123,192.168.1.123由SYN=1知道192.168.1.116要求建立联机;
第二次握手:192.168.1.123收到请求后要确认联机信息,向192.168.1.116发送ack number=3626544837,syn=1,ack=1,随机产生seq=1739326486的包;
第三次握手:192.168.1.116收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,192.168.1.116会再发送ack number=1739326487,ack=1,192.168.1.123收到后确认seq=seq+1,ack=1则连接建立成功。
TCP的断开采用4次握手的机制。
客户端的状态:
服务端的状态:
相关推荐
TCP握手挥手的过程分析T
下面我们将深入探讨Linux环境下的TCP通讯机制,特别是TCP握手的过程和相关源码分析。 一、TCP三次握手 1. SYN (Synchronize Sequence Numbers):当客户端想要与服务器建立连接时,它会发送一个SYN包,包含一个随机...
TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输层协议,广泛应用于互联网...在TCP握手和挥手过程中,抓包分析可以帮助我们直观地看到每个阶段的报文交互,从而更好地理解TCP连接的建立和终止机制。
### TCP握手挥手的过程分析 #### 一、TCP握手过程详解 **1.1 TCP协议简介** TCP(Transmission Control Protocol,传输控制协议)是Internet最基本的协议之一,属于OSI模型的第四层——传输层的一种面向连接的...
python实现测试tcp握手往返延时,支持IPv4/IPv6,通过Socks5/HTTP_PROXY进行二阶段网络连通性测试+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,...
TCP通过三次握手建立连接,确保数据在不可靠的网络环境中也能准确无误地传输。 1. **TCP三次握手**: - 第一次握手:客户端发送一个SYN(同步序列编号)报文段到服务器,请求建立连接。这个报文段包含客户端的初始...
tcp握手&挥手捕获.pcapng
tcp握手状态图 kkkkkkkkkkk kkkkk kkkk
在深入探讨TCP握手过程之前,我们首先需要理解TCP(Transmission Control Protocol)协议的基本概念及其在网络通信中的作用。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,设计用于在不可靠的互联网络...
本文将深入探讨TCP连接的建立过程——三次握手,以及断开连接时的四次挥手,这对于理解TCP协议的工作原理至关重要。 首先,我们来看TCP的三次握手。三次握手是为了确保数据的正确传递,防止已失效的连接请求报文...
总的来说,使用Wireshark进行TCP握手和挥手的分析,可以帮助我们深入理解TCP连接的生命周期,以及HTTP协议在TCP上的运作机制,这对于网络诊断、性能优化和安全分析都是非常有价值的。通过对网络封包的细致观察,我们...
而“TCP_three_way_handshake.doc”则可能提供了更深入的理论解释,包括TCP头部结构在握手过程中的作用,以及如何通过抓包工具如Wireshark来观察和分析TCP三次握手的实际网络流量。 TCP的三次握手是保证可靠连接的...
tcp connect端口扫描,利用三次握手扫描,最后把连接的结果返回给这个函数的返回值
tcp格式的分析 tcp三次握手和四次挥手,客户端发送数据和服务器应答,服务器发送数据客户端应答。
传输控制协议,TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接,文档介绍TCP三次握手和4次挥手过程以及详细实例介绍,
TCP通过三次握手建立连接,四次挥手断开连接,确保数据在不可靠的网络环境中能够准确无误地传输。 **TCP三次握手** TCP连接的建立需要经过三次握手。这个过程确保了双方都有能力接收和发送数据,并且都同意建立...
flash作品:tcp三次握手动画演示 计算机网络、多媒体通信课堂大作业、课程设计等。
标题中的“TCP三次握手PPT”指的是TCP协议在建立连接时执行的三次握手过程,这一过程是TCP可靠传输的基础。TCP是一种面向连接的传输层协议,确保数据在传输前双方已建立可靠的通信链路。 描述中提到的“TCP三次握手...
4. 技术难点:TCP 握手和挥手过程中 seq 和 ack 的变化情况,准确构建对应的 TCP 报文段,发送这些报文段,接收并分析返回结果。另外,当运行程序的计算机收到服务器发来的 TCP 报文段之后(例如第二次握手的报文)...