TCP协议的握手与分手

TCP的三次握手四次分手

TCP协议建立连接总共需要进行三步

  • 主机A请求主机B
  • B确认收到请求回复A
  • A确认收到B的回复

三次握手都是进行同一个端口(随机端口)

SYN: 请求同步

ACK:确认同步

# 第一次握手,从主机A的60517端口发送到远程22端口,[SYN]请求
60517 → 22 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM
# 第二次握手,主机B响应A成功,[ACK] = 1
22 → 60517 [SYN, ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1406 SACK_PERM WS=128
# 第三次握手,A通知B已成功收到响应,[ACK] = 1
60517 → 22 [ACK] Seq=1 Ack=1 Win=262912 Len=0

TCP协议断开连接总共需要进行四步

  • 主机A通知主机B断开连接
  • B确认收到通知
  • B发送通知给A确定是否断开连接
  • A回复确认

四次都是走的同一个随机端口

FIN:分手同步

# 第一次分手,主机A发送断开请求,[FIN] = 1,[ACK] =1
61271 → 22 [FIN, ACK] Seq=253 Ack=349 Win=1027 Len=0
# 第二次分手,主机B确认收到请求,[ACK] = 1
22 → 61271 [ACK] Seq=349 Ack=253 Win=261 Len=0
# 第三次分手,主机B问主机A你确定要分手吗,[FIN] = 1,[ACK] = 1
22 → 61271 [FIN, ACK] Seq=349 Ack=254 Win=261 Len=0
# 第四次分手,主机A说我确定分手,[ACK] = 1
61271 → 22 [ACK] Seq=254 Ack=350 Win=1027 Len=0

tcp和http关系

TCP:只是用来建立连接的;

http:超文本传输协议,连接建立好之后用来发数据的,实际应用数据的载体;

HTTP一定是基于TCP的;TCP建立好连接之后,我们需要进行数据交互,就会在已经建立好连接的基础上使用HTTP协议;

举例:HTTP相当于信的载体,信的内容,邮编,地址等信息,然后被放到邮箱里面;

​ TCP相当于,你这个邮箱的载体,你只管把信放到邮箱里面,具体邮箱里面的信怎么发到人家手里,不需要HTTP去管;底层工作完全由TCP来处理了;

posted @ 2023-06-29 19:41  窃窃私语QAQ  阅读(27)  评论(0编辑  收藏  举报