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

Первый стандарт IPv4 определен в RFC-760 (1980 г.).

Последняя версия IPv4 – RFC-791 (1981 г.).

Первый стандарт IPv6 определен в RFC-1883 (1995 г.).

Последняя версия IPv6 – RFC-2460 (Internet Protocol, Version 6 Specification, S. Deering, R. Hinden, December 1998).

Понятие IP-адреса.

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

IP-адрес компьютера состоит из четырех полей, разделяемых точкой. Каждое поле содержит число, значение которого лежит в пределах от 0 до 255. Такой формат называется точечно-десятичной нотацией. Для хранения данных, в вычислительной технике используются двоичные числа, поэтому IP-адрес можно представить и в двоичном виде.

Двоичный формат

11000000 10101000 00000011 00011000

Десятичный формат

192.168.3.24

В двоичном формате IP-адрес состоит из 32 битов, которые разбиты на четыре октета (поля по 8 бит).

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

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

Класс A. Сеть класса A имеет адреса, которые начинаются с числа от 1 до 127 для первого октета, а остальная часть адреса - это адрес узла. Таким образом класс A допускает максимум 126 сетей, а в каждой из них до 16 777 214 компьютеров. Как правило это сети огромных компаний, которых в мире немного, объединяющих большое число сетевых устройств.

Класс B. В сети класса B для описания адреса сети используется первые два октета, а остальная часть - это адреса узлов. Первый октет принимает значения от 128 до 191, что дает максимум 16 384 сети, в каждой из которых до 65 534 узла. Адреса класса B назначаются сетям большого и среднего размера.

Класс С. Адреса сетей класса C начинаются с числа от 192 до 223 и используют три первых октета для описания адреса сети. Последний октет обозначает адрес узла. Таким образом, класс C допускает максимум 2 097 152 сети, по 254 компьютера в каждой. Адреса этого класса назначают малым сетям.

Адрес сети класса A, начинающийся на 127 зарезервирован для тестирования и недоступен для использования.

Адреса класса D представляют собой групповые адреса и назначаются группам узлов. Это используется некоторыми сетевыми службами для так называемой многоадресной рассылки. Диапазон адресов класса E зарезервирован и в настоящее время не используется.

Понятие IP-сети

С точки зрения протокола IP, сеть (например, корпоративная или Интернет) рассматривается как иерархическая структура. На нижнем уровне иерархии расположено множество узлов (компьютеров или других устройств), представленных уникальными IP-адресами. Соотношение между физическими и логическими узлами можно описать следующим образом: одно и тоже физическое устройство (компьютер и др.) может иметь несколько IP-адресов, т.е. соответствовать нескольким логическим узлам. Обычно такая ситуация возникает, если устройство имеет несколько сетевых адаптеров и/или модемов, поскольку с каждым из них должен быть связан как минимум один уникальный IP-адрес. Хотя нередко компьютеру, имеющему один сетевой адаптер или модем, может быть присвоено несколько IP-адресов. Если физическое устройство имеет несколько IP-адресов, то говорят, что оно имеет несколько интерфейсов, т.е. несколько "точек подключения" к логической сети. Второй уровень образуется группировкой узлов (по совпадению номеров сетей в IP-адресах) в логические сети (IP-сети). Связь между логическими сетями осуществляют специальные устройства - шлюзы, отвечающие за целенаправленную передачу данных. Дополнительно шлюзы могут выполнять функции, связанные с обеспечением безопасности передаваемых данных, преобразование адресов, фильтрацию и т.п. Шлюзы, которые осуществляют только перенаправление данных из одной IP-сети в другую, называются маршрутизаторами, а процесс целенаправленной доставки данных между IP-сетями - маршрутизацией.

Подсети и маски подсетей.

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

Для настройки подсети используется маска подсети, которая предназначена для определения адреса сети независимо от класса сети. Формат записи маски подсети такой же как и формат IP-адреса, это четыре двоичных октета или четыре поля, разделяемых точкой. Значения полей маски задаются следующим образом:

все биты, установленные в 1, соответствуют идентификатору сети;

все биты, установленные в 0, соответствуют идентификатору узла.

Класс сети            Биты маски подсети            Маска подсети

A 11111111  00000000  00000000  00000000   255.0.0.0

B 11111111  11111111  00000000  00000000   255.255.0.0

C 11111111  11111111  11111111  00000000   255.255.255.0

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

Использование в паре с IP-адресом маски подсети позволяют отказаться от применения классов адресов и сделать более гибкой всю систему IP-адресации. Так, например, маска 255.255.255.240 (11111111 11111111 11111111 11110000) позволяет разбить диапазон в 254 IP-адреса, относящихся к одной сети класса C, на 14 диапазонов, которые могут выделяться разным сетям.

Таким образом, если IP-адрес компьютера 192.168.0.1 и маска подсети 255.255.255.0, то номер сети 192.168.0, а номер компьютера 1.

Если локальная сеть состоит из пяти компьютеров, то IP-адреса компьютеров будут записаны следующим образом:

ip 192.168.0.1 маска 255.255.255.0

ip 192.168.0.2 маска 255.255.255.0

ip 192.168.0.3 маска 255.255.255.0

ip 192.168.0.4 маска 255.255.255.0

ip 192.168.0.5 маска 255.255.255.0

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

Класс сети            Биты маски подсети            Префикс сети            Маска подсети

A 11111111  00000000  00000000  00000000   /8         255.0.0.0

B 11111111  11111111  00000000  00000000   /16       255.255.0.0

C 11111111  11111111  11111111  00000000   /24       255.255.255.0

Например, запись 192.168.0.1 /24 соответствует записи 192.168.0.1 маска 255.255.255.0. Представление маски подсети в виде префикса сети называется методом CIDR (Classless Interdomain Routing).

Общие и частные адреса.

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

Частное адресное пространство определяется следующими адресными блоками:

от 10.0.0.1 до 10.255.255.254

от 172.16.0.1 до 172.31.255.254

от 192.168.0.1 до 192.168.255.254

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

Если количество компьютеров в сети не будет превышать 254, то рекомендуется использовать адреса из диапазона от 192.168.0.1 до 192.168.0.254 с маской подсети 255.255.255.0. Тогда 192.168.0 будет номер сети, а адреса компьютеров от 1 до 254.

Если компьютеров будет больше, чем 254, то можно использовать диапазон от 192.168.0.1 до 192.168.255.254 с маской подсети 255.255.0.0. Тогда 192.168 будет номер сети, а адреса компьютеров от 0.1 до 255.254 (это более 65 000 адресов).

Адресные блоки 10.0.0.1 и 172.16.0.1 предназначены для более крупных компьютерных сетей.

Если в компьютер установлено несколько сетевых адаптеров, то каждый адаптер должен иметь свой уникальный IP-адрес. Такие компьютеры используются для соединения нескольких локальных сетей и называются маршрутизаторами (Router).

Динамические и статические IP-адреса. DHCP.

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

Администратор сети должен вести учет всех используемых адресов, чтобы исключить повторы

При большом количестве компьютеров в локальной сети установка и настройка IP-адресов отнимают много времени

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

Если компьютеру не присвоен статический IP-адрес, то адрес назначается автоматически. Такой адрес называется динамическим адресом, т.к. при каждом подключении компьютера к локальной сети адрес может меняться. К достоинствам динамических адресов можно отнести:

·      Централизованное управление базой IP-адресов

·      Надежная настройка, исключающая вероятность дублирования IP-адресов

·      Упрощение сетевого администрирования

Структура IP-пакета: заголовок и блок данных.

 

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

Рис. 3.1. Формат IP-пакета

 

Функциональное назначение полей заголовка.

Поле Версия (Version) указывает номер версии данного протокола межсетевого уровня. В настоящее время наряду с 4-й версией протокола (т.е. в поле — 0100) начинается использование протокола 6-й версии (т.е. в поле — 0110).

Поле Длина заголовка (Header Length) указывает длину заголовка межсетевой дейтаграммы в 32-разрядных словах. Минимальная длина — пять слов, максимальная длина — пятнадцать 32-разрядных слов (на рисунке заголовок имеет шесть слов).

Поле Тип сервиса (Type of Service) указывает параметры требуемого качества обслуживания.

Поле Полная длина пакета (Total Length) определяет общую длину дейтаграммы в октетах (байтах), включая заголовок и полезную нагрузку. Полная длина пакета может достигать 65535 байт (216 - 1=65 535). Рекомендуется использовать дейтаграмму длиной 576 байт (т.е. 4608 разрядов) — 552 байта данные плюс 24 байта заголовок.

Поле Общий идентификатор (Identification) предназначено для сборки фрагментов межсетевых дейтаграмм.

Поле Флаг (Flag) обеспечивает возможность фрагментации дейтаграмм и, при использовании фрагментации, позволяет идентифицировать последний фрагмент дейтаграммы.

Поле Фрагментное смещение указывает место данного фрагмента в межсетевой дейтаграмме. Первый фрагмент имеет смещение, равное нулю.

Для устранения из сети пакетов, задержанных вследствие каких-либо причин, в заголовке в поле Время жизни (TTL - Time To Live) указывается время, в течение которого пакет должен существовать в сети. Значение этого времени уменьшается при прохождении пакета по сети, а по его истечении пакет уничтожается с уведомлением отправителя соответствующим ICMP-сообщеним. Такая мера защищает сеть от циклических маршрутов и от перегрузок.

«Время жизни» задаётся в секундах — максимально 255 секунд (приблизительно 4,3 минуты). Однако часто в этом поле указывается максимальное количество хостов, через которые может пройти дейтаграмма (пакеты, которые посылаются протоколом, не требующим соединения). Это является полезным в том случае, когда задержки в сети имеют достаточно большие значения; тогда даже при суммарной задержке более 255 секунд есть вероятность доставки дейтаграммы получателю, если количество транзитных хостов не превысило максимально допустимое значение, определённое в данном поле. Поле Тип протокола (Protocol) идентифицирует протокол верхнего уровня (ICMP - 1, IGMP - 2, TCP - 6, UDP - 17), который будет использован при обработке поля данных межсетевой дейтаграммы. Протоколы транспортного уровня (протоколы TCP или UDP), пользующиеся сетевым уровнем для отправки пакетов, считают, что максимальный размер поля данных IP-пакета равен 65535, и поэтому могут передать ему сообщение такой длины для транспортировки через сеть. В функции протокола IP входит разбиение слишком длинного для конкретного типа составляющей сети сообщения на более короткие пакеты с созданием соответствующих служебных полей, нужных для последующей сборки фрагментов в исходное сообщение. В большинстве типов локальных и глобальных сетей определяется такое понятие как максимальный размер поля данных кадра или пакета, в которые должен инкапсулировать свой пакет протокол IP (MTU - Maximum Transfer Unit). Так, например, сети Ethernet имеют значение MTU, равное 1500 байт, сети FDDI - 4096 байт, а сети Х.25 чаще всего работают с MTU в 128 байт. Поле Контрольная сумма заголовка (Header Checksum). Для уменьшения вероятности искажения адресной части пакета и, как результат, отправки его не по адресу (и потере) заголовок пакета препровождается проверочной последовательностью - контрольной суммой, занимающей 2 байта и рассчитываемой по всему заголовку. Для вычисления контрольной суммы IP-заголовка в исходящей дейтаграмме значение этого поля сначала устанавливается в 0. Затем выполняется сложение (с циклическим переносом из старшего разряда в младший) всех 16-разрядных слов заголовка, и инвертированное значение результата записывается в поле контрольной суммы. При получении IP-дейтаграммы вновь вычисляется сумма 16-разрядных слов заголовка. Так как в заголовке принятой дейтаграммы уже содержится сосчитанная (и инвертированная) отправителем контрольная сумма, в результате должно получиться слово, состоящее только из единиц (если в заголовке ничего не изменилось). Если же получилась другая комбинация (ошибка контрольной суммы), IP-модуль уничтожает дейтаграмму. Никакого сообщения об ошибке не порождается. Обнаружение потери дейтаграммы и повторная передача считаются проблемой, решаемой на вышестоящих уровнях иерархии протоколов. Поскольку некоторые поля заголовка меняются в процессе движения пакета (например, время жизни), то проверочные разряды пересчитываются в каждой точке обработки межсетевой дейтаграммы. IP-адреса, содержащиеся в заголовке (IP-адрес отправителя (Source Address), IP-адрес получателя (Destination Address)), являются 32-битовыми идентификаторами объектов сети - оконечных установок и маршрутизаторов. Они состоят из идентификаторов сетей и идентификаторов оконечных установок, причем в зависимости от класса сети число бит, выделяемых для идентификации сетей и оконечных установок, может меняться. Предусмотрена также возможность использования групповых адресов. Существуют 5 классов IP-адресов, отличающихся количеством бит в сетевом номере и номере оконечной установки (узла). Класс адреса определяется значением его первого октета.

Поле Вспомогательные параметры IP (опции IP) (Options) — определяет наличие дополнительных услуг, имеет переменную длину и может присутствовать или отсутствовать в межсетевой дейтаграмме.

Поле Заполнитель (Padding) применяется для выравнивания заголовка на 32-разрядную границу.

 

Hosted by uCoz