图1.1 某公司的网络拓扑图 
1.1 使用背景 
假设有一家公司。总部在北京,在深圳、上海各有一个分公司。在武汉有一个办事处。它的网络情况参加图1.1。R是总部的路由器,它通过电话网(PSTN)与各个分公司、办事处的路由器R1、R2、R3相连。 R、R1、R2、R3四台路由器都有一个串口(用于拨号),一个以太网口用于连接本地的网络。

以R、R1为例,R与R1连通,则R、R1的串口上必须配有IP地址,才能实现互通。对于路由器来说,不同的接口必须配置不同网段的IP地址。这样R、R1的以太网口和串口的IP地址必须在不同的网段。R2、R3也是如此。而一个最小的网段也必须有四个IP地址。因此,该公司为了实现总部与各个分公司、办事处的互通,就必须拿出16(四台路由器×四个IP地址)个IP地址来。如果该公司申请了一个C类地址(一共有255个IP地址),就只有239个IP地址可用与内部的主机。如果该公司有N个分公司、M个办事处,就需要拿出(N+M)×4个IP地址用于路由器的互通。此时剩下的可用IP地址就更少了。

但是仔细想一下,保留给路由器串口的IP地址实际上仅仅是用于实现路由器间的互通,除此再没有别的用途了。在这样一种背景下,借用IP地址(Ip unnumbered)的功能就产生了。

1.2 使用方法 
所谓“借用IP地址”实际就是:一个接口上没有配置IP地址,但是还想使用该接口。就向其它有IP地址的接口借一个IP地址来。如果被借用接口有多个IP地址,只能借来主IP地址。如果被借用接口没有IP地址,则借用接口的IP地址为0.0.0.0。该功能通过Ip unnumbered命令来实现。

Ip unnumbered interface number 
[no]Ip unnumbered

例如封装PPP的串口借用以太网口的IP地址:

Quidway(config-if-Serial0)#ip unnumbered ethernet 0

由于借用接口本身没有IP地址,无法加上路由,所以必须手工配置两条路由才能实现路由器的连通。请参见下面的实例。

2 使用实例

我们就以图1.1所示的某公司的网络情况为例子,讲解一下具体的配置方法。

先讲总部路由器R的配置方法。R的串口用于连接各个分公司、办事处的路由器。所以可借用以太网口的IP地址。

 

 

 

 

Current configuration: 
!
hostname beijing
!
interface Ethernet0
ip address 172.16.10.1 255.255.255.0
!
interface Serial0
ip unnumbered Ethernet0:借用以太网的IP地址
encapsulation ppp
!
ip route 172.16.20.1 255.255.255.0 172.16.20.1:
配置到深圳路由器R1以太网网段的路由
ip route 172.16.20.1 255.255.255.255 serial0:
配置到深圳路由器R1串口的接口路由

 

 

 

 

 

 

 

 

 

 

 

 

以深圳分公司的路由器R1为例,讲解一下它的配置:

 

 

 

 

 

 

 

 

 

Current configuration: 
!
hostname shenzhen
!
interface Ethernet0
ip address 172.16.20.1 255.255.255.0
!
interface Serial0
ip unnumbered Ethernet0
encapsulation ppp
!
ip route 0.0.0.0 0.0.0.0 172.16.10.1:
配置到北京路由器R以太网网段的路由
ip route 172.16.10.1 255.255.255.255 serial0:
配置到北京路由器R串口的接口路由

 

 

 

 

 

 

 

 

 

 

 

 

 

 为突出主题,上面的配置只包含了与借用IP地址相关的配置。这里需要提请注意的是:路由的配置。

在北京总部的路由器R上必须配置两条静态路由才能访问到深圳路由器R1的以太网上的主机。第一条静态路由是到R1的以太网段的网段路由:下一跳为R1的串口的IP地址(或是借用的IP地址)。

ip route 172.16.20.1 255.255.255.0 172.16.20.1

第二条静态路由是到R1串口的接口路由,下一跳是R的串口。

ip route 172.16.20.1 255.255.255.255 serial0

加上这两条路由后,R就能把访问R1以太网段的IP报文正确地转发给R1。

同样,在R1上也要配置两条静态路由才能正确地访问到R的以太网网段。第一条静态路由是到R的以太网段的网段路由:下一跳为R的串口的IP地址(或是借用的IP地址)。

ip route 0.0.0.0 0.0.0.0 172.16.10.1

第二条静态路由是到R串口的接口路由,下一跳是R1的串口。

ip route 172.16.10.1 255.255.255.255 serial0

R2、R3参照R1的配置即可.

 

 

借用ip 地址这种功能,其最主要的目的就是节省宝贵的ip 地址资源。一个接口如果没有ip 地址就无法生成路由,也就无法转发报文。所谓“借用ip 地址”,其实质就是:一个接口上没有配置ip 地址,但是还想使用该接口。就向其它有ip 地址的接口借一个ip 地址过来,以使该接口能够正常使用。如果被借用接口有多个ip地址,则只能借用主ip 地址。如果被借用接口没有ip 地址,则借用接口的ip 地址为0.0.0.0。该功能通过ip address unnumbered 命令来实现。

 

需要注意的是:

(1)借用方不能为以太网接口。

(2)被借用方接口的地址本身不能为借用地址。

(3)被借用方的地址可以借给多个接口。

(4)loopback 的地址可被其它接口借用,但本身不能借用其它接口的地址

 

实例:

IP <wbr>unnumbered
 

Router0的S2/0口没有IP地址,Router1的S2/0地址为:10.0.0.1

使用IP unnumbered在S2/0上借用loopback接口的ip地址,使路由器之间正常通信。

  

   interface Loopback 0
   ip address 10.0.0.2 255.255.255.0
   !
   interface Serial 2/0
   ip unnumbered Loopback 0:借用loopback0的IP地址
   encapsulation ppp

   !

在Router1上配置S2/0的IP地址,Router1和Router0则可以正常通信