ТЕМА 3 ПРОТОКОЛЫ СЕТЕВОГО И ТРАНСПОРТНОГО УРОВНЕЙ TCP/IP

Вопросы:

1. Структура стека TCP/IP.

2. Типы адресов.

3. IP-адреса.

4. Отображение адресов.

5. Развитие стека TCP/IP.

Структура стека[1] TCP/IP. В настоящее время TCP/IP – наиболее популярное средство организации составных сетей. Он был разработан до появления модели взаимодействия открытых систем OSI, но также имеет многоуровневую структуру, соответствие уровней TCP/IP уровням модели OSI показано в табл. 1.

Уровни OSI Уровни TCP/IP
Прикладной Прикладной FTP, SMTP, HTTP, telnet
Представительный
Сеансовый
Транспортный Транспортный TCP, UDP
Сетевой Сетевой IP, OSPF, ICMP
Канальный Уровень сетевых интерфейсов Протоколы преобразования адресов
Физический

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

Прикладной уровень соответствует трем верхним уровням модели OSI и объединяет службы, предоставляемые системой пользовательским приложениям, например, протоколы копирования файлов (FTP), протоколы передачи электронной почты (SMTP), протокол передачи гипертекстовой информации (HTTP) и пр. Протоколы прикладного уровня устанавливаются на конечных узлах составной сети – хостах. Прикладной уровень реализуется программными системами, построенными в архитектуре клиент-сервер. Они отрабатывают логику приложений и не интересуются способами передачи данных по сети, обращаясь к протоколам нижних уровней как к инструментам.

Транспортный уровень (называют также основным) может предоставить вышележащему уровню два типа сервиса:

- гарантированная доставка – протокол управления передачей TCP;

- доставка по «возможности» - протокол пользовательский дейтаграмм UDP.

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

- нумеровать пакеты;

- подтверждать их прием квитанциями;

- в случае потери организовывать повторные передачи пакетов;

- распознавать и уничтожать дубликаты;

- доставлять прикладному уровню пакеты в том порядке, в котором они были отправлены.

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

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

Основным протоколом межсетевого уровня является протокол IP. Название протокола IP – протокол межсетевого взаимодействия, отражает его суть: он должен передать пакеты между сетями. В каждой очередной сети, лежащей на пути перемещения пакета, протокол IP вызывает принятые средства транспортировки сети, чтобы передать пакет на маршрутизатор, ведущий к следующей сети или к узлу получателю.

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

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

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

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

Идеологическим отличием архитектуры стека TCP/IP от многоуровневой организации других стеков является интерпретация функций самого нижнего уровня – уровня сетевых интерфейсов. Так, например уровни модели OSI нагружены функциями по доступу к среде передачи, формированию кадров, согласованию уровней электрических сигналов, кодированию, синхронизации и пр. У нижнего уровня стека TCP/IP задача существенно проще – он отвечает только за организацию интерфейса с локальными технологиями под сетей, которая упрощенно сводится:

- к определению способа упаковки пакета IP в единицу передаваемых данных промежуточной сети;

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

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

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

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

Каждый коммуникационный протокол оперирует с некоторой единицей передачи данных. В стеке TCP/IP принята следующая терминология:

- поток – данные, поступающие от приложений на вход протоколов транспортного уровня TCP и UDP;

- протокол TCP «нарезает» из потока данных сегменты;

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

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

Типы адресов. В стеке TCP/IP используется три типа адресов:

- локальные или аппаратные адреса - адреса, действующие не во всей сети, а в пределах подсети, определяемые технологией, с помощью которой построена отдельная сеть, в которую входит данный узел. Для узлов, входящих в локальные сети - это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем. Для узлов, входящих в глобальные сети, такие как Х.25 или frame relay, локальный адрес назначается администратором глобальной сети

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

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

- доменные имена – символьные идентификаторы узлом, необходимые для обращения пользователям, например, SERV1.IBM.COM. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени организации, имени домена. Такой адрес, называемый также DNS-именем, используется на прикладном уровне, например, в протоколах FTP или telnet.

Примечание В общем случае, сетевой интерфейс может иметь одновременно несколько локальных адресов, несколько сетевых адресов, несколько доменных имен.

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

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

IP-адрес имеет длину 4 байта (32 бита) и состоит из двух логических частей – номера сети (net id) и номера узла в сети (host id).

Чаще всего IP-адрес представляется в виде четырех чисел, определяющих значение каждого байта в десятичной форме и разделенных точками, например:

128.10.2.30.

Этот адрес в двоичном формате представляется:

1000000 00001010 00000010 00011110

или в шестнадцатеричном формате

80.0A.02.1D.

Запись адреса не предусматривает специального разграничительного знака между номером сети и номером узла. Для логического разделения IP-адреса используется два способа:

- использование классов;

- использование маски.

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

Таблица 4 – Характеристики адресов разного класса

Класс Первые биты Наименьший номер сети Наибольший номер сети Число байт IP-адреса Максимальное число узлов в сети
На номер сети На номер узла
A 1.0.0.0 126.0.0.0 224
B 128.0.0.0 191.255.0.0 216
C 192.0.0.0 233.255.255.0 28
D 224.0.0.0 239.255.255.255 - - Multicast
E 240.0.0.0 247.255.255.255 - - Зарезервирован

Если адрес начинается с 0, то этот адрес относится к классу А, в котором под номер сети отводится один байт, а остальные три байта интерпретируются как номер узла сети. Сети, имеющие номера в диапазоне от 1 (0000001) до 126 (01111110)[2], называются сетями класса А. Большие сети, сети класса А малочисленны, но количество узлов в них может достигать 224=16 777 216.

Если первые два бита адреса равны 10, то адрес относится к классу В. В адресах такого типа под номер сети и номер узла отведено по два байта. Сети, имеющие номера в диапазоне от 128.0 (10000000 00000000) до 195.255 (10111111 11111111) называются сетями класса В. Таких сетей больше, чем сетей класса А, но размеры их меньше, максимальное количество узлов в них составляет 216= 65 536.

Если адрес начинается с последовательности битов 110, то это адрес класса С. В этом случае под номер сети отведено 24 бита, а под номер узла 8 бит. Сети этого класса наиболее распространены, но число узлов в них ограничено 28=256.

Пример. Определить номер сети и номер узла по адресу 185.23.44.206.

Первый байт адреса попадает в диапазон 128 – 191, можно сказать, что этот адрес относится к классу В. Номером сети в данном случае являются первые два байта IP-адреса, дополненные двумя нулевыми байтами, т.е.

185.23.0.0,

номером узла – два младших байта, дополненные с начала двумя нулевыми байтами –

0.0.44.206.

Еще два класса адресов D и E не связаны непосредственно с сетями.

Если адрес назначения начинается с последовательности 1110, то он является адресом класса D и обозначает особый групповой адрес (multicast) - адрес, идентифицирующий группу узлов (сетевых интерфейсов), которые в общем случае могут принадлежать разным сетям. Интерфейс, входящий в группу, получает вместе с обычным индивидуальным IP-адресом еще один групповой адрес.

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

Основное назначение подобных адресов – распространение информации по схеме «один ко многим». Хост, желающий передать одну и туже информацию многим абонентам, с помощью специального протокола IGMP (Internet Group Management Protocol) сообщает о создании в сети новой мультивещательной группы с определенным адресом. Маршрутизаторы, поддерживающие мультивещательность распространяют информацию о создании новой группы в сетях, подключенных к портам этого маршрутизатора. Хосты, которые желают присоединиться к этой группе, сообщают об этом своим локальным маршрутизаторам и те передают эту информацию хосту, инициатору создания новой группы.

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

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

Если адрес назначения начинается с последовательности 11110, то данный адрес относится к классу Е. Адреса этого класса зарезервированы для будущих применений.

Отметим, что в протоколе IP существует несколько соглашений об особой интерпретации IP-адресов:

1. Если весь IP-адрес состоит только из двоичных нулей, то он обозначает адрес того узла, который сгенерировал этот пакет (режим используется только в некоторых сообщениях ICMP).

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

3. Если все двоичные разряды IP-адреса равны 1 (т.е. адрес 255.255.255.255), то пакет с таким адресом назначения рассылается всем узлам, находящимся в той же сети, что источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением, ограниченность которого означает, что данный пакет не выйдет за границы маршрутизатора ни при каких условиях.

4. Если поле номера узла назначения состоит из одних единиц, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети. Например, пакет с адресом 192.190.21.255 доставляется всем узлам сети 192.190.21.0. Такая рассылка называется широковещательным сообщением.

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

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

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

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

Значит, максимальное количество узлов, приведенное в табл. 4, для сетей каждого класса на практике меньше на 2.

Примечание Адрес класса С под номер узла отводит 8 бит, которые позволяют задать 256 номеров: от 0 до 255. Но максимальное число узлов в сети класса С не превысит 254, так как адреса 0 и 255 имеют специальное значение Из этих же соображений, конечный узел не может иметь адрес типа 98.255.255.255, поскольку номер узла в этом адресе класса А состоит только из двоичных единиц.

Особый смысл имеет IP-адрес, первые цифры которого равны 127 (loopback). Он используется для тестирования программ и взаимодействия процессов в пределах одной машины.

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

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

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

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

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

Пример. Рассмотрим адрес 184.85.135.75, который ассоциируется с маской 255.255.255.0. Номером сети будет 184.85.135.0, а не 184.85.0.0 (аналогично примеру 1), как это определено системой классов.

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

Пример. Пусть есть IP-адрес 129.64.134.5 с маской 255.255.128.0.

Переведем данный адрес и маску в двоичную систему счисления

- адрес:

10000001.01000000.10000110.00000101

- маска:

11111111.11111111.10000000.00000000.

Проанализируем данный адрес в соответствии с системой классов. Адрес 129.64.134.5 относится к классу В, а значит номером сети является первые два байта 129.64.0.0, а номером узла – 0.0.134.5.

Если для определения границы номера сети использовать маску, то 17 последовательных двоичных единиц в маске, наложенные на IP-адрес, делят его на следующие части

  Номер сети Номер узла
IP-адрес 129.64.134.5 10000001.01000000.1 0000110.00000101
255.255.128.0. 11111111.11111111.1 0000000.00000000

В десятичной форме записи номер сети – 129.64.128.0, а номер узла 0.0.6.5.

Вопрос для проверки. Пусть IP-адрес некоторого узла подсети равен 198.65.12.67, а значение маски для этой подсети – 255.255.255.240. Определите номер подсети. Какое максимальное число узлов может быть в этой подсети?

Определим границы номера подсети, используя маску, то 28 последовательных двоичных единиц в маске, наложенные на IP-адрес, делят его на следующие части

  Номер сети Номер узла
IP-адрес 198.65.12.67 11000110.01000001.00001100.0100
255.255.255.240 11111111.11111111.11111111.1111

В десятичной форме записи номер сети – 198.65.64.0, а номер узла 0.0.0.3. Максимальное число узлов в сети 24-2=14.

Для стандартных классов сетей маски имеют следующее значения:

Класс А – 11111111.00000000.00000000.00000000 (255.0.0.0);

Класс В – 11111111.11111111.00000000.00000000 (255.255.0.0);

Класс С - 11111111.11111111.11111111.00000000 (255.255.255.0).

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

Ответ: Максимальное число абонентов 255. Маска - 255.255.255.0.

Для записи масок используются и другие форматы. Например, удобно интерпретировать значение масок, записанной в шестнадцатиричном коде: FF.FF.00.00 – маска для адресов класса В. Часто встречается такое обозначение 185.23.44.206/16. Эта запись говорит о том, что маска для этого адреса содержит 16 единиц или что в указанном IP-адресе под номер сети отведено 16 двоичных разрядов.

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

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

Пример Главным органом регистрации в Интернете с 1998 г. является ICANN – неправительственная некоммерческая организация, управляемая советом директоров, которая координирует работу региональных отделов, деятельность которых охватывает большие географические площади: ARIN (Америка), RIPE (Европа), APNIC (Азия и Тихоокеанский регион). Региональные отделы выделяют блоки адресов сетей крупным провайдерам.

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

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

В любой автономной сети могут быть использованы произвольные IP-адреса, главное, чтобы они были синтаксически правильными и уникальными в пределах этой сети. Совпадение адресов в несвязанных между собой сетях не вызовет никаких отрицательных последствий. Но во избежание коллизий в стандартах Интернета (технология трансляции сетевых адресов - NAT) определено несколько адресов для адресации внутренних узлов – частные адреса:

- в классе А – сеть 10.0.0.0, адреса в диапазоне 10.0.0.0 …10.255.255.255;

- в классе В – диапазон из 16 номеров сетей – 172.16.0.0 … 172.31.0.0, адреса в диапазоне 172.16.0.0…172.31.255.255;

- в классе С – это диапазон из 255 сетей – 192.168.0.0 …192.168.255.0, адреса в диапазоне 192.168.0.0 …192.168.255.255.

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

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

Технология NAT позволяет узлам из частной сети получать доступ к узлам во внешних сетях по однонаправленным сеансам связи, исходящих из частной сети.

Технология NAT работает таким образом. Сеть предприятия образует тупиковый домен (внутренняя сеть), узлы которого описываются набором частных адресов. Программное обеспечение NAT, установленное на пограничном устройстве, связывающем сеть предприятия с внешней сетью, динамически отображает множество частных адресов {IP*}, которым разрешен выход во внешнюю сеть, на множество глобальных адресов {IP}, привязанных к внешнему интерфейсу пограничного устройства внутренней сети (рис. 2), т.е.

{IP*}«{IP}.

Рис. 2 Общая схема NAT

В каждый момент времени количество внутренних узлов, которые получают возможность взаимодействовать с внешней сетью, ограничено количеством адресов в глобальном наборе {IP}. Соответствие внутренних адресов внешним задается таблицей, поддерживаемой на устройстве NAT.

Рассмотрим рис. 2. Если количество локальных узлов меньше или равно имеющегося количества глобальных IP-адресов (внутренняя сеть В), то для каждого частного адреса гарантировано отображение на глобальный адрес. В этом случае использование технологии NAT преследует цели безопасности.

В нескольких тупиковых доменах могут быть совпадающие частные адреса, так сети А и В для внутренней адресации используют один блок адресов 10.0.0.0/8. Но внешние адреса обеих сетей – уникальны глобально.

Отправка пакетов между внутренними сетями происходит в следующей последовательности:

1. Узел-источник сети А (например, узел 10.0.1.7) направляет пакет для узла сети В, используя глобальный адресе (например, 185.127.125.4), своему маршрутизатору, которому известен маршрут к сети 185.127.125.0.

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

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

4. По составной сети пакет поступает на внешний интерфейс устройства NAT сети В. Глобальный адрес назначения 185.127.125.4 преобразуется в частный адрес 10.0.12.3.

Вопросы для проверки. 1. Какие из ниже приведенных адресов не могут быть использованы в качестве IP-адреса конечного узла сети, подключенной к Интернету? Для синтаксически правильных адресов определите их класс: А, В, С, D или E.

1. 127.0.0.1 (-);

2. 201.13.123.245;

3. 226.4.37.105 (-);

4. 103.24.254.0;

5. 10.234.17.25 (-);

6. 154.12.255.255 (-);

7. 13.13.13.13;

8. 204.0.3.1;

9. 193.256.1.16 (-);

10. 194.87.45.0 (- «0» – определяет номер сети , но не узла);

11. 195.34.116.255 (-);

12. 161.23.45.305 (-).

2. Какие из следующих утверждений верны всегда:

- каждый маршрутизатор имеет сетевой адрес;

- каждый порт маршрутизатора имеет МАС-адрес;

- каждый порт маршрутизатора имеет сетевой адрес?

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

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

Рассмотрим следующий пример. Администратор получил в сове распоряжение адрес: 129.44.0.0 (какой класс сети?). Он может организовать сеть с большим числом узлов, номера которых выбираются из диапазона 0.0.0.1 – 0.0.255.254 (с учетом того, что адреса из одних нулей и единиц имеют специальное назначение и не подходят для нумерации узлов). Однако ему не нужна большая неструктурированная сеть, производственная необходимость требует, чтобы общая сеть должна быть разделена на три отдельных подсети, при этом трафик каждой подсети должен быть надежно локализован. Это позволит легче диагностировать сеть, проводить для каждой подсети особую политику безопасности. Это возможно с использованием масок, причем маски могут быть:

- одинаковой длины для деления на подсети равного размера;

- переменной длины для деления сети на подсети разного размера.

Остановимся на первом случае. Номер сети 129.44.0.0 в двоичной системе счисления – 10000001 00101100 00000000 00000000. В качестве маски было выбрано значение 255.255.192.0 – 11111111 11111111 11000000 00000000. После наложения получим

  Номер сети
IP-адрес 129.44.0.0 10000001.00101100.00
255.255.192.0 11111111.11111111.11

Два последних бита в номере сети интерпретируют как номер подсети.

Значит число разрядов, интерпретируемых как номер сети увеличилось с 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)

Исходя из номеров подсети, эти подсети имеют номера 0 (00), 1 (01), 2(10) 3 (11).

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

В результате использования масок получена следующая схема распределения адресного пространства:

Деление адресного пространства на четыре равные части

Имя сети 1 байт 2 байт 3 байт 4 байт
Поле номера сети класса В (неизменяемое поле) № под-сети Поле адресов узлов (адресное пространство)
Сеть 129.44.0.0 Маска 255.255.192.0 Диапазон номеров узлов от 0 до 214
Сеть 129.44.64.0 Маска 255.255.192.0 Диапазон номеров узлов от 0 до 214
Сеть 129.44.128.0 Маска 255.255.192.0 Диапазон номеров узлов от 0 до 214
 
Сеть 129.44.192.0 Маска 255.255.192.0 Диапазон номеров узлов от 0 до 214
 

Сеть, получившаяся в результате проведенной структуризации показана на рис. 4.

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

Весь трафик во внутреннюю сеть 129.44.0.0, направляемый из внешней сети, поступает через маршрутизатор М1. В целях структуризации информационных потоков во внутренней сети установлен дополнительный маршрутизатор М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.442192.1 (порт маршрутизатора М2) и 129.44.192.2 (порт маршрутизатора М1) и еще два адреса 129.44.192.0 129.44.192.255 являются особыми адресами, оставшаяся часть адресов (214 - 4)этой сети не используется.

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

Рассмотрим, как меняется работа модуля IP, в случае необходимости учета масок.

1. В каждой записи таблицы маршрутизации появляется новое поле – поле маски.

2. Меняется алгоритм определения маршрута по таблице маршрутизации (например таблице маршрутизации для маршрутизатора М2 полученной составной сети).

Таблица маршрутизации маршрутизатора M2 составной сети

Network Address Netmask Gateway Address Interface Metric
129.44.0.0 255.255.192.0 129.44.0.1 129.44.192.2
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.192.0 255.255.192.0 129.44.192.1 129.44.192.1
0.0.0.0 0.0.0.0. 129.44.192.2 129.44.192.1 -
129.44.128.15 255.255.255.255 129.44.64.8 129.44.64.7

Примечание. В столбце «Адрес назначения» помещены записи двух типов: номер сети (если для всех узлов данной сети один и тот же маршрут) и IP-адрес узла (в случае особого маршрута для узла).

Если в качестве узла назначения указан полный IP-адрес узла, маска всегда имеет значение 255.255.255.255.

Первые четыре записи в таблице соответствуют внутренним подсетям, непосредственно подключенным к портам маршрутизатора М2.

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

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

1. Определяется, нет ли в таблице специфического маршрута для этого адреса, т.е. извлекаются адреса с маской 255.255.255.255 и сравниваются с адресом из пакета. Если в какой-либо строке совпадение произошло, то адрес следующего маршрутизатора для данного пакета берется из данной строки.

2. Если при просмотре всей таблицы не произошло ни одного полного совпадения адресов, то начинается новый цикл просмотра таблицы маршрутизации – поиск неспецифического маршрута, общего для группы узлов, относящихся к данной сети. Модуль IP последовательно просматривает все записи, т.е.:

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

- полученное в результате число является номером подсети назначения обрабатываемого пакета;

- полученный номер сети назначения пакета сравнивается со значением, которое помещено в поле «адрес назначения» данной записи таблицы маршрутизации;

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

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

Рассмотрим приведенный алгоритм на примере маршрутизации пакетов в сети (рис. 4).

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

Маршрутизатор М1 направляет весь входной трафик сети 129.44.0.0 на маршрутизатор М2, а именно на его порт 129.44.192.1.

Маршрутизатор М2 обрабатывает все поступившие на него пакеты в соответствии с таблицей маршрутизации. Так как последняя запись определяет специфический маршрут к узлу 129.44.128.15, то в отличие от всех других узлов подсети 129.44.128.0, к которым пакеты поступают с интерфейса 129.44.128.5 маршрутизатора М2, к данному узлу они будут приходить через маршрутизатор М3.

Пример.Рассмотреть работу вышеприведенного алгоритма, если с маршрутизатора М1 на порт 129.44.192.1 маршрутизатора М2 поступает пакет с адресом назначения 129.44.78.200.

1. Модуль IP начинает сравнение адреса 129.44.78.200 с адресом 129.44.128.15, для которого определен специфический маршрут.

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

- маска из первой строки 255.255.192.0 накладывается на адрес 129.44.78.200:

  Номер сети Номер узла
IP-адрес 129.44.78.200 10000001.00101100.01 001110.11001000
255.255.192.0 11111111.11111111.11 000000.00000000

В результате номер сети – 129.44.64.0, номер узла – 0.0.14.200;

- полученный номер 129.44.64.0 сравнивается с номером сети в первой строке таблицы – 129.44.0.0. так как они не совпадают происходит переход к следующей строке;

- извлекается маска из второй строке (она имеет такое же значение, что в общем случае необязательно) и накладывается на адрес назначения 129.44.78.200. Получается номер сети 129.44.64.0;

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

 

 

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

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

- упаковать пакет в кадр соответствующего для данной подсети формата;

- снабдить кадр адресом, формат которого был бы понятен локальной технологии подсети (например, преобразовать IP-адрес в МАС-адрес).

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

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

Первоначально, при включении компьютера (маршрутизатора) в сеть его ARP-таблицы пусты. Пусть в нулевой момент времени необходимо передать IP-пакет через драйвер в сеть Ethetnet, т.е. по IP-адресу определить МАС-адрес узла назначения.

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

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

Фрагмент ARP-запроса для сети Ethernet

№№ Поле Значение Комментарий
1. Тип сети 1 - для сети Ethernet
2. Длина локального адреса Для протокола Ethernet длина локального адреса равна 6 байт
3. Длина сетевого адреса Для протокола IP длина адреса равна 4 байт
4. Операция Для ARP-запроса код 1
5. Локальный адрес отправителя 008048ЕВ7Е60 МАС-адрес записывается в шестнадцатеричной системе счисления
6. Сетевой адрес отправителя 194.85.135.75  
7. Локальный адрес получателя Искомый адрес не известен
8. Сетевой адрес получателя 194.85.135.65  

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

Фрагмент ARP-ответа для сети Ethernet

№№ Поле Значение Комментарий
1. Тип сети  
2. Длина локального адреса  
3. Длина сетевого адреса  
4. Операция Для ARP-ответа код 2
5. Локальный адрес отправителя 00Е0F77F1920  
6. Сетевой адрес отправителя 194.85.135.65  
7. Локальный адрес получателя 008048ЕВ7Е60  
8. Сетевой адрес получателя 194.85.135.75  

ARP-запросы и ответы имеют один и тот же формат пакета.

В результате обмена двумя ARP-сообщениями модуль IP с адресом 194.85.135.75, определяет, что IP-адресу 194.85.135.65 соответствует МАС-адрес 00Е0F77F1920. Этот адрес помещается в заголовок кадра Ethernet, ожидавшего отправления IP-пакета.

Если в сети нет машины с искомым IP-адресом (что соответствует случаю повреждения сети Ethernet), то ARP-ответа не будет. Протокол IP уничтожает IP-пакеты, направляемые по этому адресу.

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

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

IP-адрес МАС-адрес Тип записи
194.85.135.75 008048ЕВ7Е60 Динамический
194.85.135.65 00Е0F77F1920 Динамический
194.85.60.21 008048ЕВ7567 Статический

Новая запись появляется в ARP-таблице автоматически, спустя несколько миллисекунд после анализа ARP-модулем ARP-ответа.

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

Поле «Тип записи» содержит два значения:

- «статический» – создается вручную с помощью программной утилиты, не имеют срока устаревания и существуют до тех пор, пока компьютер (маршрутизатор) не будет выключен;

- «динамический» – создается модулем протокола ARP, использующим широковещательные возможности локальных сетевых технологий, периодически обновляются; если запись не обновлялась в течение определенного времени (несколько минут), то она исключается из таблицы, а значит здесь содержаться данные только о тех узлах сети, которые активно участвуют в сетевых операциях.

Рис. 3. Пример взаимодействия компьютеров через сеть

Вопросы для проверки. Что означает запись «DEFAUL»? Для какой ОС она характерна? Если бы использовалась ОС Windows (маршрутизатор MRP), как бы выглядела эта запись?

Ответы. Если поле «Адрес сети назначения» таблицы маршрутизации имеет запись «DEFAUL» в ОС Unix (программный Unix-маршрутизатор) означает маршрут по умолчанию. Появляется эта запись при ручном конфигурировании интерфейса. Запись «DEFAUL=194.87.23.1» определила IP-адрес следующего маршрутизатора по умолчанию. В таблице маршрутизации маршрутизатора MRP эта запись выглядела бы следующим образом: «0.0.0.0=194.87.23.1».

1. Пусть пользователь компьютера CIT.DOL.RU, находящегося в сети Ethernet и имеющего IP-адрес 194.87.23.17, обращается по протоколу FTP к компьютеру S1.MSK.SU, принадлежащему другой сети Ethernet и имеющему IP-адрес 142.06.13.14

>ftp S1.MSK.SU

2. Модуль FTP упаковывает свое сообщение в сегмент транспортного протокола ТСР, который, помещает свой сегмент в протокол IP. В заголовке IP-пакета указывается IP-адрес узла назначения. Так как пользователь компьютера CIT.DOL.RU знает только символьное имя компьютера S1.MSK.SU, то стек ТСР/IP определяет IP-адрес узла назначения самостоятельно.

3. При конфигурировании стека ТСР/IP в компьютере CIT.DOL.RU был задан его собственный IP-адрес, IP-адрес маршрутизатора по умолчанию и IP-адрес DNS-сервера. Модуль IP может сделать запрос DNS серверу, но обычно сначала просматривается локальная таблица соответствия символьных имен и IP-адресов. Такая таблица хранится чаще всего в виде текстового файла простой структуры – каждая его строка содержит запись об одном символьном имени и его IP-адресе (В ОС UNIX такой файл носит название host и хранится в каталоге /ect).

4. Считаем, что компьютер CIT.DOL.RU имеет файл host, в нем есть строка

142.06.13.14 S1.MSK.SU.

5. Разрешение имени выполняется локально, и протокол IP может формировать IP-пакеты с адресом назначения 142.06.13.14 для взаимодействия с компьютером S1.MSK.SU.

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

7. Компьютер CIT.DOL.RU начинает формировать кадр Ethernet для отправки IP-пакета маршрутизатору по умолчанию, IP-адрес которого известен – 194.87.23.1, но неизвестен MAC-адрес, необходимый для перемещения кадра в локальной сети. Для определения этого адреса маршрутизатор протокол IP обращается к протоколу ARP, который просматривает ARP-таблицу. Если в последнее время компьютер CIT.DOL.RU выполнял какие-либо межсетевые обмены, то искомая запись, содержащая соответствие между IP- и MAC-адресами маршрутизатора по умолчанию уже находится в кэш-таблице протокола ARP. Пусть нужная запись была найдена именно в кэш-таблице:

194.87.23.1 008048ЕВ7Е60

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

9. В результате компьютер CIT.DOL.RU отправляет по локальной сети пакет, упакованный в кадр Ethernet, имеющий следующие поля:

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

142.06.0.0 135.12.0.11 2

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

11. На этом этапе модуль IP должен определить МАС-адрес следующего маршрутизатора по известному IP-адресу 135.12.0.11. Для этого он обращается к протоколу ARP. Допустим, нужной записи в кэш-таблице не оказалось. Тогда формируется широковещательный ARP-запрос

12. Порт 2 маршрутизатора 2 распознает свой IP-адрес и посылает ARP-ответ по адресу запросившего узла

13. Теперь, зная МАС-адрес следующего маршрутизатора 00Е0F77F51A0, маршрутизатор 1 отсылает кадр Ethernet по направлению к маршрутизатору 2.

14. После того как пакет поступил в маршрутизатор сети назначения (маршрутизатор 2), появляется возможность передачи этого пакета компьютеру назначения. Маршрутизатор 2 определяет, что пакет нужно передать в сеть 142.06.0.0, которая непосредственно подключена к его первому порту. Он посылает ARP-запрос по сети Ethernet с IP-адресом компьютера S1.MSK.SU. ARP-ответ содержит МАС-адрес конечного узла, который модуль IP передает канальному протоколу для формирования кадра Ethernet

15. Сетевой адаптер компьютера S1.MSK.SU захватывает кадр Ethernet, обнаруживает совпадение МАС-адреса, содержащегося в заголовке, со своим собственным адресом и направляет его модулю IP. После анализа полей IP-заголовка из пакета извлекаются данные, содержащие сообщение вышележащего протокола - ТСР-сегмент. Определив из ТСР-заголовка номер порта, модуль IP переправляет сегмент в соответствующую очередь, из которой данный сегмент попадает программному модулю FTP-сервера.

Развитие стека TCP/IP: протокол IPv.6Технология стека TCP/IP сложилась в основном в конце 1970-х годов и с тех пор основные принципы работы базовых протоколов, таких как IP, TCP, UDP и ICMP, практически не изменились. Однако, сам компьютерный мир за эти годы значительно изменился, поэтому долго назревавшие усовершенствования в технологии стека TCP/IP сейчас стали необходимостью.

Основными обстоятельствами, из-за которых требуется модификация базовых протоколов стека TCP/IP, являются следующие:

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

2. Появление новых приложений. Коммерческий бум вокруг Internet и использование ее технологий при создании intranet привели к появлению в сетях TCP/IP, ранее использовавшихся в основном в научных целях, большого количества приложений нового типа, работающих с мультимедийной информацией. Эти приложения чувствительны к задержкам передачи пакетов, так как такие задержки приводят к искажению передаваемых в реальном времени речевых сообщений и видеоизображений. Особенностью мультимедийных приложений является также передача очень больших объемов информации. Некоторые технологии вычислительных сетей, например, frame relay и ATM, уже имеют в своем арсенале механизмы для резервирования полосы пропускания для определенных приложений. Однако эти технологии еще не скоро вытеснят традиционные технологии локальных сетей, не поддерживающие мультимедийные приложения (например, Ethernet). Следовательно, необходимо компенсировать такой недостаток средствами сетевого уровня, то есть средствами протокола IP.

3. Бурное расширение сети Internet. В начале 90-х годов сеть Internet расширялась очень быстро, новый узел появлялся в ней каждые 30 секунд, но 95-й год стал переломным - перспективы коммерческого использования Internet стали отчетливыми и сделали ее развитие просто бурным. Первым следствием такого развития стало почти полное истощение адресного пространства Internet, определяемого полем адреса IP в четыре байта.

4. Новые стратегии администрирования. Расширение Internet связано с его проникновением в новые страны и новые отрасли промышленности. При этом в сети появляются новые органы администрирования, которые начинают использовать новые методы администрирования. Эти методы требуют появления новых средств в базовых протоколах стека TCP/IP.

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

Основным предложением по модернизации протокола IP является IPv6, которая оставляет основные принципы IPv4 неизменными. К ним относят:

- дейтаграммный метод работы,

- фрагментация пакетов,

- разрешение отправителю задавать максимальное число хопов для своих пакетов.

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

1. Использование более длинных адресов. Новый размер адреса - наиболее заметное отличие IPv6 от IPv4. Версия 6 использует 128-битные адреса.

2. Гибкий формат заголовка. Вместо заголовка с фиксированными полями фиксированного размера (за исключением поля Резерв), IPv6 использует базовый заголовок фиксированного формата плюс набор необязательных заголовков различного формата.

3. Поддержка резервирования пропускной способности. В IPv6 механизм резервирования пропускной способности заменяет механизм классов сервиса версии IPv4.

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

 

Адресация в IPv6

 

Адреса назначения и источника в IPv6 имеют длину 128 бит или 16 байт. Версия 6 обобщает специальные типы адресов версии 4 в следующих типах адресов:

Unicast - индивидуальный адрес. Определяет отдельный узел - компьютер или порт маршрутизатора. Пакет должен быть доставлен узлу по кратчайшему маршруту.

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

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

 

Как и в версии IPv4, адреса в версии IPv6 делятся на классы, в зависимости от значения нескольких старших бит адреса.

 

Большая часть классов зарезервирована для будущего применения. Наиболее интересным для практического использования является класс, предназначенный для провайдеров услуг Internet, названный Provider-Assigned Unicast.

 

Адрес этого класса имеет следующую структуру: 010 Идентификатор

провайдера Идентификатор

абонента Идентификатор

подсети Идентификатор

узла

 

 

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

 

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

 

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

 

Под поле идентификатора узла требуется выделения не менее 6 байт, для того чтобы можно было использовать в IP-адресах МАС-адреса локальных сетей непосредственно.