Реферат: Содержание 1 Канальный уровень взаимодействие соседних устройств 3
СОДЕРЖАНИЕ
1 Канальный уровень - взаимодействие соседних устройств 3
1.1 Функции канального уровня 3
1.2 Сервисы канального уровня 4
1.2.1 Управление доступом к каналу связи 4
1.2.2 Синхронизация кадров 5
1.2.3 Асинхронные протоколы 7
1.2.4 Синхронные протоколы 7
1.2.5 Разграничение данных 8
1.2.6 Однозначность 9
1.2.7 Выявление ошибок 9
1.2.8 Исправление ошибок 9
1.2.9 Управление потоком данных и адресация 10
1.2.10 Установление соединения и его разъединение 11
2 Межсетевое взаимодействие 12
^ 1.3 Роль сетевого уровня 13
1.4 Маршрутизаторы и маршрутизация 16
1.4.1 Процесс маршрутизации 17
1.4.2 Статические и динамические маршруты 19
1.4.3 Дистанционно-векторные протоколы маршрутизации 20
^ 1.5 Принципы объединения сетей на основе протоколов сетевого уровня 22
1.5.1 Ограничения мостов и коммутаторов 23
1.5.2 Понятие internetworking 24
1.5.3 Принципы маршрутизации 28
1.5.4 Функции маршрутизатора 39
^ 1.5.5 Уровень сетевого протокола 41
1.5.6 Уровень протоколов маршрутизации 43
2 Реализация межсетевого взаимодействия средствами TCP/IP 43
2.1 Многоуровневая структура стека TCP/IP 44
2.1.1 Уровень межсетевого взаимодействия 44
2.1.2 Основной уровень 45
^ 2.1.3 Прикладной уровень 46
2.1.4 Уровень сетевых интерфейсов 46
2.2 Соответствие уровней стека TCP/IP семиуровневой модели ISO/OSI 47
2.3 Адресация в IP-сетях 50
^ 2.3.1 Типы адресов стека TCP/IP 50
2.3.2 Классы IP-адресов 51
2.3.3 Особые IP-адреса 53
2.3.4 . Использование масок в IP-адресации 55
2.3.5 Порядок распределения IP-адресов 57
^ 2.3.6 Автоматизация процесса назначения IP-адресов 59
2.3.7 Отображение доменных имен на IP-адреса 61
2.4 Протокол IP 68
2.4.1 Основные функции протокола IP 68
2.4.2 Структура IP-пакета 69
2.5 Протокол надежной доставки TCP-сообщений 73
3 Сетевые операционные системы 80
3.1 *NIX Системы 82
3.2 Издания Windows Server 2003: 84
3.3 Основные функции Windows Sever 2003 84
87
^ Канальный уровень - взаимодействие соседних устройств
В этом разделе рассматриваются методы надежной и эффективной передачи данных между двумя соседними узлами. Под словом «соседние» здесь подразумевается то, что эти узлы соединены через любую физическую среду передачи данных, т.е. находятся в одной сети. Для такого взаимодействия биты должны быть доставлены получателю точно в той последовательности, в какой их послал отправитель.
Эта, простая, на первый взгляд, задача при детальном рассмотрении оказывается весьма сложной, если учесть, что при передаче могут возникать ошибки и задержки, которые могут вызывать искажение данных, дублирование данных, и т.д.
^ 1.1Функции канального уровня
Основная функция канального уровня - это обеспечение свободной от ошибок передачи данных по физическому каналу связи. Как мы рассматривали в главе 1, в соответствии с основным положением модели OSI, какой-либо уровень не должен «беспокоиться» о сервисах, предоставляемых нижележащими уровнями. По существу выше канального уровня нет уровней, выполняющих какие-либо действия для того, чтобы убедиться в том, что прибыли правильные биты.
Протоколы, реализующие функции канального уровня, не могут предотвратить появление ошибок в физическом канале, но они должны выявлять эти ошибки и при необходимости исправлять их.
Канальный уровень передающей и принимающей станций использует управляющую информацию, чтобы убедиться в том, что вышележащему уровню передаются только верные данные. Для этого протоколы канального уровня оформляют переданные им данные в блоки собственного формата (кадры), добавляя к исходным данным управляющую информацию. Так передающая станция добавляет управляющую информацию в начало и конец данных, полученных от вышележащего уровня, а затем отправляет данные физическому уровню. Принимающая станция использует управляющую информацию для того, чтобы убедиться в том, что кадр был получен правильно.
Управляющая информация в начале кадра (заголовок), как правило, включает адрес принимающей станции, адрес передающей станции, порядковый номер кадра и номер подтверждения. Управляющая информация, которая добавляется в конец кадра, (обычно называется концевик или трейлер), содержит контрольную информацию, используемую для выявления ошибок.
^ 1.2Сервисы канального уровня
Чтобы доставить свободные от ошибок данные протоколу вышележащего уровня станции получателя, канальный уровень должен поддерживать набор сервисов, определяющих, как будут осуществляться процессы передачи данных и обработки ошибок. Перечислим эти сервисы.
^ 1.2.1Управление доступом к каналу связи
Управление доступом к каналу связи определяет, какая из станций может передавать данные в определенный момент времени. Это простая задача в случае двух станций, однако если к линии подключено более двух станций, то передачей необходимо управлять.
Методы, применяемые для управления доступом к каналу связи, определяются типом физического канала, соединяющего станции, и его конфигурацией.
Каналы связи могут быть полнодуплексными (возможна одновременная передача в обоих направлениях) и полудуплексными (передача ведется поочередно). Полнодуплексные каналы позволяют двум взаимодействующим станциям передавать данные по своему желанию, в отличие от полудуплексных каналов, когда станции должны ждать своей очереди.
В сетях передачи данных используют как индивидуальные линии связи между узлами, так и разделяемые (в главе 1 мы использовали для таких линий связи термин разделяемая среда передачи данных - shared media), когда одна линия связи попеременно используется несколькими станциями.
В случае применения разделяемых линий связи возникает комплекс проблем, связанных с их совместным использованием, который включает как чисто электрические проблемы обеспечения нужного качества сигналов при подключении к одной и той же физической среде нескольких приемников и передатчиков, так и логические проблемы разделения во времени доступа к этим линиям.
Классическим примером сети с разделяемой средой связи являются локальные сети Ethernet, построенные на концентраторах (они также были рассмотрены нами в главе 1). Ни один из компьютеров в такой сети в принципе не может индивидуально, независимо от всех других, использовать среду передачи, так как при одновременной передаче данных сразу несколькими узлами сигналы смешиваются и искажаются.
Существуют различные способы решения задачи организации совместного доступа к разделяемым линиям связи. В последние годы наметилась тенденция отказа от разделяемых сред передачи данных в локальных сетях. Это связано с тем, что за достигаемое таким образом удешевление сети приходится расплачиваться её производительностью, надежностью и безопасностью. Однако, несмотря на все эти сложности, в локальных сетях разделяемая среда передачи использовалась очень часто. Сеть с разделяемой средой при большом количестве узлов будет всегда работать медленнее, чем аналогичная сеть с индивидуальными линиями связи, так как пропускная способность индивидуальной линии связи достается одному узлу, а при ее совместном использовании делится на все станции сети.
В глобальных сетях отказ от разделяемых линий связи объясняется техническими причинами. Здесь большие временные задержки распространения сигналов принципиально ограничивают применимость техники разделения линии связи. Компьютеры могут затратить больше времени на переговоры о том, кому сейчас можно использовать линию связи, чем непосредственно на передачу данных по этой линии связи. При использовании индивидуальных линий связи в полносвязных топологиях конечные узлы должны иметь по одному порту на каждую линию связи. Такая топология имеет существенные преимущества перед остальными в плане надежности и эффективности передачи данных, однако у нее есть и недостатки - высокая стоимость и сложность управления.
Более распространенной является звездообразная и ячеистая топологии. В таких топологиях конечные узлы могут подключаться индивидуальными линиями связи к сетевому устройству - коммутатору. В глобальных сетях коммутаторы использовались уже на начальном этапе, а в локальных сетях - с начала 90-х годов.
Использование коммутаторов приводят к удорожанию локальной сети, но по мере снижения стоимости коммутации этот подход вытесняет применение разделяемых линий связи.
^ 1.2.2Синхронизация кадров
При обмене данными на физическом уровне единицей информации является бит, поэтому средства физического уровня всегда поддерживают синхронизацию между приемником и передатчиком для корректного распознавания каждого бита.
Канальный уровень оперирует кадрами данных и обеспечивает синхронизацию между приемником и передатчиком на уровне кадров. В обязанности приемника входит распознавание начала первого байта кадра, распознавание границ полей кадра и распознавание признака окончания кадра.
Обычно достаточно обеспечить синхронизацию на указанных двух уровнях - битовом и кадровом - чтобы передатчик и приемник смогли обеспечить устойчивый обмен информацией.
Однако при плохом качестве линии связи (обычно это относится к телефонным коммутируемым каналам) для удешевления аппаратуры и повышения надежности передачи данных вводят дополнительные средства синхронизации на уровне байт. Такой режим работы называется старт-стопным. Другой причиной использования такого режима работы является наличие устройств, которые генерируют байты данных в случайные моменты времени. Так работает клавиатура компьютера или другого терминального устройства, с которого человек вводит данные для обработки их компьютером.
В таком режиме каждый байт данных сопровождается специальными сигналами «старт» и «стоп». Назначение этих сигналов состоит в том, чтобы, во-первых, известить приемник о приходе данных, и, во-вторых, чтобы дать приемнику достаточно времени для выполнения функций, связанных с синхронизацией, до поступления следующего байта.
Рис. 1^ . Асинхронная передача на уровне байт
При синхронном режиме передачи старт-стопные биты между каждой парой байт отсутствуют. Пользовательские данные собираются в кадр, который предваряется байтами синхронизации). Байт синхронизации - это байт, содержащий заранее известный код, например, 0111110, который оповещает приемник о приходе кадра данных. При его получении приемник также должен войти в побайтовый синхронизм с передатчиком, то есть правильно понимать начало очередного байта кадра. Иногда применяется несколько синхробайт для обеспечения более надежной синхронизации приемника и передатчика.
В зависимости от выбранного способа синхронизации различают асинхронные протоколы и синхронные протоколы передачи информации.
^ 1.2.3Асинхронные протоколы
Асинхронные протоколы представляют собой наиболее старый способ связи. Эти протоколы оперируют не с кадрами, а с отдельными символами, которые представлены байтами со старт-стоповыми символами. Асинхронные протоколы ведут свое происхождение от тех времен, когда связь осуществлялась с помощью телетайпов по каналам «точка-точка». Единицей передаваемых данных был не кадр данных, а отдельный символ. Некоторые символы имели управляющий характер, например, символ предписывал телетайпу или дисплею выполнить возврат каретки на начало строки. В этих протоколах существуют управляющие последовательности, обычно начинающиеся с символа . Эти последовательности вызывали на управляемом устройстве достаточно сложные действия - например, загрузку нового шрифта на принтер.
В асинхронных протоколах применяются стандартные наборы символов, например, ASCII. Так как первые 32 кода в этих наборах являются специальными кодами, которые не отображаются на дисплее или принтере, то они используются асинхронными протоколами для управления режимом обмена данными. В самих пользовательских данных, которые представляли собой буквы, цифры, а также такие знаки, такие как @, %, $ и т.п., специальные символы никогда не встречались, так что проблемы их отделения от пользовательских данных не существовало.
Постепенно асинхронные протоколы усложнялись и стали наряду с отдельными символами использовать целые блоки данных, то есть кадры.
^ 1.2.4Синхронные протоколы
В синхронных протоколах между пересылаемыми символами (байтами) нет стартовых и стоповых сигналов, поэтому отдельные символы в этих протоколах пересылать нельзя. Все обмены данными осуществляются кадрами, которые имеют в общем случае заголовок, поле данных и концевик. Все биты кадра передаются непрерывным синхронным потоком, что значительно ускоряет передачу данных.
Рис. 2^ . Кадры синхронных протоколов
Так как байты в этих протоколах не отделяются друг от друга служебными сигналами, то одной из первых задач приемника является распознавание границы байтов. Затем приемник должен найти начало и конец кадра, а также определить границы каждого поля кадра - адреса назначения, адреса источника, других служебных полей заголовка, поля данных и контрольной суммы, если она имеется.
^ 1.2.5Разграничение данных
Протоколы канального уровня добавляют к передаваемому блоку данных управляющую информацию. Принимающий узел должен иметь возможность определить, где заканчивается поле управляющей информации и начинается поле данных. В свою очередь, поле управляющей информации (заголовок кадра) также состоит их нескольких полей, содержащих адреса, порядковые номера блоков данных и подтверждений и другую служебную информацию протокола. Приемник должен правильно определять границы данных полей для верной интерпретации служебной информации.
Для большей части протоколов характерны кадры, состоящие из служебных полей фиксированной длины. Однако существует ряд протоколов, в которых кадры имеют гибкую структуру.
Например, к таким протоколам относятся очень популярный протокол канального уровня РРР (Point-to-Point Protocol), используемый для соединений типа «точка-точка» в глобальных сетях. Кадры таких протоколов состоят из неопределенного количества полей, каждое из которых может иметь переменную длину. Начало такого кадра отмечается некоторым стандартным образом, например, с помощью флага, а затем протокол последовательно просматривает поля кадра и определяет их количество и размеры. Каждое поле обычно описывается двумя дополнительными полями фиксированного размера. Например, если в кадре встречается поле, содержащее некоторую символьную строку, то в кадр вставляются три поля: тип, длина, значение.
Дополнительные поля «Тип» и «Длина» имеют фиксированный размер в один байт, поэтому протокол легко находит границы поля «Значение». Так как количество таких полей также неизвестно, для определения общей длины кадра используется либо общее поле «Длина», которое помещается в начале кадра и относится ко всем полям данных, либо закрывающий флаг.
1.2.6Однозначность
Специальные символы или комбинации бит могут использоваться протоколами канального уровня для указания начала и конца кадров, а также начала и конца полей внутри кадра. Если поле данных содержит специальный символ или комбинацию бит, принимающая сторона может интерпретировать их значение неправильно. Такая ситуация недопустима, поэтому специальные символы или комбинации бит должны быть «очевидны» для приемника.
Это достигается с помощью алгоритмов преобразования специальных символов внутри кадра. Благодаря эти алгоритмам (называемым вставкой символов или байт-стаффингом), специальные символы внутри кадра кодируются другими значениями при отправке. После получения кадра на приемной стороне для корректной обработки полученного кадра производится обратное преобразование.
^ 1.2.7Выявление ошибок
Выявление ошибок передачи является одной из основных причин существовании канального уровня. На канальном уровне должны выявляться ошибки при передаче бит по среде передачи. Также необходимо проверять, все ли переданные кадры были получены. Все методы обнаружения ошибок основаны на передаче в составе кадра данных служебной избыточной информации, по которой можно судить с некоторой степенью вероятности о достоверности принятых данных. Эту служебную информацию принято называть контрольной суммой (или проверочной последовательностью кадра - Frame Check Sequence, FCS).
Алгоритмы вычисления контрольной суммы различаются вычислительной сложностью и способностью обнаруживать ошибки в данных. Ввиду математической сложности в данном курсе их описание мы опустим.
^ 1.2.8Исправление ошибок
Обнаруженные ошибки могут обрабатываться несколькими способами в зависимости от типа каналов связи. В частности, может применяться метод прямого исправления ошибок (Forward Error Correction (FEC)), основанный на специальных алгоритмах кодирования, заключающихся в посылке блоков данных постоянной длины вместе с контрольными битами.
В зависимости от сложности алгоритма кодирования, метод позволяет восстановить N (предусмотренное методом число) ошибок в каждом кадре без его повторной передачи.
Этот метод подходит для физических каналов с большой вероятностью возникновения ошибок или каналов, имеющих значительные задержки. Как правило, данный метод исправления ошибок используется в радиоканалах и спутниковых системах передачи.
Наиболее распространенным подходом к исправлению ошибок является отбрасывание станцией поврежденного кадра и ожидание приема его копии, свободной от ошибок. В зависимости от принятых в конкретных реализациях канального уровня соглашений, ошибочными могут также считаться кадры, принятые в неправильной последовательности.
Используя сочетание порядковых номеров кадров и кодов выявления ошибок, протокол канального уровня обеспечивает свободную от ошибок доставку данных вышележащим уровням. Восстановление потерянных или искаженных данных выполняется путем повторной передачи ошибочных кадров. Чтобы отправитель мог убедиться в том, что все переданные кадры были получены, используется квитирование (получатель уведомляет отправителя об успешном приеме данных) и таймеры повторной передачи (на тот случай, если по каким-либо причинам не будет получено уведомление).
Многие современные протоколы канального уровня не выполняют исправление ошибок, вместо этого они только обнаруживают их и отбрасывают поврежденные кадры. Они полагаются на протоколы вышележащих уровней, которые в случае необходимости обработают ошибки. Протоколы канального уровня, применяющие данный метод, рассчитаны на высококачественные каналы с низкой вероятностью возникновения ошибок и высокой пропускной способностью, такие как оптоволоконные линии связи.
^ 1.2.9Управление потоком данных и адресация
В некоторых случаях принимающая сторона должна иметь возможность обратного влияния на отправителя с целью приостановки или снижения интенсивности отправки им данных. Например, приемник может быть слишком «занят», чтобы принять новые кадры. Управление потоком данных на канальном уровне позволяет приемнику сообщить передатчику о своей неготовности получать новые данные, а позже сигнализировать о готовности к продолжению приема.
Адресация требуется для многоточечных связей с более чем двумя станциями на одном канале, чтобы указывать получателя данных, а также идентифицировать их отправителя. В случае двухточечного соединения адреса могут использоваться для того, чтобы отличать команды от ответов.
Адреса канального уровня обычно называют аппаратными, т.к. эти адреса часто связаны с адаптерами сетевых интерфейсов. Адреса канального уровня не следует путать с сетевыми адресами - сетевая адресация является отдельной проблемой.
^ 1.2.10Установление соединения и его разъединение
При передаче кадров данных на канальном уровне используются как дейтаграммные процедуры, работающие без установления соединения (connectionless), так и процедуры с предварительным установлением логического соединения (connection-oriented).
При дейтаграммной передаче кадр посылается в сеть «без предупреждения», и никакой ответственности за его утерю протокол не несет. Предполагается, что сеть всегда готова принять кадр от конечного узла. Дейтаграммный метод работает быстро, так как никаких предварительных действий перед отправкой данных не выполняется. Однако при таком методе трудно организовать в рамках протокола отслеживание факта доставки кадра узлу назначения. Этот метод не гарантирует доставку данных.
Рис. 3^ . Протоколы без установления соединения (а) и с установлением соединения (б).
Рис. 4. Протоколы без установления соединения (а) и с установлением соединения (б).
Передача с установлением соединения более надежна, но требует больше времени для передачи данных и вычислительных затрат от конечных узлов.
Заметим, что, в отличие от протоколов дейтаграммного типа, которые поддерживают только один тип кадра - информационный, протоколы, работающие по процедуре с установлением соединения, должны поддерживать несколько типов кадров - служебные, для установления (и разрыва) соединения, и информационные, переносящие собственно пользовательские данные.
Логическое соединение обеспечивает передачу данных как в одном направлении - от инициатора соединения, так и в обоих направлениях.
Процедура установления соединения может использоваться для достижения различных целей.
Для взаимной аутентификации либо пользователей, либо оборудования (маршрутизаторы тоже могут иметь имена и пароли, которые нужны для уверенности в том, что злоумышленник не подменил корпоративный маршрутизатор и не отвел поток данных в свою сеть для анализа).
Для согласования изменяемых параметров протокола: количества данных в кадре, различных тайм-аутов и т.п.
Для обнаружения и коррекции ошибок. Установление логического соединения дает точку отсчета для задания начальных значений номеров кадров. При потере нумерованного кадра приемник, во-первых, получает возможность обнаружить этот факт, а во-вторых, он может сообщить передатчику, какой в точности кадр нужно передать повторно.
^ Межсетевое взаимодействие
В предыдущей лекции вы познакомились с основными функциями и сервисами, предоставляемыми на канальном уровне.
В целом канальный уровень представляет собой весьма мощный и законченный инструмент по пересылке сообщений между узлами сети. Но для обеспечения качественной транспортировки сообщений в сетях любых топологий и технологий функций канального уровня оказывается недостаточно, поэтому в модели OSI решение этой задачи возлагается на два следующих уровня - сетевой и транспортный.
Основная идея введения сетевого уровня состоит в следующем. Сеть в общем случае рассматривается как совокупность нескольких сетей и называется составной сетью, объединенной сетью или интерсетью (internetwork или internet).
Рис. 5^ . Пример архитектуры объединенной сети
Подсети соединяются между собой маршрутизаторами. Компонентами составной сети могут являться как локальные, так и глобальные сети. Все узлы в пределах одной подсети взаимодействуют, используя единую для них технологию. Так, в составную сеть, показанную на рисунке, входит несколько сетей разных технологий: локальные и глобальные сети. Каждая из этих технологий достаточна для того, чтобы организовать взаимодействие всех узлов в своей подсети, но не способна обеспечить информационную связь между произвольно выбранными узлами, принадлежащими разным подсетям, например между узлом сети 5 и узлом сети 3. Следовательно, для организации взаимодействия между любой произвольной парой узлов этой «большой» составной сети требуются дополнительные средства. Такие средства и предоставляет сетевой уровень.
Данный раздел познакомит Вас с основами организации межсетевого взаимодействия и базовыми принципами передачи данных в объединенных сетях.
^ 1.3Роль сетевого уровня
Сетевой уровень маршрутизирует пакеты или сообщения через объединенную сеть. Для обеспечения этого сервиса протокол сетевого уровня должен задавать:
формат блоков данных (пакетов)
структуру адресов сетевого уровня
виды сервисов, предоставляемых вышележащим уровням (с установлением соединения, без установления соединения)
механизмы для запроса и достижения определенных характеристик качества предоставляемых услуг (QoS, Quality of Service)
механизмы для принятия решения о маршрутизации
Кроме того, он должен управлять загрузкой канала связи.
Для разных сетевых архитектур было разработано множество протоколов сетевого уровня, каждый из которых обладает своими собственными характеристиками, а также достоинствами и недостатками. В подавляющем большинстве современных сетей (99%) используется протокол IP (Internet Protocol - Межсетевой Протокол), реализующий сервис без установления соединения. Однако так было не всегда. Многие сетевые протоколы, как с установлением, так и без установления логических соединений появлялись и со временем уходили, не получив широкого распространения.
В сетях без установления соединений каждый пакет маршрутизируется независимо от остальных. Разные пакеты одного информационного потока могут следовать разными маршрутами. Продвижение по разным маршрутам может требовать разное время. Однако вследствие такой организации сеть более надежна и способна гибко реагировать на ошибки и сбои в работе каналов связи и отдельных сетевых устройств.
Каждый пакет в сети без установления соединений должен содержать достаточно информации для определения его конечного пункта назначения, т.е. полный адрес доставки. Опираясь на эту информацию, каждый узел принимает решение о том, куда далее направить пакет. При таком способе передачи информации каждое сетевое устройство, обрабатывающее информацию на сетевом уровне (маршрутизатор), определяет направление передачи каждого блока данных (пакета) самостоятельно.
В сетях без установления соединений процесс перенаправления пакетов называется маршрутизацией (routing). Маршрутизацию можно разделить на две части: построение таблицы маршрутизации (иногда употребляют термин таблица пересылок - Forwarding Table) и собственно операцию перенаправления (маршрутизацию) отдельных пакетов.
^
1.4Маршрутизаторы и маршрутизация
Важнейшей задачей сетевого уровня является маршрутизация - передача пакетов между двумя конечными узлами в составной сети. В сетях без установления соединений для блока данных сетевого уровня, обычно называемого пакетом, есть также специальное название - дейтаграмма.
Маршрутизация - это процесс, при котором блоки информации передаются от источника к месту назначения. Существует множество форм информации, которая может быть маршрутизирована, например: письма, телефонные вызовы, пакеты данных. В сетевых технологиях маршрутизатор является устройством, которое используется для маршрутизации сетевого трафика (т.е. пакетов данных). В данном разделе рассматриваются основные операции, выполняемые маршрутизатором или другим устройством, осуществляющим маршрутизацию.
Процесс маршрутизации состоит в определении следующего узла (next hop) в пути следования дейтаграммы и пересылке дейтаграммы этому узлу, который является либо узлом назначения, либо промежуточным маршрутизатором (задача которого - определить следующий узел и переслать ему дейтаграмму). Ни узел-отправитель, ни любой промежуточный маршрутизатор не имеют информации обо всей цепочке, по которой пересылается дейтаграмма; каждый маршрутизатор, а также узел-отправитель, основываясь на адресе назначения дейтаграммы, находит только следующий узел ее маршрута.
Маршрутизаторы собирают, обрабатывают и хранят информацию о маршрутизации, что позволяет определять маршруты дальнейшей передачи пакетов данных. В общих чертах, маршрутная информация сохраняется на устройстве в форме записей таблицы маршрутов, по одной записи для каждого идентифицированного маршрута. Запись в таблице маршрутов в общем случае состоит из следующих полей:
адрес сети назначения
адрес следующего маршрутизатора (то есть узла, который знает, куда дальше отправить дейтаграмму, адресованную в сеть назначения)
вспомогательные поля
Сетевой администратор может статически (вручную) создавать записи таблицы маршрутизации, либо маршрутизатор может создавать и поддерживать записи в этой таблице динамически, чтобы отображать изменения в состоянии сети, когда бы они ни произошли.
^ 1.4.1Процесс маршрутизации
Рассмотрим процесс маршрутизации на примере, не углубляясь в формат сетевых адресов.
Допустим, хосты А и В находятся в сети 1, сеть 1 соединяется с сетью 2 с помощью маршрутизатора M1. К сети 2 подключен маршрутизатор M2, соединяющий ее с сетью 3, в которой находится хост С.
Рис. 6^ . Пример маршрутизации
Таблица маршрутов хоста А выглядит, например, так:
Сеть назначения
Следующий переход
Сеть 1
А
Прочие сети
М1
Это означает, что дейтаграммы, адресованные узлам сети 1, отправляет сам хост А (так как это его локальная сеть), а дейтаграммы, адресованные в любую другую сеть хост А отправляет маршрутизатору M1, чтобы тот занялся их дальнейшей судьбой.
Предположим, хост А посылает дейтаграмму хосту В. В этом случае, поскольку адрес хоста В принадлежит той же сети, что и А, из таблицы маршрутов хоста А определяется, что доставка осуществляется непосредственно самим хостом А. Такой метод доставки дейтаграммы называется прямая маршрутизация.
Если хост А отправляет дейтаграмму хосту С, то он определяет по его IP-адреcу, что хост С не принадлежит к сети 1. Согласно таблице маршрутов А, все дейтаграммы с пунктами назначения, не принадлежащими сети 1, отправляются на маршрутизатор M1. Это называется маршрут по умолчанию (default route), а маршрутизатор в данном случае является шлюзом по умолчанию (default gateway). При этом хост А не знает, что маршрутизатор М1 будет делать с его дейтаграммой, и каков будет ее дальнейший маршрут, - это забота исключительно М1. Такой тип маршрутизации называется косвенной.
M1, в свою очередь, по своей таблице маршрутов определяет, что все дейтаграммы, адресованные в сеть 3, должны быть переданы на маршрутизатор M2. Это может быть как явно указано в таблице, находящейся на M1, в виде:
^ Сеть назначения
Следующий переход
Сеть 3
М2
так и указано в виде маршрута по умолчанию.
На этом функции М1 заканчиваются, дальнейший путь дейтаграммы ему неизвестен и его не интересует. Маршрутизатор М2, получив дейтаграмму, определяет, что она адресована в одну из сетей (№3), к которой он присоединен непосредственно, и доставляет дейтаграмму хосту С.
Таким образом, при осуществлении маршрутизации маршрутизатор (или другое устройство, осуществляющее маршрутизацию) должен:
Узнать адрес места назначения. Каково место назначения (или адрес), куда необходимо передать информацию?
Определить источники получения маршрутной информации. Из какого источника маршрутизатор может извлечь сведения о пути к данному месту назначения?
Найти маршруты доставки. Каковы возможные исходные маршруты, или пути, к предполагаемому месту назначения?
Выбрать маршруты. Какой путь к предполагаемому месту назначения является наилучшим?
Поддерживать и проверять правильность сведений о маршруте. Не устарели ли сведения об известных путях к месту назначения?
Маршрутную информацию, которую маршрутизатор получает от других маршрутизаторов, он сохраняет в своей таблице маршрутизации. Маршрутизатор будет извлекать из этой таблицы все сведения о том, какие интерфейсы необходимо использовать для продвижения пакетов с определенными адресами назначения.
Если пакеты предназначены для сети, непосредственно подключенной к маршрутизатору, то ему уже известен исходящий интерфейс, который нужно использовать для передачи пакетов.
Если же сеть назначения не присоединена непосредственно, маршрутизатор должен выявить наилучший маршрут, который он будет использовать для передачи пакетов к месту назначения.
Эту информацию он может получить следующим образом:
Ее может ввести вручную сетевой администратор.
Ее можно собрать в процессе динамической маршрутизации, выполняющейся на маршрутизаторах.
^ 1.4.2Статические и динамические маршруты
Статические маршруты
Маршрутизатор получает сведения о маршруте в тот момент, когда администратор вручную добавляет статический маршрут в конфигурацию устройства. Администратор может вручную обновить запись этого статического маршрута, как только возникнет такая необходимость ввиду изменений в топологии объединенной сети.
Статические маршруты - это маршруты, определяемые пользователем, задающие путь, по которому пакеты данных должны передаваться от источника к получателю. Такие маршруты позволяют очень точно управлять функционированием маршрутизации в объединенной сети. При изменении топологии сети эти маршруты не меняются автоматически, а должны быть изменены администратором.
Динамические маршруты
В отличие от ситуации со статическими маршрутами, после того как администратор задействует динамическую маршрутизацию, процесс маршрутизации автоматически обновляет сведения о маршрутах при получении новой информации о сетевой топологии. Маршрутизатор собирает и поддерживает информацию о состоянии маршрутов к удаленным сетям при помощи обмена обновлениями маршрутизации (т.е. информацией об известных маршрутах) с другими маршрутизаторами объединенной сети.
Для распространения информации о маршрутах динамическая маршрутизация использует протокол маршрутизации. Он определяет правила, которые маршрутизатор использует в процессе связи и обмена маршрутной информацией с соседними маршрутизаторами.
Протоколы динамической маршрутизации различаются по способу получения информации (например, от соседних маршрутизаторов, от всех маршрутизаторов в сети и т.д.), моменту изменения маршрутов (через регулярные интервалы, при изменении топологии и т.д.) и используемой метрике. Метрика - это параметр, характеризующий качество маршрута, или, другими словами, затраты на пересылку дейтаграммы в удаленную сеть. Метрика маршрута может быть выражена в виде: стоимости пересылки дейтаграммы по маршруту, числом транзитных узлов, пропускной способностью, задержкой каналов связи и т.д.
Двумя наиболее популярными алгоритмами динамической маршрутизации являются дистанционно-векторный алгоритм и алгоритм состояния канала связи.
^ 1.4.3Дистанционно-векторные протоколы маршрутизации
Дистанционно-векторные протоколы реализуют алгоритм Беллмана-Форда (Bellman-Ford). Общая схема их работы такова: каждый маршрутизатор периодически рассылает информацию о расстоянии от себя до всех известных ему сетей («вектор расстояний»). В начальный момент времени, разумеется, рассылается информация только о тех сетях, к которым маршрутизатор подключен непосредственно.
Также каждый маршрутизатор, получив от кого-либо вектор расстояний, в соответствии с полученной информацией корректирует уже имеющиеся у него данные о достижимости сетей или добавляет новые, указывая маршрутизатор, от которого получен вектор, в качестве следующего маршрутизатора на пути в данные сети. Через некоторое время алгоритм сходится, и все маршрутизаторы имеют информацию о маршрутах до всех сетей.
Одним из основных недостатков этого алгоритма является медленное распространение информации о недоступности той или иной линии или выходе того или иного маршрутизатора из строя. Данный алгоритм используется в таких протоколах, как RIP (Routing Information Protocol), IGRP (Interior Gateway Routing Protocol) и др.
^ Протоколы состояния связей
При работе протоколов состояния связей каждый маршру
еще рефераты
Еще работы по разное
Реферат по разное
Предисловие Системы управления базами данных (субд) – это программные комплексы, предназначенные для работы со специально организованными файлами (массивами данных, долговременно хранимыми во внешней памяти вычислительных систем), которые называются
18 Сентября 2013
Реферат по разное
Ооо «Газпром бурение»
18 Сентября 2013
Реферат по разное
Стратегическое планирование и целеполагание. Операционное планирование (планирование конкретных действий и мероприятий по достижению поставленных целей)
18 Сентября 2013
Реферат по разное
Казанский педагогический журнал
18 Сентября 2013