UDP - 单播 组播 广播 理解

单播

假设有两台主机:主机A和主机B,它们连接到同一个局域网,并且使用以下IP地址和端口号:

主机A:IP地址为 192.168.1.10,端口号为 7010

主机B:IP地址为 192.168.1.20,端口号为 7020

发送单播:

  1. 主机A准备向主机B发送一条单播消息。
  2. 主机A知道主机B的IP地址为 192.168.1.20,并且知道目标端口号为 7020。
  3. 主机A创建一个数据包,其中包含要发送的消息。
  4. 主机A将数据包发送到局域网中,指定目标IP地址为 192.168.1.20,并指定目标端口号为 7020。

接收单播:

  1. 主机B在其指定的端口号 7020 上监听传入的消息。
  2. 局域网中的路由器将数据包从主机A转发到主机B。
  3. 主机B收到数据包,并提取出消息,然后根据指定的端口号 7020确定消息的目的地应用程序或服务。

这个示例演示了单播通信的过程,其中消息从主机A单向发送到了主机B,且只有主机B会接收到该消息。


组播

假设有三台主机:主机1、主机2和主机3。主机2和主机3已经加入了组播组 239.0.0.1,而主机1没有加入组播组。

  1. 加入组播组:

    • 主机2和主机3发送组播组加入请求,以加入组播组 239.0.0.1,并且监听了端口(端口号 5000)。
  2. 发送数据:

    • 主机1希望向组播组发送数据。虽然主机1没有加入组播组,但它仍然可以直接向组播地址 239.0.0.1 发送数据包到特定的端口,端口号 5000。
  3. 接收数据:

    • 主机2和主机3已经加入了组播组 239.0.0.1,它们会在各自的主机上监听组播组(端口号 5000)。
    • 即使主机1没有加入组播组,但它向组播地址 239.0.0.1 发送的数据包将被路由到组播组,而已经加入该组播组的主机2和主机3将会接收到这些数据包。

所以,即使主机1没有加入组播组,主机2和主机3仍然能够通过组播地址接收到主机1发送的数据。这是组播通信的一个重要特性。

        PS:在组播通信中,消息发送方(主机1)不需要加入组播。


广播

假设有三台主机:主机1、主机2和主机3,它们都连接到同一个局域网,并且使用以下IP地址和端口号:

  • 主机1:IP地址为 192.168.0.1,端口号为 6000
  • 主机2:IP地址为 192.168.0.2,端口号为 6000
  • 主机3:IP地址为 192.168.0.3,端口号为 6000

现在,主机1希望向局域网内的所有主机发送广播消息。

  1. 发送广播:

    • 主机1将消息发送到广播地址 255.255.255.255,并指定目标端口为 6000。
  2. 接收广播:

    • 主机2和主机3都在监听端口号为 6000 的广播消息。
    • 当主机1发送广播消息时,它们都会接收到这个广播消息。

所以,主机1发送的广播消息会被整个局域网内的主机2和主机3收到,因为它们都在监听相同的广播地址和端口号。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值