我的公网 IP 是89.75.42.70
。为什么 RIP 数据包包含这样的信息?我不明白 IP 符号以及它的含义。
IP 地址:89.75.40.0,度量值:1
地址系列:IP(2)
IP 地址:89.75.40.0 (89.75.40.0)
度量:1
答案1
RIP是路由信息协议,是一种非常基本的(早期的)协议,用于宣布给定接口上可用的路由。它是一种广播协议。对于不包含网络掩码的 RIP 数据包(如您的数据包),它假定使用旧的、非常不推荐使用的子网分类指定。在您的例子中,它宣布了 89.75.40.0/24 的路由,即旧的、不推荐使用的 C 类。
具体来说,RFC1058 第 3.2 节定义这些无子网公告的工作方式:
当主机评估通过 RIP 收到的信息时,它对地址的解释取决于它是否知道适用于网络的子网掩码。如果知道,那么就可以确定地址的含义。例如,考虑网络 128.6。它的子网掩码为 255.255.255.0。因此 128.6.0.0 是网络号,128.6.4.0 是子网号,128.6.4.1 是主机地址。如果有非零的主机部分,则没有明确的方法来判断该地址代表的是子网号还是主机地址。
[重点是我的]
RIPv1 没有子网掩码字段。RIPv2 有子网掩码字段,但仍然允许缺少子网掩码。
在您的情况下,网络 89/8 属于旧的 A 类范围,这表明您的 RIP 数据包实际上是 v2 数据包。V2 表示 CIDR,它只是可选的,因此收到 RIP 公告的主机将根据其自身网络配置中的任何子网掩码对其进行评估。
该地址超出范围,因此它将被视为一个公告,即指定网络(无论位于何处)都可以通过源的 IP 地址访问。由于公告的地址以零结尾,并且没有提供子网掩码,因此主机可能会认为网络掩码是 /24。