русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Тема 6.


Дата добавления: 2013-12-23; просмотров: 1136; Нарушение авторских прав


Рассмотрим пример сети, на входе которой стоит маршрутизатор. Порту 1 этого маршрутизатора присвоен адрес 130.24.13.1 с маской 255.255.255.0 (расширенный сетевой префикс /24), а порту 2 - адрес 200.14.13.2 с такой же маской подсети. Анализируя первые биты адреса порта 1 и маску подсети, маршрутизатор определит, что это адрес класса В, поэтому третий байт адреса используется для задания номера подсети. Порту 2 присвоен адрес класса С без выделения подсетей.

Если маршрутизатор получает информацию о маршруте к сети 130.24.36.0 от своего соседа через порт 1, он будет использовать маску подсети 255.255.255.0 (расширенный сетевой префикс /24), так как порту 1 присвоен адрес с тем же номером сети 130.24.0.0. Маска подсети просто наследуется. Но если маршрутизатор получит от соседа информацию о маршруте к сети 131.25.0.0, он будет использовать стандартную маску подсети 255.255.0.0, так как адрес 131.25.0.0 этому классу соответствует маска подсети 255.255.0.0. Будет использоваться именно эта маска, т.к. маршрутизатор не имеет другой информации о маске подсети.

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

Теперь предположим, что входной маршрутизатор получил информацию от соседа о маршруте к сети 130.24.36.0. Так как порт 1 настроен на адрес того же класса, то маршрутизатор предположит, что сеть 130.24.36.0 имеет маску 255.255.255.0. Поэтому, когда наступает время оповестить о данном маршруте, он будет информировать маршруте к сети с адресом 130.24.36.0 через свой порт 1 и о маршруте к сети 130.24.0.0 через порт 2. Во втором случае оказывается утраченной, содержащаяся в третьем байте адреса (36).



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

О нескольких масках подсетей, присвоенных одному адресу, часто говорят как о маске подсети переменной длины (Variable Length Subnet Mask, VLSM). Основной проблемой этого метода является совместимость с предыдущими версиями протоколов, которые использовали только одну маску подсети.

Пусть администратор сети организации хочет настроить сеть класса В 130.5.0.0 на расширенный сетевой префикс /22 (табл. 9). Для задания номеров подсетей могут использоваться 6 бит.

Таблица 9.

Распределение адресного пространства при префиксе/22

сети с расширенным сетевым префиксом 130.5.0.0/22
вой префикс (класс В) 10000010. 00000101.        
• для номеров подсетей            
| для номеров устройств             00.00000000

 

В этой сети с расширенным сетевым префиксом /22 будут доступны 64 подсети (26=64), каждая из которых поддерживает максимум до 1022 (210-2=1022) адресов устройств. Такой вариант устроит администратора, если организации нужно небольшое число подсетей с большим количеством устройств в них. Однако, допустим, организации нужны подсети с числом устройств, не превышающих 30. При использовании фиксированной маски подсети администратору придется создавать подсети, рассчитанные на значительно большее чем 30 количество устройств (а именно, 1022). В результате невостребованными оказываются около 1000 адресов устройств в подсетях. Как видно из этого примера, ограничения, вызываемые необходимостью применять единую маску подсети, значительно уменьшают эффективность использования всего адресного пространства, выделенного организации.

Использование маски подсети переменной длины дает возможность легко преодолеть эти трудности. Действительно, предположим, что администратор хочет использовать расширенный сетевой префикс /26. Сеть класса В с такимрасширенным сетевым префиксом позволяет поддерживать до 1024 подсетей (210), каждая из которых может содержать до 62 (26-2) индивидуальных адресов устройств (табл. 8.13). Такой расширенный сетевой префикс идеально подходит к небольшим подсетям с числом устройств порядка 60.

Таблица 10.

Распределение адресного пространства при префиксе/26

Адрес сети с расширенным сетевым префиксом 130.5.0.0/26
Сетевой префикс (класс В) 10000010. 00000101.        
Биты для номеров подсетей         00000000.00    
Биты для номеров устройств            

 

Как видно, применение различных расширенных сетевых префиксов (/22 и /26) позволило получить две разные подсети, отличающиеся по числу поддерживаемых устройств. Маска подсети переменной длины позволяет администратору выделять подсети с необходимыми характеристиками. При этом созданные подсети можно со временем легко изменять. Общая схема такова: сначала сеть делится на подсети, затем некоторые из этих подсетей делятся на более мелкие подсети и т. д. То есть происходит рекурсия (дробление) подсетей.

Рассмотрим другой пример. На рис. 4 показано, как сеть класса А с адресом 10.0.0.0 сначала разделяется на подсети с расширенным сетевым префиксом /16 (маска подсети 255.255.0.0). Получается 254 подсети. В каждой подсети поддерживается до 65 534 (216-2) индивидуальных адресов устройств. Полученная подсеть с адресом 10.253.0.0 с расширенным сетевым префиксом /24 поддерживает 254 подсети, каждая из которых включает до 254 (2^2) устройств. При дальнейшей рекурсии с расширенным сетевым префиксом /27 подсеть с адресом 10.253.1.0 будет включать 6 подсетей с номерами, кратными 32, содержащих до 30 (25-2) устройств.

 

 

Рис. 4.

 

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

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

 

 

Рис. 5. Объединение подсетей в одну запись

 

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

Рассмотрим сеть организации, которая охватывает несколько удаленных филиалов. Если организация имеет три удаленных сети, то ей потребуется выделить 3 бита для формирования подсетей (23=83). Этих 3 бит хватит и в обозримом будущем. Предположим, что администратор хочет сформировать отдельные подсети внутри каждого филиала — второй уровень в иерархии подсетей. Внутри этих подсетей необходимо выделить отдельные рабочие группы и их подсети. Следуя приведенной выше модели, мы видим, что верхний уровень иерархии определяется числом удаленных филиалов, второй — числом зданий внутри филиалов, а третий — максимальным числом подсетей в каждом здании и максимальным числом устройств в каждой из подсетей.

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

· Протокол маршрутизации должен переносить информацию о расширенном сетевом префиксе;

· Все маршрутизаторы должны поддерживать алгоритм передачи, основывающийся на технологии наибольшего совпадения (longest match);

· Адреса должны присваиваться в соответствии с существующей топологией сети.

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

Например, если адрес получателя равен 11.1.2.5 и в таблице маршрутизации есть три маршрута к этой сети (табл. 11), маршрутизатор выберет маршрут #1, так как его расширенный сетевой префикс совпадает с адресом получателя в большем числе бит.

Таблица 11.

Выбор маршрута с наибольшим совпадением

Получатель 11. 1. 2. 5 00001011. 00000001. 00000010. 00000101
Маршрут #1 11. 1. 2. 0/24 00001011. 00000001. 00000010. 00000000
Маршрут#2 11. 1. 0. 0/16 00001011. 00000001. 00000000. 00000000
Маршрут #3 11. 0. 0. 0/8 00001011. 00000000. 00000000. 00000000

 

Здесь необходимо сделать одно важное замечание. Адрес получателя (11. 1. 2. 5) совпадает с тремя маршрутами. Согласно правилу наибольшего совпадения будет выбран маршрут к подсети 11. 1. 2. 0 /24. Но может оказаться так, что устройство с адресом 11. 1. 2. 5 не будет входить в подсеть 11. 1. 2. 0. Тогда маршрутизатор не сможет передать трафик этому устройству. Поэтому назначение адресов следует обязательно проводить, исходя из существующей сетевой топологии и при этом непременно учитывать правило наибольшего совпадения.

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

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

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

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

Таблица 12.

Запись в таблице маршрутизации

Номер сети получателя 128.3.0.0
Следующий маршрутизатор в пути Количество переходов Протокол маршрутизации Таймер
128.5.3.2 RIP
128.5.4.7 RIP
128.5.3.9 RIP

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

· Следующий маршрутизатор в пути — IP-адрес удаленного маршрутизатора, которому необходимо послать дейтаграммы для доставки их по назначению;

· Количество переходов число переходов между текущим маршрутизатором и получателем пакета. Количество переходов — это число маршрутизаторов, которые должен пересечь пакет до прихода к получателю;

· Протокол маршрутизации — протокол маршрутизации, который отвечает за запись;

· Таймер — время, прошедшее с момента последнего обновления записи. Таймер сбрасывается при каждом обновлении.

Прямая и косвенная маршрутизация

Распределенную сеть можно рассматривать как набор сетевых устройств и сетей, связанных между собой маршрутизаторами. Стек протоколов TCP/IP разработан для взаимодействия удаленных систем в сложных, распределенных сетях. Отдельные сети с коммутацией пакетов связываются маршрутизаторами.

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

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

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

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

Косвенная маршрутизация — это процесс более сложный, чем прямая маршрутизация, ввиду следующих двух причин:

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

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

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

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

Обычно параметр “маршрутизатор по умолчанию” (default router) настраивался на каждой рабочей станции сетевым администратором. Маршрутизатор по умолчанию отвечает за доставку дейтаграмм всем устройствам, которые не подключены к сети отправителя.

Маршрутизатор принимает решение о передаче каждой дейтаграммы на основании своей таблицы маршрутизации. В качестве индекса таблицы используется номер сети, полученный из поля “Адрес получателя” в заголовке IP-дейтаграммы. Если получатель располагается в сети, подключенной к одному из портов маршрутизатора, последний может доставить дейтаграмму напрямую, не посылая ее другим маршрутизаторам. В противном случае маршрутизатор должен отослать дейтаграмму другому маршрутизатору, который находится ближе к получателю.

 

МЕТОДЫ МАРШРУТИЗАЦИИ ИНФОРМАЦИОННЫХ ПОТОКОВ

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

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

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

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

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

Маршрутизаторы нижнего класса предназначаются для локальных сетей подразделений; они связывают небольшие офисы с сетью предприятия. Типичная конфигурация: один порт локальной сети (Ethernet или Token Ring) и два порта глобальной сети, рассчитанные на низкоскоростные выделенные линии или коммутируемые соединения. Тем не менее, подобные маршрутизаторы пользуются большим спросом у администраторов, которым необходимо расширить имеющиеся межсетевые объединения.

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

Маршрутизатор базовой сети состоит из следующих основных компонентов:

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

- управляющего процессора, определяющего маршрут и обновляющего информацию о топологии; основной магистрали.

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

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

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

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

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

Обобщенная функциональная схема маршрутизации представлена на рис. 1.

Определение маршрута передачи данных происходит программно. Соответствующие программные средства носят названия протоколов маршрутизации, Логика их работы основана на алгоритмах маршрутизации. Алгоритмы маршрутизации вычисляют стоимость доставки и выбирают путь с меньшей стоимостью. Простейшие алгоритмы маршрутизации определяют маршрут на основании наименьшего числа промежуточных (транзитных) узлов на пути к адресату. Более сложные алгоритмы в понятие “стоимость” закладывают несколько показателей, например, задержку при передаче пакетов, пропускную способность каналов связи или денежную стоимость связи. Основным результатом работы алгоритма маршрутизации является создание и поддержка таблицы маршрутизации, в которую записывается вся маршрутная информация. Содержание таблицы маршрутизации зависит от используемого протокола маршрутизации. В общем случае таблица маршрутизации содержит следующую информацию:

- действительные адреса устройств в сети;

- служебную информацию протокола маршрутизации;

- адреса ближайших маршрутизаторов.

 

Рис. 1. Обобщенная функциональная схема маршрутизации

Основными требованиями, предъявляемыми к алгоритму маршрутизации, являются:

· оптимальность выбора маршрута;

· простота реализации;

· устойчивость;

· быстрая сходимость;

· гибкость реализации.

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

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

Алгоритмы маршрутизации могут быть:

· статическими или динамическими;

· одномаршрутными или многомаршрутными;

· одноуровневыми или иерархическими;

· внутридоменными или междоменными;

· одноадресными или групповыми.

Для статических (неадаптивных) алгоритмов маршруты выбираются заранее и заносятся вручную в таблицу маршрутизации, где хранится информация о том, на какой порт отправить пакет с соответствующим адресом. Протоколы, разработанные на базе статических алгоритмов, называют немаршрутизируемыми протоколами. Примерами немаршрутизируемых протоколов могут служить LAT (Local Area Transport, транспортный протокол для локальных областей) фирмы DEC, протокол подключения терминала и NetBIOS. Обычно с этими протоколами работают мосты, так как они не различают протоколы сетевого уровня.

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

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

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

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

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

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

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

· применяемой системы измерения длины маршрута (его метрики);

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

· топологии сети.

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

· протоколы вектора расстояния;

· протоколы состояния канала;

· протоколы политики маршрутизации.

Протоколы вектора расстояния — самые простые и самые распространенные. Протоколы данной группы включают RIP IP, RIP IPX, AppleTalk RTMP и Cisco IGRP. Свое название этот тип протокола получил от способа обмена информацией. Маршрутизатор с определенной периодичностью извлекает адреса получателей информации и метрику из своей таблицы маршрутизации и помещает эти данные в рассылаемые соседям сообщения об обновлении. Соседние маршрутизаторы сверяют полученные данные со своими собственными таблицами маршрутизации и вносят необходимые изменения. После этого они сами рассылают сообщения об обновлении. Таким образом, каждый маршрутизатор получает информацию о маршрутах во всей сети. При очевидной простоте алгоритма говорить о полной его надежности нельзя. Он может работать эффективно только в небольших сетях. Это связано с тем, что в крупных сетях поток сообщений между маршрутизаторами резко возрастает. При этом большинство из них являются избыточными (так как изменения сетевой топологии происходят довольно редко). Как следствие — действительно необходимая информация подчас долго гуляет по всей сети, и маршрутизаторы обновляют свои таблицы с большой задержкой. Так, более несуществующий маршрут может довольно долго оставаться в таблицах маршрутизации. Трафик, направленный по такому маршруту, не достигнет своего адресата.

Протоколы состояния канала были впервые предложены в 1970 году Эдсгером Дейкстрой. Эти протоколы значительно сложнее, чем протоколы вектора расстояния. Вместо рассылки соседям содержимого своих таблиц маршрутизации, каждый маршрутизатор осуществляет широковещательную рассылку списка маршрутизаторов, с которыми он имеет непосредственную связь, и списка напрямую подключенных к нему локальных сетей. Эта информация является частью информации о состоянии канала. Она рассылается в специальных сообщениях. Кроме того, маршрутизатор рассылает сообщения о состоянии канала только в случае его изменения или по истечении заданного интервала времени. Протоколы состояния канала трудны в реализации и нуждаются в значительном объеме памяти для хранения информации о состоянии каналов. Примерами этих протоколов служат OSPF, IS-IS, Novell NLSP и Cisco EIGRP.

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

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

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

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

Маршрутизаторы (точнее — уровень маршрутизации) работают на сетевом Уровне эталонной модели OSI (рис. 2). Уровень продвижения пакетов функционирует на канальном уровне.

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

Производители при создании маршрутизаторов используют три основных типа архитектуры:

- однопроцессорная;

- усиленная однопроцессорная;

- симметричная многопроцессорная.

 

 

Рис. 2. Представление маршрутизаторов в соответствии с моделью OSI.

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

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

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

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

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

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

Одношаговый подход к маршрутизации.

Существует два подхода к выбору маршрута:

· одношаговый подход;

· маршрутизация от источника.

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

Пакет

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

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

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

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

 

 

Рис. 3. Разбиение сообщения на пакеты

Фиксированная маршрутизация. Простая маршрутизация. Адаптивная маршрутизация.

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

- Алгоритмы фиксированной маршрутизации. Они применяются в сетях с простой топологией и основаны на составлении таблиц маршрутизации “вручную” администратором сети.

- Алгоритмы простой маршрутизации. Они разделяются на три подкласса:

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

· лавинная маршрутизация (дейтаграммы передаются во всех направлениях, кроме исходного);

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

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

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

Управление таблицей маршрутизации на маршрутизаторах в большой распределенной сети является сложной задачей. Таблицы маршрутизации для отображения текущей сетевой топологии должны быть динамическими. Маршрутизатор обменивается с другими маршрутизаторами информацией о маршрутах. К протоколам маршрутизации, обменивающимися информацией о маршрутах в сетях IP, относятся: Routing Information Protocol (RIP), Open Shortest Path First protocol (OSPF), Integrated Intermediate System to Intermediate System (IS-IS), Exterior Gateway Protocol (EGP) и Border Gateway Protocol (BGP).

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

Таблица 1.

Запись в таблице маршрутизации

Номер сети получателя 128.3.0.0
Следующий маршрутизатор в пути Количество переходов Протокол маршрутизации Таймер
128.5.3.2 RIP
128.5.4.7 RIP
128.5.3.9 RIP

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

· Следующий маршрутизатор в пути — IP-адрес удаленного маршрутизатора, которому необходимо послать дейтаграммы для доставки их по назначению;

· Количество переходов число переходов между текущим маршрутизатором и получателем пакета. Количество переходов — это число маршрутизаторов, которые должен пересечь пакет до прихода к получателю;

· Протокол маршрутизации — протокол маршрутизации, который отвечает за запись;

· Таймер — время, прошедшее с момента последнего обновления записи. Таймер сбрасывается при каждом обновлении.

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

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

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

 

 

 

Рис. 4. Пример распределенной сети

Таблица 2.

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

Маршрутизатор Ml
Номер сети Следующий маршрутизатор в пути Количество переходов
128.1.0.0 Подключена напрямую. Порт 1
128.2.0.0 Подключена напрямую. Порт 2
128.3.0.0 128.2.0.3
128.4.0.0 128.2.0.3
Маршрутизатор М2
Номер сети Следующий маршрутизатор в пути Количество переходов
128.1.0.0 128.2.0.2
128.2.0.0 Подключена напрямую. Порт 1
128.3.0.0 Подключена напрямую. Порт 2
128.4.0.0 128.3.0.3
Маршрутизатор МЗ
Номер сети Следующий маршрутизатор в пути Количество переходов
128.1.0.0 128.3.0.2
128.2.0.0 128.3.0.3
128.3.0.0 Подключена напрямую. Порт 1
128.4.0.0 Подключена напрямую. Порт 2

 

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

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

Так как станции А и Б располагаются в различных сетях, то станции А приходится выполнять косвенную маршрутизацию. Для этого она должна послать информацию на ближайший известный ей маршрутизатор или на маршрутизатор по умолчанию. После инициализации станция А знает только адрес маршрутизатора по умолчанию – 128.1.0.2. Поэтому станция А будет использовать маршрутизатор М1 для передачи информации любому устройству, расположенному в удаленной сети. Если в ARP-таблице станции А нет записи о маршрутизаторе по умолчанию, то она сформирует ARP-запрос и будет ждать, маршрутизатор М1 ответит на него. После того как она выяснит физический адрес маршрутизатора (%050002001231, порт 1 маршрутизатора М1), станция А передаст ему кадр канального уровня.

После получения кадра маршрутизатор Ml удалит его заголовок канального уровня и прочтет номер сети в IP-дейтаграмме — 128.4.0.0. Затем он отыщет соответствующую запись в своей таблице маршрутизации. Маршрутизатор Ml знает, что нужная сеть находится на расстоянии двух переходов от него, и что он должен передать эту дейтаграмму на порт 1 маршрутизатора М2 с IP-адресом 128.2.0.3. Если маршрутизатор Ml не имеет в своей ARP-таблице физического адреса порта 1 маршрутизатора М2, он сформирует ARP-запрос и будет ждать, когда маршрутизатор М2 ответит на него. После этого маршрутизатор Ml передаст кадр с физическим адресом %080002001233 (порт 1 маршрутизатора М2).

После получения кадра маршрутизатор М2 удалит его заголовок канального уровня и прочтет номер сети в IP-дейтаграмме — 128.4.0.0. Затем он отыщет соответствующую запись в своей таблице маршрутизации. Маршрутизатор М2 знает, что нужная сеть находится на расстоянии одного перехода от него, и он должен передать эту дейтаграмму на порт 1 маршрутизатора МЗ с IP-адресом 128.3.0.3. Если маршрутизатор М2 не имеет в своей ARP-таблице физического адреса порта 1 маршрутизатора МЗ, он сформирует ARP-запрос и будет ждать, когда маршрутизатор МЗ ответит на него. После этого маршрутизатор М2 передаст кадр с физическим адресом %080002001235 (порт 1 маршрутизатора МЗ).

После получения кадра маршрутизатор МЗ удалит заголовок канального Уровня и прочтет номер сети в IP-дейтаграмме — 128.4.0.0. Затем он отыщет соответствующую запись в своей таблице маршрутизации. Таким образом он узнает, что нужная сеть подключена напрямую к его порту 2, — так что он не Должен передавать эту дейтаграмму другому маршрутизатору. Он может доставить ее получателю напрямую. Если маршрутизатор МЗ не имеет в своей ARP-таблице физического адреса станции Б, он сформирует ARP-запрос и будет ждать, когда станция ответит на него. После этого маршрутизатор МЗ передаст кадр по физическому адресу %080002002222 станции Б.

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

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

Маршрутизация с помощью IP-адресов. Прямая и косвенная маршрутизация. Маршрутизация по умолчанию.

Распределенную сеть можно рассматривать как набор сетевых устройств и сетей, связанных между собой маршрутизаторами. Стек протоколов TCP/IP разработан для взаимодействия удаленных систем в сложных, распределенных сетях. Отдельные сети с коммутацией пакетов связываются маршрутизаторами.

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

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

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

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

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

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

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

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

Обычно параметр “маршрутизатор по умолчанию” (default router) настраивался на каждой рабочей станции сетевым администратором. Маршрутизатор по умолчанию отвечает за доставку дейтаграмм всем устройствам, которые не подключены к сети отправителя.

Маршрутизатор принимает решение о передаче каждой дейтаграммы на основании своей таблицы маршрутизации. В качестве индекса таблицы используется номер сети, полученный из поля “Адрес получателя” в заголовке IP-дейтаграммы. Если получатель располагается в сети, подключенной к одному из портов маршрутизатора, последний может доставить дейтаграмму напрямую, не посылая ее другим маршрутизаторам. В противном случае маршрутизатор должен отослать дейтаграмму другому маршрутизатору, который находится ближе к получателю.

 



<== предыдущая лекция | следующая лекция ==>
Тема 5. | Тема 7.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.019 сек.