Протокол IP : IP-маршрутизация

Задание IP-адреса следующего прыжка в статических маршрутах

28 июля 2013 - Машинный перевод
Другие версии: PDF-версия:pdf | Перевод, выполненный профессиональным переводчиком (23 марта 2008) | Английский (30 октября 2006) | Отзыв


Содержание


Введение

В этом документе представлены основные принципы статических маршрутов. Чтобы выявить обстоятельства, при которых желательно указывать интерфейс, через который можно достичь IP-адрес следующего узла во время настройки статического маршрута, в данных материалах используется сценарий проблемы.

Предварительные условия

Требования

Для этого документа отсутствуют особые требования.

Используемые компоненты

Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования.

Теоретические сведения

Возможность настроить статический маршрут была представлена в Cisco IOS® Software Release 10.0. Статические маршруты используются по ряду причин и, в частности, в тех случаях, когда динамический маршрут к пункту назначения отсутствует или протокол динамической маршрутизации недоступен.

По умолчанию административное расстояние для статических маршрутов равно единице, что дает им преимущество по сравнению с маршрутами протокола динамической маршрутизации. Если сделать значение административного расстояния больше значения для протокола динамической маршрутизации, статический маршрут может превратиться в запасную сеть на случай отказа динамической маршрутизации. К примеру, административное расстояние по умолчанию маршрутов внутреннего протокола маршрутизации шлюзов (IGRP) равно 100. Чтобы настроить статический маршрут, который будет переопределен маршрутом IGRP, его административное расстояние должно быть более 100.

Такой тип статического маршрута называется "плавающим" статическим маршрутом. Он заносится в таблицу маршрутизации только после исчезновения предпочтительного маршрута. Например, ip route 172.31.10.0 255.255.255.0 10.10.10.2 101.

 Примечание.Административное расстояние со значением 255 считается недостижимым и статические маршруты с административным расстоянием равным 255 никогда не заносятся в таблицу маршрутизации.

Если статический маршрут указывает на широковещательный интерфейс, маршрут заносится в таблицу маршрутизации только, когда интерфейс работает. Использование данной конфигурации не рекомендуется: после того, как следующий узел статического маршрута указывает на интерфейс маршрутизатор считает каждый из хостов, находящихся в его диапазоне, напрямую подключенными друг к другу через этот интерфейс. Например, ip route 0.0.0.0 0.0.0.0 Ethernet0.

С данным типом конфигурации маршрутизатор выполняет протокол разрешения адресов (ARP) на Ethernet для каждого назначения, которое маршрутизатор находит через маршрут по умолчанию, потому что маршрутизатор рассматривает все эти назначения как непосредственно связано с Ethernet 0.

Этот вид маршрута по умолчанию, особенно если это используется большим количеством пакетов ко многим другим подсетям назначения, может вызвать высокую загруженность процессора и очень большой кэш ARP (вместе с сопутствующими ошибками выделения памяти).

Если указать численное значение следующего узла напрямую подключенного интерфейса, маршрутизатор не будет выполнять протокол ARP для каждого адреса назначения. Однако если интерфейс следующего узла перестает работать, а следующий численный узел достижим через рекурсивный маршрут, необходимо указать оба IP-адреса следующего узла и интерфейс, через который должен находиться следующий узел. Например, ip route 0.0.0.0 0.0.0.0 Serial 3/3 192.168.20.1.

Условные обозначения

Подробные сведения об условных обозначениях см. в документе "Условное обозначение технических терминов Cisco".

Проблема:

В этой сетевой диаграмме присутствуют два статических маршрута к одному и тому же адресу назначению (172.31.10.0/24). Один из маршрутов является плавающим статическим и рассматривается в качестве "резервного" или избыточного пути к сети назначения ЛВС. Проблема этого сценария в том, что плавающий статический маршрут никогда не заносится в таблицу маршрутизации, если основной канал отключен.

У R1 есть маршрут по умолчанию, который указывает на маршрутизатор поставщика услуг Интернет (ISP) для получения доступа к Интернет. R1 использует два канала к R2. T1 - это основной канал, а 56 K - резервный канал. У R1 есть статический маршрут для 172.31.10.0/24, который указывает на IP-адрес R2 Serial 0 (10.10.10.2) в качестве следующего узла. Также у R1 есть плавающий статический маршрут для 172.131.10.0/24, который указывает на IP-адрес R2 Serial 1 (192.168.20.2); административное расстояние для этого маршрута равно 250. Пакеты должны идти по линии 56 K в обоих направлениях только, если отключается основной канал.

/image/gif/paws/27082/ip_static_routes_01.gif

В примере далее показана конфигурация R1:

R1
hostname R1

!
ip subnet-zero
no ip domain-lookup
!
controller E1 2/0
!
controller E1 2/1
!
interface Serial3/0
 description ISP Link
 ip address 192.168.10.1 255.255.255.252
 clockrate 64000
!
interface Serial3/1
 no ip address
 shutdown
!
interface Serial3/2
 description Primary Link to R2
 ip address 10.10.10.1 255.255.255.252
!
interface Serial3/3
 description Backup Link to R2
 ip address  192.168.20.1 255.255.255.252
 clockrate 64000
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial3/0

!---This is the default route to ISP router.

ip route 172.31.10.0 255.255.255.0 10.10.10.2

!---This is the preferred route to the LAN.

ip route 172.31.10.0 255.255.255.0 192.168.20.2 250

!---This is the floating route to the LAN.

Данный пример показывает таблицу маршрутизации R1:

Таблица маршрутизации маршрутизатора R1
R1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
       U - per-user static route, o - ODR

Gateway of last resort is 0.0.0.0 to network 0.0.0.0

     10.0.0.0/30 is subnetted, 1 subnets
C       10.10.10.0 is directly connected, Serial3/2
     192.168.10.0/30 is subnetted, 1 subnets
C       192.168.10.0 is directly connected, Serial3/0
     192.168.20.0/30 is subnetted, 1 subnets
C       192.168.20.0 is directly connected, Serial3/3
     172.31.0.0/24 is subnetted, 1 subnets
S       172.31.10.0 [1/0] via 10.10.10.2

!--- The preferred static route to the LAN through the T1.

S*   0.0.0.0/0 is directly connected, Serial3/0

!--- The static default route to the Internet.

Данный пример показывает конфигурацию R2:

R2:
hostname R2
!
enable password ww
!
!
!
!
!
ip subnet-zero
no ip finger
no ip domain-lookup
!
!
!
interface Ethernet0
 description Local LAN
 ip address 172.31.10.2 255.255.255.0
!
interface Serial0
 description Primary Link to R1
 ip address 10.10.10.2 255.255.255.252
 clockrate 56000
!
interface Serial1
 description Backup Link to R1
 ip address 192.168.20.2 255.255.255.252
!
interface TokenRing0
 no ip address
 shutdown
!
ip classless
ip route 0.0.0.0 0.0.0.0 10.10.10.1

!--- This is the primary default route.

ip route 0.0.0.0 0.0.0.0 192.168.20.1 250

!--- The floating default route to be used if the T1 fails.

no ip http server
!
!
line con 0
 exec-timeout 0 0
 transport input none
line aux 0
line vty 0 4
 password ww
 login
!
end

У R2 имеется маршрут по умолчанию, установленный через 10.10.10.1, и при использовании команды traceroute от R2 к маршрутизатору ISP, пакеты пересылаются по каналу T1. R2 может отправить запросы к хосту Интернет 192.168.30.1 с источником из 172.31.10.2. Маршрут к 192.168.30.1 идет через маршрут по умолчанию 0.0.0.0 0.0.0.0.

Таблица маршрутизации маршрутизатора 2
R2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is 10.10.10.1 to network 0.0.0.0

     172.31.0.0/24 is subnetted, 1 subnets
C       172.31.10.0 is directly connected, Ethernet0
     192.168.20.0/30 is subnetted, 1 subnets
C       192.168.20.0 is directly connected, Serial1
     10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C       10.10.10.0/30 is directly connected, Serial0
S*   0.0.0.0/0 [1/0] via 10.10.10.1

!--- This is the primary default route.

R2#traceroute 192.168.10.2

Type escape sequence to abort.
Tracing the route to 192.168.10.2

  1 10.10.10.1 16 msec 20 msec 16 msec
  2 192.168.10.2 32 msec *  32 msec

R2#ping
Protocol [ip]:
Target IP address: 192.168.30.1
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 172.31.10.2
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 192.168.20.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 32/32/32 ms

Если отключается Serial 3/2 на R1 для проверки обработки отказа, R1 должен установить плавающий статический маршрут в ЛВС 172.31.10.0, а R2 должен установить плавающий статический маршрут в 0.0.0.0 через 192.168.20.1. Трафик должен пересылаться по каналу 56K.

R1
R1#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
Serial3/0              192.168.10.1    YES manual up                    up
Serial3/1              unassigned      YES unset  administratively down down
Serial3/2              10.10.10.1      YES manual up                    up
Serial3/3              192.168.20.1    YES manual up                    up


R1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int s3/2
R1(config-if)#shut
R1(config-if)#end
2d21h: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial3/2, changed state to down
2d21h: %LINK-5-CHANGED: Interface Serial3/2, changed state to administratively down

R1#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
Serial3/0              192.168.10.1    YES manual up&                   up
Serial3/1              unassigned      YES unset  administratively down down
Serial3/2              10.10.10.1      YES manual administratively down down
Serial3/3              192.168.20.1    YES manual up                    up


R1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
       U - per-user static route, o - ODR

Gateway of last resort is 0.0.0.0 to network 0.0.0.0

     192.168.10.0/30 is subnetted, 1 subnets
C       192.168.10.0 is directly connected, Serial3/0
     192.168.20.0/30 is subnetted, 1 subnets
C       192.168.20.0 is directly connected, Serial3/3
     172.31.0.0/24 is subnetted, 1 subnets
S       172.31.10.0 [1/0] via 10.10.10.2

!--- The static route through the T1 remains in the routing table.
!--- This is not what was expected to happen when Serial 3/2 was shut.

S*   0.0.0.0/0 is directly connected, Serial3/0

!--- The static default route to the Internet.

R2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is 192.168.20.1 to network 0.0.0.0

     172.31.0.0/24 is subnetted, 1 subnets
C       172.31.10.0 is directly connected, Ethernet0
     192.168.20.0/30 is subnetted, 1 subnets
C       192.168.20.0 is directly connected, Serial1
S*   0.0.0.0/0 [250/0] via 192.168.20.1

!--- It is no longer possible to ping the Internet host 192.168.20.1 if the ping 
!--- is sourced from the LAN on R2 because R1 tries to send the replies
!--- via the Serial 3/2, which is down.

R2#ping
Protocol [ip]:
Target IP address: 192.168.30.1
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 172.31.10.2
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 192.168.20.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

Плавающий статический маршрут не был установлен на R1, а основной статический маршрут все еще находится в таблице маршрутизации R1 несмотря на то, что канал Serial 3/2 отключен. Это происходит потому, что статические маршруты по своему характеру рекурсивны. До тех пор, пока имеется маршрут к следюущему узлу, статический маршрут остается в таблице маршрутизации. В этом случае R1 считает, что может добраться до 10.10.10.2 через 192.168.10.2, поскольку 192.168.10.2 является следующим узлом для 0.0.0.0 0.0.0.0.

К следующему узлу может идти более конкретный, менее конкретный или маршрут по умолчанию. В этом сценарии проблемы кажется, что маршрут к 10.10.10.2 отсутствует, поскольку канал не работает, но в таблице маршрутизации R1 присутствует статический маршрут по умолчанию, указывающий на маршрутизатор ISP. Следовательно, R1 считает, что может перейти к следующему узлу (10.10.10.2) для 172.31.10.0/24 через маршрут по умолчанию, поэтому статический маршрут 172.31.10.0/24 через 10.10.10.2 остается в таблице маршрутзации, а плавающий статический маршрут не заносится в таблицу.

Существует лучший способ настройки статических маршрутов, который позволяет избежать этой проблемы. Если указан интерфейс, через который должен быть найден следующий узел, плавающий статический маршрут будет установлен только, если IP-адрес следующего узла можно найти через указанный интерфейс. Прежде чем будет представлено решение этой проблемы, нужно перенести интерфейс Serial 3/2 обратно на канал R1.

R1
R1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int s 3/2
R1(config-if)#no shut
R1(config-if)#end
R1#
2d22h: %LINK-3-UPDOWN: Interface Serial3/2, changed state to up
2d22h: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial3/2, changed state to up
2d22h: %SYS-5-CONFIG_I: Configured from console by console


R1#show ip int brief
Interface              IP-Address      OK? Method Status                Protocol
Serial3/0&             192.168.10.1    YES manual up                    up
Serial3/1              unassigned      YES unset  administratively down down
Serial3/2              10.10.10.1      YES manual up                    up
Serial3/3              192.168.20.1    YES manual up                    up


R1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
       U - per-user static route, o - ODR

Gateway of last resort is 0.0.0.0 to network 0.0.0.0

     10.0.0.0/30 is subnetted, 1 subnets
C       10.10.10.0 is directly connected, Serial3/2
     192.168.10.0/30 is subnetted, 1 subnets
C       192.168.10.0 is directly connected, Serial3/0
     192.168.20.0/30 is subnetted, 1 subnets
C       192.168.20.0 is directly connected, Serial3/3
     172.31.0.0/24 is subnetted, 1 subnets
S       172.31.10.0 [1/0] via 10.10.10.2
S*   0.0.0.0/0 is directly connected, Serial3/0
R1#

Решение:

В качестве решения можно предложить переместить старые статические маршруты на ЛВС (172.31.10.0) и настроить новые статические маршруты, указав в этот раз интерфейс, через который можно перейти к следующему узлу. Это позволит внести плавающий статический маршрут R1 в таблицу, когда интерфейс Serial 3/2 будет выключен.

R1
R1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#no ip route 172.31.10.0 255.255.255.0 10.10.10.2
R1(config)#no ip route 172.31.10.0 255.255.255.0 192.168.20.2 250
R1(config)#ip route 172.31.10.0 255.255.255.0 Serial3/2 10.10.10.2
R1(config)#ip route 172.31.10.0 255.255.255.0 Serial3/3 192.168.20.2 250
R1(config)#end
R1#
2d22h: %SYS-5-CONFIG_I: Configured from console by console

Статический маршрут к 172.31.10.0 через 10.10.10.2 вносится в таблицу маршрутизации R1, если 10.10.10.2 можно увидеть через Serial 3/2. Если это условие не удовлетворяется, статический маршрут через 10.10.10.2 удаляется из таблицы маршрутизации, а плавающий статический маршрут к 172.31.10.0 через Serial 3/3 со следующим узлом 192.168.20.2 вносится в таблицу.

Для того, чтобы увидеть, как это работает и отключить канал T1, выключите Serial 3/2 и проверьте, внесен ли плавающий статический маршрут в таблицу маршрутиации.

R1
R1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int s 3/2
R1(config-if)#shut
R1(config-if)#end
R1#
3d00h: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial3/2, changed state to down
3d00h: %SYS-5-CONFIG_I: Configured from console by console
3d00h: %LINK-5-CHANGED: Interface Serial3/2, changed state to administratively down

R1#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
Serial3/0              192.168.10.1    YES manual up                    up
Serial3/1              unassigned      YES unset  administratively down down
Serial3/2              10.10.10.1      YES manual administratively down down
Serial3/3              192.168.20.1    YES manual up                    up

R1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
       U - per-user static route, o - ODR

Gateway of last resort is 0.0.0.0 to network 0.0.0.0

     192.168.10.0/30 is subnetted, 1 subnets
C       192.168.10.0 is directly connected, Serial3/0
     192.168.20.0/30 is subnetted, 1 subnets
C       192.168.20.0 is directly connected, Serial3/3
     172.31.0.0/24 is subnetted, 1 subnets
S       172.31.10.0 [250/0] via 192.168.20.2, Serial3/3
S*   0.0.0.0/0 is directly connected, Serial3/0
R1#

Теперь R1 может посылать запрос хосту Интернет 192.168.20.1 с пакетами, исходящими из ЛВС.

R2:
R2#ping
Protocol [ip]:
Target IP address: 192.168.20.1
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 172.31.10.2
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 192.168.20.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 32/32/32 ms

Как и ожидалось, плавающий статический маршрут внесен в таблицу.

Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Дополнительные сведения


Document ID: 27082