Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Данные выравнивания (Padding)




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

3.2. IP-адрес

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

 

 

Сети классов А, В и С абсолютно равноправны и отличаются лишь допустимым количеством узлов в них. Идентификаторы узлов, состоящие из одних нулевых или единичных битов имеют специальный смысл:

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

· IP-адрес с идентификатор узла в виде единичных битов является широковещательным (broadcast) адресом.

 

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

Каждый узел в сети имеет, по крайней мере, один уникальный IP-адрес.

Кроме классов А, В и С существуют еще два класса IP-адресов - D и Е (см. рис. 3.3).

 

Класс D используется для организации многопунктового (multicast) режима посылки сообщений: IP-сегмент, посылаемый по по IP-адресу класса D, доставляется всем узлам сети, имеющим указанный идентификатор группы узлов. Описание данного режима дано в RFC 1112.

 

Примечание. Не все современные реализации протоколов TCP/IP поддерживают многопунктовое вещание.

 

Для обеспечения гибкости при создании и администрировании сетей различного размера в 1985 г. было введено понятие "подсеть" (RFC 950), позволяющее использовать один и тот же IP-адрес классов А,В или С для разных подсетей.

Такая возможность обеспечивается специальной битовой маской (netmask),

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

Пусть, например, IP-адрес класса С 194.85.36.0 планируется использовать для организации четырех подсетей. Это потребует выделения двух битов из части IP-адреса, относящейся к идентификатору узла. Такое "перепланирование" структуры IP-адреса реализуется сетевой маской 255.255.255.192, где десятичное 192 - это двоичное 11000000.

Эта сетевая маска формирует IP-адрес не из двух, а из трех компонент:

· идентификатор сети (24 бита);

· идентификатор подсети (2 бита);

· идентификатор узла (6 бит).

 

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

Примечание. Для идентификатора подсети можно выделять только старшие (самые левые) биты из части IP-адреса, отводимой под идентификатор узла.

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

Примечание. Некоторые современные реализации протоколов маршрутизации для TCP/IP позволяют выделять "подподсети" в подсетях.

 

3.3. Фрагментация IP-сегментов

Для того, чтобы существовала возможность передачи IP-сегментов через сети различного типа, межсетевой протокол обеспечивает адаптацию их размера к требованиям каждой сети. Это дает возможность, например, IP-сегментам, порожденным в сети на базе Ethernet (максимальный размер кадра - 1526 байт), беспрепятственно перемещаться до адресата по сети на базе Х.25 (максимальный размер кадра - 128 байт). Изменение размера IP-сегмента в процессе перемещения по сети может быть связано и с соображениями эффективности передачи.

Изменение размера IP-сегмента реализуется механизмом, называемым фрагментацией. IP-модуль на любом узле сети должен иметь возможность:

1. разбивать полученный им IP-сегмент на IP-фрагменты необходимого размера перед их передачей через конкретную сеть;

2. восстанавливать исходный IP-сегмент из получаемых им IP-фрагментов.

 

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

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

Рассмотрим процесс фрагментации более подробно на следующем примере. IP-модуль на некотором узле получил IP-сегмент с идентификатором 9876 и данными длиной 300 байт (при этом бит запрета фрагментации DF установлен в 0). Этот IP-сегмент должен быть передан дальше к адресату через сеть, максимальный размер кадра которой равен 128 байтам.

Рис. 3.4 схематично представляет разбиение исходного IP-сегмента на 3 IP-фрагмента.

Рис. 3.4

 

IP-фрагмент 1 содержит в своем заголовке следующую информацию:

1. 1. идентификатор - 9876;

2. длина заголовка - 5 (четырехбайтных слов);

3. длина сегмента - 124 (байт);

4. бит МР - 1;

5. смещение фрагмента - 0 (восьмибайтных единиц).

 

IP-фрагмент 2 содержит в своем заголовке следующую информацию:

1. 1. идентификатор - 9876;

2. длина заголовка - 5 (четырехбайтных слов);

3. длина сегмента - 124 (байт);

4. бит МР- 1;

5. смещение фрагмента - 13 (восьмибайтных единиц).

 

IP-фрагмент 3 содержит в своем заголовке следующую информацию:

1. 1. идентификатор - 9876;

2. длина заголовка - 5 (четырехбайтных слов);

3. длина сегмента - 1 12 (байт);

4. битМР-0;

5. смещение фрагмента - 26 (восьмибайтных единиц).

 

Заметим, что т.к. смещение фрагмента измеряется в восьмибайтных единицах, то длина данных в каждом IP-фрагменте (кроме последнего в цепочке) обязательно должна быть кратна 8. Вот почему в нашем примере это 104 байта (13 восьмибайтных единиц), а не 108, как допускает максимальная длина кадра в 128 байт (128 - 20 - 108, где 20 – длина заголовка).

IP-модуль на принимающем IP-фрагменты узле в ситуации, когда он должен транслировать IP-сегмент далее по сети, имеет три варианта действий с фрагментами;

1. переслать IP-фрагменты далее неизменными;

2. разбить (если в этом есть необходимость) полученные IP-фрагменты на более
короткие IP-фрагменты;

3. восстановить исходный IP-сегмент из фрагментов.

 

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

3.4. Дополнительные данные IP-заголовка

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

 

Предписываемый маршрут

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

 

Пройденный маршрут

список IP-адресов узлов сети, которые посетил IP-сегмент по пути к адресату. Каждый транзитный узел, через который следует IP-сегмент, помещает в этот список свой IP-адрес.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...