一. TCP三次握手,四次挥手的全过程,为什么需要三次握手,四次挥手
前言
TCP协议的介绍
传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议.
三次握手
TCP连接的建立:三次握手
三次握手流程:
1. A 的 TCP 向 B 发送 连接请求报文段,其首部中的同步位 SYN = 1 ,并随机选择一个序号 seq = x ,表明传送数据时的第一个数据字节序号为 x。
2. B 的 TCP 收到连接请求报文段后,如果同意,则发挥连接同意报文
3. A 收到此报文后向 B 给出确认,其 ACK = 1 ,确认号 ack = y + 1,seq = x + 1
4. B 的 TCP 收到主机A的确认后,也通知其上层应用进程:TCP连接已经建立
TCP 为什么需要三次握手?而不是两次?
那可不可以是四次,五次或者更多次?
四次挥手
首先解释为什么需要四次挥手?
四次挥手流程:
1. 数据传输结束后,通信双方都可以释放连接
2. B收到后。发出确认,意思我收到了,ACK = 1,确认号 ack = u+1,而这个报文段自己的序号为seq = v
3. 当B发送完数据后,就可以释放连接。
4. A 收到连接释放报文后,必须发出确认。ACK = 1 ,确认好 ack = w +1,序号seq = u+1。
简单的总结一下
二. TCP的三次握手与四次挥手,为什么TCP连接的时候是3次?2次不可以吗?为什么TCP连接的时候是3次,关闭的时候却是4次?为什么客户端发出第四次挥手的确认报文后要等2MSL的时间才能释放TCP连接?
前言
一、什么是TCP?
二、TCP报文的头部结构
重要字段:
三、三次握手
三次握手的本质是确认通信双方收发数据的能力。
第一次握手:
第二次握手:
第三次握手:
四、四次挥手
第一次挥手:
第二次挥手:
第三次挥手:
第四次挥手:
五、常见面试题
5.1 为什么TCP连接的时候是3次?2次不可以吗?
5.2 为什么TCP连接的时候是3次,关闭的时候却是4次?
5.3 为什么客户端发出第四次挥手的确认报文后要等2MSL的时间才能释放TCP连接?
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。