3. Объединение сетей при помощи маршрутизаторов
Маршрутизация (Routing) — процесс определения маршрута следования пакетов. Маршруты могут задаваться непосредственно администратором (статические маршруты), либо вычисляться с помощью алгоритмов маршрутизации, базируясь на информации о топологии и состоянии сети, полученной с помощью протоколов маршрутизации (динамические маршруты).
Статическими маршрутами могут быть:
- маршруты, не изменяющиеся во времени
- маршруты, изменяющиеся по расписанию
- маршруты, изменяющиеся по ситуации — административно в момент возникновения стандартной ситуации
Процесс маршрутизации в компьютерных сетях выполняется специальными программно-аппаратными средствами — маршрутизаторами. В дополнение к маршрутизации маршрутизаторы осуществляют и коммутацию каналов/сообщений/пакетов/ячеек, так же и коммутатор компьютерной сети выполняет маршрутизацию (определение на какой порт отправить пакет на основании таблицы MAC адресов), а называется в честь основной его функции — коммутации. Слово маршрутизация означает передачу информации от источника к приёмнику через объединенную сеть. При этом, хотя бы один раз необходимо преодолеть разветвление сети.
3.1. Составляющие маршрутизации
Маршрутизация состоит из двух основных составляющих: определение оптимального маршрута между источником и приёмником информации, и передача информации по сети. Последняя функция называется коммутацией.
Определение оптимального маршрута
Определение маршрута основывается на различных показателях, вычисленных на основе одной переменной, например, длины маршрута или комбинациях переменных. Алгоритмы маршрутизации высчитывают показатели маршрута для определения оптимального пути к пункту назначения.
Для облегчения процесса определения маршрута алгоритмы маршрутизации инициализируют и поддерживают таблицы маршрутизации, в которых содержится маршрутная информация. Маршрутная информация изменяется в зависимости от используемого алгоритма маршрутизации.
Алгоритмы маршрутизации заполняют маршрутные таблицы необходимой информацией. Комбинации "Пункт назначения/Следующая пересылка" сообщают маршрутизатору, что пункт назначения может быть достигнут кратчайшим путем при отправке пакета в определенный маршрутизатор, представляющий "следующую пересылку" на пути к конечному пункту назначения. При приеме поступающего пакета маршрутизатор проверяет адрес пункта назначения и пытается ассоциировать этот адрес со следующей пересылкой. Табл. 3.1. – пример таблицы маршрутизации.
C:\>route print
===========================================================================
Список интерфейсов
0x1 ........................... MS TCP Loopback interface
0x2 ...00 1c 25 31 9a 32 ...... Marvell Yukon 88E8056 PCI-E Gigabit Etherne
t Controller
===========================================================================
===========================================================================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 188.243.250.1 188.243.250.65 20
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
188.243.250.0 255.255.255.0 188.243.250.65 188.243.250.65 20
188.243.250.65 255.255.255.255 127.0.0.1 127.0.0.1 20
188.243.255.255 255.255.255.255 188.243.250.65 188.243.250.65 20
224.0.0.0 240.0.0.0 188.243.250.65 188.243.250.65 20
255.255.255.255 255.255.255.255 188.243.250.65 188.243.250.65 1
Основной шлюз: 188.243.250.1
===========================================================================
Постоянные маршруты:
Отсутствует
|
Таблица 3.1. Таблица маршрутизации
В маршрутных таблицах может содержаться также и другая информация. "Показатели" обеспечивают информацию о желательности какого-либо канала или тракта. Маршрутизаторы сравнивают показатели, чтобы определить оптимальные маршруты. Показатели отличаются друг от друга в зависимости от использованной схемы алгоритма маршрутизации.
Маршрутизаторы сообщаются друг с другом (и поддерживают свои маршрутные таблицы) путем передачи различных сообщений. Одним из таких сообщений является сообщение об "обновлении маршрутизации". Обновления маршрутизации обычно включают всю маршрутную таблицу или ее часть. Анализируя информацию об обновлении маршрутизации, поступающую ото всех маршрутизаторов, любой из них может построить детальную картину топологии сети. Другим примером сообщений, которыми обмениваются маршрутизаторы, является "объявление о состоянии канала". Объявление о состоянии канала информирует другие маршрутизаторы о состоянии каналов отправителя. Канальная информация также может быть использована для построения полной картины топологии сети. После того, как топология сети определена, маршрутизаторы могут определить оптимальные маршруты ко всем пунктам назначения.
Передача информации по сети, коммутация
Алгоритмы коммутации сравнительно просты и в основном одинаковы для большинства протоколов маршрутизации. В большинстве случаев хост определяет необходимость отправки пакета на другой хост. Получив адрес маршрутизатора, хост-источник отправляет пакет, адресованный специально на физический адрес маршрутизатора (уровень МАС), однако с адресом протокола (сетевой уровень) хоста пункта назначения.
После проверки сетевого адреса пакета маршрутизатор определяет, находится или нет адрес пункта назначения в таблице маршрутизации. Во втором случае (когда маршрутизатор не нашёл адрес в таблице маршрутизации) пакет, как правило, игнорируется. В первом случае маршрутизатор отсылает пакет к следующему маршрутизатору путем замены физического адреса пункта назначения на физический адрес следующего маршрутизатора и последующей передачи пакета.
По мере того, как пакет передаётся через объединенную сеть, его физический адрес меняется, однако адрес протокола сетевого уровня остается неизменным.
3.2. Алгоритмы маршрутизации
Протокол RIP
От алгоритма маршрутизации зависит скорость обработки информации, её достоверность. Но более сложные и быстродействующие алгоритмы накладывают повышенные требования к мощности самих маршрутизаторов.
Самые простые алгоритмы – статические алгоритмы маршрутизации. Таблицы маршрутизации устанавливаются администратором сети, и в дальнейшем они не изменяются, если только администратор сети их не изменит. Никакие изменения в работе сети не отслеживаются, но алгоритмы статические маршрутов просты в обработке и хорошо работают в простых сетях с небольшим трафиком. Более сложные алгоритмы – динамические. Они подстраиваются к изменениям в сети в масштабе реального времени. Они выполняют это путем анализа поступающих сообщений об обновлении маршрутных таблиц. При получении сообщения об изменении в сети маршрутизатор корректирует свою таблицу маршрутизации и рассылает служебную информацию всем известным ему узлам.
К протоколам динамической маршрутизации относится протокол RIP (Routing Information Protocol).
Таблица маршрутизации RIP содержит информацию о конечном пункте назначения пакета, адресе следующей пересылки на пути к пункту назначения и число пересылок (metric). В таблице маршрутизации может находиться также и другая информация, в том числе различные таймеры, связанные с данным маршрутом, например, таблица 3.2.
Destination |
Next hop |
Distance |
Timers |
Flags |
Network A |
Router 1 |
3 |
t1, t2, t3 |
x, y |
Network B |
Router 2 |
5 |
t1, t2, t3 |
x, y |
Network C |
Router 1 |
2 |
t1, t2, t3 |
x, y |
Таблица 3.2.
RIP поддерживает только самые лучшие маршруты к пункту назначения. Если новая информация обеспечивает лучший маршрут, то эта информация заменяет старую маршрутную информацию. Изменения в топологии сети могут вызывать изменения в маршрутах, приводя к тому, например, что какой-нибудь новый маршрут становится лучшим маршрутом до конкретного пункта назначения. Когда появляются изменения в топологии сети, то эти изменения отражаются в сообщениях о корректировке маршрутизации. Например, когда какой-нибудь маршрутизатор обнаруживает отказ одного из каналов или другого маршрутизатора, он повторно вычисляет свои маршруты и отправляет сообщения о корректировке маршрутизации. Каждый маршрутизатор, принимающий сообщение об обновлении маршрутизации, в котором содержится изменение, корректирует свои таблицы и распространяет это изменение.
Протокол OSPF
Протокол OSPF (Open Shortest Pass First, RFC-1245-48, RFC-1583-1587, std-54, алгоритмы предложены Дейкстрой) является альтернативой RIP в качестве внутреннего протокола маршрутизации. OSPF представляет собой протокол состояния маршрута (в качестве метрики используется - коэффициент качества обслуживания). Каждый маршрутизатор обладает полной информацией о состоянии всех интерфейсов всех маршрутизаторов (переключателей) автономной системы. Протокол OSPF реализован в демоне маршрутизации gated, который поддерживает также RIP и внешний протокол маршрутизации BGP.
Автономная система может быть разделена на несколько областей, куда могут входить как отдельные ЭВМ, так и целые сети. В этом случае внутренние маршрутизаторы области могут и не иметь информации о топологии остальной части сети. В сети обычно имеется выделенный (designated) маршрутизатор, который является источником маршрутной информации для остальных маршрутизаторов. Каждый маршрутизатор самостоятельно решает задачу оптимизации маршрутов. Если к месту назначения ведут два или более эквивалентных маршрута, информационный поток будет поделен между ними поровну. Переходные процессы в OSPF завершаются быстрее, чем в RIP. В процессе выбора оптимального маршрута анализируется ориентированный граф сети.
3.3. Доступ из LAN в Интернет, NAT
Технология NAT (Network Address Translation) позволяет решать две основные проблемы, стоящие сегодня перед глобальной сетью Интернет. Это – ограниченность адресного пространства протокола IP и масштабирование маршрутизации.
При необходимости подключения к сети Интернет, когда количество внутренних узлов сети превышает выданное поставщиком услуг Интернет количество реальных адресов IP, NAT позволяет частным сетям IP, использующим незарегистрированные адреса, получать доступ к ресурсам Интернет. Функции NAT конфигурируются на пограничном маршрутизаторе, разграничивающем частную (внутреннюю) сеть Интранет и сеть Интернет.
При необходимости изменения внутренней системы адресов, вместо того, чтобы производить полное изменение всех адресов всех узлов внутренней сети, что представляет собой достаточно трудоемкую процедуру, NAT позволяет производить их трансляцию в соответствии с новым адресным планом.
При необходимости организации простого разделения трафика на основе портов TCP, функции NAT предоставляют возможность установления соответствия (mapping) множества локальных адресов одному внешнему адресу, используя функции распределения нагрузки TCP.
Функционирование NAT
Технология NAT определяет, как это оговорено в стандарте RFC 1631, способы трансляции IP адресов, используемых в одной сети, в адреса, используемые в другой.
Существует 3 базовых концепции трансляции адресов - статическая, динамическая, и masquerading.
Static Network Address Translation
Статическая трансляция (static NAT). Маршрутизатор NAT хранит таблицу соответствия внутренних и внешних IP-адресов. В этом случае зарегистрированный в сети Интернет адрес нужен каждому внутреннему компьютеру, но внутренний компьютер становится доступным из сети Интернет, поскольку NAT обеспечивает взаимнооднозначное преобразование адресов.
Dynamic Network Address Translation
Динамическая трансляция необходима в случае, когда количество транслируемых адресов (внутренних и внешних) различно, впрочем, иногда применяется и в случае, когда их количество одинаково, но из каких-либо соображений зависимость не может быть описана правилами статической трансляции. Количество взаимодействующих хостов в любом случае будет ограничено числом свободных (доступных) на NAT-интерфейсе адресов. Динамическая реализация NAT более сложна, поскольку требует вести учет взаимодействующих хостов, а иногда и конкретных соединений, в случае, когда требуется просмотр и модификация содержимого на 4-м уровне (например, TCP).
В этой технологии в отличие от статической трансляции появляется новое понятие – таблица NAT (NAT table), которая применительно к динамической трансляции представляет собой таблицу соответствия внутренних адресов и адресов интерфейса NAT (далее для краткости - NAT адресов).
Masquerading (NAPT, PAT)
Трансляция адреса порта PAT (Port Address Translation) – это частный случай динамической трансляции, при котором мы имеем только один внешний адрес, за которым "спрятаны" внутренние - их может быть теоретически сколько угодно. В отличие от оригинальной динамической трансляции, PAT, разумеется, не подразумевает функционирование единовременно только одного соединения. Дабы расширить количество одновременных сеансов, эта техника использует информацию о номере TCP порта. Таким образом, количество одновременных сеансов ограничено только количеством свободных (из числа выделенных под NAT портов).
|