linux tcp 断开挥手,TCP三次握手四次挥手入门知识

一、TCP协议

TCP是面向连接的、可靠的进程到进程通信的协议

TCP提供全双工服务,即数据可在同一时间双向传输

二、TCP报文段

TCP将若干个字节构成一个分组,叫报文段(Segment)

TCP报文段封装在IP数据报中

e9e0a141ecade1dcc977887a794810d9.png

TCP报文段

7738fb4db4b8f9652dc61e1e9fad2efb.png

序号:发送端为每个字节进行编号,便于接收端正确重组

确认号:用于确认发送端的信

ACK:确认序号位,当该位为1时,用于确认发送方的数据

FIN:当TCP断开连接时将该位置为1

SYN:同步序号位,TCP需要建立连接时将该值设为1

窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的

三、TCP连接

TCP建立连接的过程称为三次握手

5acde2a58d174f5b3bbb9e8164a08da2.png

通过wireshark抓包来分析三次握手的过程

第一次握手

2b86b5efbcf17356791f1f9bc00a987f.png

第二次握手

fb5a95df746c0562c70258634815d18a.png

TCP三次握手

ed6c1d2dbf47a97105c28189fb7b2737.png

TCP断开连接的四次挥手

90dc1bd65a3b7ab8cf0ff60ff5580c50.png

第一次挥手

d8a80e18dfa1c63c82deac4e6e20d769.png

第二次挥手

4046933347ceb96762a8bccdc9214376.png

第三次挥手

9d6c2475e2fce26871b9429b6d2a7a61.png

第四次挥手

a9605fb5833308ca13f4754d255dbe5b.png

四、常用的TCP端口号及其功能

端口 协议 说  明

21 FTP FTP服务器所开放的控制端口

23 TELNET 用于远程登录,可以远程控制管理目标计算机

25 SMTP SMTP服务器开放的端口,用于发送邮件

80 HTTP 超文本传输协议

110 POP3 用于邮件的接收

五、附注

关于三次握手与四次挥手通常都会有典型的面试题,在此提出供有需求的XDJM们参考:

(1)三次握手是什么或者流程?四次握手呢?答案前面分析就是。

(2)为什么建立连接是三次握手,而关闭连接却是四次挥手呢?

这是因为服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,当收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方也未必全部数据都发送给对方了,所以己方可以立即close,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送。

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值