Динамическая маршрутизация в Linux. Динамическая маршрутизация

О чем эта статья

В статье описываются протоколы динамической маршрутизации, использующие для определения оптимальности того или иного маршрута различные алгоритмы – дистанционно-векторный и состояния связи. Приведен пример настройки конфигурации протокола OSPF для пакета Quagga. Описаны особенности демонов маршрутизации routed и gated.

Преимущества и недостатки динамической маршрутизации

Динамическая маршрутизация используется преимущественно в средних и крупных сетях со сложной, часто меняющейся инфраструктурой, где прежде всего важна оперативность отслеживания и устранения проблем связи. Это достигается за счет программного управления таблицами маршрутизации при помощи демонов (в unix-подобных системах для этих целей используются процессы routed и gated). Периодический обмен информацией между маршрутизаторами осуществляется с помощью соответствующих протоколов - на основании полученных данных корректируются записи в таблицах маршрутизации.

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

Внутри- и междоменные протоколы динамической маршрутизации

По мере разрастания локальной сети вопрос эффективной организации динамической маршрутизации становится более актуальным из-за ограничения объема памяти маршрутизаторов и, как следствия, снижения быстродействия в результате увеличения нагрузки на сеть. Для его решения используется понятие «автономная система» (AS), которое представляет собой совокупность локальных сетей, объединенных единой маршрутной политикой. Протоколы, осуществляющие маршрутизацию внутри автономных систем в пределах домена, - RIP/RIPv2, IS-IS, IGRP, OSPF - входят в соответствующую группу «Interior Routing Protocols». В свою очередь, протоколы, выполняющие функцию организации маршрутизации между AS и являющиеся, своего рода, пограничными, или междоменными, - EGP, BGP - объединяются в группу Exterior Routing Protocols.

RIP (Routing Information Protocol) относится к протоколам дистанционного-векторного типа, использующим узел назначения и число хопов (переходов между транзитными узлами) до него в качестве простейшей метрики маршрутизации. В маршрутные таблицы RIP записывается информация об IP-адресах узла назначения и ближайшего шлюза, а также таймерах маршрута. Каждые 30 секунд маршрутизаторы отправляют широковещательные RIP-сообщения с текущими данными своей маршрутной таблицы, обновляя, таким образом, информацию о сети. В Unix и GNU/Linux поддержку протокола RIP первой версии (RIPv1) осуществляет демон маршрутизации routed.

Одним из недостатков протокола RIP является слабая проработка механизма обнаружения неработающих транзитных узлов, в частности, в самом формате RIP-сообщения не предусмотрено какого-либо флага, который бы фиксировал данное изменение сети. Для выявления проблемы для каждого транзитного узла существует период TTL (Time-to-Live), равный шестикратному периоду рассылки векторов по сети. Маршрут считается недоступным, если по истечении указанного времени он не смог отправить соответствующий RIP-сообщение. На практике обновление маршрутных таблиц подобным образом происходит достаточно медленно и не синхронизировано. Нередко это приводит к появлению маршрутных петель, когда из-за образовавшихся некорректных записей в маршрутных таблицах пакеты начинают циркулировать между узлами вплоть до истечения их собственного TTL.

RIP является одним из старейших протоколов динамической маршрутизации, в силу чего его возможности зачастую уступают более современным аналогам. Он прост в настройке, однако имеет ограничение на число хопов (всего 15). Это делает невозможным его использование в крупных сетях, несмотря на доработку протокола до версии RIPv2, в которой была добавлена поддержка VLSM-адресации (масок подсетей переменной длины), multicast-рассылки и возможность агрегации маршрутов. Тем не менее, RIPv2 может использоваться в малых и средних сетях как альтернатива статической маршрутизации.

Более эффективным способом организации динамической маршрутизации внутри AS является использование протоколов состояния связи (link-state protocols). При этом метрикой маршрутизации служит не узел назначения и его удаленность от источника, а коэффициент качества обслуживания канала ближайших маршрутизаторов, или «соседей». Решение об оптимизации маршрута принимается на основании данных о пропускной способности, периоде задержки, надежности и общей загрузке канала, что позволяет обслуживать средние и крупные сети со сложной инфраструктурой.

К протоколам состояния связи относится OSPF (Open Shortest Part First) , являющийся усовершенствованной версией протокола IS-IS и получивший широкое распространение в TCP/IP-сетях. Помимо стандартной поддержки VLSM-адресации, multicast-рассылки, возможности агрегации маршрутов и использования аутентификации, OSPF учитывает в формате рассылаемых сообщений данные поля TOS (Type-of-Service) для вычисления альтернативных маршрутов согласно текущему состоянию каналов связи. В Unix и Gnu/Linux OSPF входит в список протоколов, поддерживаемых демоном маршрутизации gated и пакетом GNU Zebra 1 или его усовершенствованной версией Quagga 2 .

Каждый маршрутизатор хранит информацию о состоянии соседних транзитных узлов, а также общую базу данных о топологии сети, представленную в виде графа. Актуальность состояния связей между соседними маршрутизаторами поддерживается за счет частого (от 10 до 30 секунд) обмена короткими hello-сообщениями. Информация об изменениях топологии всей сети передается с периодичностью раз в 30 минут отдельными пакетами «router links advertisment». Важной особенностью OSPF является поддержка разделения AS на несколько сегментов сети, каждый из которых имеет выделенный маршрутизатор (DR – Designated Router) и резервный (BDR – Backup Designated Router). Узлы, входящие в отдельный сегмент сети, получают информацию только от DR, который, в свою очередь, обменивается данными с другими выделенными маршрутизаторами. Такой метод позволяет поддерживать актуальность маршрутных таблиц и более эффективно распределять сетевую нагрузку.

При всех своих преимуществах, OSPF обладает некоторыми недостатками. В частности, даже при отсутствии ограничения на количество транзитных узлов в сети, не рекомендуется создавать отдельные сегменты, в которых количество маршрутизаторов превышает 50. В этом случае более эффективным будет равномерное распределение меньшего числа транзитных узлов по разным сегментам.

BGP (Border Gateway protocol) , или BGP4, является на сегодняшний день единственным междоменным протоколом, способным передавать информацию между отдельными AS. Он обеспечивает функционирование сети Интернет, используя для передачи данных маршруты, проходящие через наименьшее число AS. При этом каждые 30 секунд для проверки работоспособности узла происходит широковещательная рассылка TCP-пакетов (KEEPALIVE). Полученная информация добавляется в маршрутные таблицы только после инкрементного обновления. В дальнейшем AS обмениваются текущими изменениями.

Алгоритм работы BGP4 похож на векторно-дистанционный, с той разницей, что вектор пути ориентируется на номер сети и набор атрибутов, позволяющих принимать решение о выборе оптимального маршрута. В их число входят обязательные атрибуты AS_PATH (список AS, через которые должен проходить пакет) и NEXT_HOP (адрес следующего BGP-маршрутизатора), а также дополнительные параметры, отвечающие за агрегацию маршрутов, приоритет AS и маршрутизаторов и т. д.

BGP4 также поддерживает CIDR – бесклассовую маршрутизацию. В Unix и GNU/Linux BGP4, как и OSPF, настраивается при помощи gated или Quagga.

Демоны маршрутизации routed и gated

Routed 3 – стандартный демон маршрутизации, поддерживающий только протокол RIPv1. Он прост в использовании, так как не требует дополнительной настройки и самостоятельно вносит изменения в маршрутную таблицу при обнаружении более оптимальных маршрутов. Тем не менее, он обладает рядом недостатков, в частности, отсутствием поддержки других протоколов, неудобством при одновременном использовании статических и динамических маршрутов. В этом плане предпочтение отдается демону gated 4 , который обладает более широкими возможностями. В число поддерживаемых им протоколов входят RIPv2, OSPF, BGP4 и некоторые другие. Вместе с тем настройка конфигурационного файла /etc/gated.conf, в котором прописываются не только опции самого демона, но и настройки протоколов и маршрутов, и чей синтаксис схож с языками программирования, может показать достаточно сложной тем, кто впервые сталкивается с настройкой маршрутизации при помощи данной утилиты.

Настройка протокола OSPF при помощи Quagga

Пакет Quagga , разработанный как ответвление GNU Zebra, представляет собой набор утилит, предназначенных для настройки протоколов динамической маршрутизации в unix-подобных системах. Он входит в стандартную сборку большинства дистрибутивов, поддерживает все распространенные версии протоколов (OSPFv2, OSPFv3, RIPv1, RIPv2, RIPng, BGP4) и достаточно прост в настройке и использовании. При использовании Quagga под GNU/LInux рекомендуется проверять наличие выставленных параметров ядра CONFIG_NETLINK, CONFIG_RTNETLINK и CONFIG_IP_MULTICAST – они обеспечивают взаимодействие ядра и демона zebra, а также поддержку multicast-рассылки, используемой демонами ripd и osfpd.

В зависимости от задачи, после установки пакета необходимо выставить соответствующие настройки в конфигурационном файле для активации демонов:

# vim /etc/quagga/daemons zebra=yes ospfd=yes

Демоны, активация которые не нужна, по умолчанию выставлены с параметром no. Zebra активируется всегда, так как является управляющим и отвечает за внесение изменений в маршрутную таблицу ядра, а также координирует работу остальных демонов.

Для каждой установленной службы существует возможность редактирования конфигурационных файлов через отдельный интерфейс vty, подключение к которому реализуется при помощи telnet. Для этого автоматически выделяется номер порта, информацию о котором необходимо добавить в /etc/services:

zebra 2601/tcp # zebra vty ospfd 2604/tcp # ospfd vty

Для настройки демонов создается одноименный файл в /etc/quagga/ вида *.conf, при этом его владельцем должен быть пользователь quagga.

Запуск демонов осуществляется при помощи следующих команд:

# /usr/sbin/zebra –dk # запуск демона с сохранением уже сконфигурированных маршрутов # /usr/sbin/ospfd –d

Автономная система состоит из нескольких подсетей, объединенных тремя маршрутизаторами, которые также образуют отдельную подсеть (см. рис. 1) 5 . Один из маршрутизаторов является шлюзом по умолчанию для доступа в Интернет. Необходимо настроить динамическую маршрутизацию по протоколу OSPF между подсетями 192.168.10.0/24 и 192.168.12.0/24.


Для настройки OSPF необходимо установить пакет Quagga на каждом маршрутизаторе, а также отредактировать файл zebra.conf:

# vim /etc/quagga/zebra.conf !Имя хоста hostname Router1 !пароль для доступа в vty-интерфейс password zebra !пароль для административного доступа и настройки enable password zebra !путь к лог-файлу log file /var/log/quagga/zebra.log !интерфейс в подсеть 192.168.0.0/24 interface eth0 ip address 192.168.0.1./24 !шлюз в Интернет по умолчанию interface eth1 ip route 0.0.0.0./0 213.190.94.6 hostname Router2 password zebra enable password zebra log file /var/log/quagga/zebra.log interface eth0 ip address 192.168.0.2./24 interface eth1 ip address 192.168.12.1./24 hostname Router3 password zebra enable password zebra log file /var/log/quagga/zebra.log interface eth0 ip address 192.168.0.3./24 interface eth1 ip address 192.168.10.1./24

Таким же образом настраиваются конфигурационные файлы ospfd.conf:

# vim /etc/quagga/ospfd.conf hostname Router1 password zebra enable password zebra router ospf ospf router-id 192.168.0.1 #ID роутера network 192.168.0.0/24 area 0 #указание на подсеть и номер области, #которой она принадлежит default-information originate #анонсирование маршрута по умолчанию #происходит с данного шлюза log file /var/log/quagga/ospfd.log hostname Router2 password zebra enable password zebra router ospf ospf router-id 192.168.0.2 network 192.168.0.0/24 area 0 network 192.168.12.0/24 area 1 redistribute connected #все сети, подключенные к данным #интерфейсам, необходимо анонсировать #по ospf log file /var/log/quagga/ospfd.log hostname Router3 password zebra enable password zebra router ospf ospf router-id 192.168.0.3 network 192.168.0.0/24 area 0 network 192.168.10.0/24 area 2 redistribute connected log file /var/log/quagga/ospfd.log

После того как настройка закончена, необходимо запустить демоны и подключиться через telnet к tvy-интерфейсу ospfd:

# /usr/sbin/zebra –dk # /usr/sbin/ospfd –d # telnet localhost ospfd

Проверить работоспособность протокола можно, запустив в консоли Quagga команду show ip ospf neighbor, которая выводит список активных «соседних» маршрутизаторов. Команда show ip ospf route выводит список маршрутов, которые были получены по протоколу OSPF.

Средства мониторинга и анализа сети с динамической маршрутизацией

В большинстве случаев стандартные утилиты, при помощи которых конфигурируются протоколы динамической маршрутизации, уже содержат встроенные средства для ее мониторинга и анализа. Так, команда ospf_monitor, используемая в gated, позволяет увидеть подробную статистику по сконфигурированным маршрутным таблицам OSPF, а также информацию о соседних маршрутизаторах. Кроме того, поддержка логирования как в gated, так и в Quagga, позволяет системному администратору при создании соответствующего скрипта перенаправлять сообщения о критических ошибках на e-mail или другое средство оповещения.

Заключение

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

Протокол динамической маршрутизации RIP

Протокол динамической маршрутизации RIP - понятие и виды. Классификация и особенности категории "Протокол динамической маршрутизации RIP" 2017, 2018.

  • - The Anglo-Saxon script and peculiarities of the Old English alphabet

    The earliest records of English that have come down to us are dated in the 7th century. The period preceding this date is called pre-written. The Old English written monuments represent two types of script – the so called runic alphabet and Latin alphabet. The Runic alphabet was adopted by Anglo-Saxons on the continent before coming to the Island. It is a special type of script used by all Germanic tribes before they became Christians. They adopted Christianity in the 7th century. In the year... .


  • - Post scriptum 1 страница

    Древний мир оставил нам память о нескольких попытках развить возможно шире узколичную жизнь человека, но все они не удались. Особенно грандиозная попытка этого рода была сделана в Риме перед распространением христианства. Вспомните дикие оргии, чувственные излишества,... .


  • - P. Post scriptum

    «Жизнь подобна игрищам: иные приходят на них состязаться, иные торговать, а самые счастливые – смотреть; так и в жизни иные, подобно рабам, рождаются жадными до славы и наживы, между тем как философы – до единой только истины», – сказал Пифагор. Мы пришли для того, чтобы... .


  • - Homo triplex и три квинтета

    Прежде чем изучать структуру Адулруны, рассмотрим представления Буреуса о трёхчастности. Как человек, так и мир состоят из трёх уровней бытия. Это общее представление герметизма и неоплатонизма. Существует божественный уровень, материальный уровень, а между ними - некий... .


  • - Маршрутизация в глобальной сети. Метрики. Протокол RIP.

    Магистральные сети(backbone networks) используют для образования одноранговых связей между крупными локальными сетями.Магистральные сети должны обеспечивать высокую пропускную способность и быть постоянно доступны. Сети доступа представляют собой сети, которые используются... .


  • - Лабораторная работа №7. Настройка протокола RIP в корпоративной сети.

    Создайте схему, представленную на рис.6.2. Рис.6.2. Схема сети. В четырех сетях: 11.0.0.0/8, 12.0.0.0/8, 13.0.0.0/8 и 14.0.0.0/8 установлены компьютеры с адресами: Comp1 – 11.0.0.11, маска 255.0.0.0 Comp2 – 12.0.0.12, маска 255.0.0.0 ... ..


  • - PostScript Type1

    Каждый символ шрифта можно представить как совокупность фрагментов некоторых кривых. С математической точки зрения для описания фрагмента кривой достаточно указать небольшое количество параметров. Например, кривая второго порядка - квадратичная парабола у = ах2+ bх... .


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

    Определение

    Статический способ — это управляемый сетевым администратором метод сетевой маршрутизации, который заключается в ручной настройке и выборе сетевого маршрута. Используется в сценариях, где сетевые параметры и среда должны оставаться постоянными.

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

    В широком смысле маршрутизация выполняется двумя разными способами:

    • Динамическая — периодически обновляет свою таблицу маршрутизации путями и их стоимостью/метрикой, принимая оптимальные решения на основе изменения сетевых рабочих условий.
    • Статическая — считается простейшей формой этого процесса, выполняет правила маршрутизации с предварительно настроенными путями передачи данных в таблице, которые могут быть изменены вручную только администраторами.

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

    Разновидности маршрутизации

    Устройство может использовать три пути для изучения маршрутов:

      Статическая маршрутизация — это метод, с помощью которого администратор вручную добавляет пути передачи информации в электронную таблицу/базу данных.

      Маршрутизация по умолчанию — это методика, где все маршрутизаторы настроены на отправку всех пакетов по одному пути. Это очень полезный метод для небольших сетей или для сетей с единой точкой входа и выхода. Он обычно используется в дополнение к статическому и динамическому способам.

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

    Классификация протоколов

    Протоколы маршрутизации классифицируются как протоколы внутренних шлюзов (IGP) или внешние шлюзовые протоколы (EGP). IGP используются для обмена информацией о процессе в межсетевых сетях, которые попадают под единый административный домен (также называемый автономными системами). EGP используются для обмена информацией между различными автономными системами. Обычными примерами IGP являются протокол маршрутизации (RIP), расширенный протокол внутренних шлюзов (EIGRP) и Open Shortest Path First (OSPF).

    Протокол маршрутизации использует программное обеспечение и алгоритмы для определения оптимальной передачи сетевых данных и путей связи между сетевыми узлами. Также известен как политика маршрутизации. Они существенно облегчают взаимодействие маршрутизаторов, а также общую топологию сети.

    В большинстве (IP) используются следующие протоколы маршрутизации:

      Протокол маршрутизации (RIP) и протокол маршрутизации внутренних шлюзов (IGRP): обеспечивают процесс для внутренних шлюзов через протоколы маршрутных или дистанционных векторов. RIP используется для определения кратчайшего пути от источника к месту назначения. Это позволяет передавать данные на высокой скорости в кратчайшие сроки.

      Open Shortest Path First (OSPF): обеспечивает процесс для внутренних шлюзов через протоколы маршрутизации состояния канала.

    • Протокол пограничного шлюза (BGP) v4: предоставляет общедоступный протокол маршрутизации через внешнее взаимодействие со шлюзом.

    Как настроить статическую маршрутизацию Cisco

    Чтобы настроить статический маршрут, устройство должно находиться в режиме глобальной конфигурации.

    Код для командной строки: ip route prefix mask{адрес|интерфейс}[расстояние]. Разъясним основные составляющие кода:

      сеть — целевая сеть;

      mask — маска подсети для этой сети;

      адрес — IP-адрес маршрутизатора следующего перехода;

      интерфейс — интерфейс оборудования исходящего трафика;

      расстояние — административное расстояние маршрута.

    Административное расстояние используется для применения своего рода приоритизации на статических маршрутах, так что разные пути к данному месту назначения будут следовать определенной схеме активации. Административное расстояние представляет собой целое число от 0 до 255, где 0 указывает путь первого приоритета, а 255 означает, что трафик не может проходить через этот маршрут. По умолчанию административное расстояние непосредственно подключенных интерфейсов равно 0, а для статических маршрутов 1.

    Пример статической маршрутизации:

    ip route 10.0.0.0 255.0.0.0 131.108.3.4 110, где 10.0.0.0 — целевая сеть, 255.0.0.0 — маска подсети, а 131.108.3.4 — следующий скачок для используемого маршрутизатора, 110 — административная дистанция.

    Пример создания статического маршрута

    В качестве примера того, когда требуется статический маршрут, рассмотрим следующий случай:

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

      У вас есть маршрутизатор ISDN в вашей домашней сети для подключения к компании, в которой вы работаете. Адрес этого устройства в вашей локальной сети 192.168.1.100.

      Сетевой адрес вашей компании 134.177.0.0.

      При настройке статической маршрутизации cisco создаются два неявных статических маршрута.

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

      В этом случае необходимо определить статический маршрут, указав прибору, что 134.177.0.0 должен быть доступен через маршрутизатор ISDN по адресу 192.168.1.100.

      Статические и динамические маршрутизаторы

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

      Статическая маршрутизация

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

      Хорошим примером статического устройства является многосетевой компьютер под управлением Windows 2000 (компьютер с несколькими сетевыми интерфейсами). Создание статической маршрутизации в Windows 2000 так же просто, как установка нескольких карт сетевого интерфейса, настройка TCP/IP и включение IP-маршрутизации.

      Динамическая маршрутизация

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

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

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

      Динамическая методика использует множество различных алгоритмов и протоколов. Наиболее популярными являются протокол маршрутизации (RIP) и Open Shortest Path First (OSPF).

      Стоимость маршрутизации является критическим фактором для всех организаций. Наименее дорогостоящая технология этого процесса обеспечивается динамической методикой, которая автоматизирует изменения таблиц и обеспечивает наилучшие пути для стабильной передачи данных.

      Операции протокола динамической маршрутизации можно объяснить следующим образом:

      • Маршрутизатор предоставляет и получает сообщения на интерфейсах устройства.

        Получаемые сообщения и информация используются совместно другими приборами, которые используют точно такой же протокол.

      Маршрутизаторы меняют информацию о маршрутизации для обнаружения данных об удаленных сетях. Всякий раз, когда устройство находит изменение в топологии, протокол маршрутизации вносит изменение топологии на других приборах.

      Динамическая маршрутизация легко настраивается в больших сетях и более интуитивно понятна при выборе наилучшего пути передачи информации, определении изменений и обнаружении удаленных сетей. Однако, поскольку маршрутизаторы обмениваются обновлениями, они потребляют больше полосы пропускания, чем в статической методике. Процессоры и операционная система оборудования могут также столкнуться с дополнительными нагрузками в результате более сложной работы протоколов. Динамическая маршрутизация менее безопасна, чем статическая.

      Сравнительный анализ

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

      Статическая методика — это простейшая форма маршрутизации, но это кропотливый ручной процесс. Используйте данный метод, когда у вас очень мало устройств для настройки (менее 5), и вы уверены, что пути передачи информации, вероятно, никогда не изменятся.

      Статическая маршрутизация cisco packet tracer также не обрабатывает случайные сбои во внешних сетях, потому что любой маршрут, который настроен вручную, должен быть обновлен или перенастроен вручную, чтобы исправить или восстановить потерянные соединения.

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

      Устройство, использующее динамическую методику, распознает маршруты для всех сетей, которые напрямую к нему подключены. Затем маршрутизатор изучает данные других приборов, которые выполняют один и тот же протокол (RIP, RIP2, EIGRP, OSPF, IS-IS, BGP). Затем каждый маршрутизатор сортирует список маршрутов и выбирает один или несколько оптимальных путей для каждого сетевого адресата.

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

      Плюсы и минусы

      Статическая маршрутизация имеет следующие преимущества:

        Никакой дополнительной обработки и дополнительных ресурсов, как в случае динамических протоколов маршрутизации.

        Отсутствие дополнительных требований к пропускной способности, вызванных передачей чрезмерных пакетов для процесса обновления таблицы маршрутизации.

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

        Настройка статической маршрутизации более безопасна.

        Для использования статических маршрутов нет накладных расходов. С динамическими пропускная способность сети используется для связи доступных сетей между маршрутизаторами. При использовании статических маршрутов, поскольку сетевой администратор кодирует данные, устройствам не нужно передавать информацию о маршрутизации.

        Статическую маршрутизацию проще настроить для небольшой сети. Предположим, что у вас есть только два устройства и необходимо настроить сообщение между ними. Для этого потребуется настроить только два оператора маршрута — по одному на каждом маршрутизаторе. С динамическим протоколом, таким как RIP, например, пришлось бы вводить два сетевых оператора на каждом приборе.

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

      К недостаткам относятся следующие:

        Сетевые администраторы должны хорошо знать всю чтобы правильно настроить пути передачи данных.

        Изменения топологии требуют ручной настройки статической маршрутизации cisco packet tracer для всех устройств, что очень трудоемко.

        Статические маршруты не масштабируются по мере роста сети. Это связано с тем, что все они настраиваются администратором вручную.

        При динамической методике ручное вмешательство отсутствует, и трафик маршрутизируется автоматически всякий раз, когда в сети происходит отключение. Также он достаточно масштабируемый и легко управляемый.

      В чем разница между статической и динамической маршрутизацией?

      Статическая IP-маршрутизация — это когда вы статически настраиваете устройство для отправки трафика для определенных пунктов назначения в предварительно сконфигурированных направлениях. Динамический способ — это когда вы используете протокол маршрутизации, такой как OSPF, ISIS, EIGRP и или BGP, чтобы выяснить, какой тип трафика должен пройти. В реальном мире очень мало ситуаций, когда используется только один из двух методов. Типичная сеть будет использовать динамический протокол OSPF для определения оптимальных маршрутов внутри предприятия, BGP — для определения лучших точек выхода для остальной части интернета и статическую маршрутизацию для отправки специфического трафика по выделенным путям.

      IP-адресация и маршрутизация: как это работает?

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

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

      Когда использовать маршрутизацию по умолчанию

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

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

      Использование административных расстояний

      По умолчанию для статических маршрутов административное расстояние составляет 1. AD используются для определения приоритетов. Для разных маршрутов в конкретной целевой сети могут быть назначены разные веса, так что один из путей передачи данных используется в приоритете. Маршруты с одинаковой весовой нагрузкой разделяют трафик.

    Введение

    Все о чем мы говорили в предыдущей главе, имело отношение к статической маршрутизации. Записи в таблице маршрутизации создавались при конфигурации интерфейса (для интерфейсов подключенных напрямую), добавлялись командой route (обычно из системных загрузочных файлов) или создавались с помощью ICMP перенаправления (при использовании неверных маршрутов).

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

    В этой главе рассматриваются протоколы динамической маршрутизации, которыми пользуются маршрутизаторы для общения друг с другом. Мы подробно рассмотрим RIP, протокол обмена информацией о маршрутизации (Routing Information Protocol), широко используемый протокол, который присутствует практически во всех версиях TCP/IP. Затем мы рассмотрим еще два протокола маршрутизации, OSPF и BGP. В конце главы мы познакомимся с новой техникой маршрутизации, которая называтеся безклассовой маршрутизацией между доменами, и которая начинает применяться в Internet для экономии адресов класса B.

    Динамическая маршрутизация

    Динамическая маршрутизация используется для общения маршрутизаторов друг с другом. Маршрутизаторы передают друг другу информацию о том, какие сети в настоящее время подключены к каждому из них. Маршрутизаторы общаются, используя протоколы маршрутизации. Пользовательский процесс, посредством которого маршрутизаторы могут общаться с соседними маршрутизаторами, называется демоном маршрутизации (routing daemon). Как видно из рисунка 9.1, демон маршрутизации обновляет таблицу маршрутизации в ядре в соответствии с информацией, которую он получает от соседних маршрутизаторов.

    Динамическая маршрутизация не меняет способы, с помощью которых ядро осуществляет маршрутизацию на IP уровне, как описано в разделе главы 9. Мы назвали это механизмом маршрутизации (routing mechanism). Ядро точно так же просматривает свою таблицу маршрутизации, отыскивая маршруты к хостам, маршруты к сетям и маршруты по умолчанию. Меняется только способ помещения информации в таблицу маршрутизации - вместо запуска команды route или использования загрузочных файлов маршруты добавляются и удаляются динамически демоном маршрутизации, который работает постоянно.

    Как было отмечено ранее, демон маршрутизации отвечает за политику маршрутизации (routing policy) , выбирая, какие маршруты необходимо поместить в таблицу маршрутизации. Если демон обнаружил несколько маршрутов к пункту назначения, он выбирает (каким-либо образом), какой маршрут лучше, и именно этот маршрут (единственный) добавляет в таблицу маршрутизации. Если демон определил, что канал изчез (возможно по причине выхода из строя маршрутизатора или телефонной линии), он может удалить соответствующие маршруты или добавить альтернативные маршруты, чтобы обойти возникшую неисправность.

    В Internet, на сегодняшний день, используется множество различных протоколов маршрутизации. Internet организован как сообщество автономных систем (AS - autonomous systems), каждая из которых обычно администрируется независимо от остальных. Например, сеть, построенная в университетском городке, обычно считается автономной системой. Магистраль (backbone) NSFNET с точки зрения Internet это автономная система, потому что все маршрутизаторы на магистрали находятся под единым административным контролем.

    Для каждой автономной системы выбирается собственный протокол маршрутизации, с помощью которого осуществляется взаимодействие между маршрутизаторами в этой автономной системе. Такой протокол называется протоколом внутренних маршрутизаторов ( IGP - interior gateway protocol) или протоколом внутридоменной маршрутизации (intradomain routing protocol). Наиболее популярный IGP - это протокол обмена информацией о маршрутизации (RIP - Routing Information Protocol). Более новый IGP это протокол Open Shortest Path First ( OSPF). Он был разработан как замена для RIP. Устаревший IGP, который в настоящее время не используется, HELLO - это IGP, который первоначально использовался на магистрали NSFNET вплоть до 1986 года.

    Новые требования к маршрутизаторам Router Requirements RFC [ Almquist 1993] определяют, что маршрутизатор, который реализует любые динамические протоколы маршрутизации, должен поддерживать OSPF и RIP, а также может поддерживать другие IGP.

    Существуют протоколы маршрутизации, которые называются протоколами внешних маршрутизаторов ( EGP - exterior gateway protocols) или протоколами междоменной маршрутизации (interdomain routing protocols). Они предназначены для общения между маршрутизаторами, находящихимися в разных автономных системах. Исторически (и к большому сожалению) предшественником всех EGP был протокол с тем же самым именем: EGP. Более новый EGP - протокол пограничных маршрутизаторов ( BGP - Border Gateway Protocol) в настоящее время используется между магистралью NSFNET и некоторыми региональными сетями, которые подключены к магистрали. Планируется, что BGP заменит собой EGP.

    Демоны маршрутизации в Unix

    В Unix системах обычно запускается демон маршрутизации, называемый routed. Он присутствует практически в каждой версии TCP/IP. Этот демон понимает только протокол RIP. (Мы опишем routed в следующем разделе.) routed предназначен для сетей малого или среднего размеров.

    Альтернативная программа - gated. Этот демон поддерживает как IGP, так и EGP. [ Fedor 1988] описывает раннюю реализацию gated. На рисунке 10.1 приведены протоколы маршрутизации, поддерживаемые демоном routed и двуми версиями демона gated. Большинство систем, которые используют демоны маршрутизации, запускают routed, однако если возникает необходимость поддерживать разные протоколы маршрутизации, используется gated.

    Протоколы внутренних маршрутизаторов

    Протоколы внешних маршрутизаторов

    routed
    gated, Version 2
    gated, Version 3

    Рисунок 10.1 Протоколы маршрутизации, поддерживаемые routed и gated.

    Мы опишем RIP Version 1 в следующем разделе, а отличия RIP Version 2, OSPF и BGP соответственно в разделах , и этой главы.

    RIP: протокол обмена информацией о маршрутизации

    В этом разделе приводится обзор RIP, так как это наиболее широко используемый протокол маршрутизации. Официальная спецификация протокола RIP находится в RFC 1058 [ Hedrick 1988a], однако этот RFC был написан через несколько лет после того, как протокол получил широкое распространение.

    Формат сообщения

    RIP сообщения передаются в UDP датаграммах, как показано на рисунке 10.2. (Мы рассмотрим UDP в .)

    Рисунок 10.2 Инкапсуляция RIP сообщения в UDP датаграмму.

    На рисунке 10.3 показан формат RIP сообщения, вместе с IP адресами.

    Если поле команда равно 1 - это запрос, если 2 - отклик. Существуют еще две значения поля команды (3 и 4), а также два недокументированных значения: опрос (5) и пункт опроса (6). В запросе находится требование к другой системе послать всю или часть ее таблицы маршрутизации. В отклике содержится вся или часть таблицы маршрутизации отправителя.

    Поле версия обычно установлено в 1, однако для RIP Version 2 (раздел ) это значение устанавливается в 2.

    Следующие 20 байт сдержат: семейство адресов (которое всегда равно 2 для IP адресов), IP адрес и соответствующий показатель. В следующих разделах мы увидим, что в роли показателя RIP выступает счетчик пересылок.

    В RIP сообщении может быть объявлено до 25 маршрутизаторов. Ограничение в 25 определяется полным размером RIP сообщения, 20х25+4=504, меньше чем 512 байт. Из-за ограничения в 25 маршрутизаторов, на один запрос, как правило, требуется послать несколько откликов, чтобы передать всю таблицу маршрутизации.

    Рисунок 10.3 Формат RIP сообщения.

    Обычное функционирование

    Давайте посмотрим, как обычно работает routed с использованием RIP. Номер зарезервированного порта для RIP - UDP порт 520.

    • Инициализация. Когда демон стартует, он определяет все активизированные интерфейсы и посылает пакет с запросом на каждый интерфейс, с требованием к удаленным маршрутизаторам послать полные таблицы маршрутизации. В случае канала точка-точка этот запрос отправляется на другой конец канала. Запрос рассылается широковещательными сообщениями, если сеть их поддерживает. Порт назначения - UDP порт 520 (демон маршрутизации на другом маршрутизаторе). Характеристики подобного запроса следующие: поле команды установлено в 1, поле семейство адресов установлено в 0 и показатель установлен в 16. Подобный формат соответствует специальному запросу, в ответ на который требуется послать полную таблицу маршрутизации.
    • Запрос принят. В случае специального запроса, который мы только что описали, запрашивающему отправляется полная таблица маршрутизации. Иначе обрабатывается каждый пункт в запросе: если присутствует маршрут на указанный адрес, показатель устанавливается в определенное значение, иначе показатель устанавливается в 16. (Показатель, установленный в 16, это специальное значение, которое означает "бесконечно" (infinity) и сообщает, что маршрута к этому пункту назначения не существует.) Возвращается ответ.
    • Ответ принят. Если ответ признан корректным, таблица маршрутизации может быть обновлена. Могут быть добавлены новые записи, существующие записи могут быть модифицированы или удалены.
    • Регулярное обновление маршрутизации. Каждые 30 секунд вся или часть таблицы маршрутизации отправляется каждому соседнему маршрутизатору. Таблица маршрутизации распространяется широковещательными сообщениями (в случае Ethernet) или отправляется на другой конец канала точка-точка.
    • Незапланированное обновление. Происходит в том случае, если изменяется показатель маршрута. В этом случае нет необходимости посылать таблицу маршрутизации целиком, передается только та запись, которая была изменена.

    С каждым маршрутом связан тайм-аут. Если система, использующая RIP, определила, что маршрут не был обновлен в течение трех минут, показатель маршрута устанавливается в состояние "бесконечно" (16) и помечается для удаления. Это означает, что было пропущено шесть 30-секундных обновлений от маршрутизатора, который объявил маршрут. Однако, удаление маршрута из локальной таблицы маршрутизации откладывается еще на 60 секунд, чтобы убедиться что маршрут действительно исчез.

    Показатели (metrics)

    В качестве показателя в RIP используются счетчик пересылок. Для всех непосредственно подключенных интерфейсов счетчик пересылок равен 1. Рассмотрим маршрутизаторы и сети, показанные на рисунке 10.4. Четыре пунктирные линии показывают широковещательные сообщения RIP.

    Рисунок 10.4 Пример маршрутизаторов и сетей.

    Маршрутизатор R1 объявляет маршрут к N2 со счетчиком пересылок равным 1, послав широковещательное сообщение на N1. (Бессмысленно объявлять маршрут к N1 в широковещательном сообщении, посланном на N1.) Он также объявляет маршрут к N1 со счетчиком пересылок равным 1, послав широковещательное сообщение на N2. Точно так же, R2 объявляет маршрут к N2 с показателем 1 и маршрут к N3 с показателем 1.

    Если смежный с нами маршрутизатор объявил маршрут к удаленной сети со счетчиком пересылок равным 1, то для нас показатель к этой сети будет равен 2, так пакет необходимо послать сначала на наш маршрутизатор, чтобы получить доступ к сети. В примере, приведенном выше, показатель к N1 для R2 равен 2, так же как и показатель к N3 для R1.

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

    Величина счетчика пересылок ограничена значением 15, что означает, что RIP может быть использован только внутри AS, где максимальное количество пересылок между хостами составляет 15. Специальное значение показателя, равное 16, указывает на то, что на данный IP адрес не существует маршрута.

    Проблемы

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

    Во-вторых, для RIP требуется очень много времени, чтобы восстановить функционирование сети, после того как вышел из строя маршрутизатор или канал. Время обычно составляет несколько минут. В это время могут возникнуть петли маршрутизации. В современных реализациях RIP существует множество рекомендаций, которые позволяют избавляться от петель маршрутизации и увеличить скорость сходимости сетей. В RFC 1058 [ Hedrick 1988a] подробно описано, как должен быть реализован RIP.

    Использование количества пересылок в качестве показателя маршрутизации не позволяет использовать другие переменные, которые также должны приниматься во внимание при выборе маршрута. И в заключение, максимальное значение - 15 пересылок ограничивает размер сетей, в которых может быть использован RIP.

    Мы воспользуемся программой ripquery, чтобы получить таблицы маршрутизации некоторых маршрутизаторов. ripquery отправляет один из недокументированных запросов (названный "опрос" (poll), при этом поле команда установливается в 5, рисунок 10.3) на маршрутизатор, требуя от него послать полную таблицу маршрутизации. Если ответ не получен в течении 5 секунд, посылается стандартный RIP запрос (поле команда установлено в 1). (Ранее мы говорили, что запрос с полем семейства протоколов установленным в 0 и с показателем установленным в 16 запрашивает полную таблицу маршрутизации маршрутизатора.)

    На рисунке 10.5 показаны два маршрутизатора, у которых мы потребуем их таблицы маршрутизации на хосте sun. Мы запустим ripquery с sun, и получим информацию о маршрутизации с маршрутизатора следующей пересылки, netb:

    sun % ripquery -n netb
    504 bytes from netb (140.252.1.183): первое сообщение содержит 504 байта
    тут удалено несколько строк
    140.252.1.0, metric 1 верхний Ethernet на рисунке 10.5
    140.252.13.0, metric 1 нижний Ethernet на рисунке 10.5
    244 bytes from netb (140.252.1.183): второе сообщение с оставшимися 244 байтами
    несколько строк удалено

    Как мы и ожидали, netb объявляет нашу подсеть с показателем 1. Верхний Ethernet, к которому также подключен netb (140.252.1.0), имеет показатель равный 1. (Флаг -n говорит о необходимости выводить IP адреса в цифровом представлении, вместо того чтобы печатать имена хостов.) В этом примере netb сконфигурирован таким образом, чтобы считать все хосты, находящиеся в подсети 140.252.13, подключенными к нему напрямую - таким образом, netb ничего не знает о тех хостах, которые действительно находятся в подсети 140.252.13. Так как существует только одна точка подключения к подсети 140.252.13, объявление различных показателей для каждого хоста не имеет практического смысла.

    Рисунок 10.5 Два маршрутизатора netb и gateway, на которые мы послали запрос об их таблицах маршрутизации.

    На рисунке 10.6 показан обмен пакетами, который получен с помощью команды tcpdump. Мы указали SLIP интерфейс с опцией -i sl0.

    sun % tcpdump -s600 -i sl0
    1 0.0 sun.2879 > netb.route: rip-poll 24
    2 5.014702 (5.0147) sun.2879 > netb.route: rip-req 24
    3 5.560427 (0.5457) netb.route > sun.2879: rip-resp 25:
    4 5.710251 (0.1498) netb.route > sun.2879: rip-resp 12:

    Рисунок 10.6 Вывод команды tcpdump при запуске программы ripquery.

    Первый отправляемый запрос - это команда опроса RIP (poll) (строка 1). В этом месте отрабатывается тайм-аут в 5 секунд, после чего отправляется обычный RIP запрос (строка 2). Число 24 в конце строк 1 и 2 это размер пакетов запроса в байтах: 4 байта RIP заголовок (с командой и версией), после чего следует один 20-байтовый адрес и показатель.

    В строке 3 показан первый отклик, причем число 25 в конце строки указывает, что в сообщении находится 25 пар адресов и показателей, что, как мы рассчитали ранее, составляют 504 байта. Именно эту информацию выдает ripquery. Мы указали опцию -s600 для tcpdump, сообщая о необходимости прочитать из сети 600 байт. Это позволяет принять UDP датаграмму целиком (вместо того чтобы принять только ее первую часть) и затем напечатать содержимое RIP ответа.

    В строке 4 показано второе ответное сообщение от маршрутизатора, со следующими 12-ю парами адресов и показателей. Мы можем рассчитать размер этого сообщения, который будет составлять 12х20+4=244, что как раз и печатала ripquery ранее.

    Если мы обратимся к маршрутизатору, который находится позади netb, к gateway, то скорее всего получим, что показатель до нашей подсети 140.252.13.0 будет равен 2. Давайте проверим это предположение:

    sun % ripquery -n gateway
    504 bytes from gateway (140.252.1.4):
    несколько строк удалено
    140.252.1.0, metric 1 верхний Ethernet на рисунке 10.5
    140.252.13.0, metric 2 нижний Ethernet на рисунке 10.5

    Здесь показатель для верхнего Ethernet на рисунке 10.5 (140.252.1.0) остался равным 1, так как этот Ethernet непосредственно подключен и к gateway, и к netb, однако наша подсеть 140.252.13.0, как мы и ожидали, имеет показатель равный 2.

    Еще один пример

    Сейчас мы рассмотрим все обновления RIP, которые происходят в сети Ethernet без получения запросов, и посмотрим, что RIP регулярно отправляет своим соседям. На рисунке 10.7 показаны сети в noao.edu. Для простоты маршрутизаторы названы как Rn, где n - номер подсети. Каналы точка-точка показаны с помощью пунктирных линий с указанием IP адресов для каждого конца канала.

    Рисунок 10.7 Сети noao.edu 140.252.

    Мы запустили на Solaris 2.x программу snoop, напоминающую программу tcpdump, которую мы запускали на компьютере solaris. Эту программу можно запустить без привилегии суперпользователя, однако только для того, чтобы перехватывать широковещательные пакеты, групповые пакеты или пакеты, посылаемые на хост. На рисунке 10.8 показаны пакеты, пойманные за 60 секунд. Мы заменили большинство официальных имен хостов на наше представление в форме Rn.

    solaris % snoop -P -tr udp port 520
    0.00000 R6.tuc.noao.edu ->
    4.49708 R4.tuc.noao.edu -> 140.252.1.255 RIP R (1 destinations)
    6.30506 R2.tuc.noao.edu -> 140.252.1.255 RIP R (1 destinations)
    11.68317 R7.tuc.noao.edu -> 140.252.1.255 RIP R (1 destinations)
    16.19790 R8.tuc.noao.edu -> 140.252.1.255 RIP R (1 destinations)
    16.87131 R3.tuc.noao.edu -> 140.252.1.255 RIP R (1 destinations)
    17.02187 gateway.tuc.noao.edu ->
    20.68009 R10.tuc.noao.edu ->

    29.87848 R6.tuc.noao.edu -> 140.252.1.255 RIP R (1 destinations)
    34.50209 R4.tuc.noao.edu -> 140.252.1.255 RIP R (1 destinations)
    36.32385 R2.tuc.noao.edu -> 140.252.1.255 RIP R (1 destinations)
    41.34565 R7.tuc.noao.edu -> 140.252.1.255 RIP R (1 destinations)
    46.19257 R8.tuc.noao.edu -> 140.252.1.255 RIP R (1 destinations)
    46.52199 R3.tuc.noao.edu -> 140.252.1.255 RIP R (1 destinations)
    47.01870 gateway.tuc.noao.edu -> 140.252.1.255 RIP R (15 destinations)
    50.66453 R10.tuc.noao.edu -> BROADCAST RIP R (4 destinations)

    Рисунок 10.8 RIP широковещательные сообщения, пойманные на solaris за 60 секунд.

    Благодаря флагу -P пакеты ловятся не перемешиваясь, благодаря -tr печатаются соответствующие временные марки, а благодаря port 520 захватываются только UDP датаграммы у которых в качестве порта источника или порта назначения указан порт 520.

    Первые 6 пакетов приходят от R6, R4, R2, R7, R8 и R3, в каждом объявляется только одна сеть. Если мы заглянем внутрь пакетов, то увидим, что R6 объявляет маршрут к сети 140.252.6.0 со счетчиком пересылок равным 1, R4 объявляет маршрут к 140.252.4.0 со счетчиком пересылок равным 1, и так далее.

    Маршрутизатор gateway, однако, объявил 15 маршрутизаторов. Мы можем запустить snoop с флагом -v и посмотреть содержимое RIP сообщения. (Этот флаг выдает полное содержимое входящего пакета: Ethernet заголовок, IP заголовок, UDP заголовок и RIP сообщение. Мы удалили всю информацию за исключением информации RIP.) На рисунке 10.9 показан вывод.

    Сравните объявленные счетчики пересылок для сети 140.252.1 с топологией, приведенной на рисунке 10.7.

    Очень странный факт заключается в том, что в выводе на рисунке 10.8 R10 объявляет четыре сети, тогда как на рисунке 10.7 показано только три. Если мы заглянем в RIP пакет с помощью snoop, то мы увидим следующие объявленные маршруты:

    RIP: Address Metric
    RIP: 140.251.0.0 16 (not reachable)
    RIP: 140.252.9.0 1
    RIP: 140.252.10.0 1
    RIP: 140.252.11.0 1

    Маршрут к сети класса В 140.251 фиктивный и не должен объявляться. Он не принадлежит к noao.edu.

    solaris % snoop -P -v -tr udp port 520 host gateway
    много строк удалено
    RIP: Opcode = 2 (route response)
    RIP: Version = 1

    RIP: Address Metric

    RIP: 140.252.101.0 1
    RIP: 140.252.104.0 1

    RIP: 140.252.51.0 2
    RIP: 140.252.81.0 2
    RIP: 140.252.105.0 2
    RIP: 140.252.106.0 2

    RIP: 140.252.52.0 3
    RIP: 140.252.53.0 3
    RIP: 140.252.54.0 3
    RIP: 140.252.55.0 3
    RIP: 140.252.58.0 3
    RIP: 140.252.60.0 3
    RIP: 140.252.82.0 3
    RIP: 192.68.189.0 3

    RIP: 140.252.57.0 4

    Рисунок 10.9 RIP ответ от gateway.

    Выражение "BROADCAST" в выводе snoop на рисунке 10.8 для RIP пакета, посланного R10, означает, что IP адрес назначения это ограниченный широковещательный адрес 255.255.255.255 (глава 12, раздел ), а не широковещательный адрес, указывающий на подсеть (140.252.1.255), который используют другие маршрутизаторы.

    RFC 1388 определяет новые расширения RIP, которые в целом обычно называются RIP-2. Эти расширения не изменяют протокол, однако добавляют дополнительную информацию в поля, помеченные как "должны быть равны нулю" (must be zero) на рисунке 10.3. RIP и RIP-2 могут взаимодействовать в том случае, если RIP игнорирует поля, которые должны быть установлены в ноль.

    На рисунке 10.10 показан формат сообщения RIP-2. Для RIP-2 поле версии устанавливается в 2.

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

    Поле метки маршрута предназначено для того, чтобы поддерживать протоколы внешних маршрутизаторов. Здесь хранится номер автономной системы для EGP и BGP.

    Маска подсети для каждого пункта соответствует своему IP адресу. IP адрес следующей пересылки - это IP адрес пункта назначения, куда должны посылаться пакеты. Значение 0 в этом поле означает, что пакеты должны отправляться в систему, которая послала RIP сообщение.

    Рисунок 10.10 Формат сообщения RIP2.

    В RIP-2 предоставляется простая схема аутентификации. Первые 20 байт в RIP сообщении содержащие семейство адресов, которое установлено в 0xffff, а поле route tag, установлено в значение 2. Оставшиеся 16 байт содержат пароль в открытом виде.

    И в заключение, RIP-2 поддерживает групповые запросы в дополнение к широковещательным (). При этом уменьшается загрузка хостов, которые не принимают RIP-2 сообщения.

    OSPF: "открыть первым наикратчайший маршрут" (Open Shortest Path First)

    OSPF это альтернативный RIP протокол внутренних маршрутизаторов. В OSPF сняты все ограничения, присущие для RIP. OSPF Version 2 описывается в RFC 1247 [ Moy 1991].

    OSPF - протокол состояния канала (link-state) , тогда как RIP - протокол вектора расстояний (distance-vector) . Термин вектор расстояний означает, что сообщения, посылаемые RIP, содержат вектор расстояний (счетчик пересылок). Каждый маршрутизатор обновляет свою таблицу маршрутизации на основании векторов расстояний, который он получает от своих соседей.

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

    С практической точки зрения основное отличие заключается в том, что протокол состояния канала работает значительно быстрее, чем протокол вектора расстояний. Нужно отметить, что в случае протокола состояния канала значительно быстрее осуществляется сходимость сети. Под понятием сходимости (converge) мы подразумеваем стабилизацию сети после каких-либо изменений, как, например, поломки маршрутизатора или выхода из строя канала. В разделе 9.3 [ Perlman 1992] сравниваются между собой два типа протоколов маршрутизации.

    OSPF также отличается от RIP (как и многие другие протоколы маршрутизации) тем, что OSPF использует непосредственно IP. Это означает, что он не использует UDP или TCP. OSPF имеет собственную величину, которая устанавливается в поле протокола (protocol) в IP заголовке (рисунок 3.1).

    К тому же, так как OSPF это протокол состояния канала, а не протокол вектора расстояний, он имеет и другие характеристики, которые делают его предпочтительным по отношению к RIP.

    1. OSPF может рассчитать отдельный набор маршрутизаторов для каждого типа сервиса IP (type-of-service) (рисунок 3.2). Это означает, что для любого пункта назначения может быть несколько пунктов в таблице маршрутизации, по одному для каждого типа сервиса IP.
    2. Каждому интерфейсу назначается цена. Она может быть назначена на основании пропускной способности, времени возврата, надежности или по какому-либо другому параметру. Отдельная цена может быть назначена для каждого типа сервиса IP.
    3. Если существует несколько маршрутов к одному пункту назначения с одинаковой ценой, OSPF распределяет траффик (поток данных) поровну между этими маршрутами. Это называется балансом загруженности.
    4. OSPF поддерживает подсети: маска подсети соответствует каждому объявленному маршруту. Это позволяет разбить IP адрес любого класса на несколько подсетей различного размера. (Мы показали это в примере в разделе главы 3 и назвали подсетями переменной длины.) Маршруты к хостам объявляются с маской подсети, из всех единичных бит. Маршрут по умолчанию объявляется как IP адрес 0.0.0.0 с маской из всех нулевых битов.
    5. Каналы точка-точка между маршрутизаторами не имеют IP адресов на каждом конце. Это называется сетями без адреса (unnumbered). Такой подход позволяет сэкономить IP адреса - очень ценный ресурс в настоящее время!
    6. Используется простая схема аутентификации. Может быть указан пароль в виде открытого текста, так же как это делается в схеме RIP-2 (раздел ).
    7. OSPF использует групповую адресацию () вместо широковещательной, что уменьшает загруженность систем, которые не распознают OSPF.

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

    BGP: протокол граничных маршрутизаторов (Border Gateway Protocol)

    BGP это протокол внешних маршрутизаторов, предназначенный для связи между маршрутизаторами в различных автономных системах. BGP заменяет собой старый EGP, который использовался в ARPANET. BGP Version 3 определен в RFC 1267 .

    RFC 1268 описывает использование BGP в Internet. Практически все, что приведенного ниже, взято именно из этих двух RFC. В дополнение, необходимо отметить, что в 1993 году BGP Version 4 разрабатывался таким образом (RFC 1467 [ Topolcic 1993]), чтобы поддерживать CIDR, который мы опишем в разделе этой главы.

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

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

    Автономная система может принадлежать к следующим категориям:

    1. Ограниченная (stub) AS автономная система имеет единственное подключение к одной внешней автономной системе. В такой автономной системе присутствует только локальный траффик.
    2. Многоинтерфейсная (multihomed) AS имеет подсоединение к нескольким удаленным автономным системам, однако по ней запрещено прохождение транзитного траффика.
    3. Транзитная (transit) AS имеет подключение к нескольким автономным системам и в соответствии с ограничениями может пропускать через себя как локальный, так и транзитный траффик.

    Общая топология Internet состоит из транзитных, многоинтерфейсных и ограниченных автономных систем. Ограниченные и многоинтерфейсные автономные системы не нуждаются в использовании BGP - они могут использовать EGP, чтобы обмениваться информацией о доступности с транзитными автономными системами.

    BGP позволяет использовать маршрутизацию, основанную на политических решениях (policy-based routing). Все правила определяются администратором автономной системы и указываются в конфигурационных файлах BGP. "Политические решения" не являются частью протокола, однако позволяют делать выбор между маршрутами, когда существует несколько альтернативных, и позволяют управлять перераспределением информации. Решения принимаются в соответствии с вопросами безопасности или экономической целесообразности.

    BGP отличается от RIP или OSPF тем, что BGP использует TCP в качестве транспортного протокола. Две системы, использующие BGP, устанавливают TCP соединения между собой и затем обмениваются полными таблицами маршрутизации BGP. Обновления представляются в виде изменений таблицы маршрутизации (таблица не передается целиком).

    BGP это протокол вектора расстояний, однако, в отличие от RIP (который объявляет пересылки к пункту назначения), BGP перечисляет маршруты к каждому пункту назначения (последовательность номеров автономных систем к пункту назначения). При этом исчезают некоторые проблемы, связанные с использованием протоколов вектора расстояний. Каждая автономная система идентифицируется 16-битным номером.

    BGP определяет выход из строя канала или хоста на другом конце TCP соединения путем регулярной отправки сообщения "оставайся в живых" (keepalive) своим соседям. Рекомендуемое время между этими сообщениями составляет 30 секунд. Сообщение "оставайся в живых", которое используется на уровне приложений, независимо от TCP опций "оставайся в живых" ().

    CIDR: бесклассовая маршрутизация между доменами (Classless Interdomain Routing)

    В было сказано, что в настоящее время ощущается нехватка адресов класса В, поэтому узлам с несколькими сетями приходится присваивать несколько идентификаторов сетей класса С вместо одного идентификатора сети класса В. С одной стороны, появление адресов класса С решает одну проблему (переполнение количества адресов класса В). С другой стороны, появляется еще одна проблема: каждая сеть класса С требует записи в таблице маршрутизации. Бесклассовая маршрутизация между доменами (CIDR - Classless Interdomain Routing) это способ, который позволяет свести к минимуму рост таблиц маршрутизации в Internet. Этот способ также называется supernetting и описывается в RFC 1518 и в RFC 1519 [ Fuller et al. 1993], обзор можно найти в . CIDR одобрен Internet Architecture Board [ Huitema 1993]. RFC 1467 [ Topolcic 1993] кратко описывает состояние и развитие CIDR в Internet.

    Основная концепция, заложенная в CIDR, заключается в том, что несколько IP адресов можно расположить определенным образом, что позволит уменьшить количество записей в таблице маршрутизации. Например, если один узел состоит из 16 адресов класса С, все 16 могут быть расположены таким образом, что они будут суммироваться, поэтому ко всем 16-ти можно будет обратиться через одну запись в таблице маршрутизации. Также, если 8 различных узлов подключены к одному и тому же Internetовскому "поставщику сервиса" через одну и ту же точку подключения к Internet, и если все 8 узлов имеют 8 различных IP адресов, они могут быть суммированы, после чего потребуется только одна запись в таблице маршрутизации, которая будет использоваться в Internet для всех 8 узлов.

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

    1. Несколько IP адресов, которые будут сложены вместе для маршрутизации, должны иметь в своих адресах одинаковые биты старшего порядка.
    2. Таблицы маршрутизации и алгоритмы маршрутизации должны быть расширены таким образом, чтобы решения о маршрутизации принимались с использованием 32-битных IP адресов и 32-битных масок.
    3. Протоколы маршрутизации, которые будут использоваться, должны быть расширены таким образом, чтобы позволять передачу 32-битных масок и 32-битных адресов. OSPF (раздел ) и RIP-2 (раздел ) способны передавать 32-битные маски, так же как и BGP Version 4.

    В качестве примера скажем, что RFC 1466 [ Gerich 1993] рекомендует, чтобы новые адреса класса С в Европе находились в диапазоне 194.0.0.0 - 195.255.255.255. В шестнадцатиричном представлении эти адреса лежат в диапазоне 0xc2000000 - 0xc3ffffff. Это позволяет использовать 65536 различных идентификаторов сети класса С, однако все они имеют одинаковые 7 бит старшего порядка. В других (неевропейских) странах может быть использована единственная запись в таблице маршрутизации с IP адресом 0xc2000000 и 32-битной маской 0xfe000000 (254.0.0.0), чтобы организовать маршрут ко всем этим идентификаторам сетей класса С (в количестве 65536) через одну точку. Последовательность битов в адресе класса С (это биты, следующие за 194 или 195) может быть расположена в иерархическом порядке, например, по странам или по поставщикам сервиса, чтобы тем самым позволить дополнительное сложение внутри европейских маршрутизаторов с использованием дополнительных битов, стоящих после 7 бит старшего порядка в 32-битной маске.

    CIDR также использует технику, которая определяет, что "лучшее совпадение это всегда наиболее длинное совпадение (longest match)": то есть совпадение максимального количества битов в 32-битной маске. Продолжая пример из предыдущего параграфа, нужно отметить следующее. Предположим, что один поставщик сервиса в Европе нуждается в использовании другого маршрутизатора для входа в Internet, чем вся остальная Европа. Если этот поставщик сервиса находится в диапазоне адресов 194.0.16.0 - 194.0.31.255 (16 идентификаторов сетей класса С), записи в таблице маршрутизации для этих сетей должны иметь IP адрес 194.0.16.0 и маску 255.255.240.0 (0xfffff000). Датаграмма, которая маршрутизируется на адрес 194.0.22.1, будет совпадать с этим пунктом таблицы маршрутизации и с одной из сетей класса С в остальной Европе. Однако, так как маска 255.255.240 "длиннее" чем маска 254.0.0.0, будет использован пункт в таблице маршрутизации, который имеет самую длинную маску.

    Термин "бесклассовый" используется потому, что решения о маршрутизации принимаются на основе масок, накладываемых на полный 32-битный IP адрес. При этом не существует различия между адресами класса А, В или С.

    Первоначально предполагается использовать CIDR в адресах новых сетей класса С. Благодаря внесению подобного изменения, значительно уменьшится рост таблиц маршрутизации в Internet, при этом не потребуется вносить никаких изменений в существующие маршрутизаторы. Хотя надо отметить, что подобное решение является кратковременной мерой. Более значительное улучшение можно получить, если CIDR будет использоваться для всех IP адресов, и существующие IP адреса будут переназначены (при этом все существующие хосты получат новые адреса!) в соответствии с ограничениями по странам, континентам и поставщикам сервисов . Выигрыш будет заключаться в следующем: современная таблица маршрутизации содержит до 10000 записей, тогда как после применения CIDR количество записей уменьшится до 200.

    Краткие выводы

    Существуют два основных типа протоколов маршрутизации: протоколы внутренних маршрутизаторов (IGP - interior gateway protocol), для маршрутизаторов, находящихся внутри автономной системы (autonomous system), и протоколы внешних маршрутизаторов (EGP - exterior gateway protocol), для маршрутизаторов, которые общаются с маршрутизаторами в других автономных системах.

    Наиболее популярный IGP это Routing Information Protocol (RIP), однако постепенно новый IGP - OSPF становится более популярным, и все чаще и чаще начинает заменять собой RIP. Новый и популярный EGP это Border Gateway Protocol (BGP). В этой главе мы рассмотрели RIP и типы сообщений, которые он использует. RIP Version 2 это современное расширение, которое поддерживает разбиение на подсети и другие важные улучшения. Также мы описали OSPF, BGP и бесклассовую маршрутизацию между доменами (CIDR), новую технологию, которая призвана уменьшить размер таблиц маршрутизаций в Internet.

    Существует еще два OSI протокола маршрутизации, на которые Вам следует обратить внимание. Протокол междоменной маршрутизации ( IDRP - Interdomain Routing Protocol) появился как версия BGP, модифицированная для использования с OSI адресами вместо IP. Протокол промежуточная система - промежуточная система (IS-IS - Intermediate System to Intermediate System) это OSI стандарт IGP. Он используется как протокол маршрутизации в сетях без соединения ( CLNP - Connectionless Network Protocol), OSI протокол, похожий на IP. IS-IS и OSPF очень похожи.

    Динамическая маршрутизация до сих пор остается плодотворной почвой для исследований в области межсетевого взаимодействия. Поэтому выбрать, какой протокол маршрутизации необходимо использовать и какой демон маршрутизации необходимо запустить, довольно сложно. [ Perlman 1992] предоставляет множество подробностей.

    Упражнения

    1. Обратитесь к рисунку 10.9. По какому маршруту можно пройти от маршрутизатора kpno к маршрутизатору gateway?
    2. Представьте, что маршрутизатор имеет 30 маршрутов, которые необходимо объявить с использованием RIP, при этом требуется одна датаграмма на 25 маршрутов и другая на оставшиеся 5. Что произойдет, если один раз в час первая датаграмма с 25-ю маршрутами будет потеряна?
    3. В пакете OSPF имеется поле контрольной суммы, а в пакете RIP - нет. Почему?
    4. Какой эффект дает балансировка загруженности, которая используется в OSPF. Как это влияет на транспортный уровень?
    5. Прочитайте RFC 1058, откуда Вы узнаете дополнительные подробности того как реализуется RIP. На рисунке 10.8 каждый маршрутизатор объявляет только те маршруты, которые он предоставляет, и не объявляет другие маршруты, про которые он знает из широковещательных сообщений от других маршрутизаторов в сети 140.252.1. Как называется подобная технология?
    6. В разделе главы 3 мы сказали, что в подсети 140.252.1 существует более чем 100 хостов в дополнение к 8 маршрутизаторам, которые мы показали на рисунке 10.7. Что делают эти 100 хостов с восемью широковещательными сообщениями, которые прибывают каждые 30 секунд (рисунок 10.8)?

    Маршрутизация бывает статическая и динамическая. Для статической маршрутизации необходимы таблицы маршрутизации, которые создает сетевой администратор; в них указываются фиксированные (статические) маршруты между любыми двумя маршрутизаторами. Эту информацию администратор вводит в таблицы вручную. Администратор сети также отвечает за ручное обновление таблиц в случае отказа каких-либо сетевых устройств. Маршрутизатор, работающий со статическими таблицами, может определить факт неработоспособности какого-либо сетевого канала, однако он не может автоматически изменить пути передачи пакетов без вмешательства со стороны администратора.

    Динамическая маршрутизация выполняется независимо от сетевого администратора.

    Протоколы динамической маршрутизации позволяют маршрутизаторам автоматически выполнять следующие операции:

    · находить другие доступные маршрутизаторы в остальных сетевых сегментах;

    · определять с помощью метрик кратчайшие маршруты к другим сетям;

    · определять моменты, когда сетевой путь к некоторому маршрутизатору не-доступен или не может использоваться;

    · применять метрики для перестройки наилучших маршрутов, когда некото-рый сетевой путь становится недоступным;

    · повторно находить маршрутизатор и сетевой путь после устранения сетевой проблемы в этом пути.

    Мосты-маршрутизаторы

    Мост-маршрутизатор (brouter) – это сетевое устройство, в некоторых случаях исполняющее функции моста, а в других случаях – функции маршрутизатора.

    Рис. 3 Мост-маршрутизатор

    Например, такое устройство может работать как мост для определенных протоколов, таких как NetBEUI (поскольку тот является немаршрутизируемым), и как маршрутизатор для других протоколов, например, для TCP/IP.



    Мост-маршрутизатор может выполнять следующие функции:

    · эффективно управлять пакетами в сети со многими протоколами, включая протоколы, которые являются маршрутизируемыми, и протоколы, которые маршрутизировать нельзя;

    · уменьшать нагрузку на каналы, изолируя и перенаправляя сетевой трафик;

    · соединять сети;

    · обеспечивать безопасность некоторых фрагментов сети, контролируя доступ к ним.

    Мосты-маршрутизаторы используются в сетях, работающих с несколькими протоколами, например, с NetBEUI, IPX/SPX и TCP/IP, поэтому они также называются многопротокольными маршрутизаторами.

    Функции (маршрутизация или пересылка), выполняемые ими по отношению к некоторому протоколу, зависят от двух причин:

    · от директив сетевого администратора, заданных для этого протокола;

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

    Если мост-маршрутизатор настроен не на маршрутизацию, а на пересылку протокола, он передает каждый фрейм, используя адресную информацию подуровня MAC Канального уровня так, как это делает мост.

    Это существенная возможность для сети, в число протоколов которой входит NetBEUI (поскольку этот протокол нельзя маршрутизировать). Для маршрутизируемых протоколов, таких как TCP/IP, мост-маршрутизатор пересылает пакеты в соответствии с адресной информацией и данными о маршрутизации, содержащимися на сетевом уровне.

    Коммутаторы

    Коммутаторы (switch) обеспечивают функции моста, а также позволяют по-высить пропускную способность существующих сетей.

    Рис. 4 Коммутатор

    Коммутаторы используемые в локальных сетях, напоминают мосты в том смысле, что они работают на подуровне MAC Канального уровня и анализируют адреса устройств во всех входящих фреймах.

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

    В коммутаторах локальных сетей обычно используется один из двух методов:

    · при коммутации без буферизации пакетов (cut-through switching) фреймы пересылаются по частям до того момента, пока фрейм не будет получен целиком. Передача фрейма начинается сразу же, как только будет прочитан целевой адрес MAC-уровня и из таблицы коммутатора будет определен порт назначения. Такой подход обеспечивает относительно высокую скорость передачи (отчасти за счет отказа от проверки наличия ошибок).

    · в процессе коммутации с промежуточным хранением (store-and-forward switching) (также называемой коммутацией с буферизацией) передача фрейма не начинается до тех пор, пока он не будет получен полностью. Как только коммутатор получает фрейм, он проверяет его контрольную сумму (CRC) перед тем, как отправлять целевому узлу. Затем фрейм поминается (буферизируется) до тех пор, пока не освободится соответствующий порт и коммуникационный канал (они могут быть заняты другими данными).

    Новейшие модели коммутаторов (иногда называемые маршрутизирующими коммутаторами), использующие коммутацию с промежуточным хранением, могут совмещать функции маршрутизаторов и коммутаторов и, следовательно, работают на Сетевом уровне, чтобы определять кратчайший путь к целевому узлу. Одним из достоинств таких коммутаторов является то, что они предоставляют большие возможности для сегментации сетевого трафика, позволяя избегать широковещательного трафика, возникающего в сетях Ethernet.

    Коммутация с промежуточным хранением распространена больше, чем коммутация без буферизации пакетов, и в некоторых коммутаторах, работающих по этому принципу, для повышения производительности используется встроенный центральный процессор. В принципе коммутаторы с собственным процессором работают значительно быстрее, чем “простые” коммутаторы. Однако в некоторых случаях и такие коммутаторы могут быть перегружены входящим трафиком, причем использование процессора может достигать 100% и коммутатор фактически будет работать медленнее, чем коммутатор без внутреннего процессора.

    Поэтому, если используется коммутатор с собственным процессором, важно определить мощность этого процессора и его соответствие ожидаемой сетевой нагрузке.

    Коммутаторы локальных сетей поддерживают следующие стандарты:

    · Fast Ethernet;

    · Gigabit Ethernet;

    · 10 Gigabit Ethernet;

    · Fast Token Ring;

    Одной из наиболее распространенных задач, решаемой при помощи механизмов коммутации, является уменьшение вероятности конфликтов и повышение пропускной способности локальных сетей Ethernet. Коммутаторы сетей Ethernet, используя свои таблицы MAC-адресов, определяют порты, которые должны получить конкретные данные.

    Поскольку каждый порт подключен к сегменту, содержащему только один узел, то этот узел и сегмент получают в свое распоряжение всю полосу пропускания (10 или 100 Мбит/с, 1 или 10 Гбит/с), т. к. другие узлы отсутствуют; при этом вероятность конфликтов уменьшается.

    Другой распространенной областью применения коммутаторов являются сети с маркерным кольцом. Коммутатор Token Ring может выполнять только функции моста на канальном уровне или работать как мост с маршрутизацией от источника на Сетевом уровне.

    Переключаясь непосредственно к тому сегменту, который должен получать данные, коммутаторы могут значительно увеличить пропускную способность сети без модернизации, существующей передающей среды. Рассмотрим для примера не имеющий возможности коммутации концентратор Ethernet, к которому подключены восемь сегментов 10 Мбит/с. Скорость работы этого концентратора никогда не превысит 10 Мбит/с, поскольку каждый момент времени он может передавать данные только в один сегмент. Если концентратор заменить коммутатором Ethernet, общая пропускная способность сети увеличится в восемь раз, т. е. до 80 Мбит/с, поскольку коммутатор может посылать пакеты в каждый сегмент практически одновременно. В настоящее время коммутаторы не намного дороже концентраторов, поэтому с их помощью проще всего повысить скорость работы сети с высоким трафиком.

    Выпускаются управляемые коммутаторы, которые, как и управляемые концентраторы, имеют “интеллектуальные” способности. Для многих сетей имеет смысл потратить дополнительные средства на приобретение управляемых коммутаторов, поддерживающих протокол SNMP, что позволит повысить степень управления и мониторинга сети. Некоторые коммутаторы также могут поддерживать технологию виртуальных локальных сетей (Virtual LAN, VLAN).

    Эта технология, описанная стандартами IEEE 802.1q, представляет собой программный метод деления сети на подсети, не зависящие от ее физической топологии и содержащие логические группы. Члены рабочей группы VLAN могут располагаться в физически удаленных сетевых сегменте однако их можно объединить в один логический сегмент с помощью программного обеспечения и коммутаторов VLAN, маршрутизаторов и других сетевых устройств. Лучше всего для реализации сетей VLAN использовать маршрутизирующие коммутаторы, поскольку они позволяют уменьшить издержки на управление сетью, что объясняется их умением маршрутизировать пакеты между подсетями. Коммутаторы Уровня 2 в сети VLAN требуют, чтобы порты коммутаторов были связаны с МАС-адресами, что усложняет управление сетью VLAN.

    Шлюзы

    Термин шлюз (gateway) используется во многих контекстах, но чаще всего он обозначает программный или аппаратный интерфейс, обеспечивающий взаимодействие между двумя различными типами сетевых систем или программ.

    Рис. 5 Шлюз

    Например, с помощью шлюза можно выполнять следующие операции:

    · преобразовывать широко используемые протоколы (например, TCP/IP) в специализированные (например, в SNA);

    · преобразовывать сообщения из одного формата в другой;

    · преобразовывать различные схемы адресации;

    · связывать хост-компьютеры с локальной сетью;

    · обеспечивать эмуляцию терминала для подключений к хост-компьютеру;

    · перенаправлять электронную почту в нужную сеть;

    · соединять сети с различными архитектурами.

    Шлюзы имеют множество назначений, поэтому могут работать на любом Уровне OSI.

    Сетевые шлюзы работают на всех известных операционных системах. Основная задача сетевого шлюза - конвертировать протокол между сетями.

    Роутер сам по себе принимает, проводит и отправляет пакеты только среди сетей, использующих одинаковые протоколы.

    Сетевой шлюз может с одной стороны принять пакет, сформатированный под один протокол (например Apple Talk) и конвертировать в пакет другого протокола (например TCP/IP) перед отправкой в другой сегмент сети. Сетевые шлюзы могут быть аппаратным решением, программным обеспечением или тем и другим вместе, но обычно это программное обеспечение, установленное на роутер или компьютер. Сетевой шлюз должен понимать все протоколы, используемые роутером. Обычно сетевые шлюзы работают медленнее, чем сетевые мосты, коммутаторы и обычные маршрутизаторы.

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

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

    Сетевой шлюз может быть специальным аппаратным роутером или программным обеспечением, установленным на обычный сервер или персональный компьютер. Большинство компьютерных операционных систем использует термины, описанные выше.

    Компьютеры под Windows обычно используют встроенный мастер подключения к сети, который по указанным параметрам сам устанавливает соединение с локальной или глобальной сетью. Такие системы могут также использовать DHCP-протокол.

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

    Основные виды передающего оборудования глобальных сетей:

    · мультиплексоры;

    · группы каналов;

    · частные телефонные сети;

    · телефонные модемы;

    · адаптеры ISDN;

    · кабельные модемы;

    · модемы и маршрутизаторы DSL;

    · серверы доступа;

    · маршрутизаторы.

    Мультиплексоры

    Мультиплексоры (multiplexer, MUX) – это сетевые устройства, которые могут принимать сигнал от множества входов и передавать их в общую сетевую среду.

    Рис.1 Мультиплексор

    Мультиплексоры по сути представляют собой коммутаторы и используются в старых и новых технологиях, в том числе:

    · в телефонии для коммутации физических линий;

    · при коммутации телекоммуникационных виртуальных цепей для создания множества каналов в одной линии (например, в Т-линиях);

    · в последовательных каналах для подключения нескольких терминалов к одной линии (в локальных или глобальных сетях), для чего эта линия делится на несколько каналов;

    · в технологиях Fast Ethernet, X.25, ISDN, ретрансляции кадров, АТМ других (для создания множества коммуникационных каналов в одной кабельной передающей среде).

    Мультиплексоры работают на Физическом уровне OSI, переключаясь между каналами. При этом используется один из трех методов электрической коммутации или единственный метод при передаче по оптической среде.

    Методы электрической коммутации: множественный доступ с уплотнением каналов (TDMА), множественный доступ с частотным разделением каналов (FDMA) и статистический множественный доступ.

    При передаче по оптической среде применяется спектральное разделение (уплотнение) каналов (wavelength division multiplexing, WDM). Световую волну можно представить как спектр, состоящий из волн различной длины, изменяемой в ангстремах. Ангстрем равен 10-10 м, а световая волна состоит из отдельных волн длиной от 4000 до 7000 ангстрем. При использовании спектрального разделения несколько входящих соединений преобразуются в набор волн различной длины в пределах спектра света, передаваемого по оптоволоконному кабелю.

    Группы каналов

    При своем появлении группы каналов (channel bank), или канальные группы, представляли собой устройства, позволяющие пропускать несколько входящих речевых сигналов по одной линии, а мультиплексоры преобразовывали несколько сигналов данных для передачи по одной линии.

    Рис. 2 Группы каналов

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

    Таким образом, группа каналов – это крупный мультиплексор, объединяющий телекоммуникационные каналы в одном месте, называемом точкой присутствия (point of presence, POP). Эти каналы могут представлять собой частные линии Т-1, полные линии Т-1 и Т-3, каналы ISDN или каналы с ретрансляцией кадров. Первые группы каналов типа D-1 состояли из мультиплексоров Т-1.

    Усовершенствования групп каналов привели к появлению D-4 и менее дорогих систем цифрового доступа и коммутации (DACS). Там, где интенсивно используются выделенные линии, существуют также группы каналов Т-3, ISDN и с ретрансляцией кадров.

    В пределах точки присутствия (POP) несколько групп каналов связываются Между собой для того, чтобы входящий трафик из одной группы каналов можно было переключать на другую группу каналов и отправлять к точке Назначения. Все каналы во входящей линии (например, линии Т-1) объединяются и могут быть перенаправлены в другую группу каналов. Можно так же перенаправить в другую группу только один из входящих каналов. Для соединения групп каналов существуют два метода маршрутизации, которые, по сути, напоминают динамическую и статическую маршрутизацию в сетях. Таким образом, современные группы каналов располагают таблицами маршрутизации, которые либо поддерживаются автоматически, либо настраиваются администраторами.

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

    Частные телефонные сети

    Некоторые организации для уменьшения числа линий, подключенных к региональной телефонной компании, разворачивают собственные телефонные службы. Например, компания может иметь 100 офисов, имеющих собственные телефоны, но при этом не более 50 сотрудников могут одновременно звонить за пределы этих офисов. Эта компания может сэкономив средства, установив собственную телефонную систему, имеющую 100 линий связи с офисами, подключаемыми к центральной АТС (автоматической телефонной станции) или коммутационному узлу, который 50-ю линиями соединен с региональной телефонной компанией.

    Первоначально наиболее распространенными частными системами были офисные станции с исходящей и входящей связью (private branch exchange, PBX). Они представляли собой коммутаторы с ручным управлением, для которых требовался оператор, выполняющий соединения внутри организации или при выходе во внешнюю телефонную сеть.

    В результате усовершенствований появились автоматические учрежденческие телефонные системы, называемые частными АТС без выхода в общую сеть (private automatic exchange, PAX) и частными АТС с исходящей и входящей связью (private automatic branch exchange, PABX).

    Рис. 3 Private automatic branch exchange, PABX

    В РАВХ-станциях по-прежнему используется коммутатор, и переключения выполняются как вручную, так и автоматически. В РАХ-станциях коммутатор отсутствует. В состав станций обоих типов входят телефонные магистральные линии (похожие на магистраль сети), обычные телефонные линии, линии связи с региональной телефонной компанией, телефоны и коммутирующая система на базе процессора или компьютер, имеющий память, жесткий диск и программное обеспечение. Эти станции могут помимо речи передавать видеосигналы и данные.

    Централизованная компьютерная система нередко предлагает возможности голосовой почты, переадресации и ожидания вызова, функции учета времени и другие службы. Чаще всего такие системы имеют консоль для оператора, выполняющего специальные функции (например, обработку добавочных номеров, счетов и другой информации). Иногда имеются модемные линии для сотрудников, которые из дома по коммутируемой линии подключаются к компьютерной сети.

    Телефонные модемы

    Модемы долго играли важную роль в становлении глобальных сетей. Термин модем представляет собой сокращение от термина “модулятор/демодулятор”.
    Модем преобразует выходящий компьютерный (цифровой) сигнал в аналоговый, который может быть передан по телефонной линии. Кроме того, модем преобразует входящий аналоговый сигнал в цифровой, понятный компьютеру.

    Рис. 4 Телефонный модем

    Модемы для компьютеров бывают внутренние и внешние. Внутренний модем вставляется в компьютерный слот расширения на материнской плате.

    Внешний модем – это автономное устройство, подключаемое к последовательному порту компьютера с помощью специального модемного кабеля, совпадающего с разъемом последовательного порта.

    Существуют три основных типа разъемов: устаревший разъем DB-25 с 25 штырьками (контактами), похожий на разъем параллельного принтерного порта (однако непригодный для работы с параллельным портом); разъем DB-9 на 9 контактов и круглый разъем PS/2 для последовательной связи (такой как на IBM PC).

    Также для последовательных соединений используется универсальная последовательная шина (Universal Serial Bus USB). Стандарт USB позволяет соединять любые типы периферийных устройств (например, принтеры, модемы и ленточные накопители) и во многих случаях заменяет обычные параллельные и последовательные порты. И внутренние, и внешние модемы подключаются к телефонной розетке с помощью обычного телефонного шнура, имеющего на обоих концах разъемы RJ-11.

    Скорость передачи данных через модем измеряется двумя похожими, но не идентичными единицами: скоростью в бодах (baud rate) и количеством битов переданных за секунду (бит/с). Скорость в бодах представляет собой количество изменений за секунду для волнового сигнала, передающего данные. Эта скорость достоверно определяла быстродействие модемов при их появлении (когда они могли при каждом изменении сигнала передавать только один бит данных).

    Основное влияние на модемные технологии оказала компания Microcom, первая разработавшая протокол Microcom Network Protocol (MNP). Этот стандарт описывает классы коммуникационных служб (классы MNP со 2-й по 6-й, а также класс 10-й для передачи с использованием сотовых телефонов) и обеспечивает эффективную работу с помощью методов коррекции ошибок и сжатия данных.

    Союз ITU также разработал стандарты на модемную связь, включив в свой стандарт V.42 многие классы MNP.

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

    Адаптеры ISDN

    Для подключения компьютера к линии ISDN необходимо устройство, напоминающее цифровой модем и называемое терминальным адаптером (terminal adapter, ТА).

    Рис. 5 Адаптер ISDN

    Существующие терминальные адаптеры имеют почти такую же стоимость, как и высококачественные асинхронные или синхронные модемы, однако их быстродействие выше (например, от 128 до 512 Кбит/с).

    Терминальные адаптеры преобразуют цифровой сигнал в некоторый протокол, который пригоден для передачи по цифровой телефонной линии. Обычно у них имеется разъем аналогового телефона, с помощью которого можно подключить обычный телефон или модем и использовать их на цифровой линии.

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

    Модемы и маршрутизаторы DSL

    Другой высокоскоростной службой передачи цифровых данных, конкурирующей с ISDN и кабельными модемами, является технология Digital Subscriber Line, DSL (цифровая абонентская линия).

    Она представляет собой метод передачи цифровых данных по медному проводу, уже проложенному в большинстве офисов для телефонных служб (новейшие технологии DSL могут использоваться с оптоволоконными телефонными линиями). Для того, чтобы использовать DSL, можно установить на компьютер интеллектуальный адаптер, подключенный к сети DSL

    Рис.1 Интеллектуальный адаптер, подключенный к сети DSL

    Интеллектуальный адаптер может по внешнему виду напоминает модем, однако адаптер является полностью цифровым, т. е. он не преобразует цифровой сигнал DTE (компьютера или сетевого устройства) в аналоговый, а посылает его прямо в телефонную линию. Две пары проводников соединяют адаптер и телефонную розетку.

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

    Максимальная скорость восходящего канала равна 1 Мбит/с, а нисходящая может достигать 60 Мбит/с. Максимальное расстояние без повторителя (усиливающего сигнал) от пользователя к телекоммуникационной компании равняется 5,5 км (что совпадает с требованиями ISDN).

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

    При таком подключении множество пользователей может обращаться к одной DSL-линии через существующую сеть, при этом сеть будет защищена от вторжения через эту линию. Обычно для такого подключения имеется управляющее программное обеспечение, позволяющее выполнять мониторинг линии и ее диагностирование.

    Серверы доступа

    Сервер доступа (access server) совмещает в себе функции нескольких устройств, применяемых для глобальной связи.

    Например, один сервер доступа может выполнять передачу данных с использованием модемных коммуникаций, Х.25, линий Т-1, Т-3 и ISDN, а также ретрансляции кадров. Некоторые серверы доступа разработаны для небольших и средних по размеру сетей.

    Такие серверы для подключения к сети имеют адаптер Ethernet или Token Ring. Также у них существуют несколько синхронных и асинхронных портов для подключения терминалов, модемов, телефонов-автоматов, линий ISDN и Х.25. У небольших серверов доступа обычно бывает от 8 до 16 асинхронных портов и один-два синхронных порта.

    Мощные серверы доступа имеют модульную конструкцию со слотами (от 10 до 20) для подключения коммуникационных плат, как показано на рис. 4.14. Одна плата, к примеру, может иметь 8 асинхронных портов и один синхронный. Другая плата может предназначаться для подключения к линии Т-1, а еще одна – для работы с линией ISDN.

    Рис. 2 Серверы доступа

    Также могут быть модульные платы со встроенными модемами, например, с 4-мя модемами на одной плате. Некоторые серверы доступа модульной конструкции способны поддерживать почти 70 модемов. Для обеспечения отказоустойчивости серверы снабжаются также дополнительными источниками питания.

    Маршрутизаторы

    С помощью удаленного маршрутизатора сети, расположенные на большом удалении друг от друга (например, в разных городах), можно объединить в глобальную сеть. Один маршрутизатор, находящийся в одном городе, может соединить некоторую компанию с удаленным маршрутизатором, находящимся в другой компании, расположенной в любом другом городе.

    Рис. 3 Маршрутизатор

    Удаленные маршрутизаторы соединяют сети, использующие ATM, ISDN, технологии ретрансляции кадров и передачи данных по скоростной последовательной линии, а также Х.25. Удаленный маршрутизатор, как и локальный, может поддерживать множество протоколов, позволяя соединять удаленные сети различных типов. Аналогичным образом удаленный маршрутизатор может работать как брандмауэр, ограничивающий доступ к определенным сетевым ресурсам.

    Некоторые удаленные маршрутизаторы имеют модульную конструкцию, что позволяет вставлять в слоты расширения различные интерфейсы (например, Интерфейс для ISDN-линии и интерфейс для ретрансляции кадров).

    Преимущество такого маршрутизатора состоит в том, что его можно постепенно расширять по мере усложнения коммуникационных задач, а с этим сталкиваются многие организации.



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: