Internet上路由器的接口IP一定要Global IP?

昨天深夜看到一位会员朋友发的朋友圈,看完一瞬间点了一个赞。内心的OS是,从此这个地球上又多了一位懂计算机网络的朋友。

Internet上路由器的接口IP一定要Global IP?

是的,机器物理接口绑定的IP地址,用于标识该条物理链路。

如果想让Internet其它路由器发现这条物理链路(连接),那么就使用Global IP地址,并将其通告进入BGP,从而扩散到互联网上去。比如这条物理链路是一个点对点连接,一端使用1.1.1.1/30,另一端使用1.1.1.2/30,那么就可以将该链路的网段1.1.1.0/30通过BGP扩散出去。

别的路由器只要找到1.1.1.0/30这条连接,就相当于找到了1.1.1.1和1.1.1.2 这两个IP地址及其绑定的机器。

如果这是一个广播链路,比如以太网,使用1.1.1.0/24来标识这个链路,那么其它路由器只要找到1.1.1.0/24,即可找到1.1.1.x上254个IP地址及其机器。

如果不想让Internet其它路由器发现这条物理链路,那么有以下三个选择:

尽管使用Global IP,但BGP不扩散该条链路
使用私有IP,变相拒绝BGP扩散,因为扩散私有IP违法
不使用IP地址,比如ISIS,BGP无法扩散

同学们可能会有点小疑惑,这样可以吗?
当然可以,路由器之间的物理链路绑定的IP地址,可以使用以上三种方式,不会造成互联网的通信故障。

这样做有什么好处吗?
好处当然有很多,比如节约Global IP的使用量,互联网上的其它路由器无法发现这些物理链路,更不能访问它们。

如果在Internet上想远程访问这些路由器(物理链路不配置Global IP),怎么办呢?
每台路由器只分配一个独一无二的Global IP,并绑定在软件接口上,比如loopback = 1.1.1.1/32,或者2.2.2.2/32,然后BGP扩散出去。这样可以最大化节省Global IP地址的使用量。

使用软件接口绑定IP地址作为机器的标识,最大的好处是稳定可靠。只要机器上电工作,这个IP地址一直都是活的。而物理接口上绑定的IP地址,只要电缆没有插好,那么就Down了。

说得花好稻好,现实的问题来了,以上三种方式BGP之间邻居关系如何建立?

这个其实不难,只要使用IGP来扩散物理链路的路由即可,常用的有OSPF/ISIS,让它们来扩散私有路由,或者路由器的软件接口IP即可。

路由器的多个物理链路绑定的IP地址之间可以在路由器自由通信,但是普通的主机多个物理链路绑定的IP地址之间默认情况下是无法通信的。而要通信,需要开启IP Forward Mode,一旦开启,普通的主机就是一台路由器。

但是,不要忘记,路由器对物理接口所绑定的IP地址限制会更严格,为什么?

比如路由器两个物理接口,一个能使用1.1.1.1/24,另外一个使用1.1.1.2/24吧?

不能!

为什么?

请看朋友圈那幅图片,因为两个物理链路都是1.1.1.0/24,引起了歧义。在计算机的世界里,任何引起歧义的东西,都会造成不确定性,而不确定往往意味着错误!当然限于篇幅,此处省略3000字的解释。。。

为何普通主机的两个物理链路,一个使用1.1.1.1/24,另外一个使用1.1.1.2/24却没有问题?

不会引起歧义,所以可以!此处省略2600字,这些省略的文字可以到上篇,和下篇去寻找答案。

发表评论

登录后才能评论
服务中心
服务中心
联系客服
联系客服
返回顶部