TCP 通讯 -- 简记

TCP 三次握手

在这里插入图片描述

1.客户端向服务器端发送请求建立链接报文,
数据: SYN = 1, ACK = 0 , seq = i
状态: 客户端进入 SYN_SEND
2. 服务器端接收到,客户端发送的报文,返回统一链接确认报文
数据: SYN = 1, ACK = 1 , ack = i+1, seq = j
状态: 服务器端进入 SYN_RCVD
3. 客户端接受到服务器端返回的确认报文,将确认报文发送到服务器端,链接建立
数据: ACK = 1 , ack= j+1 , seq = i + 1
状态: 客户端: ESTABLISHED ; 服务器端 : ESTABLISHED

注:
SYN : 同步序列号,用来发起链接,SYN = 1 ,不能携带数据
ACK : 确认标识,ACK = 1 时,确认才有效
seq : 序列号,数据包本身的序列号
ack : 对收到数据包的确认,值是等待接收数据包的序列号

TCP 与 UDP 的区别

一 : 链接:
TCP : 面向链接,首先是建立链接
UDP : 无连接,类似于广播
二: 可靠性
TCP : 因为这个首先需要建立链接,所以TCP有非常好的可靠性,数据丢失几乎可以忽略;如果数据丢失,可以进行数据重发;还可以进行数据的有序发送;
UDP : 数据丢失问题严重,数据传输无法进行有序发送
三 : 实效性
TCP : 因为链接的存在,tcp的实效性比较差,不适合做实效性高的工作
UDP: 不用建立链接,实效性非常好,但是还是数据丢失的风险高
四: 资源占用
TCP : 需要系统的资源较多
UDP : 需要的系统资源较少

四次挥手

在这里插入图片描述

一 : 客户端发送关闭请求给服务器端
数据: FIN = 1, seq = u
状态 : 客户端 : ESTABLISHED -> FIN-WAIT_1
二 : 服务器端接收到客户端的关闭请求,返回响应数据
数据: ACK = 1, seq = v , ack = u+1
状态: 服务器端: ESTABLISHED -> CLOSE-WAIT
三: 客户端,接收到服务器端发送的链接关闭的确认报文后,不会再向服务器端发送报文
数据 : 无
状态 : 客户端 : FIN-WAIT_1 -> FIN-WAIT_2
四: 服务器端,发送关闭请求,给客户端
数据: FIN =1, ACK =1, seq = w, ack = u+1
状态: 服务器端: CLOSE-WAIT -> LAST-ACK
五: 客户端接收到服务器端在此发送的挥手报文,同时向服务器端也发送挥手报文
数据: ACK=1, seq=u+1, ack = w+1
状态: 客户端: FIN-WAIT_2 -> TIME-WAIT(2个MSL时长后,进入CLOSED状态)
六: 服务器端接收到客户端发送挥手报文
数据:无
状态: 服务器: LAST-ACK -> CLOSED

四次挥手完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值