Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GEK / Перечень вопросов 2014_ВКСС.docx
Скачиваний:
87
Добавлен:
18.05.2015
Размер:
2.66 Mб
Скачать

Ip как маршрутизируемый протокол

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

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

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

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

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

Ethernet-фреймы второго уровня предназначены для работы внутри широковещательных доменов с назначенными каждому сетевому устройству MAC-адресами. Фреймы второго уровня других типов, такие, как последовательные двухточечные соединения и Frame Relay распределенных сетей (сетей WAN), используют свою собственную схему адресации второго уровня. Принципиальным является то, что, независимо от используемой схемы адресации второго уровня, все они разработаны для использования внутри одного широковещательного домена второго уровня. При прохождении данными через устройство третьего уровня информация второго уровня изменяется.

Схема обработки фрейма маршрутизатором показана на рисунке 2

Рисунок 2 Изменение пакета в процессе инкапсуляции в маршрутизаторе

Из пакета, приходящего на интерфейс маршрутизатора, извлекается MAC-адрес и проверяется, адресован ли этот пакет непосредственно какому-либо узлу либо интерфейсу или он является широковещательным; та же процедура выполняется всеми устройствами внутри домена коллизий. В любом из указанных вариантов пакет будет принят и обработан; в противном случае пакет будет отброшен, поскольку был адресован другому устройству в домене коллизий. Таким образом, домен коллизий - это разделяемая среда передачи данных, в которой устройства работают в режиме конкуренции. На основании значения, содержащегося в поле контрольной суммы, с помощью циклического избыточного кода (Cyclical Redundancy Check — CRC), извлеченного из окончания полученного фрейма, проверяется, не были ли данные повреждены. Если проверка дает отрицательный результат, такой фрейм отбрасывается. В случае положительного результата проверки заголовок и окончание фрейма удаляются, и пакет передается на третий уровень. Далее выполняется проверка, адресован ли пакет маршрутизатору или потребуется его дальнейшая маршрутизация на пути к пункту назначения. Пакеты, адресованные маршрутизатору в качестве IP-адреса получателя, содержат адрес одного из интерфейсов маршрутизатора. У таких пакетов удаляется заголовок, и они передаются на четвертый уровень. Если пакету предстоит маршрутизация, он сравнивается с записями в таблице маршрутизации. Если будет найдено точное соответствие или существует стандартный маршрут, пакет будет отправлен на интерфейс, указанный в соответствующей записи таблицы маршрутизации.

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

Технология маршрутизации

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

Маршрутизатор выполняет две ключевые функции:

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

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

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

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

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

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

Каждый компьютер и Ethernet-интерфейс маршрутизатора поддерживают ARP-таблицу для взаимодействий второго уровня; такие таблицы актуальны только для того широковещательного домена, к которому подключено данное устройство. Маршрутизатор, кроме этого, поддерживает еще и таблицу маршрутизации, которая дает возможность выбирать маршрут для доставки данных за пределы широковещательного домена. Каждая ARP-таблица содержит пары IP и MAC-адресов. Таблица маршрутизации содержит информацию о маршрутах; IP-адреса доступных сетей, значение счетчика транзитных узлов до этих известных сетей и интерфейсы, через которые информация будет отправлена в нужную сеть. Разница между двумя рассмотренными типами адресов состоит в том, что MAC-адреса не организованы по какому-то определенному принципу. Однако этот недостаток не вызывает проблем с управлением сетями, поскольку отдельные сетевые сегменты не содержат большого количества узлов. Если бы IP-адреса подчинялись тем же правилам, сеть Internet просто не смогла бы функционировать. В том случае, если бы IP-адреса не были организованы (иерархически или как-либо еще), то не существовало бы способа определить маршрут для достижения каждого конкретного адреса. Иерархическая организация IP-адресов позволяет рассматривать группы адресов как единое целое до тех пор, пока не потребуется определить адрес индивидуального узла. Понять такой подход в адресации можно на примере библиотеки, хранящей миллионы отдельных страниц в одной большой кипе бумаг. В таком случае воспользоваться необходимым материалом будет невозможно, поскольку нет способа найти необходимый документ. Намного проще воспользоваться нужной информацией, если страницы пронумерованы, переплетены в книги и каждая внесена в каталог.

  1. Протокол ARP. ARP-таблица, порядок преобразования адресов, запросы и ответы.

Для отображения IP-адресов в Ethernet адреса используется протокол ARP (Address Resolution Protocol - адресный протокол). Отображение выполняется только для отправляемых IP-пакетов, так как только в момент отправки создаются заголовки IP и Ethernet.

ARP-таблица для преобразования адресов

Преобразование адресов выполняется путем поиска в таблице. Эта таблица, называемая ARP-таблицей, хранится в памяти и содержит строки для каждого узла сети. В двух столбцах содержатся IP- и Ethernet-адреса. Если требуется преобразовать IP-адрес в Ethernet-адрес, то ищется запись с соответствующим IP-адресом. Ниже приведен пример упрощенной ARP-таблицы.

---------------------------------------------

| IP-адрес Ethernet-адрес |

---------------------------------------------

| 223.1.2.1 08:00:39:00:2F:C3 |

| 223.1.2.3 08:00:5A:21:A7:22 |

| 223.1.2.4 08:00:10:99:AC:54 |

---------------------------------------------

Табл.1. Пример ARP-таблицы

Принято все байты 4-байтного IP-адреса записывать десятичными числами, разделенными точками. При записи 6-байтного Ethernet-адреса каждый байт указывается в 16-ричной системе и отделяется двоеточием.

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

Порядок преобразования адресов

В ходе обычной работы сетевая программа, такая как TELNET, отправляет прикладное сообщение, пользуясь транспортными услугами TCP. Модуль TCP посылает соответствующее транспортное сообщение через модуль IP. В результате составляется IP-пакет, который должен быть передан драйверу Ethernet. IP-адрес места назначения известен прикладной программе, модулю TCP и модулю IP. Необходимо на его основе найти Ethernet-адрес места назначения. Для определения искомого Ethernet-адреса используется ARP-таблица.

Запросы и ответы протокола ARP

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

  1. По сети передается широковещательный ARP-запрос.

  2. Исходящий IP-пакет ставится в очередь.

Каждый сетевой адаптер принимает широковещательные передачи. Все драйверы Ethernet проверяют поле типа в принятом Ethernet-кадре и передают ARP-пакеты модулю ARP. ARP-запрос можно интерпретировать так: "Если ваш IP-адрес совпадает с указанным, то сообщите мне ваш Ethernet-адрес". Пакет ARP-запроса выглядит примерно так:

-----------------------------------------------------------

| IP-адрес отправителя 223.1.2.1 |

| Ethernet-адрес отправителя 08:00:39:00:2F:C3 |

-----------------------------------------------------------

| Искомый IP-адрес 223.1.2.2 |

| Искомый Ethernet-адрес <пусто> |

-----------------------------------------------------------

Табл.2. Пример ARP-запроса

Каждый модуль ARP проверяет поле искомого IP-адреса в полученном ARP-пакете и, если адрес совпадает с его собственным IP-адресом, то посылает ответ прямо по Ethernet-адресу отправителя запроса. ARP-ответ можно интерпретировать так: "Да, это мой IP-адрес, ему соответствует такой-то Ethernet-адрес". Пакет с ARP-ответом выглядит примерно так:

-----------------------------------------------------------

| IP-адрес отправителя 223.1.2.2 |

| Ethernet-адрес отправителя 08:00:28:00:38:A9 |

-----------------------------------------------------------

| Искомый IP-адрес 223.1.2.1 |

| Искомый Ethernet-адрес 08:00:39:00:2F:C3 |

-----------------------------------------------------------

Табл.3. Пример ARP-ответа

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

Обновленная таблица выглядит следующим образом:

---------------------------------------------

| IP-адрес Ethernet-адрес |

---------------------------------------------

| 223.1.2.1 08:00:39:00:2F:C3 |

| 223.1.2.2 08:00:28:00:38:A9 |

| 223.1.2.3 08:00:5A:21:A7:22 |

| 223.1.2.4 08:00:10:99:AC:54 |

---------------------------------------------

Табл.4. ARP-таблица после обработки ответа

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

  1. По сети передается широковещательный ARP-запрос.

  2. Исходящий IP-пакет ставится в очередь.

  3. Возвращается ARP-ответ, содержащий информацию о соответствии IP- и Ethernet-адресов. Эта информация заносится в ARP-таблицу.

  4. Для преобразования IP-адреса в Ethernet-адрес у IP-пакета, постав ленного в очередь, используется ARP-таблица.

  5. Ethernet-кадр передается по сети Ethernet.

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

Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет и не будет записи в ARP-таблице. Протокол IP будет уничтожать IP-пакеты, направляемые по этому адресу. Протоколы верхнего уровня не могут отличить случай повреждения сети Ethernet от случая отсутствия машины с искомым IP-адресом.

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

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

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

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

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