简述TCP的三次握手与四次挥手

A表示客户client,即主动发起连接的应用程序;B表示服务器,即被动等待连接建立的应用进程。

TCP建立连接三报文握手 ,也可以是四报文握手

总流程可以简化为:A向B发送连接请求,B向A确认,A再跟B确认。

其中,第二次握手可以拆成两个报文段,就成了四报文握手了。

为什么需要第三次确认呢?

为了防止"已失效的连接请求报文段"突然又传给B,比如A向B发送连接请求的报文段时,在某些网络结点滞留了,导致没有按照正常时间发送给B。A因此重传了一个连接请求,后续正常进行连接与释放。等到连接释放后的某一个时间点,前面没有正常传输的"已失效的连接请求报文段"到达了B,B收到后向A发送了确认。此时如果A不用进行第三次确认,那么就直接建立了运输连接,并一直等待A发送数据,那么此时B的资源就白白浪费了。

TCP释放连接:A向B发送释放连接(通信双方都可以发,即B也可以发送释放连接报文段),并停止发送数据;B向A发送确认,进入半关闭状态,B可以继续向A发送未发送完的数据,A仍可以接收;直到B没有数据要发送了,再发送给A一个最后确认;A向B发送确认后,等待2MSL时间,再释放连接。B释放的时间比A要稍微早。

计算机网络第七版中也把上面释放连接的过程叫做四报文握手 。我们一般叫做四次挥手

相关推荐
呉師傅20 分钟前
佳能iR-ADV C5560复印机如何扫描文件到电脑
运维·网络·windows·计算机外设·电脑
半梦半醒*42 分钟前
Linux网络管理
linux·运维·网络·centos·运维开发
神秘人X7071 小时前
Linux网络配置全攻略:IP、路由与双机通信
linux·网络·tcp/ip
小白iP代理1 小时前
动态IP+AI反侦测:新一代爬虫如何绕过生物行为验证?
人工智能·爬虫·tcp/ip
hhh123987_1 小时前
以太网基础⑥ ZYNQ PS端 基于LWIP的TCP例程测试
网络·网络协议·tcp/ip
Lfsd1 小时前
根据ip获取地址库
网络·网络协议·tcp/ip
程序员编程指南3 小时前
Qt 网络编程进阶:RESTful API 调用
c语言·网络·c++·qt·restful
香蕉割草机4 小时前
高性能网络DPDK、RDMA、XDP初探
网络
程序员编程指南5 小时前
Qt 网络编程进阶:网络安全与加密
c语言·网络·c++·qt·web安全
未来之窗软件服务5 小时前
基于 Nginx 与未来之窗防火墙构建下一代自建动态网络防护体系—仙盟创梦IDE
网络·ide·nginx·服务器安全·仙盟创梦ide·东方仙盟