简述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要稍微早。

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

相关推荐
AALoveTouch3 小时前
大麦网抢票:基于Wireshark协议分析
网络·测试工具·wireshark
爱奥尼欧3 小时前
【Linux笔记】网络部分——socket 编程 TCP实现多台虚拟机使用指令访问云服务器
linux·服务器·网络
luopandeng4 小时前
amd npt技术 对比 intel ept 技术
java·linux·网络
迎風吹頭髮4 小时前
UNIX下C语言编程与实践60-UNIX TCP 套接字关闭:close 与 shutdown 函数的区别与使用场景
c语言·网络·unix
梁辰兴4 小时前
计算机操作系统:进程同步
网络·缓存·操作系统·进程·进程同步·计算机操作系统
hazy1k4 小时前
K230基础-录放视频
网络·人工智能·stm32·单片机·嵌入式硬件·音视频·k230
AORO20255 小时前
适合户外探险、物流、应急、工业,五款三防智能手机深度解析
网络·人工智能·5g·智能手机·制造·信息与通信
white-persist5 小时前
XXE 注入漏洞全解析:从原理到实战
开发语言·前端·网络·安全·web安全·网络安全·信息可视化
风清再凯5 小时前
01-iptables防火墙安全
服务器·网络·安全
云飞云共享云桌面7 小时前
东莞精密机械制造工厂如何10个SolidWorks共用一台服务器资源
java·运维·服务器·网络·数据库·电脑·制造