系统性能调优必知必会
陶辉
智链达 CTO,前阿里云 P8 高级技术专家
36367 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
系统性能调优必知必会
15
15
1.0x
00:00/00:00
登录|注册

07 | 性能好,效率高的一对多通讯该如何实现?

思考题
总结
组播
广播
一对多通讯实现

该思维导图由 AI 生成,仅供参考

你好,我是陶辉。从这一讲开始,我们将从单机进入网络层面的性能优化。
我们接触过的绝大多数通讯方式,无论是面向连接的 HTTP 协议,还是无连接的 DNS 协议,都是一对一收发消息的。其实,除了一对一,还有一对多的通讯方式,它在网络资源的利用上效率要比一对一高得多。这种一对多的通讯方式,在局域网中有很广泛的应用,常见的 ARP 欺骗、泛洪攻击等,都是通过一对多通讯进行的。
当应用场景中用一对多代替一对一通讯时,发送方性能会获得很大的提升,整个局域网的效率也会提高。比如,源主机的带宽只有 1Gbps,如果采用一对一的方式向 100 个客户端发送流媒体,这 100 台主机的带宽之和不会超过 1Gbps。但采用一对多传输时,总带宽就可以达到 100Gbps。
除了能提升性能以外,由于一对多通讯可同时向所有主机发送消息,这就在功能层面上可以替换许多人工操作。比如分布式系统的服务发现,使用人工配置既容易出错,速度也慢,而用广播就可以轻松实现自动化服务发现。
一对多通讯协议一直在发展,在运营商的 IPTV 网络的视频直播中,它就得到了广泛的应用。即使你暂时不会用到一对多这种方式,也应当了解下它是怎么工作的,熟悉它的工作原理后,还能更深入地理解一对一通讯协议。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

一对多通讯是网络通讯中的重要技术,本文介绍了一对多通讯的实现方式,包括广播和组播两种方式。广播通过UDP协议实现,利用网络设备的广播能力将消息发送给整个局域网,而组播则是一种“定向广播”,能够更精准地管理通讯范围。文章详细介绍了广播和组播的实现原理,以及如何正确设置直接广播IP地址和管理组播地址的IGMP协议。总的来说,一对多通讯方式在局域网中有着广泛的应用,能够提升性能,提高效率,并且可以替代许多人工操作。文章还提到了一对多通讯的优缺点以及未来的发展方向,为读者提供了思考和探讨的空间。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《系统性能调优必知必会》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(19)

  • 最新
  • 精选
  • rfyiamcool
    我们的经验是在交换机支持巨型帧,服务处理速度很快,那么组播丢数据的概率很小很小。大家可以实测一下的。 如果出现问题可以这么解决,如果发送的数据有递增顺序流id,丢失可以回溯发起方,另外数据需要在接收方处理去重及顺序。

    作者回复: 谢谢rfyiamcool的分享!

    2020-08-07
    5
  • 而立斋
    【源主机的带宽只有 1Gbps,如果采用一对一的方式向 100 个客户端发送流媒体,这 100 台主机的带宽之和不会超过 1Gbps。但采用一对多传输时,总带宽就可以达到 100Gbps。】老师,这个能再细一点吗? 我们做应用对多一点,一对多通讯的应用,搞过websocket的服务器推送。但websocket也是基于tcp协议来传输的,虽然跟http不同,也是属于应用层的协议。

    作者回复: 你好carol,websocket也是一对一通讯协议,只是将TCP的双工能力暴露到了应用层。 这节课里的一对多协议,其实是指OSI网络层实现的一对多协议,之所以能实现一对多,是靠二层、三层网络设备的转发实现的,目前还都无法跟踪公网,只能在局域网中使用。

    2020-05-18
    4
  • 🎧重返归途
    广播功能属于双工么?但多个客户机向主机响应时,会有性能瓶颈么?

    作者回复: 你好重返归途,广播不是双工,因为广播是由网络设备实现的,所以服务器无法感知到每个客户端的响应,因此客户端对服务器的响应,与本次广播消息链路无关,它必须是另一个通道

    2020-05-17
    4
  • 申学晋
    请问老师如果UDP单个包比较小(20-30字节),发送速率比较快(200-400Mbps),有什么优化策略?谢谢

    作者回复: 这么高的流量下,可以把单个UDP报文,在一个时间窗口内合并为批量报文发送,提高信息有效比。

    2020-09-04
    2
    2
  • 夜空中最亮的星
    干货满满

    作者回复: ^_^

    2020-05-13
    2
    1
  • 言十年
    老师讲的,让人很优食欲。必看教科书有趣。

    作者回复: ^_^

    2021-01-16
  • 李新龙
    这里用交换机广播丢包吗?

    作者回复: 当报文超出缓冲队列时,交换机、路由器都会丢包的

    2020-11-01
  • J.Smile
    内容比较干,每次需要读两遍才能看明白,nice啊

    作者回复: ^_^

    2020-06-25
  • leslie
    其实目前在思考一个问题,我们谈及更多的是私有云的这些场景;可是最近学习公有云时发现和私有云在这块还是有区别,甚至曾经用过私有云的方式在公有云上去排查问题,结果效果并不好;这直接触发了我去专门学习公有云的课程。 故而记得曾经有课程提及“私有云的东西迁移到公有云上不能照搬”,下一步的IPV6目前只是展示和位数不同其真正的影响到底在哪儿?记得曾经有新闻提及说因此其实标准同样有所改变。 不知老师如何看待此问题,谢谢老师的分享。

    作者回复: 公有云刚发展时,Iaas是主体,Paas很不成熟。而Iaas基本是标准化的。 到现在,Paas是主要组成,而Paas是千差万别的,就是同一种关系数据库,都有许多版本,开启的功能特性也不相同。因此,从这个角度,现在从一个云迁移至另一个云,不能完全照搬。

    2020-05-16
  • 唐朝首都
    对分布式的服务发现还不太了解,但是根据文章内容应该是基于UDP协议,与我们后端一般使用TCP去处理请求不太一样。

    作者回复: 是的,因为UDP很多同学不太了解,但UDP有很多独道的优势,比如多播,它也给应用层更大的自由

    2020-05-13
收起评论
显示
设置
留言
19
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部