Ip Unnumbered Proof of Concept

Ip Unnumbered Proof of Concept

As announced in the previous post, here is the proof of concept of the IP Unnumbered command.

I will use here exactly the same architecture as in the previous post :

 

 

 

 

 

 

 

Also, 2 conditions will be fulfilled here in order to proove IP Unnumbered works :

  • no routing protocol anywhere, just static routing (via serial interfaces)
  • no IP unnumbered command, but 2 different static IP addresses put on the S0/0 of each router :
    • on R1 : 194.51.3.4
    • on R2 : 154.6.5.3
    • As you can see, random IP addresses have been taken, on completely different network, although on the same link.
Configuration
Here is the configuration :
On R1 :
R1#sh run
hostname R1
!
interface Ethernet0/0
 ip address 11.0.0.1 255.0.0.0
 half-duplex
!
interface Serial1/0
 ip address 194.51.3.4 255.255.255.0
 serial restart-delay 0
 clock rate 64000
!
ip route 10.0.0.0 255.0.0.0 Serial1/0
!

On R2 :

R2#sh run
hostname R2
!
interface Ethernet0/0
 ip address 10.0.0.1 255.0.0.0
 half-duplex
!
interface Serial1/0
 ip address 154.6.5.3 255.0.0.0
 serial restart-delay 0
 clock rate 64000
!
ip route 11.0.0.0 255.0.0.0 Serial1/0
!

As you can see, there are static routes pointing to the other network, via the Interface and not the Next-Hop IP address, which is impossible on most of the non point-to-point link.

Here are the routing tables of R1 and R2 :
R1#sh ip route
Gateway of last resort is not set

S    10.0.0.0/8 is directly connected, Serial1/0
C    11.0.0.0/8 is directly connected, Ethernet0/0
C    194.51.3.0/24 is directly connected, Serial1/0

R2#sh ip route
Gateway of last resort is not set

C    10.0.0.0/8 is directly connected, Ethernet0/0
S    11.0.0.0/8 is directly connected, Serial1/0
C    154.0.0.0/8 is directly connected, Serial1/0
Test
Now let’s test. I will use first a simple ping and a traceroute :
For the ping, on R1, note that I cannot use the default source IP address of the S0/0. Indeed, R2 wouldn’t know how to come back to this unknown IP address. I have to use an IP address of the network behind, for which R2 has a static route :
R1#ping
Protocol [ip]:
Target IP address: 10.0.0.1
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 11.0.0.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds:
Packet sent with a source address of 11.0.0.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/24/56 ms

Now a traceroute, same deal for the source IP address. See the first hop’s IP address ? It’s the one on R2 S0/0 :

R1#traceroute
Protocol [ip]:
Target IP address: 10.0.0.1
Source address: 11.0.0.1
Numeric display [n]: y
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Port Number [33434]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Type escape sequence to abort.
Tracing the route to 10.0.0.1

  1 154.6.5.3 40 msec *  104 msec
R1#

Aaaaand… IT WORKS !