Czym jest: IP unnumbered ?
Każdy interfejs routera potrzebuje unikalnego adresu IP, na podstawie którego podejmowane są decyzje o przesłaniu pakietu. W przypadku interfejsów typu point-to-point (np. serial, tunnel) możemy skorzystać z funkcji ip unnumbered i nie konfigurować bezpośrednio adresu IP na takim interfejsie, a pożyczyć adres IP z innego interfejsu, dzięki czemu zaoszczędzimy adresy, które użylibyśmy do adresacji takich interfejsów. Przed wprowadzaniem VLSM (Variable Lenght Subnet Mask) najmniejszą możliwą maską używaną przy protokołach routingu typu classfull (RIPv1, IGRP) była maska /24, czyli na połączenia point-to-point z dwoma na które potrzebowalibyśmy 2 adresów traciliśmy całą podsieć 254 adresów.
Rozwiązaniem tego problemu było wprowadzenie funkcji ip unnumbered w urządzeniach sieciowych CISCO. Funkcja ta skonfigurowana na interfejsie typu point-to-point umożliwia pożyczenie adresu IP z innego interfejsu (zazwyczaj korzysta się z interfejsu loopback, ze względu na to iż jest on cały czas podniesiony up/up). Dzięki temu nie trzeba konfigurować interfejsu osobnym adresem IP.
PRZYKŁAD
Pokażę teraz przykład użycia funkcji ip unnumbered na interfejsie serial. W poniższym przykładzie mamy dwa routery R1 i R2 połączone ze sobą interfejsem serial. Pomiędzy routerami skonfigurowany jest protokół routingu RIPv1. Na każdym z routerów skonfigurowany został interfejs loopback0 zgodnie z poniższym obrazkiem:
Konfiguracja R1:
interface Loopback0 ip address 192.168.10.1 255.255.255.0 ! interface Loopback10 ip address 192.168.100.1 255.255.255.0 ! interface Serial2/0 ip unnumbered Loopback0 serial restart-delay 0 ! router rip version 1 network 192.168.10.0 network 192.168.100.0
Konfiguracja R2:
interface Loopback0 ip address 192.168.20.1 255.255.255.0 ! interface Loopback10 ip address 192.168.200.1 255.255.255.0 ! interface Serial2/0 ip unnumbered Loopback0 serial restart-delay 0 ! router rip version 1 network 192.168.20.0 network 192.168.200.0
Z powyższej konfiguracji widać, że na obu routerach interfejsy Serial2/0 zostały zaadresowane poleceniem ip unnumbered Looback0. Sprawdźmy teraz jak wygląda polecenie show ip int brief na obu routerach:
R1#show ip int brief Interface IP-Address OK? Method Status Protocol Serial2/0 192.168.10.1 YES TFTP up up Loopback0 192.168.10.1 YES NVRAM up up Loopback10 192.168.100.1 YES NVRAM up up
R2#show ip int brief Interface IP-Address OK? Method Status Protocol Serial2/0 192.168.20.1 YES TFTP up up Loopback0 192.168.20.1 YES NVRAM up up Loopback10 192.168.200.1 YES NVRAM up up
Jak widać oba interfejsy Serial2/0 posiadają taki sam adres IP jak interfejsy Loopback0. Sprawdźmy teraz tablicę routingu obu routerów poleceniem: show ip route
R1#show ip route ... 192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks C 192.168.10.0/24 is directly connected, Loopback0 L 192.168.10.1/32 is directly connected, Loopback0 R 192.168.20.0/24 [120/1] via 192.168.20.1, 00:00:02, Serial2/0 192.168.100.0/24 is variably subnetted, 2 subnets, 2 masks C 192.168.100.0/24 is directly connected, Loopback10 L 192.168.100.1/32 is directly connected, Loopback10 R 192.168.200.0/24 [120/1] via 192.168.20.1, 00:00:02, Serial2/0
R2#show ip route ... R 192.168.10.0/24 [120/1] via 192.168.10.1, 00:00:29, Serial2/0 192.168.20.0/24 is variably subnetted, 2 subnets, 2 masks C 192.168.20.0/24 is directly connected, Loopback0 L 192.168.20.1/32 is directly connected, Loopback0 R 192.168.100.0/24 [120/1] via 192.168.10.1, 00:00:29, Serial2/0 192.168.200.0/24 is variably subnetted, 2 subnets, 2 masks C 192.168.200.0/24 is directly connected, Loopback100 L 192.168.200.1/32 is directly connected, Loopback100
Jak widać protokół RIP działa i wskazuje, że adresy 192.168.100.0 i 192.168.200.0 są osiągalne przez interfejsy Serial2/0. Sprawdźmy teraz czy łączność pomiędzy tymi podsieciami istnieje. W tym celu wydajmy na routerze R1 polecenie: ping ip 192.168.200.1 source Loopback10, a na R2 polecenie: ping ip 192.168.100.1 source Loopback10. Czyli będziemy pingować adresy IP intefejsów Loopback10.
R1#ping 192.168.200.1 source loopback10 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.200.1, timeout is 2 seconds: Packet sent with a source address of 192.168.100.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 12/17/24 ms
R2#ping 192.168.100.1 source Loopback10 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.100.1, timeout is 2 seconds: Packet sent with a source address of 192.168.200.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 12/16/20 ms
Jak widać wszystko działa poprawnie.
PODSUMOWANIE
- Funkcja ip unnumbered pozwala zaoszczędzić adresy IPv4 na intefejsach point-to-point
- Komenda ip unnumbered może być użyta tylko na interfejsach typu point-to-point
- Interfejs z którego „pożyczany” jest adres IP musi być podniesiony (status up/up)