linux – 为什么TUN设备没有BROADCAST标志?

前端之家收集整理的这篇文章主要介绍了linux – 为什么TUN设备没有BROADCAST标志?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Linux中创建TUN设备时,在我的机器上创建的TUN设备具有以下标志:
<POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP>

很明显,MULTICAST列在那里但不是BROADCAST.由于TUN设备使用IP数据包,因此它是处理TUN设备文件的程序,该文件应决定如何处理发送到广播地址的数据包.此外,即使此设备上未列出BROADCAST标志,在TUN设备上将数据包发送到广播地址的应用程序也是合法的.

那么为什么TUN设备没有BROADCAST标志呢?

编辑:抱歉混乱.通过TUN设备,我并不是特意指OpenVPN用于隧道的方式.我的意思是Linux(或其他Unix)中的TUN设备,如下所述:http://www.kernel.org/doc/Documentation/networking/tuntap.txt

解决方法

关键是它是“POINTTOPOINT”……你的机器直接连接到远程端,任何实际的广播都必须由远程端生成.当然,如果您将数据包发送到广播地址,您的远程端肯定会将其传递,并且还会将发送到广播地址的任何数据包传回给您.

相反,如果您有多个工作站直接插入交换机,您的计算机可以发送广播,并且不需要任何网关将该广播重新传输给其他对等方.

猜你在找的Linux相关文章