简单理解 tcp 三次握手、四次挥手

Lbha8M
1.Tcp协议是什么

Tcp 即 Transmission Contro Protocol,传输控制协议,是一种面向连接、可靠的、基于字节流的传输层通信协议,在简化OSI模型中,Tcp属于第四层传输层的协议,用户数据报协议 Udp也是这一层内重要的一个协议

2.运作方式

Tcp的运行可划分为3个阶段 :连接创建、数据传送、连接终止。

3.创建通路
  • Tcp用三次握手过程创建一个连接,连接创建过程中,很多参数需要被初始化,例如序号被初始化以保证有序传输
  • 一对终端同时初始化他们之间的连接是有可能的,但是通常是由服务端打开一个套接字,然后监听另一方的连接,这叫被动打开
  • 然后客户端开始创建主动打开
3.1 三次握手过程
  1. 客户端通过向服务端发送一个SYN来创建一个主动打开,作为3次握手的一部分,客户端把这段连接的序号设置为随机数x
  2. 服务端应该为一个合法的SYN 回送一个SYN/ASK,ASK的确认码应该是x+1,SYN/ASK包又会随机产生一个随机数y
  3. 最后,客户端再发送一个ASK,此时包序号为x+1,ack为y+1

当服务端收到这个ask后,就完成了3次握手,并进入连接创建阶段。

  • 三次握手(图)

三次握手过程图

4.断开连接

连接终止使用了四路握手过程(或称四次握手,four-way handshake),在这个过程中连接的每一侧都独立地被终止。当一个端点要停止它这一侧的连接,就向对侧发送FIN,对侧回复ACK表示确认。因此,拆掉一侧的连接过程需要一对FIN和ACK,分别由两侧端点发出。

  • 四次挥手(图)
  • 四次挥手
5.最后
  • tcp为什么是可靠的?

因为tcp内部有很多机制来保证数据传输的可靠,1.使用序号对报文进行排序和检测重复;2.无错传输;3.使用确认和计时器检测丢包或延时;4.流控制;5.拥塞控制;6.丢失包的重传

  1. 使用序号对报文进行排序和检测重复
  2. 无错传输(使用校验和检测数据)
  3. 使用确认和计时器检测丢包或延时
  4. 流控制
  5. 拥塞控制
  6. 丢失包的重传
阅读 246
9 声望
0 粉丝
0 条评论
9 声望
0 粉丝
宣传栏