рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Протокол IP

Протокол IP - раздел Образование, Посвящаем нашей дочери Анне 5.3.1. Основные Функции Протокола Ip Основу Транспортных Средств Сте...

5.3.1. Основные функции протокола IP

Основу транспортных средств стека протоколов TCP/IP составляет протокол меж­сетевого взаимодействия (Internet Protocol, IP). Он обеспечивает передачу дейта­грамм от отправителя к получателям через объединенную систему компьютерных сетей.

Название данного протокола — Intrenet Protocol — отражает его суть: он должен передавать пакеты между сетями. В каждой очередной сети, лежащей на пути пе-

384 Глава 5 • Сетевой уровень как средство построения больших сетей____________________________

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

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

Важной особенностью протокола IP, отличающей его от других сетевых прото­колов (например, от сетевого протокола IPX), является его способность выполнять динамическую фрагментацию пакетов при передаче их между сетями с различны­ми, максимально допустимыми значениями поля данных кадров MTU. Свойство фрагментации во многом способствовало тому, что протокол IP смог занять доми­нирующие позиции в сложных составных сетях.

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

5.3.2. Структура IP-пакета

IP-пакет состоит из заголовка и поля данных. Заголовок, как правило, имеющий длину 20 байт, имеет следующую структуру (рис. 5.12).

Поле Номер версии (Version), занимающее 4 бит, указывает версию протокола IP. Сейчас повсеместно используется версия 4 (IPv4), и готовится переход на версию 6 (IPv6).

Поле Длина заголовка (IHL) IP-пакета занимает 4 бит и указывает значение длины заголовка, измеренное в 32-битовых словах. Обычно заголовок имеет длину в 20 байт (пять 32-битовых слов), но при увеличении объема служебной информации эта' длина может быть увеличена за счет использования дополнительных байт в поле Опции (IP Options). Наибольший заголовок занимает 60 октетов.

Поле Тип сервиса (Type of Service) занимает один байт и задает приоритетность пакета и вид критерия выбора маршрута. Первые три бита этого поля образуют

5.3. Протокол IP 385

подполе приоритета пакета (Precedence). Приоритет может иметь значения от са­мого низкого — 0 (нормальный пакет) до самого высокого — 7 (пакет управляющей информации). Маршрутизаторы и компьютеры могут принимать во внимание при­оритет пакета и обрабатывать более важные пакеты в первую очередь. Поле Тип сервиса содержит также три бита, определяющие критерий выбора маршрута. Ре­ально выбор осуществляется между тремя альтернативами: малой задержкой, вы­сокой достоверностью и высокой пропускной способностью. Установленный бит D (delay) говорит о том, что маршрут должен выбираться для минимизации задерж­ки доставки данного пакета, бит Т — для максимизации пропускной способности, а бит R — для максимизации надежности доставки. Во многих сетях улучшение од­ного из этих параметров связано с ухудшением другого, кроме того, обработка каждого из них требует дополнительных вычислительных затрат. Поэтому редко, когда имеет смысл устанавливать одновременно хотя бы два из этих трех критери­ев выбора маршрута. Зарезервированные биты имеют нулевое значение.

Поле Общая длина (Total Length) занимает 2 байта и означает общую длину пакета с учетом заголовка и поля данных. Максимальная длина пакета ограничена разрядностью поля, определяющего эту величину, и составляет 65 535 байт, однако в большинстве хост-компьютеров и сетей столь большие пакеты не используются. При передаче по сетям различного типа длина пакета выбирается с учетом макси­мальной длины пакета протокола нижнего уровня, несущего IP-пакеты. Если это кадры Ethernet, то выбираются пакеты с максимальной длиной в 1500 байт, уме­щающиеся в поле данных кадра Ethernet. В стандарте предусматривается, что все хосты должны быть готовы принимать пакеты вплоть до 576 байт длиной (прихо­дят ли они целиком или по фрагментам). Хостам рекомендуется отправлять паке­ты размером более чем 576 байт, только если они уверены, что принимающий хост или промежуточная сеть готовы обслуживать пакеты такого размера.

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

Поле Флаги (Flags) занимает 3 бита и содержит признаки, связанные с фраг­ментацией. Установленный бит DF (Do not Fragment) запрещает маршрутизатору

386 Глава 5 • Сетевой уровень как средство построения больших сетей

фрагментировать данный пакет, а установленный бит MF (More Fragments) гово­рит о том, что данный пакет является промежуточным (не последним) фрагмен­том. Оставшийся бит зарезервирован.

Поле Смещение фрагмента (Fragment Offset) занимает 13 бит и задает смещение в байтах поля данных этого пакета от начала общего поля данных исходного паке­та, подвергнутого фрагментации. Используется при сборке/разборке фрагментов пакетов при передачах их между сетями с различными величинами MTU. Смеще­ние должно быть кратно 8 байт.

Поле Время жизни (Time to Live) занимает один байт и означает предельный срок, в течение которого пакет может перемещаться по сети. Время жизни данного пакета измеряется в секундах и задается источником передачи. На маршрутизато­рах и в других узлах сети по истечении каждой секунды из текущего времени жизни вычитается единица; единица вычитается и в том случае, когда время задер­жки меньше секунды. Поскольку современные маршрутизаторы редко обрабаты­вают пакет дольше, чем за одну секунду, то время жизни можно считать равным максимальному числу узлов, которые разрешено пройти данному пакету до того, как он достигнет места назначения. Если параметр времени жизни станет нулевым до того, как пакет достигнет получателя, этот пакет будет уничтожен. Время жизни можно рассматривать как часовой механизм самоуничтожения. Значение этого поля изменяется при обработке заголовка IP-пакета.

Идентификатор Протокол верхнего уровня (Protocol) занимает один байт и ука­зывает, какому протоколу верхнего уровня принадлежит информация, размещен­ная в поле данных пакета (например, это могут быть сегменты протокола TCP, дейтаграммы UDP, пакеты ICMP или OSPF). Значения идентификаторов для раз­личных протоколов приводятся в документе RFC «Assigned Numbers».

Контрольная сумма (Header Checksum) занимает 2 байта и рассчитывается толь­ко по заголовку. Поскольку некоторые поля заголовка меняют свое значение в процессе передачи пакета по сети (например, время жизни), контрольная сумма проверяется и повторно рассчитывается при каждой обработке IP-заголовка. Кон­трольная сумма — 16 бит — подсчитывается как дополнение к сумме всех 16-бито­вых слов заголовка. При вычислении контрольной суммы значение самого поля «контрольная сумма» устанавливается в нуль. Если контрольная сумма неверна, то пакет будет отброшен, как только ошибка будет обнаружена.

Поля IP-адрес источника (Source IP Address) и IP-адрес назначения (Destination IP Address) имеют одинаковую длину — 32 бита — и одинаковую структуру.

Поле Опции (IP Options) является необязательным и используется обычно только при отладке сети. Механизм опций предоставляет функции управления, которые необходимы или просто полезны при определенных ситуациях, однако он не ну­жен при обычных коммуникациях. Это поле состоит из нескольких подполей, каж­дое из которых может быть одного из восьми предопределенных типов. В этих подполях можно указывать точный маршрут прохождения маршрутизаторов, ре­гистрировать проходимые пакетом маршрутизаторы, помещать данные системы безопасности, а также временные отметки. Так как число подполей может быть произвольным, то в конце поля Опции должно быть добавлено несколько байт для выравнивания заголовка пакета по 32-битной границе.

Поле Выравнивание (Padding) используется для того, чтобы убедиться в том, что IP-заголовок заканчивается на 32-битной границе. Выравнивание осуществля-ется нулями.____________________________________________________________

_______________________________________________________________5.3. Протокол IP 387

Ниже приведена распечатка значений полей заголовка одного из реальных IP-пакетов, захваченных в сети Ethernet средствами анализатора протоколов Microsoft Network Monitor.

IP: Version = 4 (0x4)

IP: Header Length = 20 (0x14)

IP: Service Type = 0 (0x0)

IP: Precedence = Routine

IP: ...0.:.. = Normal Delay

IP: ....0... = Normal Throughput

IP: .....0.. = Normal Reliability

IP: Total Length = 54 (0x36)

IP: Identification = 31746 (Ox7C02)

IP: Flags Summary = 2 (0x2)

IP: .......0 = Last fragment in datagram

IP: ......1. = Cannot fragment datagram

IP: Fragment Offset = 0 (0x0) bytes

IP: Time to Live = 128 (0x80)

IP: Protocol = TCP - Transmission Control

IP: Checksum = OxEB86

IP: Source Address = 194.85.135.75

IP: Destination Address = 194.85.135.66

IP: Data: Number of data bytes remaining = 34 (0x0022)

5.3.3. Таблицы маршрутизации в IP-сетях

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

Примеры таблиц различных типов маршрутизаторов

Структура таблицы маршрутизации стека TCP/IP соответствует общим принци­пам построения таблиц маршрутизации, рассмотренным выше. Однако важно от­метить, что вид таблицы IP-маршрутизации зависит от конкретной реализации стека TCP/IP. Приведем пример трех вариантов таблицы маршрутизации, с кото­рыми мог бы работать маршрутизатор Ml в сети, представленной на рис. 5.13.

Если представить, что в качестве маршрутизатора Ml в данной сети работает штатный программный маршрутизатор MPR операционной системы Microsoft Win­dows NT, то его таблица маршрутизации могла бы иметь следующий вид (табл. 5.9).

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

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

К таким параметрам, безусловно, относятся адрес сети назначения (столбцы «Destination» в маршрутизаторах NetBuilder и Unix или «Network Address» в мар­шрутизаторе MPR) и адрес следующего маршрутизатора (столбцы «Gateway» в маршрутизаторах NetBuilder и Unix или «Gateway Address» в маршрутизаторе MPR).

390 Глава 5 • Сетевой уровень как средство построения больших сетей

Третий ключевой параметр — адрес порта, на который нужно направить пакет, в некоторых таблицах указывается прямо (поле «Interface» в таблице Windows NT), а в некоторых — косвенно. Так, в таблице Unix-маршрутизатора вместо адреса пор­та задается его условное наименование — 1еО для порта с адресом 198.21.17.5, lei для порта с адресом 213.34.12.3 и 1оО для внутреннего порта с адресом 127.0.0.1.

В маршрутизаторе NetBuilder II поле, обозначающее выходной порт в какой-либо форме, вообще отсутствует. Это объясняется тем, что адрес выходного порта всегда можно косвенно определить по адресу следующего маршрутизатора. На­пример, попробуем определить по табл. 5.10 адрес выходного порта для сети 56.0.0.0. Из таблицы следует, что следующим маршрутизатором для этой сети будет марш­рутизатор с адресом 213.34.12.4. Адрес следующего маршрутизатора должен при­надлежать одной из непосредственно присоединенных к маршрутизатору сетей, и в данном случае это сеть 213.34.12.0. Маршрутизатор имеет порт, присоединенный к этой сети, и адрес этого порта 213.34.12.3 мы находим в поле «Gateway» второй строки таблицы маршрутизации, которая описывает непосредственно присоеди­ненную сеть 213.34.12.0. Для непосредственно присоединенных сетей адресом сле­дующего маршрутизатора всегда является адрес собственного порта маршрутизатора. Таким образом, адрес выходного порта для сети 56.0.0 — это адрес 213.34.12.3.

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

Наличие или отсутствие поля маски в таблице говорит о том, насколько совре­менен данный маршрутизатор. Стандартным решением сегодня является исполь­зование поля маски в каждой записи таблицы, как это сделано в таблицах маршрутизаторов MPR Windows NT (поле «Netmask») и NetBuilder (поле «Mask»). Обработка масок при принятии решения маршрутизаторами будет рассмотрена ниже. Отсутствие поля маски говорит о том, что либо маршрутизатор рассчитан на работу только с тремя стандартными классами адресов, либо он использует для всех записей одну и ту же маску, что снижает гибкость маршрутизации.

Метрика, как видно из примера таблицы Unix-маршрутизатора, является не­обязательным параметром. В остальных двух таблицах это поле имеется, однако оно используется только в качестве признака непосредственно подключенной сети. Действительно, если в таблице маршрутизации каждая сеть назначения упомянута только один раз, то поле метрики не будет приниматься во внимание при выборе маршрута, так как выбор отсутствует. А вот признак непосредственно подключен­ной сети маршрутизатору нужен, поскольку пакет для этой сети обрабатывается особым способом — он не передается следующему маршрутизатору, а отправляется узлу назначения. Поэтому метрика 0 для маршрутизатора NetBuilder или 1 для маршрутизатора MPR просто говорит маршрутизатору, что эта сеть непосредственно подключена к его порту, а другое значение метрики соответствует удаленной сети. Выбор значения метрики для непосредственно подключенной сети является доста­точно произвольным, главное, чтобы метрика удаленной сети отсчитывалась с уче­том этого выбранного начального значения. В Unix-маршрутизаторе используется поле признаков, где флаг G отмечает удаленную сеть, а его отсутствие — непосред­ственно подключенную.

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

5.3. Протокол IP 391

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

Флаги записей присутствуют только в таблице Unix-маршрутизатора. Они опи­сывают характеристики записи.

• U — показывает, что маршрут активен и работоспособен. Аналогичный смысл имеет поле «Status» в маршрутизаторе NetBuilder.

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

• G — означает, что маршрут пакета проходит через промежуточный маршрутиза­тор (gateway). Отсутствие этого флага отмечает непосредственно подключен­ную сеть.

• D — означает, что маршрут получен из сообщения Redirect (перенаправление) протокола ICMP. Этот признак может присутствовать только в таблице марш­рутизации конечного узла. Признак означает, что конечный узел в какой-то предыдущей передаче пакета выбрал не самый рациональный следующий мар­шрутизатор на пути к данной сети, и этот маршрутизатор с помощью протокола ICMP сообщил, что все последующие пакеты к данной сети нужно отправлять через другой следующий маршрутизатор. Протокол ICMP может посылать сооб­щения только узлу-отправителю, поэтому у промежуточного маршрутизатора этот признак встретиться не может. Признак никак не влияет на процесс марш­рутизации, он только указывает администратору источник появления записи. В таблице Unix-маршрутизатора используются еще два поля, имеющих спра­вочное значение. Поле «Refcnt» показывает, сколько раз на данный маршрут ссы­лались при продвижении пакетов. Поле «Use» отражает количество пакетов, переданных по данному маршруту.

В таблице маршрутизатора NetBuilder также имеются два справочных поля. Поле времени жизни «TTL» (Time To Live) имеет смысл для динамических запи­сей, которые имеют ограниченный срок жизни. Текущее значение поля показывает оставшийся срок жизни записи в секундах. Поле «Source» отражает источник по­явления записи в таблице маршрутизации. Хотя это поле имеется не во всех мар­шрутизаторах, но практически для всех маршрутизаторов существуют три основных источника появления записи в таблице.

Источники и типы записей в таблице маршрутизации

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

Это, во-первых, записи о непосредственно подключенных сетях и маршрутиза­торах по умолчанию, информация о которых появляется в стеке при ручном кон­фигурировании интерфейсов компьютера или маршрутизатора. К таким записям в приведенных примерах относятся записи о сетях 213.34.12.0 и 198.21.17.0, а также

392 Глава 5 • Сетевой уровень как средство построения больших сетей

запись о маршрутизаторе по умолчанию — default в Unix-маршрутизаторе и 0.0.0.0 в маршрутизаторе MPR Windows NT. В приведенном примере таблицы для марш­рутизатора NetBuilder маршрутизатор по умолчанию не используется, следовательно, при поступлении пакета с адресом назначения, отсутствующим в таблице маршру­тизации, этот пакет будет отброшен.

Во-вторых, программное обеспечение автоматически заносит в таблицу марш­рутизации записи об адресах особого назначения. В приведенных примерах табли­ца маршрутизатора MPR Windows NT содержит наиболее полный набор записей такого рода. Несколько записей в этой таблице связаны с особым адресом 127.0.0.0 (loopback), который используется для локального тестирования стека TCP/IP. Пакеты, направленные в сеть с номером 127.0.0.0, не передаются протоколом IP на канальный уровень для последующей передачи в сеть, а возвращаются в источ­ник — локальный модуль IP. Записи с адресом 224.0.0.0 требуются для обработки групповых адресов (multicast address). Кроме того, в таблицу могут быть занесены адреса, предназначенные для обработки широковещательных рассылок (например, записи 8 и 11 содержат адрес отправки широковещательного сообщения в соответ­ствующих подсетях, а последняя запись в таблице — адрес ограниченной широко­вещательной рассылки сообщения). Заметим, что в некоторых таблицах записи об особых адресах вообще отсутствуют.

Вторым источником появления записи в таблице является администратор, непос­редственно формирующий запись с помощью некоторой системной утилиты, на­пример программы route, имеющейся в операционных системах Unix и Windows NT. В аппаратных маршрутизаторах также всегда имеется команда для ручного зада­ния записей таблицы маршрутизации. Заданные вручную записи всегда являются статическими, то есть не имеют срока истечения жизни. Эти записи могут быть как постоянными, то есть сохраняющимися при перезагрузке маршрутизатора, так и временными, хранящимися в таблице только до выключения устройства. Часто администратор вручную заносит запись default о маршрутизаторе по умолчанию. Таким же образом в таблицу маршрутизации может быть внесена запись о специ­фичном для узла маршруте. Специфичный для узла маршрут содержит вместо номера сети полный IP-адрес, то есть адрес, имеющий ненулевую информацию не только в поле номера сети, но и в поле номера узла. Предполагается, что для такого конечного узла маршрут должен выбираться не так, как для всех остальных узлов сети, к которой он относится. В случае когда в таблице есть разные записи о про­движении пакетов для всей сети и ее отдельного узла, при поступлении пакета, адресованного узлу, маршрутизатор отдаст предпочтение записи с полным адресом узла.

И наконец, третьим источником записей могут быть протоколы маршрутиза­ции, такие как RIP или OSPF. Такие записи всегда являются динамическими, то есть имеют ограниченный срок жизни. Программные маршрутизаторы Windows NT и Unix не показывают источник появления той или иной записи в таблице, а маршрутизатор NetBuilder использует для этой цели поле «Source». В приведенном в табл. 5.10 примере первые две записи созданы программным обеспечением стека на основании данных о конфигурации портов маршрутизато­ра — это показывает признак «Connected». Следующие две записи обозначены как «Static», что указывает на то, что их ввел вручную администратор. После­дняя запись является следствием работы протокола RIP, поэтому в ее поле «TTL» имеется значение 160.

5.3. Протокол IP 393

5.3.4. Маршрутизация без использования масок

Рассмотрим на примере IP-сети (рис. 5.14) алгоритм работы средств сетевого уровня по продвижению пакета в составной сети. При этом будем считать, что все узлы сети, рассматриваемой в примере, имеют адреса, основанные на классах, без ис­пользования масок. Особое внимание будет уделено взаимодействию протокола IP с протоколами разрешения адресов АКР и DNS.

1. Итак, пусть пользователь компьютера cit.dol.ru, находящегося в сети Ethernet и имеющего IP-адрес 194.87.23.17 (адрес класса С), обращается по протоколу FTP к компьютеру sl.msk.su, принадлежащему другой сети Ethernet и имею­щему IP-адрес 142.06.13.14 (адрес класса В): > ftp sl.msk.su

Модуль FTP упаковывает свое сообщение в сегмент транспортного протокола TCP, который в свою очередь помещает свой сегмент в пакет протокола IP. В за­головке IP-пакета должен быть указан IP-адрес узла назначения. Так как пользо­ватель компьютера cit.dol.ru использует символьное имя компьютера sl.msk.su, то стек TCP/IP должен определить IP-адрес узла назначения самостоятельно.

При конфигурировании стека TCP/IP в компьютере cit.dol.ru был задан его собственный IP-адрес, IP-адрес маршрутизатора по умолчанию и IP-адрес DNS-

394 Глава 5 • Сетевой уровень как средство построения больших сетей

сервера. Модуль IP может сделать запрос к серверу DNS, но обычно сначала просматривается локальная таблица соответствия символьных имен и IP-ад­ресов. Такая таблица хранится чаще всего в виде текстового файла простой структуры — каждая его строка содержит запись об одном символьном имени и его IP-адресе. В ОС Unix такой файл традиционно носит имя hosts и нахо­дится в каталоге /etc.

2. Будем считать, что компьютер cit.dol.ru имеет файл hosts, а в нем есть строка 142.06.13.14 sl.msk.su

Таким образом, разрешение имени выполняется локально, и протокол IP мо­жет теперь формировать IP-пакеты с адресом назначения 142.06.13.14 для вза­имодействия с компьютером sl.msk.su.

3. Модуль IP компьютера cit.dol.ru проверяет, нужно ли маршрутизировать па­кеты с адресом 142.06.13.14. Так как адрес сети назначения (142.06.0.0) не совпадает с адресом (194.87.23.0) сети, которой принадлежит компьютер-от­правитель, то маршрутизация необходима.

4. Компьютер cit.dol.ru начинает формировать кадр Ethernet для отправки IP-пакета маршрутизатору по умолчанию, IP-адрес которого известен — 194.87.23.1, но неизвестен МАС-адрес, необходимый для перемещения кадра в локальной сети. Для определения МАС-адреса маршрутизатора протокол IP обращается к протоколу ARP, который просматривает ARP-таблицу. Если в последнее время компьютер cit.dol.ru выполнял какие-либо межсетевые обмены, то скорее всего искомая запись, содержащая соответствие между IP- и МАС-адресами марш­рутизатора по умолчанию уже находится в кэш-таблице протокола ARP. Пусть в данном случае нужная запись была найдена именно в кэш-таблице:

194.87.23.1 008048ЕВ7Е60

Обозначим найденный МАС-адрес 008048ЕВ7Е60 в соответствии с номером маршрутизатора и его порта через МАСп.

5. В результате компьютер cit.dol.ru отправляет по локальной сети пакет, упако­ванный в кадр Ethernet, имеющий следующие поля:

6. Кадр принимается портом 1 маршрутизатора 1 в соответствии с протоколом Ethernet, так как МАС-узел этого порта распознает свой адрес МАСп. Прото­кол Ethernet извлекает из этого кадра IP-пакет и передает его программному обеспечению маршрутизатора, реализующему протокол IP. Протокол IP из­влекает из пакета адрес назначения 142.06.13.14 и просматривает записи своей таблицы маршрутизации. Пусть маршрутизатор 1 имеет в своей таблице мар­шрутизации запись

142.06.0.0 135.12.0.11 2.

которая говорит о том, что пакеты для сети 142.06. 0.0 нужно передавать мар­шрутизатору 135.12.0.11, находящемуся в сети, подключенной к порту 2 мар­шрутизатора 1.

5.3. Протокол IP 395

7. Маршрутизатор 1 просматривает параметры порта 2 и находит, что к нему под­ключена сеть FDDI. Так как сеть FDDI имеет значение MTU большее, чем сеть Ethernet, то фрагментация IP-пакета не требуется. Поэтому маршрутизатор 1 формирует кадр формата FDDI. На этом этапе модуль IP должен определить МАС-адрес следующего маршрутизатора по известному IP-адресу 135.12.0.11. Для этого он обращается к протоколу ARP. Допустим, что нужной записи в кэш-таблице не оказалось, тогда в сеть FDDI отправляется широковещательный ARP-запрос, содержащий наряду с прочей следующую информацию.

о. Аналогично действует модуль if на маршрутизаторе л. получив кадр FDDI, он отбрасывает его заголовок, а из заголовка IP извлекает IP-адрес сети назна­чения и просматривает свою таблицу маршрутизации. Там он может найти запись о конкретной сети назначения:

142.06.0.0 203.21.4.12 2

или при отсутствии такой записи будет использована запись о маршрутизато­ре по умолчанию:

default 203.21.4.12 2,

Определив IP-адрес следующего маршрутизатора 203.21.4.12, модуль IP фор­мирует кадр Ethernet для передачи пакета маршрутизатору 3 по сети Ethernet. С помощью протокола ARP он находит МАС-адрес этого маршрутизатора и помещает его в заголовок кадра. IP-адрес узла назначения, естественно, остает­ся неизменным.

396 Глава 5 • Сетевой уровень как средство построения больших сетей

9. Наконец, после того как пакет поступил в маршрутизатор сети назначения — маршрутизатор 3, — появляется возможность передачи этого пакета компью­теру назначения. Маршрутизатор 3 определяет, что пакет нужно передать в сеть 142.06.0.0, которая непосредственно подключена к его первому порту. По­этому он посылает ARP-запрос по сети Ethernet с IP-адресом компьютера sl.msk.su. ARP-ответ содержит МАС-адрес конечного узла, который модуль IP передает канальному протоколу для формирования кадра Ethernet:

10. Сетевой адаптер компьютера sl.msk.su захватывает кадр Ethernet, обнаружи­вает совпадение МАС-адреса, содержащегося в заголовке, со своим собствен­ным адресом и направляет его модулю IP. После анализа полей IP-заголовка из пакета извлекаются данные, которые в свою очередь содержат сообщение выше лежащего протокола. Поскольку в данном примере рассматривается обмен данными по протоколу FTP, который использует в качестве транспортного протокола TCP, то в поле данных IP-пакета находится TCP-сегмент. Опреде­лив из TCP-заголовка номер порта, модуль IP переправляет сегмент в соответ­ствующую очередь, из которой данный сегмент попадет программному модулю FTP-сервера.

5.3.5. Маршрутизация с использованием масок

Использование масок для структуризации сети

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

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

Допустим, администратор получил в свое распоряжение адрес класса В: 129.44.0.0. Он может организовать сеть с большим числом узлов, номера которых он может брать из диапазона 0.0.0.1-0.0.255.254 (с учетом того, что адреса из одних нулей и одних единиц имеют специальное назначение и не годятся для адресации узлов). Однако ему не нужна одна большая неструктурированная сеть, производ­ственная необходимость диктует администратору другое решение, в соответствии с которым сеть должна быть разделена на три отдельных подсети, при этом трафик

5.3. Протокол IP 397

в каждой подсети должен быть надежно локализован. Это позволит легче диагнос­тировать сеть и проводить в каждой из подсетей особую политику безопасности.

Посмотрим, как решается эта проблема путем использования механизма масок.

Итак, номер сети, который администратор получил от поставщика услуг, — 129.44.0.0 (10000001 00101100 00000000 00000000). В качестве маски было выбра­но значение 255.255.192.0 (11111111 11111111 1100000000000000). После наложе­ния маски на этот адрес число разрядов, интерпретируемых как номер сети, увеличилось с 16 (стандартная длина поля номера сети для класса В) до 18 (число единиц в маске), то есть администратор получил возможность использовать для нумерации подсетей два дополнительных бита. Это позволяет ему сделать из одно­го, централизованно заданного ему номера сети, четыре:

129.44.0.0 (10000001 00101100 00000000 00000000)

129.44.64.0 (10000001 00101100 01000000 00000000)

129.44.128.0 (10000001.00101100 10000000 00000000)

129.44.192.0 (10000001 00101100 11000000 00000000)

Два дополнительных последних бита в номере сети часто интерпретируются как номера подсетей (subnet), и тогда четыре перечисленных выше подсети имеют номера 0 (00), 1 (01), 2 (10) и 3 (11) соответственно.

ПРИМЕЧАНИЕНекоторые программные и аппаратные маршрутизаторы не поддерживают номера подсетей, которые состоят либо только из одних нулей, либо только из одних единиц. Например, для некоторых типов оборудо­вания номер сети 129.44.0.0 с маской 255.255.192.0, использованный в нашем примере, окажется недопу­стимым, поскольку в этом случае разряды в поле номера подсети имеют значение 00. По аналогичным соображениям недопустимым может оказаться и номер сети 129.44.192.0 с тем же значением маски. Здесь номер подсети состоит только из единиц. Однако более современные маршрутизаторы свободны от этих ограничений. Поэтому, принимая решение об использовании механизма масок, необходимо выяс­нить характеристики того оборудования, которым вы располагаете, чтобы соответствующим образом скон­фигурировать маршрутизаторы и компьютеры сети.

В результате использования масок была предложена следующая схема распре­деления адресного пространства (рис. 5.15).

Сеть, получившаяся в результате проведенной структуризации, показана на рис. 5.16. Весь трафик во внутреннюю сеть 129.44.0.0, направляемый из внешней сети, поступает через маршрутизатор Ml. В целях структуризации информацион­ных потоков во внутренней сети установлен дополнительный маршрутизатор М2.

Все узлы были распределены по трем разным сетям, которым были присвое­ны номера 129.44.0.0, 129.44.64.0 и 129.44.128.0 и маски одинаковой длины -255.255.192.0. Каждая из вновь образованных сетей была подключена к соответ­ственно сконфигурированным портам внутреннего маршрутизатора М2. Кроме того, еще одна сеть (номер 129.44.192.0, маска 255.255.192.0) была выделена для созда­ния соединения между внешним и внутренним маршрутизаторами. Особо отме­тим, что в этой сети для адресации узлов были заняты всего два адреса 129.44.192.1 (порт маршрутизатора М2) и 129.44.192.2 (порт маршрутизатора Ml), еще два адреса 129.44.192.0 и 129.44.192.255 являются особыми адресами. Следовательно, огромное число узлов (214 - 4) в этой подсети никак не используются.

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

398 Глава 5 • Сетевой уровень как средство построения больших сетей

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

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

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

• Маска М, содержащаяся в данной записи, накладывается на IP-адрес узла на­значения, извлеченный из пакета.

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

• Если номера сетей совпадают, то пакет передается маршрутизатору, адрес кото­рого помещен в соответствующем поле данной записи.

Теперь рассмотрим этот алгоритм на примере маршрутизации пакетов в сети, изображенной на рис. 5.16. Все маршрутизаторы внешней сети, встретив пакеты с адресами, начинающимися с 129.44, интерпретируют их как адреса класса В и на­правляют по маршрутам, ведущим к маршрутизатору Ml. Маршрутизатор Ml в свою очередь направляет весь входной трафик сети 129.44.0.0 на маршрутизатор М2, а именно на его порт 129.44.192.1.

Маршрутизатор М2 обрабатывает все поступившие на него пакеты в соответ­ствии с таблицей маршрутизации (табл. 5.12).

Таблица 5.12.Таблица маршрутизатора М2 в сети с масками одинаковой длины

– Конец работы –

Эта тема принадлежит разделу:

Посвящаем нашей дочери Анне

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

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

От авторов
Эта книга является результатом опыта пятилетнего преподавания авторами курсов сетевой тематики в Центре информационных технологий в стенах Московского государственного университета. Основу книги со

Благодарности
Прежде всего мы хотим поблагодарить директоров Центра информационных технологий Алексея и Елену Сальниковых, так как эта книга вряд ли была бы написана, если бы они не организовали в свое время Цен

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

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

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

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

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

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

Вопросы и упражнения
1. Чем можно объяснить тот факт, что глобальные сети появились раньше, чем локальные? 2. Поясните использование термина «сеть» в следующих предложениях: • сеть нашего предп

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

Методы передачи дискретных данных на физическом уровне
При передаче дискретных данных по каналам связи применяются два основных типа физического кодирования — на основе синусоидального несущего сигнала и на основе последовательности прямоугольных импул

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

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

Вопросы и упражнения
1. Могут ли цифровые линии связи передавать аналоговые данные? 2. Каким будет теоретический предел скорости передачи данных в битах в секун­ду по каналу с шириной полосы пропускания в 20 к

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

Протокол LLC уровня управления логическим каналом (802.2)
Протокол LLC обеспечивает для технологий локальных сетей нужное качество ус­луг транспортной службы, передавая свои кадры либо дейтаграммным способом, либо с помощью процедур с установлением соедин

Технология Ethernet (802.3)
Ethernet — это самый распространенный на сегодняшний день стандарт локальных сетей. Общее количество сетей, работающих по протоколу Ethernet в настоящее время, оценивается в 5 миллионов, а количест

Параметры Значения
Битовая скорость 10 Мбит/с Интервал отсрочки 512 битовых интервала Межкадровый интервал (IPG) 9,6 мкс Максимальное число попыток передачи 16 Максимальное

Тип кадра Сетевые протоколы
Ethernet II IPX, IP, AppleTalk Phase I Ethernet 802.3 IPX Ethernet 802.2 IPX, FTAM Ethernet SNAP______________IPX, IP, AppleTalk Phase II___________________

Base-5 10Base-2 10Base-T lOBase-F
Кабель Толстый Тонкий Неэкраниро- Многомодовый коаксиальный коаксиальный ванная витая волоконно- кабель RG-8 кабель RG-58 пара оптический или RG-11 категорий 3,4,5 кабель

Технология FDDI
Технология FDDI (Fiber Distributed Data Interface) — оптоволоконный интерфейс распределенных данных — это первая технология локальных сетей, в которой сре­дой передачи данных является волоко

Fast Ethernet и lOOVG-AnyLAN как развитие технологии Ethernet
Классический 10-мегабитный Ethernet устраивал большинство пользователей на протяжении около 15 лет. Однако в начале 90-х годов начала ощущаться его недо­статочная пропускная способность. Для компью

Высокоскоростная технология Gigabit Ethernet
3.7.1. Общая характеристика стандарта Достаточно быстро после появления на рынке продуктов Fast Ethernet сетевые интеграторы и администраторы почувствовали определенные ограничения при пос

Вопросы и упражнения
1. Поясните разницу между расширяемостью и масштабируемостью на примере технологии Ethernet. 2. Что такое коллизия: • (А) ситуация, когда станция, желающая передать пакет, обнаруж

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

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

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

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

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

Маршрутизатора
51 М1(2) М4(1) 1 52 М4(1) 0 (подсоединена) 53 М1(2) М4(1) 1 54 М2(1) М4(1) 1 55 М4(2) 0 (подсоединена) 56 М2(1) М4(1) 2 Default_________

Адресация в IP-сетях
5.2.1. Типы адресов стека TCP/IP В стеке TCP/IP используются три типа адресов: локальные (называемые также аппаратными), IP-адреса и символьные доменные имена. В терминологии TCP/

IP-адрес МАС-адрес Тип записи
194.85.135.75 008048Е87Е60 Динамический 194.85.135.70 08005А21А722 Динамический 194.85.60.21_________008048ЕВ7567_________Статический_________________________________________

IP-адрес МАС-адрес Тип записи
194.85.135.75 008048ЕВ7Е60 Динамический 194.85.135.70 08005А21А722 Динамический 194.85.60.21 008048ЕВ7567 Статический 194.85.135.65_____________OOEOF77F1920

Маршрутизатора
129.44.0.0 255.255.192.0 129.44.0.1 129.44.0.1 Подключена 129.44.64.0 255.255.192.0 129.44.64.7 129.44.64.7 Подключена 129.44.128.0 255.255.192.0 129.44.128.5 129.44.128.5 Подключ

Маршрутизатора
129.44.0.0 255.255.128.0 129.44.0.1 129.44.0.1 Подключена 129.44.128.0 255.255.192.0 129.44.128.3 129.44.128.3 Подключена 129.44.192.0 255.255.255.248 129.44.192.1 129.44.191.1 По

Маршрутизатора
129.44.0.0 255.255.0.0 129.44.192.1 129.44.191.2 2 129.44.192.0 255.255.255.248 129.44.192.2 129.44.192.2 Подключена Если следовать стандартному алгоритму поиска маршрута по табли

Протоколы маршрутизации в IP-сетях
5.4.1. Внутренние и внешние протоколы маршрутизации Internet Большинство протоколов маршрутизации, применяемых в современных сетях с коммутацией пакетов, ведут свое происхождение от сети I

Маршрутизатора
201.36.14.0 201.36.14.3 1 1 132.11.0.0 132.11.0.7 2 1 194.27.18.0 194.27.18.1 3 1 132.17.0.0 132.11.0.101 2 2 132.15.0.0 132.11.0.101 2 2 194.27.19.0 19

Маршрутизатора
201.36.14.0 201.36.14.3 1 1 132.11.0.0 132.11.0.7 2 1 194.27.18.0 194.27.18.1 3 1 132.17.0.0 132.11.0.101 2 2 132.15.0.0 132.11.0.101 2 2 132.15.0.0

Маршрутизатора
201.36.14.0_________132.11.0.7_______________1________________2_________________________ 5.4. Протоколы маршрутизации в IP-сетях 425 Эта запись была

Маршрутизатора
201.36.14.0__________132.11.0.101______________2_________________3___________________________ В результате в сети образовалась маршрутная петля: пакеты, направляемые уз­лам с

Средства построения составных сетей стека Novell
5.5.1. Общая характеристика протокола IPX Протокол Internetwork Packet Exchange (IPX) является оригинальным протоколом сетевого уровня стека Novell, разработанным в начале 80-х годо

Номер сети Следующий маршрутизатор Порт Задержка Хопы
А0000010 10 О А0000011 20 О 000013F4 А0000010-008100Е30067 13 2 00000120 A0000011-C000023300FA 22 1 00000033________А0000010-008100Е30055________1___________10____________5___________

Маршрутизаторов и концентраторов
5.6.1. Маршрутизаторы Основная задача маршрутизатора — выбор наилучшего маршрута в сети — часто является достаточно сложной с математической точки зрения. Особенно интенсив­ных вычислений

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

Глобальные связи на основе выделенных линий
Выделенный канал — это канал с фиксированной полосой пропускания или фиксиро­ванной пропускной способностью, постоянно соединяющий двух абонентов. Або­нентами могут быть как отдельные устрой

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

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

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

Вопросы и упражнения
1. Чем отличаются модемы от устройств DSU/CSU? 2. Предприятие решило создать собственную глобальную сеть. Какой тип гло­бальных связей будет наиболее эффективен, если предприятию необходим

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

Стандарты систем управления
7.2.1. Стандартизуемые элементы системы управления При формализации схемы «менеджер - агент» могут быть стандартизованы следу­ющие аспекты ее функционирования: • протокол взаимоде

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

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

Ответы на вопросы
Далее приведены ответы на вопросы, не требующие развернутого обсуждения. Глава 1 3. Нет, сетевыми приложениями называют распределенные приложения, то есть приложения, состоящие из

Алфавитный указатель

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги