首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >广播作品但广播地址未设置

广播作品但广播地址未设置
EN

Server Fault用户
提问于 2017-10-30 22:17:21
回答 1查看 1.9K关注 0票数 0

快速问题

获取广播地址以使用系统调用(如ioctl()getifaddrs() )的良好做法,还是由于以下两个原因而过时/无用?

  1. 我可以在网络掩码和IP之间做一个二进制或
  2. 广播地址并不总是被设置的。

详细信息

我正在播放一些UDP广播代码,无论是在我的Arch机器上还是在一些Ubuntu容器上。

我看到有些接口具有广播地址集,例如我在Arch上的wifi接口(来自$ ip addr):

192.168.0.11/24 brd 192.168.0.255全球wlp4s0

有些则没有,例如Ubuntu容器上的eth0接口:

inet 172.17.0.5/16范围全球eth0

但是,如果我向172.17.255.255发送数据包,它们实际上会被广播到网络上的其他机器上。

这个问题上,据说不需要手动设置广播地址。这里,似乎有人暗示Docker没有故意设置广播地址,因为某些原因我不明白。

所以我想知道:什么是检测网络接口广播地址的正确方法?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2017-11-03 09:45:11

似乎广播地址在接口定义中是一个“独立”字段(至少在我尝试过的一些linux系统上是这样),但是它不应该用于定向广播,因为它可能是不设置的。

如果未设置,则ioctl()等命令错误地将广播地址读入"0.0.0.0“,最后进入这种情况

因此,我将再次提到问题,并支持广播地址应该从ip和网络掩码计算的想法。广播地址只应被视为ip addrifconfig等命令输出的指示。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/881090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档