- 06.02.2011
- 2586 Просмотров
- Обсудить
В эти выходные снова у меня случился приступ трудового энтузиазма. На этот раз в форме изучения курса сетевых технологий. Вчера вторую половину дня и сегодня первую я сидел за конспектом и упражнениями в симуляторах.
Это очередной пример, что интересное дело отвлекает от всего. Даже есть-пить забывал. Не всегда так у меня бывает, даже редко, но иногда бывает.
Дальше идут технические подробности, это для себя, их можно смело пропустить.
А вы знаете, что можно не просто задать статический маршрут:
(config)# ip route <префикс> <маска> <интерфейс | next-hop >
а ещё указать ему административное расстояние:
(config)# ip route <префикс> <маска> <интерфейс | next-hop > <administrative distance>
Если есть несколько маршрутов в одну и ту же сеть, то в таблицу маршрутизации будет добавлен только тот, у кого наименьшее административное расстояние. (А что будет, если у двух маршрутов оно одинаковое, я ещё не проверял.)
А вот если маршрут с меньшим расстоянием станет недоступным и будет удалён из таблицы, в неё автоматически будет добавлен "запасной" маршрут с большим административным расстоянием.
Я проверял, в GNS3.
А если заработает старый маршрут с меньшим административным расстоянием, то он заменит "запасной" маршрут в таблице маршрутизации.
А если административное расстояние будет одинаковым и минимальным, то в таблицу сразу добавятся оба маршрута. Причём одна команда traceroute показывает сразу одновременно два маршрута.
Всё-таки симуляторы прикольные игрушки.:-)
И для удобства работы за терминалом очень удобные команды:
(config)#no ip domain-lookup
(config-line)#logging synchronous
(config-line)#exec-timeot <время в минутах, побольше>
А есть ещё такая штука, как discard route — маршрут для отбрасывания пакетов.
Когда он нужен?
Допустим, у нас есть свой маршрутизатор-шлюз, за ним несколько локальных сетей: 192.168.0.0/24, 192.168.1.0/24, 192.168.2.0/24.
Этот шлюз соединён с маршрутизатором провайдера через свой интерфейс f1/0 (а на стороне маршрутизатора провайдера это интерфейс f1/1).
На шлюзе пишется единственный маршрут:
(config)#ip route 0.0.0.0 0.0.0.0 f1/0
На маршрутизаторе провайдера делается суммирование маршрутов (route summarizatioin), т.е. вместо трёх маршрутов в каждую локальную сеть пишется один, объединяющий их все (ведь выходной интерфейс у них всё равно один и тот же):
(config)#ip route 192.168.0.0 255.255.0.0 f1/1
А теперь представим себе, что из локальной сети пошёл пакет на адрес 192.168.4.1/24.
Такой сети в таблице маршрутов шлюза нет, он пошлёт пакет в соответствии со статическим маршрутом по умолчанию маршрутизатору провайдера.
Тот посмотрит, что пакет идёт в сеть 192.168.4.0/24, она подходит под его маршрут до шлюза (из-за суммирования маршрутов), он отправит пакет обратно шлюзу.
И т.д., они будут гонять его друг другу, пока не станет TTL=0.
traceroute замечательно это показывает.
Как быть, чтобы не загружать устройства и канал бесполезным трафиком?
А вот использовать маршруты для отбрасывания пакетов (discard routes).
Например, в нашей ситуации на шлюзе можно прописать маршрут:
(config)#ip route 192.168.0.0 255.255.0.0 null0
При этом, все подсети 192.168.0.0/24, 192.168.1.0/24, 192.168.2.0/24 будут доступны друг для друга, т.к. они имеют большую длину маски, более "специфические", чем discard route, поэтому при адресе из этих сетей будут выбраны маршруты в directly connected сети (которые есть всегда), а не discard route.
Зато пакеты во все остальные несуществующие подсети сети 192.168.0.0/16 будут отбрасываться на шлюзе, т.к. будет выбран discard route, как более "специфический", чем маршрут по умолчанию.
Клёво, офигеть.
Просто читая, это трудно понять, лучше пробовать сразу. Я не сразу понял, где писать discard route, сначала думал на маршрутизаторе провайдера.
В книжке Alex Zinin "Cisco IP Routing" объяснено, что к чему.
Почему-то на эту книжку в самых разных местах мне ссылки попадаются.
Я проверял, тоже в GNS3, так и работает, как написано, traceroute затыкается сразу.
Это такой Challenge в конце 2-й главы 2-й части был: administrative distance и discard routes — разберитесь сами, решите задачки-ситуации.:-)
Остался Quiz, и всё, я на один шаг ближе к заветному сертификату.:-)
Похожие материалы
Будь-те первым, поделитесь мнением с остальными.