1632
правки
Изменения
IP
,rollbackEdits.php mass rollback
[[Файл:ip_in.jpg|right|IPв модели OSI и стеке TCP/IP.]] '''IP''' (''Internet Protocol'') - протокол сетевого уровня стека TCP/IP. Протокол был создан в 1981 году и описан в RFC 791. Основной задачей протокола является доставка датаграмм между хостами сетей TCP/IP через произвольное число промежуточных узлов (маршрутизаторов). Функции, реализуемые IP:* Основа передачи данных.* Адресация.* Маршрутизация.* Фрагментация датаграмм. Протокол IP не гарантирует надежной доставки пакета: пакеты могут прийти в неправильном порядке, пакет может быть утерян, пакет может продублироваться или оказаться поврежденным. За надежность доставки пакетов отвечают протоколы транспортного уровня. На данный момент наиболее распространена четвертая версия протокола (IPv4), однако ведутся активные работы по внедрению более совершенного IPv6.
{| class="wikitable" style="margin: 0 auto; text-align: center;"
|+Структура заголовка IPv4 Header Format
|-
* Остаток (Padding): переменная длина
** Часть из нулей, гарантирующая, что длина заголовка заканчивается на 32 бите.
===Пример===
IPv4 и его расположение внутри кадра.
[[Файл:ipv4_example.png|IPv4 example.]]
==IPv6==
* Адрес получателя (''Destination address'')
** 128 бии. IPv6 адрес получателя.
== IP-адрес ==
{{Определение
|definition=IP-адрес — уникальный сетевой адрес узла в компьютерной сети, построенной по протоколу IP.
}}
=== IPv4-адрес ===
IPv4 использует 32-битные адреса, ограничивающие адресное пространство 4 294 967 296 (2<sup>32</sup>) возможными уникальными адресами. У каждого хоста и маршрутизатора в Интеренете есть IP-адрес. IP-адрес не имеет отношения к хосту. Он имеет отношение к сетевому интерфейсу, поэтому иногда хост или маршрутизатор могут иметь несколько IP-адресов.
IP-адреса имеют иерархическую организацию. Первая часть имеет переменную длину и задает сеть, а последняя указывает на хост.
Обычно IP-адреса записываются в виде 4 десятичных чисел, каждое в диапозоне от 0 до 255, разделенными точками ('''dot-decimal notation'''). Каждая часть представляет один байт адреса. Например, шестнадцатиричный адрес 80D00297 записывается как 128.208.2.151.
{{Определение
|definition=Префикс — непрерывный блок пространства IP-адресов, соответствующий сети, в которой сетевая часть совпадает для всех хостов.
}}
Префикс задается наименьшим IP-адресом в блоке и размером блока. Размер определяется числом битов в сетевой части, оставшиеся биты в части хоста могут варьироваться. Таким образом, размер является степенью двойки. Он записывается после префикса IP-адреса в виде слэша и длины сетевой части в битах. В предыдущем примере префикс содержит 2<sup>8</sup> адресов и поэтому для сетевой части отводится 24 бита. Записывается так: 128.208.2.0/24.
=== Сетевые адреса, адреса интерфейсов и широковещательные адреса ===
IP адрес может означать одно из трех:
* Адрес IP сети (группа IP устройств, имеющих доступ к общей среде передаче - например, все устройства в сегменте Ethernet). Сетевой адрес всегда имеет биты интерфейса (хоста) адресного пространства установленными в 0 (если сеть не разбита на подсети);
* Широковещательный адрес IP сети (адрес для 'разговора' со всеми устройствами в IP сети). Широковещательные адреса для сети всегда имеют интерфейсные (хостовые) биты адресного пространства установленными в 1 (если сеть не разбита на подсети).
* Адрес интерфейса (например Ethernet-адаптер или PPP интерфейс хоста, маршрутизатора, сервера печать итд). Эти адреса могут иметь любые значения хостовых битов, исключая все нули или все единицы - чтобы не путать с адресами сетей и широковещательными адресами.
=== IPv6-адрес ===
Адрес в IPv6 представляется как восемь групп из четырех шестнадцатеричных чисел, разделенных двоеточиями.
При записи адреса используются следующие правила:
* Если одна и более групп, идущих подряд, равны 0000, то они опускаются и заменяются на двойное двоеточие.
* Незначащие старшие нули в группах опускаются.
* Для записи встроенного или отображенного IPv4 адреса последние две группы цифр заменяются на IPv4 адрес.
* При использовании IPv6 адреса в [[URL]] он помещается в квадратные скобки.
* Порт в [[URL]] пишется после закрывающей квадратной скобки.
===Типы IPv6 адресов===
* Групповой (''Anycast'') - для отправки пакета на "любой" индивидуальный адрес. Такой адрес может быть назначен нескольким устройствам. Пакет будет доставлен ближайшему устройству с этим адресом.
===НотацияФрагментация===Адрес Большинство каналов передачи данных устанавливают максимальную длину пакета (''MTU''). В случае, когда длина пакета превышает это значение, происходит фрагментация.{{Определение|definition=IP-фрагментация - разбиение пакета на множество частей, которые могут быть повторно собраны позже.}} ==Маршрутизация== Протокол IP требует, чтобы в маршрутизации участвовали все узлы (компьютеры). Длина маршрута, по которому будет передан пакет, может меняться в IPv6 представляется как восемь групп зависимости от того, какие узлы будут участвовать в доставке пакета. Каждый узел принимает решение о том, куда ему отправлять пакет на основании таблицы маршрутизации (''routing tables''). {{Определение|definition=Подсеть - логическое разбиение сети IP.}} === Маска подсети ===Длина префикса не выводится из четырех шестнадцатеричных чиселIP-адреса, разделенных двоеточиямипоэтому протоколу маршрутизации вынуждены передавать префиксы на маршрутизаторы. Иногда префиксы задаются с помощью указания длины.При записи {{Определение|definition=Маска подсети — двоичная маска, соответствующая длине префикса, в которой единицы указывают на сетевую часть.}} То есть маска подсети определяет как будут локально интерпретироваться IP адреса используются следующие правилав сегменте IP сети, что для нас весьма важно, поскольку определяет процесс разбивки на подсети. Стандартная маска подсети - все сетевые биты в адресе установлены в '1' и все хостовые биты установлены в '0'.Выполненение операции И между маской и IP-адресом позволяет выделить сетевую часть. О маске подсети нужно помнить три вещи:* Если одна Маска подсети предназначена только для локальной интерпретации локальных IP адресов (где локальный значит - в том же сетевом сегменте);* Маска подсети - не IP адрес - она используется для локальной модификации интерпретации IP адреса. === Бесклассовая междоменная маршрутизация === Изначально использовалась классовая адресация (INET), но со второй половины 90-х годов XX века она была вытеснена бесклассовой адресацией (CIDR), при которой количество адресов в сети определяется маской подсети. Таблицы маршрутизации со временем сильно растут, и более группс этим нужно что-то делать. Маршрутизатор может узнавать о расположении IP-адресов по префиксам различной длины. Но вместо того чтобы разделять сеть на подсети, мы объединим несколько коротких префиксов в один длинный. Этот процесс называется '''агрегацией маршрута (route aggregation)'''. Длинный префикс, идущих подрядполученный в результате, равны 0000иногда называют '''суперсетью (supernet)''', то они опускаются в противоположность подсетям с разделением блоков адресов. [[Файл:Cidr_aggregation.png|right|Пример агрегации маршрута.]] При агрегации IP-адреса содержатся в префиксах различной длины. Один и заменяются на двойное двоеточиетот же IP-адрес может рассматриваться одним маршрутизатором как часть блока /22 (содержащего 2<sup>10</sup> адресов), а другим — как часть более крупного блока /20 (содержащего 2<sup>12</sup> адресов). Это зависит от того, какой информацией обладает маршрутизатор. Такой метод называется '''CIDR (Classless InterDomain Routing — бесклассовая междоменная маршрутизация)'''.* Незначащие старшие нули Также префиксы могут пересекаться. Согласно правилу, пакеты передаются в направлении самого специализированного блока, или '''самого длинного совпадающего префикса (longest matching prefix)''', в группах опускаютсякотором находится меньше всего IP-адресов. '''По сути CIDR работает так:''' * Для записи встроенного или отображенного IPv4 адреса последние две группы цифр заменяются на IPv4 Когда прибывает пакет, необходимо определить, относится ли данный адреск данному префиксу; для этого просматривается таблица маршрутизации. Может оказаться, что по значению подойдет несколько записей. В этом случае используется самый длинный префикс. То есть если найдено совпадение для маски /20 и /24, то для выбора исходящей линии будет использоваться запись, соответствующая /24.* При использовании IPv6 Однако этот процесс был бы трудоемким, если бы таблица маршрутизации просматривалась запись за записью. Вместо этого был разработан сложный алгоритм для ускорения процесса поиска адреса в таблице (Ruiz-Sanchez и др., 2001). *В маршрутизаторах, предполагающих коммерческое использование, применяются специальные чипы [[VLSI]], в которые данные алгоритмы встроены аппаратно. === Классы IP-сетей === [[URLФайл:Ip-classes.jpg|right|Классы IP.]] он помещается Раньше использовали классовую адресацию. Сколько бит используется сетевым ID и сколько бит доступно для идентификации хостов (интерфейсов) в квадратные скобкиэтой сети, определяется сетевыми '''классами'''. Всего 5 классов IP-адресов: '''A''', '''B''', '''C''', '''D''', '''E'''. Их структура и диапазоны указаны на рисунке. Существует также специальные адреса, которые зарезервированы для 'несвязанных' сетей - это сети, которые используют IP, но не подключены к Internet. Вот эти адреса:* Одна сеть класса A: 10.0.0.0* 16 сетей класса B: 172.16.0.0 - 172.31.0.0* 256 сетей класса С: 192.168.0.0 - 192.168.255.0 Стандартные маски подсети для трех классов сетей: * A класс - маска подсети: 255.0.0.0* B класс - маска подсети: 255.255.0.0* C класс - маска подсети: 255.255.255.0 ==Полезные ссылки==* Information Sciences Institute, University of Southern California (September 1981). "RFC 791". Internet Engineering Task Force. Retrieved July 12, 2016.* [http://how-to.ru/linux/howto/IP-Subnetworking-HOWTO.html IP Sub-networking Mini-Howto]* Таненбаум Э, Уэзеролл Д. Компьютерные сети. — Питер, 2012. — 960 с* Порт в [https://en.wikipedia.org/wiki/Internet_Protocol Wiki]* [URLhttp://www.cisco.com/cisco/web/support/RU/107/1075/1075653_3.html IP-адресация]* [https://www.ict.tuwien.ac.at/lva/384.081/datacom/09-IP_Technology_v6-1_handout.pdf Data Communication Lectures of Manfred Lindner – Part IP Technology Fundamentals] пишется после закрывающей квадратной скобки* [https://www.ict.tuwien.ac.at/lva/384.081/datacom/10-IP_Routing_v6-1_handout.pdf Data Communication Lectures of Manfred Lindner – Part IP Routing Fundamentals]