Протокол IP (Internet Protocol)

Лабораторная работа № 1. Изучение протокола IP. Определение диапазона адресов подсети.

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

ОБЩИЕ СВЕДЕНИЯ

 

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

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

1. Адреса должны быть уникальны. В сети не может быть нескольких участников с одинаковыми адресами во избежание неоднозначности.

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

Это приводит к структурности адреса – адрес разбивается на части, позволяющие определить местоположение участника внутри сети.

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

По сложной структуре легче построить маршрут прохождения пакета, но адрес оказывается сложным и перегруженным часто ненужной информацией. Примером такой адресации может служить доменная адресация в Интернет, по адресу asu.bru.mogilev.by нетрудно понять, где находится данный участник сети и как до него добраться.

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

Протокол IP (Internet Protocol)

Архитектуру сетевого уровня удобно рассматривать на примере сетевого протокола IP – самого распространенного в настоящее время, основного протокола сети Интернет. Термин «стек протоколов TCP/IP» означает «набор протоколов, связанных с IP и TCP(протоколом транспортного уровня)».

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

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

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

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

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

Таким образом, адрес получателя должен содержать в себе:

1. номер (адрес) подсети;

2. номер (адрес) участника (хоста) внутри подсети.

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

192.168.200.47

является десятичным эквивалентом двоичного адреса

11000000.10101000.11001000.00101111

Иногда применяют десятичное значение IP-адреса. Его легко вычислить

192*2563+168*2562+200*256+47=3232286767

или с помощью метода Горнера :

(((192*256)+168)*256+200)*256+47=3232286767

 

Количество разрядов адреса подсети может быть различным и определяется маской сети.

Маска сети также является 32-х разрядным двоичным числом. Разряды маски имеют следующий смысл:

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

1. если разряд маски равен 0, то разрядом хоста внутри подсети.

Все единичные разряды маски (если они есть) находятся в старшей (левой) части маски, а нулевые (если они есть) – в правой (младшей).

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

255.255.248.0 (11111111.11111111.11111000.00000000) –

является правильной маской подсети (/21), а

255.255.250.0 (11111111.11111111.11111010.00000000) –

является неправильной, недопустимой.

Нетрудно увидеть, что максимальный размер подсети может быть только степенью двойки (двойку надо возвести в степень, равную количеству нулей в маске).

При передаче пакетов используются правила маршрутизации, главное из которых звучит так: «Пакеты участникам своей подсети доставляются напрямую, а остальным – по другим правилам маршрутизации».

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