流媒体的安全谁来保障

流媒体的安全谁来保障

说起媒体,我们马上就会想到报纸新闻、广播、电视。

其实所谓的流媒体同我们通常所指的媒体是不一样的,

它只是一个技术名词。流媒体到底是什么?能给我们的生活带来什么?跟小德一起来看看。

 

流媒体是什么?

流媒体(英语:Streaming media)是指将一连串的多媒体资料压缩后,经过互联网分段发送资料,

在互联网上即时传输影音以供观赏的一种技术与过程,此技术使得资料数据包得以像流水一样发送,

如果不使用此技术,就必须在使用前下载整个媒体文件。

与日常生活息息相关

比如斗鱼游戏直播、网课在线直播授课、抖音直播带货等...

都运用了流媒体的技术。

加深理解:

流媒体并不是一种新的媒体。实际上指的是一种新的“媒体传输方式”。

这些媒体包括:声音、视频、图像、文本。将他们以流水的形式传输出来,就是流媒体。

流媒体的几个特征

  1. 强实时性
  2. 强交互性
  3. 对播放端的系统内存容量要求极大降低
  4. 内容上是时间连续的数据

流媒体传输使用的网络协议

因为tcp开销较大,不太适合实时传输数据,所以一般采用HTTP/TCP(RTCP来传输控制信息,而用RTP/UDP(RTP)来传输实时声音数据。

为何要在udp协议而不在tcp协议上进行实时数据的传输呢?

这是因为udp和tcp协议在实现数据传输时的可靠性有很大的区别。

tcp协议中包含了专门的数据传送校验机制,当数据接受方收到数据后,将自动向发送方发出确认信息,

发送方在接收到确认信息后才继续传送数据,否则将一直处于等待状态。

而udp协议则不同,udp协议本身并不能做任何校验。由此可以看出,tcp协议注重传输质量,而udp协议则注重传输速度.

因此,对于对传输质量要求不是很高,而对传输速度则有很高的要求的视音频流媒体文件来说,采用udp协议则更合适。

上述提及流媒体使用UDP协议,下面针对流媒体行业使用UDP协议简单做个概述和分析

UDP(User Datagram Protocol,用户数据报协议)是TCP/IP协议栈中的一种无连接的传输协议,能够提供面向事务的简单不可靠数据传输服务。

UDP的报文格式

UDP报文中各字段的含义如下:

  1. 源端口(16位):发送方的端口号。
  2. 目的端口(16位):接收方的端口号。
  3. 报文长度(16位):表示UDP报文总长度,包括首部和数据部分。
  4. 校验和(16位):对整个UDP数据段进行校验,防止报文首部出错。

由此可见,UDP报文首部没有确认机制或传输保证,所以UDP的错误处理往往由上层协议(应用层)来承担。

上文也提及UDP协议主要用于支持不需要可靠机制、对传输性能要求较高的应用,比如常见的流媒体,就是由客户端发起解析请求,然后服务器直接应答响应,避免了TCP的建立与断开连接以及过多的协议报头所产生的开销,提高了传输效率。再如,即时多媒体游戏和IP电话(VoIP)等对实时性要求较高的应用,都是建立在UDP协议之上的。

由于UDP是一种无连接的协议,缺乏可靠性机制,相对于TCP来说,它更容易遭受欺骗攻击。同时,UDP在传输数据上表现出的“高效”特点也常常被攻击者所利用,用来发起DDoS攻击,例如UDP Flood攻击、UDP反射放大攻击等。

UDP Flood攻击

攻击原理
UDP Flood属于一种带宽类的DDoS攻击,攻击者通常会结合源IP地址欺骗技术,利用僵尸网络向目标发送大量的UDP报文,这种UDP报文通常为大包,且速率非常快。UDP Flood通常会消耗网络带宽资源,严重时造成链路拥塞;同时,大量随机源IP和随机源端口的UDP Flood会导致依靠会话转发的网络设备性能降低甚至资源耗尽,从而导致网络瘫痪。

UDP反射放大攻击

对于攻击者来说,传统的UDP flood是一种消耗目标资源、同时也消耗自身资源的攻击方式。UDP flood攻击过程中,攻防双方其实是在拼“资源”,比谁的带宽大、资源多,比谁能坚持到最后。而新型的UDP反射放大攻击则是一种“四两拨千斤”的DDoS攻击方式,攻击者可以更小的代价获得更好的攻击效果。因此在现网中,UDP反射放大攻击越来越多地被使用。

攻击原理

许多基于UDP的服务具有“小请求、大响应”的特性,即这些服务在响应客户端的请求时,响应包的大小要远大于请求包。UDP反射放大攻击正是利用了这一点。以Memcached服务为例,Memcached是一种开源的高性能分布式内存对象缓存服务,通过查询缓存数据库,直接返回访问请求,加快应用程序的响应效率,同时降低对数据库的访问次数。也正是这种服务机制,使攻击者有了可乘之机,借用正常服务达到攻击的目的。Memcached支持UDP协议的访问请求,默认将UDP端口11211对外开放。因此,攻击者只需要通过快速的端口扫描,便可以收集到全球大量没有任何防护措施的Memcached服务器,随后攻击者只需要向Memcached服务器的UDP端口11211发送伪造的特定请求报文,该请求报文的源地址被设置成了攻击目标的IP地址。服务器在收到该请求报文后,则会将“放大”后的响应报文发送至攻击目标处,攻击者甚至可以利用僵尸网络作为请求源,向Memcached服务器发起“群体”请求,则返回的响应报文将成指数级上升,比原始请求报文扩大几百至几万倍,从而通过反射加放大的形式,使攻击目标拥塞,无法正常提供服务,达到低成本化、高隐蔽性的攻击效果。

除了上面提到的Memcached,目前还有其他十多种基于UDP的协议,均可以用于反射放大攻击,放大倍数从几倍到几万倍

协议

端口说明

端口

理论放大倍数

DNS

域名解析协议

53

28~54

NTP

网络时间协议

123

556.9

SNMP

简单网络管理协议

161

6.3

SSDP

简单服务发现协议

1900

30.8

PORTMAP

端口映射

111

7~28

QOTD

给连接了的主机发送每日格言

17

140.3

CHARGEN

字符生成服务

19

358.8

TFTP

简单文件传输协议

69

60

NETBIOS

NET BIOS服务

138

3.8

MEMCACHED

缓存服务

11211

10000~50000

WS_DISCOVERY

WEB服务动态发现

3702

70~500

CLDAP

无连接轻量级目录访问协议

389

58~70

流媒体边界的智能高防

德迅云的DDoS产品可以说是安全界的明星产品,抗D能力抗D能力“杠杠的”:

基于本身多年防护经验的优势,德迅云安全DDoS防护可以提供全球全力防护服务,全面过滤海量攻击流量,AI智能清洗僵尸网络恶意复杂资源耗尽型攻击(CC攻击),有效地保证业务进行。

针对APP类型业务   适用产品抗D盾,抗D盾产品是针对电脑客户端以及移动端APP类型业务,推出的高度可定制的网络安全管理解决方案,除了能针对大型DDoS攻击(T级别)进行有效防御外,还能彻底解决,TCP协议的CC攻击问题,防护成本更低,效果更好

抗D盾的主要作用:

1、有效防护各种类型的CC攻击。盾是面向移动APP端以及电脑客户端用户推出的一款定制款的网络安全解决方案,通过对反编译或者封装处理的方式就可以不用担心DDOS攻击,可以免疫CC攻击,可以有效的保障业务正常运行不受流量攻击的困扰。

2、防御达T级。相对于高防IP,盾不仅可以有效的防御住T级DDOS攻击,还能彻底解决UDP与TCP协议攻击问题,在防护力度上是不容置疑的,T级防御也是--般的防御产品很难达到的。

3、分布式防御节点。—-个盾会同时具备有多个高防加速节点,通过对数据进行分析,利用智能调度的技术,将正常玩家流量与黑客攻击流量分送至不同的节点上,可以最大程度的缓解大流量攻击为游戏带来的伤害。

4、主动定位攻击并隔离。盾通过大量的节点部署在结合调度数据统计,经大数据分析后,可以自动识别并定位攻击流量并进行主动隔离,实现O误杀0遗漏!

相对于普通的DDOS高防而言,抗D盾在防御上并不是通过海量带宽来进行硬抗攻击的,在防御上更倾向于技术分析策略调控的形式来将攻击进行有效的拆分和调度,使攻击无法集中在一一个点上,分散开的攻击流量都是可以轻松被防御住的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/543480.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

缓存与数据库的数据一致性解决方案分析

在现代应用中,缓存技术的使用广泛且至关重要,主要是为了提高数据访问速度和优化系统整体性能。缓存通过在内存或更快速的存储系统中存储经常访问的数据副本,使得数据检索变得迅速,从而避免了每次请求都需要从较慢的主存储&#xf…

LeetCode 0705.设计哈希集合:很多人都是这样做的吧【逃】

【LetMeFly】705.设计哈希集合:很多人都是这样做的吧【逃】 力扣题目链接:https://leetcode.cn/problems/design-hashset/ 不使用任何内建的哈希表库设计一个哈希集合(HashSet)。 实现 MyHashSet 类: void add(key…

04-03 周三 使用印象笔记API批量更新笔记标题

04-03 周三 使用印象笔记API批量更新笔记标题 时间版本修改人描述2024年4月3日11:13:50V0.1宋全恒新建文档 简介 安利印象笔记 在阅读这篇博客之前,首先给大家案例一下印象笔记这个应用,楼主之前使用onenote来记录自己的生活的,也记录了许多…

UI设计规范

一套商城系统的诞生,除了代码的编写,UI设计也至关重要。UI设计关系到商城系统的最终呈现效果,关乎整体商城的风格展现,如果UI设计做不好,带来的负面影响也是不容小觑的。 1、在很多商城系统开发中,有时会有…

基于Java+Vue的校园代购服务管理系统(源码+文档+包运行)

一.系统概述 在新发展的时代,众多的软件被开发出来,给用户带来了很大的选择余地,而且学生越来越追求更个性的需求。在这种时代背景下,学生对校园代购服务订单管理越来越重视,更好的实现校园代购服务的有效发挥&#xf…

YOLTV8 — 大尺度图像目标检测框架(欢迎star)

YOLTV8 — 大尺度图像目标检测框架【ABCnutter/YOLTV8: 🚀】 针对大尺度图像(如遥感影像、大尺度工业检测图像等),由于设备的限制,无法利用图像直接进行模型训练。将图像裁剪至小尺度进行训练,再将训练结果…

Redis-更新策略,缓存穿透,缓存雪崩,缓存击穿

Redis-更新策略,缓存穿透,缓存雪崩,缓存击穿 1.缓存更新 策略 淘汰策略超时剔除主动更新 更新策略:先修改数据库还是先删除缓存 结论:先修改数据库,因为缓存的操作比较快,容易产生数据不一致更新缓存还是删除缓存? …

强化学习-Reinforcement learning | RL

目录 什么是强化学习? 强化学习的应用场景 强化学习的主流算法 强化学习是机器学习的一种学习方式,它跟监督学习、无监督学习是对应的。本文将详细介绍强化学习的基本概念、应用场景和主流的强化学习算法及分类。 什么是强化学习? 强化学习并不是某一种特定的算法,而是…

2001-2022年上市公司异常审计费用指标包含原始数据 参考顶刊文献含构造过程Stata代码

01、数据介绍 异常审计费用则是指实际审计费用超过或低于正常审计费用的部分,该部分审计费用受不可观测因素的影响,可能来源于审计师所付出的额外努力或者审计师与被审计单位间的特殊关系,也可能产生于被审计单位在审计买方市场中的优势地位…

(学习日记)2024.04.17:UCOSIII第四十五节:中断管理

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

【操作系统专题】详解操作系统 | 操作系统的目标和功能 | 操作系统如何工作

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 1.操作系统的目标和功能2…

【菜狗学前端】原生Ajax笔记(包含原生ajax的get/post传参方式、返回数据等)

这回图片少,给手动替换了~祝看得愉快,学的顺畅!哈哈 一 原生ajax经典四步 (一) 原生ajax经典四步 第一步:创建网络请求的AJAX对象(使用XMLHttpRequest) JavaScript let xhr new XMLHttpRequest() 第二…

为什么你的LDO输出不稳定?

原文来自微信公众号:工程师看海,与我联系:chunhou0820 看海原创视频教程:《运放秘籍》 大家好,我是工程师看海。 前一阵朋友和我说当初用某型号LDO时,发现输出异常,仔细阅读datasheet后&#x…

Clip下游任务解读

相关代码链接见文末 1.DALL-1 (1)VQGAN https://arxiv.org/pdf/2012.09841.pdf VQGAN(Vector Quantized Generative Adversarial Networks)是一种基于向量化量化的生成对抗网络。这种技术首先将图像转换为一系列向量,每个向量代表图像中的一小块区域(或称为“patch”)。…

在Mac上更好的运行Windows,推荐这几款Mac虚拟机 mac运行windows虚拟机性能

想要在Mac OS上更好的运行Windows系统吗?推荐你使用mac虚拟机。虚拟机通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以…

Linux的文件操作中的静态库的制作

Linux操作系统支持的函数库分为: 静态库,libxxx.a,在编译时就将库编译进可执行程序中。 优点:程序的运行环境中不需要外部的函数库。 缺点:可执行程序大 (因为需要 编译) 动态库&#xff0c…

自动化测试Junit

1.什么是Junit JUint是Java编程语言的单元测试框架,用于编写和运行可重复的自动化测试。 JUnit 促进了“先测试后编码”TDD的理念,强调建立测试数据的一段代码,可以先测试,然后再应用。这个方法就好比“测试一点,编码一…

Qt QProcess详解

1.简介 QProcess提供了在 Qt 应用程序中启动外部程序的方法。通过QProcess,你可以启动一个进程,与它通信(发送输入和读取输出),检查它的状态,以及等待它完成。这个类在执行系统命令、运行其他程序或脚本时…

Leetcode 394. 字符串解码

心路历程: 这道题看到括号直接想到栈,五分钟新题直接秒了,一开始以为需要两个栈分别存储数字和非数字,后来发现一个栈就够了,思路如图: 这道题考察的应该是队栈这两种数据结构的转换,因为每次…

LangChain - 文档加载

文章目录 一、关于 检索二、文档加载器入门指南 三、CSV1、使用每个文档一行的 CSV 数据加载 CSVLoader2、自定义 csv 解析和加载 (csv_args3、指定用于 标识文档来源的 列(source_column 四、文件目录 file_directory1、加载文件目录数据(Di…