Главная Главная по Компьютерным сетям

  1. В.Г. Олифер Базовые технологии компьютерных сетей (ознакомительное качество) Высокое качество PDF, для печати :-)
  2. Михаил Гук. Интерфейсы ПК. Справочник (ознакомительное качество) Высокое качество PDF, для печати :-)

Предыдущая | Оглавление | Следующая

Глава 4. Стеки межсетевых протоколов (часть 1)

Под термином «стек межсетевых протоколов» (internetworking protocol stack) подразумевается набор взаимосвязанных протоколов, предоставляющих пользователю необходимые для соединения с компьютерами других сетей механизмы и службы. С точки зрения пользователя стек протоколов отвечает за возможность доступа к сетям.

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

В то время как третий уровень обеспечивает межсетевой обмен данными, четвертый (транспортный) уровень дополняет предыдущий механизмами проверки сквозной надежности (end-to-end reliability) и целостности данных. Транспортный уровень необходим для гарантии качества службы и отсутствия ошибок в доставленной последовательности пакетов. Примером протокола четвертого уровня является протокол управления передачей данных TCP (Transmission Control Protocol). Как правило, протокол TCP упоминается в комбинации со своим партнером по третьему уровню как TCP/IP.

На третьем и четвертом уровне предполагается, что компьютеры отправителя и получателя данных не подключены к одной локальной сети. Таким образом, для установления соединения между двумя различными сетями необходимо использовать передачу данных по запросу (requested transmission). Следовательно, механизмы установления соединения второго уровня неадекватны. Более того, далеко не всегда возникает необходимость использовать эти уровни. Например, если компьютеры отправителя и получателя подключены к одной локальной сети, для их взаимодействия будет достаточно использовать кадры и протокол только второго уровня.

Протоколы третьего уровня делятся на две группы: маршрутизируемые протоколы (routed protocols) и протоколы маршрутизации (routing protocols). Маршрутизируемые протоколы инкапсулируют пользовательскую информацию и данные в пакеты и отвечают за передачу их получателю. Протоколы маршрутизации используются между маршрутизаторами для определения доступных путей и передачи по ним протрассированных пакетов протокола (routed protocol packets). В этой главе рассматриваются распространенные маршрутизируемые протоколы. Протоколы маршрутизации подробно рассмотрены в Главе 9, «Маршрутизаторы».

Internet Protocol, версия 4 (IPv4)

Internet Protocol (IP) был разработан приблизительно 20 лет назад специально для Министерства обороны США (Department of Defense - DoD). Перед Министерством обороны стояла задача организовать в глобальную сеть компьютеры различных производителей, каждый из которых поддерживал определенный тип локальных сетей. Задача была выполнена путем введения уровневого протокола, который разделил приложения и сетевое оборудование.

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

Гибкость эталонной модели TCP/IP по сравнению с эталонной моделью OSI проиллюстрирована на рисунке 4.1.

РИСУНОК 4.1. Сравнение эталонных моделей OSI и TCP/IP.

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

Уровни модели TCP/IP

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

Уровень обработки/протокола

Уровень обработки/протокола предоставляет протоколы для удаленного доступа и совместного использования ресурсов. Распространенные протоколы (Telnet, FTP, SMTP, HTTP и др.) функционируют именно на этом уровне и зависят от функциональных возможностей расположенных ниже уровней.

Уровень взаимодействия хост-компьютеров

Уровень взаимодействия хост-компьютеров протокола IP тесно связан с транспортным и сеансовым уровнем эталонной модели OSI. Он состоит из двух протоколов: протокола управления передачей данных (Transmission Control Protocol - TCP) и протокола пользовательских дейтаграмм (User Datagram Protocol - UDP). Впоследствии для поддержки интенсивных транзакций Internet был определен третий протокол. Этот протокол еще не получил официального названия и пока фигурирует как протокол управления транзакциями (Transaction Transmission Control Protocol - T/TCP).

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

Заголовок протокола TCP содержит, как минимум, 20 октетов и состоит из следующих полей:

n    TCP-порт отправителя (TCP Source Port): Поле порта отправителя длиной в 16 бит содержит номер порта, осуществляющего «вызов». Порт и IP-адрес отправителя выполняют функцию обратного адреса пакета.

n    TCP-порт получателя (TCP Destination Port): Поле порта получателя длиной в 16 бит является адресом «вызываемого» порта (порта получателя). IP-адрес используется для передачи пакета корректной машине. В данном случае TCP-порт получателя используется для передачи пакета корректному приложению машины-получателя.

n    Поле последовательности TCP (TCP Sequence Number): Поле последовательности длиной в 32 бита используется получающим пакет компьютером для преобразования фрагментированных данных в корректную последовательность. В сети с динамически осуществляемой маршрутизацией довольно часто возникает ситуация,когда предназначенные одному получателю пакеты передаются по разным маршрутам и, следовательно, прибывают в неправильной последовательности. Данное поле позволяет компенсировать несогласованность передачи данных.

n    Поле квитирования TCP (TCP Acknowledgment Number): Протокол TCP использует 32-разрядное вложенное подтверждение («piggybacked» acknowledgment - АСК) следующего ожидаемого октета. Данное поле используется для идентификации с помощью АСК корректности получения поля последовательности пакета.

n    Смещение данных (Data Offset): Это поле длиной в 4 бита соответствует размеру заголовка TCP, измеренному в 32-разрядных словах.

n    Зарезервировано (Reserved): Это поле длиной в 6 бит всегда содержит только нулевые значения.

n    Поле флагов (Flags): Поле длиной в 6 бит состоит из шести однобитовых флагов, соответствующих приоритету срочности пакета, подтверждению значащего поля, «выталкиванию» пакета (push), рассоединению, значению синхронизации последовательности и окончанию процедуры передачи данных.

n    Размер окна (Window Size): Это поле длиной в 16 бит используется принимающей машиной для определения длины данных в сегменте TCP.

n    Контрольная сумма (Checksum): В заголовок TCP также включено поле для проверки целостности данных длиной в 16 бит, известное как контрольная сумма. Обрабатывая содержимое сегмента, хост отправителя вычисляет математическое значение. Хост получателя выполняет вычисления по аналогичному алгоритму. Если при передаче данные не пострадали, результаты вычислений совпадают, доказывая тем самым целостность данных.

n    Дополняющее поле (Padding): Для того чтобы размер заголовка TCP всегда был кратен 32 битам, к этому полю добавляются нулевые биты.

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

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

Заголовок протокола UDP имеет следующую структуру:

n    Номер UDP-порта отправителя (UDP Source Port Number): Номер порта отправителя соответствует номеру соединения на компьютере отправителя. Порт отправителя и IP-адрес отправителя используются в качестве обратного адреса.

n    Номер UDP-порта получателя (UDP Destination Port Number): Номер порта получателя соответствует номеру соединения на компьютере получателя. IP-адрес используется для передачи пакета корректной машине получателя. В данном случае номер UDP-порта получателя используется для передачи пакета корректному приложению на машине получателя.

n    Контрольная сумма UDP (UDP Checksum): Контрольная сумма вычисляется по содержимому сегмента с целью контроля целостности данных. Компьютер получателя выполняет вычисления по тому же алгоритму. Если рассчитанные значения не совпадают, во время передачи произошла ошибка.

n    Длина сообщения UDP (UDP Message Length): Поле длины сообщения информирует компьютер получателя о размере сообщения. Это еще один механизм определения компьютером получателя целостности данных.

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

Межсетевой уровень

Межсетевой (Internet), или сетевой, уровень стека IPv4 состоит из всех процедур и протоколов, обеспечивающих передачу данных между хост-компьютерами различных сетей. Это означает, что несущий данные пакет должен быть маршрутизирован (routable). За маршрутизацию пакетов данных отвечает Internet Protocol (IP).

Заголовок IP состоит, как минимум, из 20 октетов и имеет следующую структуру:

n    Версия: Первые четыре бита заголовка IP идентифицируют используемую версию IP, например, четвертую версию.

n    Длина межсетевого заголовка (Internet Header Length): Следующие четыре бита соответствуют длине заголовка, поделенной на 32.

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

n    Общая длина: Это 16-битовое поле соответствует общему размеру дейтаграммы IP, выраженному в октетах. Допустимые значения принадлежат диапазону от 576 до 65 535 октетов.

n    Идентификатор: Каждому пакету IP присваивается уникальный 16-битовый идентификатор.

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

n    Смещение фрагмента: Значение этого восьмибитового поля соответствует «смещению» фрагментированного содержимого относительно начала диаграммы. Значение смещения всегда кратно 64 битам.

n    Время жизни (Time to Live - TTL): Пакет IP не может странствовать по глобальной сети вечно. Время его жизни ограничено количеством «ретрансляций» или пролетов (hops). После очередной ретрансляции восьмибитовое поле TTL инкрементируется на единичку. Как только будет достигнуто максимальное возможное значение, пакет будет уничтожен.

ПРИМЕЧАНИЕ

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

n    Протокол: Это восьмибитовое поле идентифицирует протокол, следующий за заголовком IP, например, протокол VINES, TCP, UDP и т.д.

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

n    IP-адрес отправителя: Это поле соответствует адресу компьютера отправителя в Internet.

n    IP-адрес получателя: Это поле соответствует адресу компьютера получателя в Internet.

n    Дополняющие биты (Padding): Для того чтобы размер заголовка IP всегда был кратен 32 битам, это поле дополняется необходимым количеством нулевых битов.

Рисунок 4.2 иллюстрирует структуру заголовка IP.

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

Кроме обычного форматирования пакетов межсетевой уровень должен поддерживать и другие функции маршрутизации. Он обязан предоставить механизм преобразования адресов второго уровня в адреса третьего уровня, адресов третьего уровня в адреса второго уровня, и т.д. Эти функции возложены на протоколы одного ранга с IP. К их числу относятся протоколы внутренней маршрутизации между шлюзами (Interior Gateway Protocols - IGP), протоколы внешней маршрутизации между шлюзами (Exterior Gateway Protocols - EGP), протокол разрешения адресов (Address Resolution Protocol - ARP), протокол обратного разрешения адресов (Reverse Address Resolution Protocol - RARP) и протокол управления сообщениями в сети Internet (Internet Control Message Protocol - ICMP).

Принципы работы протокола IPv4

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

РИСУНОК 4.2. Структура заголовка IP.

Поля заголовка сегмента заполняются соответствующим образом, после чего сегмент передается на межсетевой уровень. Межсетевой уровень дополняет сегмент данными маршрутизации, типом протокола (TCP или UDP) и контрольной суммой. Если сегмент фрагментирован, заполняется и это поле. На рисунке 4.3 изображено состояние пакета TCP/IP на данный момент, сразу после передачи на канальный уровень.

На рисунке показано расположение заголовков TCP и IP в кадре 802.3 Ethernet. Эта структура используется для передачи данных между уровнем доступа к сети и межсетевым уровнем.

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

Схема адресации IP

Для идентификации сетей, сетевых устройств и подключенных машин протокол IPv4 использует 32-разрядную бинарную схему адресации. Эти адреса, чаще всего упоминаемые под названием IP-адресов, находятся в юрисдикции Центра сетевой информации Internet (Internet Network Information Center - InterNIC). Сетевой администратор имеет право назначить произвольные незарегистрированные IP-адреса, но подобная практика уже уходит в прошлое. Компьютеры, обладающие подобными случайными IP-адресами, будут корректно функционировать лишь в пределах своего домена. Попытки обращения к Internet продемонстрируют всю прелесть столь недальновидного поступка.

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

n    IP-адреса класса А: Первый бит адреса класса А всегда равен нулю. Следующие семь битов идентифицируют номер сети. Последние 24 бита (соответствующие трем последним десятичным числам) адреса класса А определяют адрес хоста. Все возможные адреса класса А входят в диапазон от 1.0.0.0 до 126.0.0.0. Каждый адрес класса А может поддерживать 16774214 уникальных адреса хостов.

n    IP-адреса класса В: Двоичное значение первых двух битов адреса класса В равно 10. Следующие 16 бит идентифицируют номер сети, последние 16 бит - адреса потенциальных хостов. Все возможные адреса класса В относятся к диапазону от 128.1.0.0 до 191.254.0.0. Каждый адрес класса В может поддерживать 65534 уникальных адреса хостов.

n    IP-адреса класса С: Двоичное значение первых трех битов адреса класса С равно ПО. Следующие 21 бит используются для идентификации номера сети, последний октет идентифицирует адреса потенциальных хостов. Все возможные адреса класса С входят в диапазон от 192.0.1.0 до 223. 255. 254.0. Каждый адрес класса С может поддерживать 254 уникальных адреса хостов.

n    IP-адреса класса D: Двоичное значение первых трех битов адреса класса D равно 1110. Этот класс используется для многоадресной передачи данных, но нашел себе весьма ограниченное применение. Групповой адрес (multicast address) является уникальным сетевым адресом, позволяющим рассылать пакеты с данным адресом получателя предопределенной группе IP-адресов. Возможные адреса класса D относятся к диапазону от 224.0.0.0 до 239.255.255.254.

n    IP-адреса класса Е: Адреса класса Е были определены и зарезервированы InterNIC для собственных нужд. Таким образом, адреса класса Е так и не стали доступными для использования в Internet.

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

РИСУНОК 4.3. Структура кадра сети стандарта 802.3 IEEE, дополненного заголовком TCP/IP.

ПРИМЕЧАНИЕ

Обратите внимание, что сформулированная только что проблема более неактуальна. Был разработан новый бесклассовый протокол маршрутизации доменов (Classless Interdomain Routing - CIDR), позволяющий организовать в пределах одного домена несколько меньших классов адресов.

Если же выделить компании адрес класса В, все адреса хостов будут принадлежать единственному домену, но при этом 65234 доступных адреса так и останутся невостребованными.

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

Поскольку протоколы TCP/IP в состоянии поддерживать одновременно несколько сеансов связи с одним хостом, на них возлагается обязанность предоставления способа адресации специфических коммуникационных программ каждого хоста. Протоколы справляются с этой задачей с помощью номеров портов. Некоторым распространенным приложениям присваиваются собственные «хорошо известные» номера портов. Эти номера остаются зарезервированными за приложениями на всех хостах. Другим приложениям, не столь широко распространенным, присваиваются доступные на данный момент номера портов.

Характерные черты протокола IPv4

Протокол IPv4 используется на протяжении 20 лет. Со времени появления на свет глобальная сеть Internet претерпела несколько серьезных изменений, которые снизили эффективность использования IP в качестве универсального протокола установления соединения. Пожалуй, наиболее значительным из этих изменений оказалась коммерциализация Internet. Она привела к беспрецедентному росту популяции пользователей Internet и демографическому взрыву. Это, в свою очередь, привело к необходимости расширения адресного пространства и поддержки сетевым уровнем служб нового типа. Ограничения IPv4 обусловили создание принципиально новой версии протокола. Новая версия известна под названиями «IP версия 6» (IPv6), а также «Internet Protocol нового поколения» (IPng).

Internet Protocol, версия 6 (IPv6)

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

Кроме только что перечисленных причин, разработку и развертывание нового протокола IP обусловили и проблемы маршрутизации. Протокол IPv4 исчерпал ресурсы 32-разрядного адресного пространства, двухуровневой иерархии адресации и классов адресов. Использование двухуровневой иерархии адресации (состоящей из названия хоста и названия домена) не позволило создать эффективные иерархии адресов, которые могли бы обрабатываться маршрутизаторами в масштабах современных требований Internet.

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

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

Однако один из аспектов IPv6 может и должен быть детально описан. Имеется ввиду схема адресации нового протокола. 32-разрядное адресное пространство протокола IPv4 позволяет обрабатывать 2 в 32-й степени адресов, что соответствует приблизительно 4 миллиардам устройств. Неэффективные методики маскирования подсетей, наряду с другими нерациональным приемами, позволили растратить практически все доступные ресурсы.

Протокол IPv6 использует 128-разрядные адреса и теоретически его ресурсы в 2 в 96-й степени раз превышают адресное пространство IPv4. Если быть абсолютно точными, протокол позволяет обрабатывать 340 282 366 920 938 463 463 374 607 431 768 211 456 адресов. На данный момент распределено порядка 15 процентов доступного адресного пространства. Остаток зарезервирован для последующего использования.

В действительности, присвоение и маршрутизация адресов требует создания иерархий. При этом уменьшается количество потенциальных адресов, но повышается эффективность протоколов маршрутизации, совместимых с IPv6. Увеличение длины адреса IPv6 привело к тому, что сервер DNS стал абсолютно обязательным и потерял свой статус предмета роскоши, как это было в сетевой среде IPv4.

Вследствие расширения потенциального адресного пространства новые адресные структуры IPv6 предоставляют еще большую гибкость. Протокол IPv6 полностью отказался от предыдущей схемы разделения адресов на классы. Вместо этого вводится три вида конкретных адресов (unicast address), прежний класс D адресов заменяется новым форматом групповых адресов (multicast address format) и вводится новый «общий» адрес («anycast» address). Прежде чем перейти к детальному описанию протокола IPv6, рассмотрим новые адресующие структуры.

Структуры конкретных адресов IPv6

Конкретная адресация предполагает установление соединения между двумя конечными точками. Протокол IPv6 поддерживает несколько форм конкретных адресов. Все они описаны в следующих разделах.

Конкретный адрес провайдера Internet (Internet Service Provider Unicast Address)

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

Формат конкретного адреса ISP:

3 бита n бит m бит о бит р бит 125 - (n+m+o+p) бит
010 Идентификатор реестра Идентификатор провайдера Идентификатор абонента Идентификатор подсети Идентификатор интерфейса

В качестве примера рассмотрим адрес 010:0:0:0:0:х, где х может принимать любые числовые значения. Если учитывать тот факт, что большая часть адресного пространства зарезервирована, неудивительно, что новый адрес может содержать много нулей. Поэтому группы нулей могут отделяться двумя двоеточиями «::». В сокращенной форме рассматриваемый адрес можно записать как 010::х.

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

Конкретные адреса локального использования

Адреса локального использования (link-local use) применяются в отдельно установленном соединении с целью автоматического определения адресуемой конфигурации и сетевого окружения либо в случае отсутствия маршрутизаторов. Адреса локального использования имеют следующий формат:

10 бит n бит 118-n бит
1111111011 0 Идентификатор интерфейса

В качестве идентификатора интерфейса может использоваться МАС-адрес и адрес сетевого адаптера Ethernet. МАС-адреса, которые теоретически являются уникальными, с целью создания уникального адреса для мобильного или временного пользователя могут быть объединены с префиксом стандартного IP-адреса. В качестве примера объединения локального и МАС-адреса приведу последовательность 1111111011:0:mac_address.

Местные адреса

Местные адреса (site-local addresses) предназначены для использования в пределах отдельного узла. Адреса такого типа могут быть использованы для узлов или организаций, которые не подключены к Internet. В последнем случае нет необходимости «воровать» префикс адреса из адресного пространства глобальной сети Internet. С тем же успехом можно использовать местный адрес IPv6. Когда организация подключается к Internet, уникальный глобальный адрес формируется заменой префикса местного адреса на префикс абонента, который содержит идентификаторы реестра, провайдера и самого абонента.

Местные адреса имеют следующий формат:

10 бит n бит m бит 118 - (n + m) бит
1111111011 0 Идентификатор подсети Идентификатор интерфейса

В качестве примера можно привести местный адрес 1111111011:0:subnet:interface.

Переходные структуры конкретных адресов IPv6

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

IPv4-совместимые конкретные адреса IPv6

Первый из упомянутых адресов называется IРv4-совместимым адресом IPv6 (IPv4-compatible IPv6 address). Переходной адрес такого типа содержит адрес IPv4 в последних 32-х битах и может быть присвоен узлу IPv6. Адрес имеет следующий формат:

80 бит 16 бит 32 бита
000......................0000 00...................00 Адрес IPv4

IPv4-распределенные конкретные адреса IPv6

Второй, во многом подобный, тип адресов IPv6, также содержащий в последних 32 битах адрес IPv4, известен под названием IРv4-распределенного конкретного адреса IPv6 (IPv4-mapped IPv6 address). Этот адрес конструируется маршрутизатором, поддерживающим два протокола, что позволяет включать узлы IPv4 в сетевую инфраструктуру IPv6. Единственное различие между IРv4-совместимыми и IPv4-распределенными адресами в том, что последние могут быть только сконструированы. Такие адреса составляются маршрутизаторами двух протоколов и не могут быть присвоены ни одному из узлов! Адрес имеет следующий формат:

80 бит 16 бит 32 бита
000......................0000 FF..............FF Адрес IPv4

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

Структуры общих адресов IPv6

Общие адреса, впервые представленные в IPv6, позволяют присваивать одно значение более чем одному устройству. Как правило, эти интерфейсы принадлежат различным устройствам. Посланный по общему адресу пакет доставляется единственному устройству. Он пересылается «ближайшему» интерфейсу с таким адресом, определенному маршрутизирующим протоколом. Например, узел World Wide Web (WWW) может быть отражен (mirrored) на несколько серверов. Если всем этим серверам присвоить общий адрес, запрос на соединение с Web-узлом будет автоматически передаваться ближайшему к пользователю серверу.

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

Структуры групповых адресов IPv6

Многоадресная рассылка поддерживалась в IPv4, но требовала использования невразумительной адресации класса D. IPv6 отказался от использования адресов класса D в пользу нового формата адресов, который поддерживает триллионы возможных кодов многоадресных групп. Код каждой группы идентифицирует два и более получателей. Диапазон групповых адресов обладает определенной гибкостью. Каждый адрес может быть назначен отдельной системе, ограничен в пределах определенного узла, связан с определенным сетевым соединением или распределен глобально.

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

Характерные черты IPv6

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

Пакет протоколов IPX/SPX компании Novell

Пакет протоколов Novell получил свое название от сокращений двух основных протоколов: Internet Packet Exchange (IPX) и Sequenced Packet Exchange (SPX). Этот стек протоколов разработан на базе протокола Xerox Network Systems (XNS), который широко использовался первым поколением сетей Ethernet. Пакет IPX/SPX получил известность в начале 80-х годов в качестве неотъемлемой части операционной системы NetWare компании Novell, Inc. NetWare де-факто стала стандартом сетевых операционных систем (network operating system - NOS) первого поколения локальных сетей. Корпорация Novell дополнила свою операционную систему набором бизнес-ориентированных приложений и клиентской версией сетевых утилит.

IPX во многом напоминает IP. Это неориентированный на установление соединения протокол, который не требует и не предоставляет подтверждения доставки каждого пакета. IPX в той же степени полагается на SPX для упорядочения и предоставления других служб четвертого уровня, ориентированных на установление соединения, что IP полагается на TCP. Соответствие эталонной модели OSI и пакета протоколов IPX/SPX наглядно проиллюстрировано на рисунке 4.4.

Протоколы IPX и SPX являются функциональными эквивалентами соответственно третьего и четвертого уровней OSI. Полный пакет протоколов IPX/SPX предоставляет функциональные эквиваленты и остальным четырем уровням модели OSI.

Структура IPX/SPX

Стек протоколов IPX/SPX включает четыре функциональных уровня (сверху вниз): приложения (application), межсетевой, канальный и доступа к среде. С точки зрения функциональных обязанностей эти четыре уровня тесно коррелированны с семью уровнями эталонной модели OSI.

Уровень приложения

Уровень приложения Novell охватывает уровень протокола, представления данных и сеансовый уровень модели OSI, хотя некоторые протоколы приложений расширяют стек до сетевого уровня OSI. Основным протоколом уровня приложения в этом стеке является протокол ядра NetWare (NetWare Core Protocol - NCP). Протокол NCP в состоянии взаимодействовать непосредственно с SPX и IPX. Протокол ядра используется для печати, совместного использования файлов, рассылки сообщений электронной почты и предоставления доступа к каталогам.

Среди прочих к числу протоколов уровня приложения относятся также протокол обмена информацией о маршрутизации (Routing Information Protocol - RIP), протокол объявления об услугах (Service Advertisement Protocol - SAP) и протокол рекламного сервиса в среде NetWare (NetWare Link Services Protocol - NLSP).

RIP является протоколом маршрутизации NetWare по умолчанию. Это протокол дистанционно-векторной маршрутизации (distance-vector routing protocol), который использует только две размерности: такты (ticks) и пролеты (hops). Такт соответствует временному промежутку, а понятие пролета, как уже объяснялось в этой главе, - количеству пройденных пакетом маршрутизаторов. Для принятия решения о маршруте доставки пакета анализируются именно эти метрики. Приоритетом в процедуре определения маршрута обладают такты. Количество пролетов учитывается только в том случае, когда два и более маршрутов могут быть пройдены за одинаковое количество тактов.

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

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

РИСУНОК 4.4. Сравнение эталонной модели OSI и пакета протоколов IPX/SPX.

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

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

Недавно к протоколам уровня приложения присоединился протокол обслуживания связей в среде NetWare (NetWare Link Services Protocol - NLSP). NLSP является протоколом маршрутизации с учетом состояния каналов (link-state routing protocol), которым Novell собирается заменить устаревшие протоколы RIP и SAP. Протокол NLSP обновляет таблицу маршрутизации только после изменения конфигурации связей.

Предыдущая | Оглавление | Следующая


Главная Главная по Компьютерным сетям


Сайт создан в системе uCoz