假设我通过 连接到互联网eth0
,并运行以下命令:
ip addr | grep eth0 | grep inet
该命令输出以下字符串信息:
inet 123.213.50.19/20 brd 123.213.63.255 scope global eth0
我对掩码号进行了匿名化处理,并保持子网号之间的间距一致。
我的问题是:给定/20
上面的地址、地址brd ...
和端口数组,我可以选择从该以太网连接托管某些内容的 IP 地址和端口号的总组合是什么?
是吗:
2^12 * (portCount - portsReserved)?
并且,在计算它们时,我是否只需获取值数组,从以下位置开始:
123.213.50.19
并结束于:
123.213.50.19 + 2^12
并在那里选择任何地址?
答案1
inet 123.213.50.19/20 brd 123.61.255
表示接口配置为使用 IPv4 地址 123.213.50.19,子网掩码为 20 位,广播地址为 123.61.255(应为 123.213.63.255)。
子网掩码决定了您的系统可以在不通过网关的情况下与哪些 IP 地址“对话”,但它并不能确定您的系统可以与多少个 IP 地址进行通信使用。如果您愿意,您可以为您的接口分配更多 IP 地址(并且没有其他设备使用它们),但这不是自动的。
忽略网络限制,可能性的数量由可用子网位 (32 - 20, 12) 和端口数量 (65536) 减去不可用的值(例如广播地址)决定。子网中可能的最低 IP 地址是全零加一的掩码地址,通常为:123.213.48.1(48 为 00110000b)。可能的最高地址是全 1 减一的掩码地址:123.213.63.254(63 是 00111111b)。