tcp为什么要三次握手,四次挥手

1.OSI七层参考模型

在这里插入图片描述

2. 连接是什么 ,怎么建立的.

首先声明这种连接不是物理上的,并非点对点.
当我们发送http数据请求的时候,由应用层请求发送数据,再到传输控制层建立信任链接.那么怎么建立信任链接呢?

传输控制层分为Tcp和udp协议.

什么是tcp协议
他是面向连接的
可靠的传输协议

tcp为什么要三次握手
首先客户端假如要发送一个字符串,但是发不过去,调用内核传输层建立连接。
第一次握手 客户端通过发送syn 建立连接的一个包 这个包不含我们要传输的数据的
第二次握手 服务端收到后会发送 syn+ack 包返回给 客户端 .
第三次 客户端根据返回的包 继续做出响应 发送ack 包.

三次握手都是由两端的内核传输控制层去进行通信.三次握手后才允许传输数据,需要开辟资源,底层是内核的交互

开辟资源里包括发送队列与接收队列

为什么是三次握手呢?
因为他们底层是socket通信,socket就必须要有输入输出,确保是双向通讯的 .三次握手后双方要开辟内存资源为对方开始服务.

tcp为什么需要四次分手
首先要说一下套接字socket
他就是 ipport +ipport
也就是服务ip+端口 客户ip+端口

一个主机做多有65535个端口 但是不代表最大连接数就是这些.
四次分手就是要释放资源

过程 :
首先客户端发送 fin 想要分手请求,
服务端接收后 发送fin ack 表示听到,
服务端确认也想要去分手后 会再次发送 fin 数据包,
客户端接收后 要回复 ack 表示 四次握手成功,资源被释放.

那么为什么要有四次呢,三次握手建立连接互相会开辟资源.要征得对方同意

假如中间断网了,内核中有一种心跳机制可以让本地开辟资源的空间释放

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值