前言
老王和老李争论不休,老王寒野生气了离家出走。老万的衣服单薄,老李心疼老万,试图给老万打电话回家,但他不肯接电话。如果你是老李,此时你会怎么做?
发送短信。这时,老李发现短信很有用,发了几条承认错误的短信后,老万回来了,老万和老李又牵着手,波涛声不断。前。
老李先生不会问“手机有通话功能,为什么还要短信功能?”
电话固然伟大,但实时通讯可以实时传达大量信息,但却无法满足人类所有的通讯需求。
短信和异步通信虽然实时性较差,但填补了电话通信的市场空白,可以与电话一起满足人类所有的通信需求。
当老王刷信用卡时,银行会向他发送一条短信,告知他的消费记录。这非常有用。如果只有电话,老王很忙,没有时间接这样的电话。但是,如果老王不接电话,那么这次通讯就无效了。在老王先生看来,这是骚扰电话,短信沟通显然比电话通知更合理。
生活中的沟通场景非常多,但一般可以归结为两种。
建立电话通话、微信音视频聊天、电视节目点播等连接型电话模式。
不需要连接(无连接)的短信方式,如广播、电报、寻呼、短信、微信、电子邮件等。
从我到目前为止所讲的内容来看,似乎与UDP没有什么关系,但实际上与UDP有很大关系。 TCP/IP 协议可能是在20 世纪60 年代发明的。当时的通讯主要有电话、电报、广播和电视。 TCP/IP 的设计者希望TCP/IP 能够打电话和发送电报(短消息),就像20 世纪80 年代的邮局那样。
因此,有两种协议:TCP 和传输控制协议,可以提供类似于打电话的连接服务。 UDP,用户数据报协议。可提供短信服务。
无论是用于连接服务的TCP还是无连接的UDP,通信都需要一种传输方法,将用户(用户程序)约定的TCP/UDP数据包传输给双方。这种传输方式就是IP协议。
Car Brigade IP也是无连接的,可以完全替代UDP。 UDP的重要性是什么?
这个问题或许才是小德真正想表达的。但是IP如何告诉收件人包裹来自哪个进程呢?
您可以使用IP 标头的协议字段。该字段的长度在0 到255 之间,理论上允许识别256 个进程。
是否无法判断进程是否超过256个?
有些读者可能会说,如果设计者将协议加长,比如2 个字节,就无法区分65536 个进程。与UDP 目标端口号相同。
问题又出现了。接收方如何知道数据包来自哪个源IP地址以及哪个进程?
没有办法知道,对吧?
看来识别源IP上的进程需要在IP头中添加一个类似于源端口号的字段。
这看起来并不是什么困难的任务,设计者只要在IP头中输入UDP源和目的端口号即可。我认为问题将会得到彻底解决。
仍然存在可扩展性问题,但是无法扩展的协议就会面临可扩展性问题。目前的TCP/IP采用两层扩展:网络层+传输层,理论上具有无限的扩展能力。
如果有一天你需要添加一个传输层协议,你可以简单地给该协议一个IP协议中的序列号。然后协议使用长端口号来识别用户进程。这种可扩展性几乎不存在。
然而,IPv4的地址长度有限并且无法扩展。这也是IPv4最大的限制,不过这个限制与UDP无关。 UDP的目的是提供一种短消息通信模式,填补通信市场的空白。通过网络层+UDP扩展,UDP最多可以提供65536个用户进程ID。
什么是UDP洪水?
小德以UDP协议启动。在谈论SYN洪水时,我们了解到TCP协议是面向连接的发送协议。然而,UDP协议与TCP协议不同。它是一种无连接协议。在使用UDP协议发送数据之前,客户端和服务器之间没有建立连接。协议本身无法检测或提示数据在从客户端到服务器的传输过程中是否丢失。因此,人们通常将UDP协议称为不可靠传输协议。
UDP是一种不可靠的网络协议,但它的用途或必要性是什么?
事实上,在某些情况下,UDP 协议可能非常有用。这是因为UDP 比TCP 具有速度优势。尽管TCP协议融合了各种安全特性,但毫无疑问,在实际执行时,它占用了大量的系统开销,对通信速度有显着影响。相比之下,UDP消除了可靠的信息传输机制,将安全、排序等功能转移到上层应用程序,大大减少了执行时间并保证了高传输速度。
这是UDP协议的广泛应用,为黑客发起UDP洪水攻击提供了平台。 UDP 洪水是一种带宽攻击,其中黑客通过僵尸网络向目标服务器发送大量UDP 消息,其速率通常会造成损害,例如:
消耗网络带宽资源,严重时会导致链路拥塞。
大量改变源或端口的UDP 洪泛会降低依赖会话转发的网络设备的性能或导致会话匮乏,从而导致网络瘫痪。
UDP洪水是如何发生的?
顾名思义,UDP 洪泛是指使用类似洪泛的UDP 消息的攻击。与TCP 协议不同,UDP 协议是无连接协议。在使用UDP协议发送消息之前,如果客户端向服务器发送消息时消息丢失,则客户端与服务器之间无法建立连接。协议本身不进行检测或提示。这种数据包处理方法被广泛使用,因为UDP协议消耗的资源较少并且被认为速度更快,但它也允许攻击者发起UDP洪水攻击。
传统的UDP Flood攻击是基于带宽的攻击,会消耗攻击方和被攻击方的资源。攻击者通过僵尸网络向目标设备发送大量伪造的UDP数据包。这些数据包通常尺寸较大且速度非常快,导致链路拥塞甚至网络瘫痪。这种攻击方法的技术含量较低,并且越来越不常见。
近年来,越来越多的攻击者使用UDP反射放大攻击。 UDP反射放大器攻击有两个特点:属于UDP协议,目的端口号固定。虽然UDP反射放大攻击的原理类似,但以常见的NTP(网络时间协议)反射放大攻击为例,有两点很重要:反射和放大。
反射性攻击
在UDP协议中,一次交互通常是由客户端向服务器发送请求包和服务器向客户端返回响应包来完成的,中间没有任何验证过程。反射攻击利用UDP协议的无连接特性和缺乏源认证机制,将请求数据包的源IP地址伪造为目标IP地址,最终改变服务器攻击返回的响应数据包。发送到攻击目标并形成反射攻击。
放大攻击
攻击者经常利用互联网的基础设施来执行放大攻击。由于网络上有很多开放的NTP服务器,攻击者可以利用僵尸主机同时向NTP服务器发起多个Monlist请求,一个Monlist请求包收到100个响应包就可能触发。 NTP 请求数据包的大小通常只有90 字节,而响应消息通常为482 字节,这意味着响应消息大约比请求消息大500 倍。最终可能导致链路拥塞和网络瘫痪的攻击。
如何防范UDP 洪水?
由于UDP协议不建立连接,因此UDP泛洪防御无法像SYN泛洪那样进行源发现。防火墙抵御UDP 洪水的第一道防线是流量限制。它根据目标IP 地址、目标安全区域和会话在适当的带宽内控制链路内的UDP 数据包。虽然限流可以有效减轻链路带宽压力,但这种方法可能会丢弃一些常规报文,因此需要新的措施来防御UDP泛洪。
攻击工具伪造的攻击消息通常具有相同的特征字段,例如包含特定字符串或匹配整个消息内容。然而,对于真实网络设备在UDP反射放大攻击中发送的报文来说,是没有数据段的。虽然特征相同,但不难发现UDP Flood攻击报文具有一定的特征,因为目的端口都是固定的。识别出攻击报文的特征后,就可以进行过滤。特征过滤通常也称为指纹过滤。指纹过滤有两种方法:静态指纹过滤和动态指纹学习。
静态指纹过滤
UDP报文的数据段、源IP地址、源端口、目的IP地址、目的端口都可以隐藏攻击报文的特征。已知的攻击特征可以直接配置到设备过滤参数中。配置静态指纹过滤后,它会匹配接收到的数据包的特征并采取后续步骤,例如丢弃与攻击特征匹配的数据包或限制流量。
动态指纹学习
当攻击特征未知时,可以通过动态指纹学习来进行攻击防范。对于某些攻击工具发起的UDP Flood攻击,攻击报文通常具有相同的特征字段,当报文达到报警阈值时进行统计并开始指纹学习。如果相同的特征频繁出现,则将其学习为指纹,后续命中指纹的数据包将被确定为攻击数据包,并被丢弃、限流等。
应用加速(客户端安全)
应用加速采用创新的SD-WAN跨域技术来解决高度防御的机房中的痛点。是否隐藏真实服务器IP。用户在节点之间切换的过程是透明的,TCP连接始终保持不间断。这适用于任何TCP端类型的应用程序(游戏、APP、微客户端)。端型嵌入式web等)
优势:
功能:
抵御DDoS攻击
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91323.html