udp组(多)播

(527条消息) UDP组(多)播_udp组播地址端口_土豆西瓜大芝麻的博客-CSDN博客

1. 概述

  • 单播用于两个主机间单对单的通信

  • 广播用于一个主机对整个局域网上所有主机上的数据通信

单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是所有局域网上的主机,这时候就有了组播。

  • IP组播(也称多址广播或多播),是一种允许一台或多台主机发送数据包到多台主机的TCP/IP网路技术。

  • 多播是 IPv6 数据包的 3 种基本目的地址类型之一,多播是一点对多点的通信, IPv6 没有采用 IPv4 中的组播术语,而是将广播看成是多播的一个特殊例子。

2.组播的特点

组播也可以称之为多播这也是 UDP 的特性之一。组播是主机间一对多的通讯模式,是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将一份报文发送到特定的组播地址,组播地址不同于单播地址,它并不属于特定某个主机,而是属于一组主机。一个组播地址表示一个群组,需要接收组播报文的接收者都加入这个群组。

  • 广播只能在局域网访问内使用,组播既可以在局域网中使用,也可以用于广域网。

  • 在发送广播消息的时候,连接到局域网的客户端不管想不想都会接收到广播数据,组播可以控制发送端的消息能够被哪些接收端接收,更灵活和人性化。

  • 广播使用的是广播地址,组播需要使用组播地址。

  • 广播和组播属性默认都是关闭的,如果使用需要通过 setsockopt () 函数进行设置。

  • 组播需要使用组播地址,在 IPv4 中它的范围从 224.0.0.0 到 239.255.255.255,并被划分为局部链接多播地址、预留多播地址和管理权限多播地址三类

  1. 224.0.0.0 ~ 224.0.0.255: 局部链接多播地址:是为路由协议和其它用途保留的地址,只能用于局域网中,路由器是不会转发的地址 224.0.0.0 不能用,是保留地址

  1. 224.0.1.0 ~ 224.0.1.255: 为用户可用的组播地址(临时组地址),可以用于 Internet 上的。

  1. 224.0.2.0 ~ 238.255.255.255: 用户可用的组播地址(临时组地址),全网范围内有效

  1. 239.0.0.0 ~ 239.255.255.255: 为本地管理组播地址,仅在特定的本地范围内有效

组播地址不属于任何服务器或个人,它有点类似一个微信群号,任何成员(组播源)往微信群(组播 IP)发送消息(组播数据),这个群里的成员(组播接收者)都会接收到此消息。

3.组播应用

3.1 点对多点应用

点对多点应用是指一个发送者,多个接收者的应用形式,这是最常见的多播应用形式。典型的应用包括:媒体广播、媒体推送、信息缓存、事件通知和状态监视等。

3.2 多点对点应用

多点对点应用是指多个发送者,一个接收者的应用形式。通常是双向请求响应应用,任何一端(多点或点)都有可能发起请求。典型应用包括:资源查找、数据收集、网络竞拍、信息询问等。

3.3 多点对多点应用

多点对多点应用是指多个发送者和多个接收者的应用形式。通常,每个接收者可以接收多个发送者发送的数据,同时,每个发送者可以把数据发送给多个接收者。典型应用包括:多点会议、资源同步、并行处理、协同处理、远程学习、讨论组、分布式交互模拟(DIS)、多人游戏等

4. 设置组播属性

如果使用组播进行数据的传输,不管是消息发送端还是接收端,都需要进行相关的属性设置,设置函数使用的是同一个,即:setsockopt(),函数原型如下:

int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);

4.1 发送端

发送组播消息的一端需要设置组播属性,具体的设置方式如下:

组播(Multicast)传输[通俗易懂] - 腾讯云开发者社区-腾讯云 (tencent.com)

(528条消息) Linux C/C++编程:Udp组播(多播)_OceanStar的学习笔记的博客-CSDN博客_c++ udp组播

(528条消息) linux添加组播路由命令,linux – 使用ip route add将组播路由添加到多个接口_MW18的博客-CSDN博客

加入组播路由命令:route add -nv 224.224.224.245 dev eth0

查看路由表:route

vsomip网络通信配置 - water_bear - 博客园 (cnblogs.com)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值