TCP通信中3次握手和4次挥手
计算机网络体系结构 通信协议分层
不同的分层方式:
OSI/RM模型:应用层 ---》 表示层---》会话层---》传输控制层---》网络层---》数据链路层---》 物理层TCP
TCP/IP协议模型:应用层 ---》 传输控制层---》网络层---》数据链路层---》 物理层
它是一个面向连接的, 可靠的,基于字节流的传输层通信协议。连接到底是什么?
连接分为3个大的阶段
(1)3次握手
(2)数据传输
(3)4次挥手
3次握手握的是什么?
第一次: A发送ISN给B (ISN 是通信双方原点的序列号。 ISN: Initial sequence number -- 初始序列号)
第二次: B确认收到A发送的IS并将自己的ISN发送给A
第三次: A确认收到B发送过来的ISN
A--------SYN------>B // 我想和你建立连接
B--------SYN+ACK ---------A // 好的,我也想和你建立连接
A--------ACK-------------B // 好的
连接建立好以后各自的内存中开辟一块资源
4次挥手(分手)分的是什么?
分的是连接, 也就是释放各自的资源 。
A----------FIN------------B // 我想跟你分手
B---------FIN+ACK----------A // 哼
B---------FIN-------------A // 我也想跟你分手
A---------ACK-----------B // 好的,好的。
成功后就各自释放内存资源
如果连接后,网络断开了,两方会不会感知到?
不可以(不能),
但是这个在内核中有一个心跳keepalive,用来检查连接是不是还在 ? 如果不在了就释放资源 。
【TCP通信中3次握手和4次挥手】... 所有笔记都是自己学习记录用。...标志域:
SYN: 同步标志。在连接建立时用来同步序号。
ACK: 确认标志。表示确认序号栏有效。
FIN: 结束标志, 用来释放一个连接。
还有很多其他的标志域, 如URG, PSH, RST等。
推荐阅读
- CVE-2020-16898|CVE-2020-16898 TCP/IP远程代码执行漏洞
- Docker应用:容器间通信与Mariadb数据库主从复制
- live|live to inspire 一个普通上班族的流水账0723
- 28岁|28岁,做一个通透又自由的姑娘。
- 其实你就是个普通人
- 私通和背叛,他怎么看(——晨读小记)
- gitlab|gitlab 通过备份还原 admin/runner 500 Internal Server Error
- 【1057快报】深入机关,走下田间,交通普法,共创文明
- 单点登陆
- 如何有效沟通