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

Определение IP-адреса следующего узла для статических маршрутов

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

Содержание

Введение
Предварительные условия
      Требования
      Используемые компоненты
      Теоретические сведения
      Условные обозначения
Проблема
Решение
Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения

Введение

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

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

Требования

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

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

Данный документ не ограничен отдельными версиями программного и аппаратного обеспечения.

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

Возможность настройки статического маршрута была реализована в ПО Cisco IOS® версии 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 в обоих направлениях только, если отключается основной канал.

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

!---Это маршрут по умолчанию к маршрутизатору ISP.

ip route 172.31.10.0 255.255.255.0 10.10.10.2

!---Это предпочтительный маршрут к ЛВС.

ip route 172.31.10.0 255.255.255.0 192.168.20.2 250

!---Это плавающий маршрут к ЛВС.

В данном примере приводится таблица маршрутизации 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

!--- Предпочтительный статический маршрут к ЛВС через T1.

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

!--- Статический маршрут по умолчанию к Интернет.

В примере далее показана конфигурация 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

!--- Это основной маршрут по умолчанию.

ip route 0.0.0.0 0.0.0.0 192.168.20.1 250

!--- Плавающий маршрут по умолчанию, использующийся при отказе T1.

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.

Таблица маршрутизации R2

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

!--- Это основной маршрут по умолчанию.

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

!--- Статический маршрут через T1 остается в таблице маршрутизации.
!--- При отключении Serial 3/2 ожидается иное поведение.

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

!--- Статический маршрут по умолчанию к Интернет.

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

!--- Если источником запроса является ЛВС на R2 эхо-тестирование хоста 
Интернет 192.168.20.1 невозможно 
!--- потому что R1 пытается отправить ответ через
!--- отключенный Serial 3/2.

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