跳至主要內容

TCP应知应会(中)

YihuiNetwork大约 2 分钟

TCP应知应会(中)

SYN 洪泛攻击

攻击者发送TCP的SYN,SYN是TCP三次握手中的第一个数据包,而当服务器返回ACK后,该攻击者就不对其进行再确认,那这个TCP连接就处于挂起状态,也就是所谓的半连接状态,服务器收不到再确认的话,还会重复发送ACK给攻击者。

影响:

  • 浪费消耗服务器的资源;

  • 在服务器上,这些TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机。

TCP可靠传输的实现机制

序号: TCP首部的序号字段来保证数据能够有序的交给应用层,序号建立在传送的字节流上

**确认机制:**TCP首部的确认号是期望收到对方的下一个报文段的数据的第一个字节的序号,TCP默认使用累计确认,即TCP只确认数据流中至第一个丢失字节为止的字节。

**重传机制:**分为超时重传和冗余ACK。

超时重传,TCP每发送一个报文段,就对这个报文段设置一次计时器。计时器设置的重传时间到期但还未收到确认时就进行重传。

冗余ACK,再次确认某个报文段的ACK,而发送方先前已经收到过该报文的确认,当收到对于某个报文段3个冗余ACK,则可以认为该报文已经丢失,这时候发送方对该报文进行重传。

TCP流量控制

**目的:**匹配发送发的发送速率和接收方的读取速率

**流量控制机制:**基于滑动窗口协议的流量控制机制。

**实现方法:**接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小(接收窗口rwnd),限制发送发向网络注入的报文速率;发送方根据对当前网络拥塞程序的估计而确定拥塞窗口,其大小与网络的带宽和时延有关

不同层级流量控制和窗口大小的区别

**传输层:**定义端到端用户之间的流量控制,滑动窗口可以动态变化

**数据链路层:**定义两个中间的相邻结点的流量控制,滑动窗口不能动态变化