TCP和UDP是什么?
TCP(通讯控制协定)和UDP(用户资料包协定)都是网际网路中常见的协定,它们负责在网际网路将资料从设备传输到伺服器。当您使用Skype 聊天、发送电子邮件、观看直播或浏览网页时,都会使用这两种协定。
UDP 和TCP 都会将资料分隔成更小的单元进行传输。这些小单元称为封包,封包中包含发送端和接收端的IP 位址、各种配置、使用者传送的实际资料等。
TCP 和UDP 如何运作?
TCP 是网际网路上最常用的协定,这种协定较为可靠,运作方法如下:
- TCP 为每个封包分配一个唯一的识别码和一个序号,这些号码能让接收端识别封包的完整性,以及封包的顺序。
- 当接收端收到封包后,如果顺序正确,会向发送端传送一个确认信号(Acknowledgement),以此确认接收端已经收到封包。
- 发送端传送另一个封包。
- 如果封包遗失或发送顺序错误,接收端会保持沉默,不发送确认信号。这表示发送端需要重新传送封包。
因为资料是按照顺序发送的,有助于流量控制和解决资料壅塞的问题,并容易发现和修复错误。因此,经由TCP 发送的资料能完全到达目的地。即使网路阻塞,传输的资料也不会出问题。不过TCP 也有缺点,发送端和接收端之间有很多往来的通讯,因此建立连线和交换资料需要更多的时间。
UDP 不需要唯一识别码和序号就能完成相同的工作。这种协定以串流方式传送资料,发送端不会等待接收端的确认信号,会继续不断发送封包资料。 UDP 几乎没有错误修正功能,也不在乎封包遗失,因此很容易出错,但传输速度比TCP 更快。串流媒体、VoIP 语音、网路游戏等服务经常使用UDP 协定,这网路应用不太需要可靠性机制,封包遗失不会导致服务中断。
TCP 和UDP 的比较如下:
TCP | UDP | |
---|---|---|
可靠性 | 可靠 | 不可靠 |
速度 | 慢 | 快 |
传输方式 | 封包按顺序传输 | 封包以串流方式传输 |
错误检查与修正 | 有 | 无 |
壅塞控制 | 有 | 无 |
确认 | 有 | 只有检查码 |
适用服务 | 要求可靠传输的服务,例如电子邮件、网页浏览、档案传输 | 即时服务,例如串流媒体、网路电话、网路游戏 |
什么是 UDP 洪水攻击?
UDP洪水是一种拒绝服务攻击,攻击者将大量用户数据报协议 (UDP)数据包发送到目标服务器,旨在让该设备的处理和响应能力无力承担。由于 UDP 洪水攻击,保护目标服务器的防火墙也可能不堪重负,导致对正常流量拒绝服务。
UDP洪水攻击的工作原理
UDP洪水的工作原理主要是利用服务器响应发送到其端口之一的UDP数据包时所采取的步骤。在正常情况下,服务器在特定端口上收到UDP数据包时,将通过以下两个步骤进行响应:
- 服务器首先检查是否有任何当前侦听指定端口请求的程序正在运行。
- 如果该端口上没有程序正在接收数据包,则服务器将以 ICMP(ping) 数据包作为响应,以告知发送方目标不可达。
UDP洪水就好比酒店接待员转接呼叫的情况。首先,接待员接到电话,呼叫者要求将其连接到特定客房。然后,接待员需要查看所有房间的列表,以确保客人在客房内,并愿意接听电话。如果接待员了解到客人没有接听电话,他们就必须重新接听电话,并告诉呼叫者客人不会接听电话。如果所有电话线路都突然同时发出类似请求,他们很快就会变得不堪重负。
当服务器接收到新的UDP数据包时,它会逐步进行处理,并在此过程中利用服务器资源来处理请求。传输 UDP数据包时,每个数据包都将包括源设备的 IP 地址。在这种类型的 DDoS 攻击期间,攻击者通常不会使用自己的真实 IP 地址,而是将伪造UDP数据包的源 IP 地址,从而避免攻击者的真实位置被暴露,并且由于来自目标服务器的数据包而达到饱和状态。
由于目标服务器利用资源来检查并响应每个接收到的 UDP 数据包,当收到大量 UDP 数据包时,目标资源会很快耗尽,从而导致对正常流量拒绝服务。
如何防护 UDP洪水攻击?
大多数操作系统限制 ICMP数据包的响应速率,部分原因是为了中断需要ICMP响应的 DDoS攻击。这种防护措施的一个缺点是,在攻击期间,合法数据包也可能在此过程中被过滤。如果 UDP洪水的大小足以使目标服务器的防火墙的状态表饱和,则在服务器级别发生的任何防护都将是不够的,因为瓶颈将发生在目标设备的上游。
评论
发表评论