TCP/IP三次握手四次挥手

TCP三次握手
所谓握手,也就是建立连接,三次过程。
三次握手旨在连接到服务端的指定端口,进行通信。建立一个TCP连接,需要向客户端和服务端发送三个包。
其中包含同步序列号和确认号以及TCP窗口大小的信息交换。一般触发握手在socket中都是connect()函数触发的
第一次握手:
客户端发送TCP请求, (SYN标记位置1个包,SYN=1,ACK=0 也就是带有SYN标记的TCP包,初始序列号为X,保存在包头的序列号中). 表示客户端需要建立一个TCP连接,这是握手中的第一不,发送请求。
第二次握手:
服务端收到带有SYN标记的TCP包,发送确认包(带有ACK和SYN的数据包,SYN=1,ACK=1,序列号为y是服务端的)此时服务端询问客户端是否准备好数据传输,此时服务器进入SYN_RECV状态。。
第三次握手:
客户端接收到服务端的数据包(ACK+SYN数据包)向服务端发送一个(序列号x+1,ACK=y+1)的数据包,此包发送完毕,客户端和服务器进入ESTAB_LISHED(TCP连接成功)状态,完成三次握手。
TCP四次挥手
TCP连接是双工的,所以每个方向都是单独关闭。当其中一方完成数据传输后可以发送FIN结束。接收到了FIN只是意味着没有这个方向的数据流了
收到FIN的TCP连接可以发送数据,第一个关闭方执行主动动作,另一个执行被动动作。
第一次挥手:
客户端发送FIN请求,说我要关闭TCP连接了,不再传输数据了。 (FIN=1,序列号=n)
第二次挥手:
服务端收到这个请求,并且响应此请求,发送一个ACK包,确认ack为收到的序号+1。
第三次挥手:
服务端关闭TCP连接,向客户端发送FIN消息。
第四次挥手:
客户端接收到消息,发送ACK包确认,并将确认序号seq设置为收到序号+1。



本文来自 luoyan01 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/luoyan01/article/details/82910437?utm_source=copy

原文地址:http://blog.51cto.com/12910101/2296198

时间: 2024-10-17 09:13:05

TCP/IP三次握手四次挥手的相关文章

TCP/IP三次握手 四次挥手

三次握手: 四次挥手:

TCP的三次握手四次挥手理解及面试题

一.TCP概述 每一条TCP连接都有两个端点,这种端点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字, 例如,若IP地址为192.0.0.1 而端口号为8000,那么得到的套接字为192.0.0.1:8000 二.TCP报文格式 ACK.SYN和FIN这些大写的单词表示标志位,其值要么是1,要么是0:ack.seq小写的单词表示序号 同步SYN:(Synchronize ),SYN=1表示这是一个连接请求报文,或连接接受报文.SYN这个标志位只有在TCP建产连接时才

TCP/IP 三次握手 四次断开

所谓的三次握手,就是指客户端和服务器端建立 TCP 连接.访问过程中会发送三个包来确认,并建立连接. 第一步:客户端会发送请求包,包内包含 SYN 信号,SYN 标记位置为1(还可以是其他的位置),并且随机产生一个随机值 seq(用来后面的检验),将这些发送给服务端. 第二步:服务端收到 SYN 信号后,会发送一个确认信息给客户端,包内包含 SYN 的标志位 SYN=1 ,以及确认标志位 ACK=1 ,检验位 ack=J+1(客户端发送的随机数+1),本机生成的随机数 seq=K. 第三步:客户

socket的TCP的三次握手/四次挥手

第一次握手:客户端尝试连接服务器,向服务器发送syn包(同步序列编号Synchronize Sequence Numbers),syn=j,客户端进入SYN_SEND状态等待服务器确认 第二次握手:服务器接收客户端syn包并确认(ack=j+1),同时向客户端发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态 第三次握手:第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLIS

TCP 协议 ---- "三次握手,四次挥手"

一.TCP 协议 1.概念:TCP协议,即 传输控制协议.它是面向连接.可靠的传输层协议. 2.特点:工作在 传输层:每一条TCP连接只能是点对点的:面向连接.可靠性:提供全双工通信:基于字节流. 3.TCP 数据报格式:   TCP 基于 字节流 源端口号.目的端口号:各占 2字节(16位) 序号:4字节 范围[0,2^32 - 1],使用mod/(2^32)计算 URG:紧急  1 紧急指针字段有效            ACK:确认  1 确认字段有效 PSH:推送  两应用进行交互,一方

TCP连接 三次握手 四次挥手

前言: TCP协议是面向连接.安全可靠.基于字节流的传输层协议,在进行http协议访问时就用到了tcp连接.在建立TCP连接时需要经历三次握手,断开连接时需要经历四次挥手.在此进行记录. 内容: TCP三次握手 第一次握手:由客户端发起,客户端生成一个SYN,以及一个随机数标记数X,然后将随机标记数X和SYN发送为服务端,此时客户端进入SYN_SENT状态,等待服务端响应. 第二次握手:服务端接收到SYN后得知客户端请求连接,然后服务端将SYN和ACK都置为1,并将ack=X+1,再生成一个随机

tcp的三次握手四次挥手

在这个例子中,首先客户端主动发起连接.发送请求,然后服务器端响应请求,然后客户端主动 关 闭连接.两条竖线表示通讯的两端,从上到下表示时间的先后顺序,注意,数据从一端传到 网络的 另一端也需要时间,所以图中的箭头都是斜的.双方发送的段按时间顺序编号为1-10, 各段中的主 要信息在箭头上标出,例如段2的箭头上标着SYN, 8000(0), ACK 1001, <mss 1024>, 表示该段中 的SYN位置1,32位序号是8000,该段不携带有效载荷(数据字节数为0),ACK位置 1,32位确

关于tcp/ip的一场美好的邂逅(三次握手四次挥手)

基于对tcp/ip的的三次握手,四次挥手不是很了解,所以花了一点时间查询了相关知识,并对其知识点进行了汇总,并且给自己理了下记忆思路. 三次握手 ① 第一次握手 客户端发送请求(syn:synchronization),并选择一个初始化序号(seq:sequence) syn=1;seq=x 客户端状态变为(syn-sent:synchronization_sent) ② 第二次握手 服务器做出响应:listen---->syncrcvd(synchronizationrecieved); 从监

重学TCP/IP协议和三次握手四次挥手

计算机网络体系结构 在计算机网络的基本概念中,分层次的体系结构是最基本的.计算机网络体系结构的抽象概念较多,在学习时要多思考.这些概念对后面的学习很有帮助. 网络协议是什么? 在计算机网络要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则,比如交换数据的格式.是否需要发送一个应答信息.这些规则被称为网络协议. 为什么要对网络协议分层? 简化问题难度和复杂度.由于各层之间独立,我们可以分割大问题为小问题. 灵活性好.当其中一层的技术变化时,只要层间接口关系保持不变,其他层不受影响. 易于实现