Адресация

Фрагментация

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

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

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

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

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

Смещение фрагмента и длина определяют кусок исходной датаграммы, принесенный этим фрагментом. Флаг "more fragments" показывает (посредством перезагрузки) появление последнего фрагмента. Эти поля дают достаточное количество информации для сборки датаграмм.

Поле идентификации позволяет отличить фрагменты одной датаграммы от фрагментов другой. Модуль IP, отправляющий пакет, устанавливает в поле идентификации значение, которое должно быть уникальным для данной пары отправитель - получатель, а также время, в течении которого датаграмма будет активна в системе Internet. Модуль протокола, отправляющий нерасчлененную датаграмму, устанавливает в нуль флаг "more fragments" и смещение во фрагменте.

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

Адреса в протоколе IP состоят из четырех байт. Их принято записывать в так называемой `dotted decimal notation' (десятичной нотации). В ней каждый байт представляется десятичным числом (0-255), байты разделены знаками '.' Каждому сетевому интерфейсу на компьютере или маршрутизаторе присваивается IP-адрес. Возможно использование одного адреса несколькими интерфейсами на одной машине, но как правило этого не делают.

IP-сетью называют непрерывную последовательность IP-адресов, такую, что все адреса из последовательности имеют одинаковые старшие биты. Часть адреса, присутствующая во всех адресах последовательности называется сетевой частью' адреса. Оставшаяся часть называется `машинной частью' Биты, соответствующие сетевой части называется `маской'. С помощью маски определяют, какие адреса принадлежат сети, а какие -- нет. В качестве примера рассмотрим следующую IP-сеть:

Адрес машины 192.168.110.23

Маска 255.255.255.0

Сетевая часть 192.168.110.

Машинная часть .23

Адрес сети 192.168.110.0

Широковещательный адрес 192.168.110.255

Применяя к адресу и маске операцию `побитовое И' получаем адрес сети. Таким образом, адрес сети всегда является наименьшим в последовательности и имеет нулевую машинную часть. `Широковещательный' адрес -- специальный адрес, который "слушают" все машины в сети, кроме своего собственного. По этому адресу отправляются пакеты, предназначенные всем машинам в сети. Таким образом передается информация о маршрутизации или сетевые сообщения об ошибках. Есть два стандарта того, какой адрес в сети использовать в качестве широковещательного. Наиболее распространенный стандарт -- использовать для этого наибольший адрес в IP-сети. В приведенном примере это 192.168.110.255.

По административным причинам на ранних стадиях разработки протокола IP, некоторые группы адресов были сгруппированы в сети и разбиты на классы. Каждый класс состоит из сетей одинакового объема.

Класс маска сетевые адреса

A 255.0.0.0 0.0.0.0 -126.255.255.255

B 255.255.0.0 128.0.0.0 -191.255.255.255

C 255.255.255.0 192.0.0.0 -223.255.255.255

D 240.0.0.0 224.0.0.0 - 239.255.255.255 - multicast

E 254.0.0.0 239.0.0.0 - 254.255.255.255 - experimental