理论和实践是有差距的
下午上那节<”高级”计算机网络>的时候老师抛了个问题,曰:两个主机,IP分别是1.1.1.1和2.2.2.2,在木有路由器的情况下,能否互通?
然后给的答案是不能…理由是不在一个子网里,必须经过路由器…或者在其中一台机器上开启路由功能才可以
自信IP神马的还是学的不错的,不接受这个答案,下课之后跟老师提,如果是1.1.1.1/0和2.2.2.2/0呢?显然就在一个子网里了噻…或者还可以放宽一点,改成1.1.1.1/6和2.2.2.2/6
答曰,理论上应该是可行的,不过没做过实验,不知道现在的协议栈支持了没
然后就开始实验。
两台电脑,接在交换机上,拔掉到路由器的网线。这个时候相互ping还是可以通的,因为IP还是之前DHCP得到的,在一个网段里。
然后改IP地址,改成1.1.1.1/0,这时出现了第一个奇葩的事情,windows的子网掩码至少是/8的,换linux
地址改完之后仍然不通,确实不通
Ubuntu给的提示是Host unreachable,Mac OS给的提示比较奇怪,“ping: sendto: Cannot allocate memory”,是想说程序跑挂了吗?
难道真的是传说中的协议栈不支持吗?或者为了防止世界被破坏对/8之前的大块地址做了特殊规定?
