网络基础知识夯实总结(三):TCP协议

近期分享的网络知识包括HTTP协议、DNS协议、HTTPS协议、TCP协议、IP协议、TCP/IP、Web攻击及其他协议。今天内容是TCP协议。

TCP协议

1. 传输层

2. 作用

  • 提供可靠的字节流服务

3. 大块数据分割成报文段(segment)

4. 三次握手

1) 发送端发带SYN标志的数据包给对方。

2) 接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。

3) 最后,发送端再回传一个带ACK标志的数据包,代表“握手”结束

握手某个阶段中断,TCP会以相同的顺序发送相同的数据包。

5. 四次挥手

  1. 客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。
  2. 服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
  3. 服务器B关闭与客户端A的连接,发送一个FIN给客户端A。
  4. 客户端A发回ACK报文确认,并将确认序号设置为收到序号加1。

6. 流量控制

  • TCP接收端对发送端发送多少字节的数据进行控制,防止接收端处理不及而丢失数据
  • 发送窗口的大小是受到接收窗口的控制的。
  • 发送窗口必须根据接收端的大小及时调整发送窗口的大小,这个机制保证了每次TCP传输的数据量都是接收端可以及时处理的。

7. 差错控制

  • 保证接收端接收的数据是完整未受损伤的,是可靠性的重要保证。
  • 主要使用校验和、确认、超时重传这三个工具进行差错控制。

8. 拥塞控制

拥塞窗口:

  • 发送方的窗口大小是接收窗口与拥塞窗口中的较小值。
  • 拥塞窗口的大小又取决于网络的拥塞状况。

拥塞策略:

  • 慢开始
  • 拥塞避免
  • 拥塞检测

拥塞控制流程:

1) 由于刚开始不清楚网络的拥塞情况,所以会首先采用慢开始算法,开始阶段,窗口大小由1指数增大,直到窗口大小到达门限值。

2) 窗口大小到达门限值后,就开始执行拥塞避免算法,之后窗口值按照线性规律增大,直到出现超时或者到达最大的窗口大小值。

3) 这个时候,会开始执行拥塞检测算法,也就是把门限值变为窗口大小的一半,之后继续执行拥塞避免算法,窗口大小按照线性规律增大。

举报
评论 0