stringtranslate.com

IPv4

Интернет-протокол версии 4 ( IPv4 ) — первая версия Интернет-протокола (IP) как отдельной спецификации. Это один из основных протоколов основанных на стандартах методов межсетевого взаимодействия в Интернете и других сетях с коммутацией пакетов . IPv4 был первой версией, развернутой для производства на SATNET в 1982 году и на ARPANET в январе 1983 года. Он по-прежнему используется для маршрутизации большей части интернет-трафика сегодня, [1] даже с продолжающимся развертыванием Интернет-протокола версии 6 (IPv6), [2] его преемника.

IPv4 использует 32-битное адресное пространство, которое обеспечивает 4 294 967 296 (2 32 ) уникальных адресов, но большие блоки зарезервированы для специальных сетевых целей. [3] [4]

История

Ранние версии TCP/IP были объединенной спецификацией через TCP/IPv3. С IPv4 интернет-протокол стал отдельной спецификацией. [5]

Интернет-протокол версии 4 описан в публикации IETF RFC 791 (сентябрь 1981 г.), заменив более раннее определение от января 1980 г. (RFC 760). В марте 1982 г. Министерство обороны США приняло решение о наборе интернет-протоколов (TCP/IP) в качестве стандарта для всех военных компьютерных сетей . [6]

Цель

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

IPv4 — это протокол без установления соединения , работающий по модели доставки «лучшее из возможного» , то есть не гарантирующий доставку, а также не гарантирующий надлежащую последовательность или избегание дублирования доставки. Эти аспекты, включая целостность данных, решаются транспортным протоколом верхнего уровня , таким как протокол управления передачей (TCP).

Адресация

Разложение четырехточечного представления адреса IPv4 на его двоичное значение

IPv4 использует 32-битные адреса, что ограничивает адресное пространство до 4 294 967 296 (2 32 ) адресов.

IPv4 резервирует специальные блоки адресов для частных сетей (2 24  + 2 20  + 2 16  ≈ 18 миллионов адресов) и многоадресных адресов (2 28  ≈ 268 миллионов адресов).

Адресные представительства

Адреса IPv4 могут быть представлены в любой нотации, выражающей 32-битное целое число. Чаще всего они записываются в точечно-десятичной нотации , которая состоит из четырех октетов адреса, выраженных по отдельности в десятичных числах и разделенных точками .

Например, IP-адрес с четырьмя точками на рисунке ( 172.16.254.1 ) представляет собой 32-битное десятичное число 2886794753, которое в шестнадцатеричном формате равно 0xAC10FE01.

Нотация CIDR объединяет адрес с его префиксом маршрутизации в компактном формате, в котором за адресом следует символ косой черты (/) и количество ведущих последовательных единичных бит в префиксе маршрутизации (маска подсети).

Другие представления адресов были широко распространены, когда практиковались классовые сети . Например, адрес обратной связи 127.0.0.1 обычно записывался как 127.1 , учитывая, что он принадлежит к сети класса A с восемью битами для маски сети и 24 битами для номера хоста. Когда в адресе в точечной нотации указывалось менее четырех чисел, последнее значение рассматривалось как целое число из такого количества байтов, которое требуется для заполнения адреса до четырех октетов. Таким образом, адрес 127.65530 эквивалентен 127.0.255.250 .

Распределение

В первоначальном дизайне IPv4 IP-адрес был разделен на две части: идентификатор сети был самым значимым октетом адреса, а идентификатор хоста был остальной частью адреса. Последнее также называлось полем rest . Эта структура допускала максимум 256 идентификаторов сети, что быстро было признано недостаточным.

Чтобы преодолеть это ограничение, в 1981 году был переопределен самый значимый октет адреса для создания классов сетей в системе, которая позже стала известна как классовая сеть. Пересмотренная система определила пять классов. Классы A, B и C имели разную длину бит для сетевой идентификации. Остальная часть адреса использовалась, как и ранее, для идентификации хоста в сети. Из-за разных размеров полей в разных классах каждый класс сети имел разную емкость для адресации хостов. В дополнение к трем классам для адресации хостов, класс D был определен для многоадресной адресации, а класс E был зарезервирован для будущих приложений.

Разделение существующих классовых сетей на подсети началось в 1985 году с публикацией RFC  950. Это разделение стало более гибким с введением масок подсетей переменной длины (VLSM) в RFC  1109 в 1987 году. В 1993 году на основе этой работы RFC  1517 представил бесклассовую междоменную маршрутизацию (CIDR), [7] которая выражала количество бит (начиная с самого старшего ), например, как /24 , а схема на основе классов была названа классовой , напротив. CIDR была разработана для того, чтобы разрешить перераспределение любого адресного пространства таким образом, чтобы меньшие или большие блоки адресов могли быть выделены пользователям. Иерархическая структура, созданная CIDR, управляется Управлением по распределению адресов в Интернете (IANA) и региональными интернет-реестрами (RIR). Каждый RIR поддерживает общедоступную базу данных WHOIS , которая предоставляет информацию о назначениях IP-адресов.

Адреса специального назначения

Группа по инженерии Интернета (IETF) и IANA ограничили общее использование различных зарезервированных IP-адресов для специальных целей. [4] В частности, эти адреса используются для многоадресного трафика и для предоставления адресного пространства для неограниченного использования в частных сетях.

Частные сети

Из приблизительно четырех миллиардов адресов, определенных в IPv4, около 18 миллионов адресов в трех диапазонах зарезервированы для использования в частных сетях. Адреса пакетов в этих диапазонах не маршрутизируются в общедоступном Интернете; они игнорируются всеми общедоступными маршрутизаторами. Поэтому частные хосты не могут напрямую взаимодействовать с общедоступными сетями, но для этой цели требуется трансляция сетевых адресов на шлюзе маршрутизации.

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

Локальная адресация ссылок

RFC 3927 определяет специальный блок адресов 169.254.0.0/16 для локальной адресации. Эти адреса действительны только на канале (например, сегменте локальной сети или соединении точка-точка), напрямую подключенном к хосту, который их использует. Эти адреса не маршрутизируются. Как и частные адреса, эти адреса не могут быть источником или пунктом назначения пакетов, проходящих через Интернет. Эти адреса в основном используются для автоконфигурации адресов ( Zeroconf ), когда хост не может получить IP-адрес от DHCP-сервера или других методов внутренней конфигурации.

Когда блок адресов был зарезервирован, не существовало стандартов для автоконфигурации адресов. Microsoft создала реализацию под названием Automatic Private IP Addressing (APIPA), которая была развернута на миллионах машин и стала фактическим стандартом . Много лет спустя, в мае 2005 года, IETF определила формальный стандарт в RFC 3927 под названием Dynamic Configuration of IPv4 Link-Local Addresses .

Обратная петля

Сеть класса A 127.0.0.0 (бесклассовая сеть 127.0.0.0 / 8 ) зарезервирована для loopback . IP-пакеты, исходные адреса которых принадлежат этой сети, никогда не должны появляться за пределами хоста. Пакеты, полученные на не-loopback интерфейсе с петлевым исходным или целевым адресом, должны быть отброшены.

Первый и последний адреса подсети

Первый адрес в подсети используется для идентификации самой подсети. В этом адресе все биты хоста равны 0. Чтобы избежать неоднозначности в представлении, этот адрес зарезервирован. [18] В последнем адресе все биты хоста установлены в 1. Он используется как локальный широковещательный адрес для отправки сообщений всем устройствам в подсети одновременно. Для сетей размером / 24 или больше широковещательный адрес всегда заканчивается на 255.

Например, в подсети 192.168.5.0 / 24 (маска подсети 255.255.255.0 ) идентификатор 192.168.5.0 используется для обозначения всей подсети. Широковещательный адрес сети — 192.168.5.255 .

Однако это не означает, что каждый адрес, заканчивающийся на 0 или 255, не может использоваться в качестве адреса хоста. Например, в подсети / 16 192.168.0.0 / 255.255.0.0 , которая эквивалентна диапазону адресов 192.168.0.0192.168.255.255 , широковещательный адрес — 192.168.255.255 . Для хостов можно использовать следующие адреса, даже если они заканчиваются на 255: 192.168.1.255 , 192.168.2.255 и т. д. Кроме того, 192.168.0.0 является идентификатором сети и не должен назначаться интерфейсу. [19] : 31  Адреса 192.168.1.0 , 192.168.2.0 и т. д. могут быть назначены, несмотря на то, что они заканчиваются на 0.

В прошлом конфликт между сетевыми адресами и широковещательными адресами возникал из-за того, что некоторое программное обеспечение использовало нестандартные широковещательные адреса с нулями вместо единиц. [19] : 66 

В сетях размером меньше / 24 широковещательные адреса не обязательно заканчиваются на 255. Например, подсеть CIDR 203.0.113.16 / 28 имеет широковещательный адрес 203.0.113.31 .

Как особый случай, сеть / 31 имеет емкость только для двух хостов. Такие сети обычно используются для соединений точка-точка. Для этих сетей нет сетевого идентификатора или широковещательного адреса. [20]

Разрешение адреса

Хосты в Интернете обычно известны по именам, например www.example.com, а не по их IP-адресу, который используется для маршрутизации и идентификации сетевого интерфейса. Использование доменных имен требует их преобразования, называемого разрешением , в адреса и наоборот. Это аналогично поиску номера телефона в телефонной книге по имени получателя.

Перевод адресов в доменные имена осуществляется системой доменных имен (DNS) — иерархической распределенной системой именования, которая позволяет делегировать пространства имен другим DNS-серверам.

Ненумерованный интерфейс

Ненумерованная связь точка-точка (PtP), также называемая транзитной связью, — это связь, которая не имеет связанного с ней номера IP-сети или подсети, но все еще имеет IP-адрес. Впервые представленная в 1993 году, [21] [22] [23] [24] Фил Карн из Qualcomm считается первоначальным разработчиком.

Целью транзитного канала является маршрутизация датаграмм . Они используются для освобождения IP-адресов из дефицитного пространства IP-адресов или для сокращения управления назначением IP и конфигурацией интерфейсов. Ранее для каждого канала требовалось выделять подсеть / 31 или / 30 с использованием 2 или 4 IP-адресов на канал «точка-точка». Когда канал не пронумерован, используется идентификатор маршрутизатора , один IP-адрес, заимствованный из определенного (обычно петлевого ) интерфейса. Один и тот же идентификатор маршрутизатора может использоваться на нескольких интерфейсах.

Одним из недостатков ненумерованных интерфейсов является то, что их сложнее тестировать и управлять удаленно.

Исчерпание адресного пространства

Хронология исчерпания адресов IPv4

В 1980-х годах стало очевидно, что пул доступных адресов IPv4 истощается со скоростью, которая изначально не предполагалась в первоначальном проекте сети. [25] Основными рыночными силами, которые ускорили истощение адресов, были быстро растущее число пользователей Интернета, которые все чаще использовали мобильные вычислительные устройства, такие как ноутбуки , персональные цифровые помощники (КПК) и смартфоны с IP-сервисами передачи данных. Кроме того, высокоскоростной доступ в Интернет был основан на постоянно включенных устройствах. Угроза истощения мотивировала введение ряда восстановительных технологий, таких как:

К середине 1990-х годов NAT повсеместно использовался в системах поставщиков сетевого доступа наряду со строгой политикой распределения на основе использования в региональных и локальных интернет-регистратурах.

Основной адресный пул Интернета, поддерживаемый IANA, был исчерпан 3 февраля 2011 года, когда последние пять блоков были выделены пяти RIR . [26] [27] APNIC был первым RIR, исчерпавшим свой региональный пул 15 апреля 2011 года, за исключением небольшого количества адресного пространства, зарезервированного для технологий перехода на IPv6, которое должно быть выделено в соответствии с ограниченной политикой. [28]

Долгосрочным решением для решения проблемы истощения стала спецификация 1998 года новой версии интернет-протокола IPv6 . [29] Она обеспечивает значительно увеличенное адресное пространство, а также позволяет улучшить агрегацию маршрутов по всему Интернету и предлагает большие подсетевые выделения минимум 2 64 адресов хостов для конечных пользователей. Однако IPv4 несовместим напрямую с IPv6, поэтому хосты, поддерживающие только IPv4, не могут напрямую взаимодействовать с хостами, поддерживающими только IPv6. С поэтапным отказом от экспериментальной сети 6bone , начавшимся в 2004 году, постоянное формальное развертывание IPv6 началось в 2006 году. [30] Ожидается, что завершение развертывания IPv6 займет значительное время, [31] поэтому необходимы промежуточные переходные технологии , чтобы позволить хостам участвовать в Интернете, используя обе версии протокола.

Структура пакета

Пакет IP состоит из раздела заголовка и раздела данных. Пакет IP не имеет контрольной суммы данных или какого-либо другого нижнего колонтитула после раздела данных. Обычно канальный уровень инкапсулирует пакеты IP в кадры с нижним колонтитулом CRC, который обнаруживает большинство ошибок, многие протоколы транспортного уровня, переносимые IP, также имеют свою собственную проверку ошибок. [32] : §6.2 

Заголовок

Заголовок пакета IPv4 состоит из 14 полей, из которых 13 обязательных. 14-е поле является необязательным и метко названо: параметры. Поля в заголовке упакованы так, что сначала идет самый старший байт ( сетевой порядок байтов ), и для диаграммы и обсуждения самые значимые биты считаются идущими первыми ( нумерация битов MSB 0 ). Самый значимый бит имеет номер 0, поэтому поле версии фактически находится в четырех самых значимых битах первого байта, например.

Версия : 4 бита
Первое поле заголовка в IP- пакете — это поле Version . Для IPv4 оно всегда равно 4 .
Длина интернет-заголовка  (IHL): 4 бита
Заголовок IPv4 имеет переменный размер из-за необязательного 14-го поля ( Options ). Поле IHL содержит размер заголовка IPv4; оно имеет 4 бита, которые определяют количество 32-битных слов в заголовке. Минимальное значение для этого поля равно 5, [33] что указывает на длину 5 × 32 бита = 160 бит = 20 байт. Как 4-битное поле, максимальное значение равно 15; это означает, что максимальный размер заголовка IPv4 составляет 15 × 32 бита = 480 бит = 60 байт.
Точка кода дифференцированных услуг  (DSCP ): 6 бит
Первоначально определенное как тип сервиса (ToS), это поле указывает дифференцированные сервисы (DiffServ). [34] Потоковая передача данных в реальном времени использует поле DSCP. Примером является Voice over IP (VoIP), который используется для интерактивных голосовых сервисов.
Явное уведомление о перегрузке  (ECN ): 2 бита
Это поле позволяет осуществлять сквозное уведомление о перегрузке сети без потери пакетов . [35] ECN — это дополнительная функция, доступная, когда обе конечные точки ее поддерживают, и эффективная, когда она также поддерживается базовой сетью.
Общая длина : 16 бит
Это 16-битное поле определяет весь размер пакета в байтах, включая заголовок и данные. Минимальный размер составляет 20 байт (заголовок без данных), а максимальный — 65 535 байт. Все хосты должны иметь возможность повторно собирать датаграммы размером до 576 байт, но большинство современных хостов обрабатывают гораздо большие пакеты. Ссылки могут накладывать дополнительные ограничения на размер пакета, в этом случае датаграммы должны быть фрагментированы . Фрагментация в IPv4 выполняется либо на отправляющем хосте, либо на маршрутизаторах. Повторная сборка выполняется на принимающем хосте.
Идентификация : 16 бит
Это поле является идентификационным и в первую очередь используется для уникальной идентификации группы фрагментов одной IP-дейтаграммы. Некоторые экспериментальные работы предполагали использование поля ID для других целей, например, для добавления информации о трассировке пакетов, чтобы помочь отслеживать дейтаграммы с поддельными исходными адресами, [36] но любое такое использование теперь запрещено. [37]
Флаги: 3 бита
В этом поле определены три флага.
Зарезервировано  (R): 1 бит
Зарезервировано. Должно быть установлено на 0. [a]
Не фрагментировать  (DF): 1 бит
Это поле указывает, может ли датаграмма быть фрагментирована или нет. Это может использоваться при отправке пакетов на хост, у которого нет ресурсов для выполнения повторной сборки фрагментов. Его также можно использовать для обнаружения MTU пути , как автоматически с помощью программного обеспечения IP хоста, так и вручную с помощью диагностических инструментов, таких как ping или traceroute . Если установлен флаг DF и для маршрутизации пакета требуется фрагментация, то пакет отбрасывается.
Дополнительные фрагменты  (MF): 1 бит
Для нефрагментированных пакетов флаг MF сбрасывается. Для фрагментированных пакетов все фрагменты, кроме последнего, имеют установленный флаг MF. Последний фрагмент имеет ненулевое поле смещения фрагмента , поэтому его все еще можно отличить от нефрагментированного пакета.
Смещение фрагмента : 13 бит
Это поле указывает смещение конкретного фрагмента относительно начала исходной нефрагментированной IP-дейтаграммы. Фрагменты указываются в единицах по 8 байт, поэтому длина фрагмента всегда кратна 8; за исключением последнего, который может быть меньше. [39]
Значение смещения фрагментации для первого фрагмента всегда равно 0. Поле имеет ширину 13 бит, поэтому значение смещения варьируется от 0 до 8191 (от (2 0 – 1) до (2 13  – 1)). Таким образом, оно допускает максимальное смещение фрагмента (2 13  – 1) × 8 = 65 528 байт, включая длину заголовка (65 528 + 20 = 65 548 байт), поддерживая фрагментацию пакетов, превышающих максимальную длину IP в 65 535 байт.
Время жить  (ТТЛ ): 8 бит
Поле времени жизни ограничивает время жизни датаграммы, чтобы предотвратить сбой сети в случае петли маршрутизации . Оно указывается в секундах, но интервалы времени менее 1 секунды округляются до 1. На практике это поле используется как счетчик переходов — когда датаграмма достигает маршрутизатора , маршрутизатор уменьшает поле TTL на единицу. Когда поле TTL достигает нуля, маршрутизатор отбрасывает пакет и обычно отправляет отправителю сообщение ICMP о превышении времени .
Программа traceroute отправляет сообщения с измененными значениями TTL и использует эти сообщения ICMP о превышении времени для идентификации маршрутизаторов, через которые проходят пакеты от источника до места назначения.
Протокол : 8 бит
Это поле определяет протокол транспортного уровня , используемый в части данных IP-дейтаграммы. Список номеров протоколов IP поддерживается Internet Assigned Numbers Authority (IANA). [17]
Некоторые из распространенных протоколов полезной нагрузки включают в себя:
Контрольная сумма заголовка : 16 бит
Поле контрольной суммы заголовка IPv4 используется для проверки ошибок заголовка. Перед отправкой пакета контрольная сумма вычисляется как 16-битное дополнение по единицам суммы дополнений по единицам всех 16-битных слов в заголовке. Это включает в себя само поле контрольной суммы заголовка , которое устанавливается равным нулю во время вычисления. Пакет отправляется с контрольной суммой заголовка, содержащей полученное значение. Когда пакет прибывает на маршрутизатор или в пункт назначения, сетевое устройство пересчитывает значение контрольной суммы заголовка, теперь включая поле контрольной суммы заголовка . Результат должен быть равен нулю; если получен другой результат, устройство отбрасывает пакет.
Когда пакет приходит на маршрутизатор, маршрутизатор уменьшает поле TTL в заголовке. Следовательно, маршрутизатор должен вычислить новую контрольную сумму заголовка перед повторной отправкой.
Ошибки в части данных пакета обрабатываются отдельно инкапсулированным протоколом. UDP и TCP имеют отдельные контрольные суммы, которые применяются к их данным.
Исходный адрес : 32 бита
Это поле содержит IPv4-адрес отправителя пакета. Он может быть изменен в пути с помощью трансляции сетевых адресов (NAT).
Адрес назначения : 32 бита
Это поле содержит IPv4-адрес предполагаемого получателя пакета. На него также может влиять NAT.
Если пункт назначения может быть достигнут напрямую, пакет будет доставлен базовым канальным уровнем с помощью ARP . Если нет, пакет нуждается в маршрутизации и будет доставлен на адрес шлюза .
Параметры : 0 - 320 бит, дополненные до кратных 32 бит
Поле Options используется нечасто. Пакеты, содержащие некоторые опции, могут считаться опасными некоторыми маршрутизаторами и блокироваться. [40] Значение в поле IHL должно включать достаточно дополнительных 32-битных слов для хранения всех опций и любого заполнения, необходимого для обеспечения того, чтобы заголовок содержал целое число 32-битных слов. Если IHL больше 5 (т. е. от 6 до 15), это означает, что поле options присутствует и должно быть рассмотрено. Список опций может быть завершен опцией EOOL (End of Options List, 0x00); это необходимо только в том случае, если конец опций в противном случае не совпадал бы с концом заголовка.
Поскольку большинство параметров IP включают спецификации того, сколько или какие промежуточные устройства должен пройти пакет, параметры IP не используются для связи через Интернет, а пакеты IP, включающие некоторые параметры IP, должны быть отброшены, [41] : §3.13  , поскольку они могут раскрыть топологию сети или сетевые данные.

Фрагментация и повторная сборка

Интернет-протокол обеспечивает трафик между сетями. Конструкция охватывает сети различной физической природы; она не зависит от базовой технологии передачи, используемой на канальном уровне. Сети с различным оборудованием обычно различаются не только по скорости передачи, но и по максимальному размеру передаваемого блока (MTU). Когда одна сеть хочет передать датаграммы в сеть с меньшим MTU, она может фрагментировать свои датаграммы. В IPv4 эта функция была размещена на уровне Интернета и выполняется в маршрутизаторах IPv4, ограничивая подверженность этих проблем хостам.

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

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

Когда маршрутизатор получает пакет, он проверяет адрес назначения и определяет исходящий интерфейс для использования и MTU этого интерфейса. Если размер пакета больше MTU, а бит Do not Fragment (DF) в заголовке пакета установлен на 0, то маршрутизатор может фрагментировать пакет.

Маршрутизатор делит пакет на фрагменты. Максимальный размер каждого фрагмента равен исходящему MTU за вычетом размера заголовка IP (минимум 20 байт; максимум 60 байт). Маршрутизатор помещает каждый фрагмент в свой собственный пакет, каждый пакет фрагмента имеет следующие изменения:

Например, для MTU 1500 байт и размера заголовка 20 байт смещения фрагментов будут кратны (0, 185, 370, 555, 740 и т. д.).

Возможно, что пакет фрагментируется на одном маршрутизаторе, а фрагменты фрагментируются еще больше на другом маршрутизаторе. Например, пакет размером 4520 байт, включая 20-байтовый заголовок IP, фрагментируется на два пакета на канале с MTU 2500 байт:

Общий размер данных сохраняется: 2480 байт + 2020 байт = 4500 байт. Смещения составляют и .

При пересылке по каналу с MTU 1500 байт каждый фрагмент фрагментируется на два фрагмента:

Опять же, размер данных сохраняется: 1480 + 1000 = 2480 и 1480 + 540 = 2020.

Также в этом случае бит More Fragments остается равным 1 для всех фрагментов, которые пришли с 1 в них, и для последнего прибывшего фрагмента он работает как обычно, то есть бит MF устанавливается в 0 только в последнем. И, конечно, поле Identification продолжает иметь то же значение во всех повторно фрагментированных фрагментах. Таким образом, даже если фрагменты повторно фрагментируются, получатель знает, что изначально все они начинались с одного и того же пакета.

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

Повторная сборка

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

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

Вспомогательные протоколы

IP-адреса не привязаны каким-либо постоянным образом к сетевому оборудованию, и, действительно, в современных операционных системах сетевой интерфейс может иметь несколько IP-адресов. Для того чтобы правильно доставить IP-пакет хосту назначения по ссылке, хостам и маршрутизаторам нужны дополнительные механизмы для установления связи между аппаратным адресом [b] сетевых интерфейсов и IP-адресами. Протокол разрешения адресов (ARP) выполняет эту трансляцию IP-адреса в аппаратный адрес для IPv4. Кроме того, часто необходима обратная корреляция. Например, если адрес не был предварительно настроен администратором, при загрузке или подключении IP-хоста к сети ему необходимо определить свой IP-адрес. Протоколы для таких обратных корреляций включают протокол динамической конфигурации хоста (DHCP), протокол начальной загрузки (BOOTP) и, изредка, обратный ARP .

Смотрите также

Примечания

  1. В качестве первоапрельской шутки предложено использовать в RFC 3514 как « Злой бит » [38]
  2. ^ Для сетевых технологий IEEE 802 , включая Ethernet , аппаратным адресом является MAC-адрес .

Ссылки

Эта статья была адаптирована из следующего источника по лицензии CC BY 4.0 (2022 г.): Мишель Бакни; Сандра Ханбо (9 декабря 2022 г.). «Обзор Интернет-протокола версии 4 (IPv4)» (PDF) . Викижурнал науки . дои : 10.15347/WJS/2022.002 . ISSN  2470-6345. OCLC  9708517136. S2CID  254665961. Викиданные  Q104661268.

  1. ^ "Отчеты анализа BGP". Отчеты BGP . Получено 2013-01-09 .
  2. ^ "IPv6 – Google". www.google.com . Получено 2022-01-28 .
  3. ^ "Реестр адресов специального назначения IANA IPv4". www.iana.org . Получено 28.01.2022 .
  4. ^ abcdef М. Коттон; Л. Вегода; Б. Хаберман (апрель 2013 г.). Р. Боника (ред.). Реестры IP-адресов специального назначения. IETF . doi : 10.17487/RFC6890 . ISSN  2070-1721. BCP 153. RFC 6890. Лучшая текущая практика 153. Отменяет RFC 4773, 5156, 5735 и 5736. Обновлено RFC 8190.
  5. ^ Дэвис, Лидия. «Винт Серф — нам еще предстоит подключить 80 процентов мира». The New York Times . Получено 10 мая 2024 г.
  6. ^ "Краткая история IPv4". IPv4 Market Group . Получено 2020-08-19 .
  7. ^ "Понимание IP-адресации: все, что вы когда-либо хотели знать" (PDF) . 3Com. Архивировано из оригинала (PDF) 16 июня 2001 г.
  8. ^ abcd Y. Rekhter ; B. Moskowitz; D. Karrenberg; GJ de Groot; E. Lear (февраль 1996 г.). Распределение адресов для частных сетей Интернета. Сетевая рабочая группа. doi : 10.17487/RFC1918 . BCP 5. RFC 1918. Лучшая текущая практика 5. Отменяет RFC 1627 и 1597. Обновлено RFC 6761.
  9. ^ J. Weil; V. Kuarsingh; C. Donley; C. Liljenstolpe; M. Azinger (апрель 2012 г.). Зарезервированный IANA префикс IPv4 для общего адресного пространства. Internet Engineering Task Force . doi : 10.17487/RFC6598 . ISSN  2070-1721. BCP 153. RFC 6598. Лучшая общепринятая практика. Обновления RFC 5735.
  10. ^ S. Cheshire; B. Aboba; E. Guttman (май 2005 г.). Динамическая конфигурация локальных адресов IPv4. Сетевая рабочая группа. doi : 10.17487/RFC3927 . RFC 3927. Предлагаемый стандарт.
  11. ^ abc J. Arkko; M. Cotton; L. Vegoda (январь 2010 г.). Блоки адресов IPv4, зарезервированные для документации. Internet Engineering Task Force . doi : 10.17487/RFC5737 . ISSN  2070-1721. RFC 5737. Информационное. Обновления RFC 1166.
  12. ^ O. Troan (май 2015 г.). B. Carpenter (ред.). Отказ от использования Anycast-префикса для маршрутизаторов 6to4 Relay. Internet Engineering Task Force . doi : 10.17487/RFC7526 . BCP 196. RFC 7526. Лучшая текущая практика. Отменяет RFC 3068 и 6732.
  13. ^ C. Huitema (июнь 2001 г.). Префикс Anycast для маршрутизаторов 6to4 Relay. Сетевая рабочая группа. doi : 10.17487/RFC3068 . RFC 3068. Информационное. Устарело согласно RFC 7526.
  14. ^ S. Bradner; J. McQuaid (март 1999). Методология сравнительного анализа сетевых межсоединительных устройств. Сетевая рабочая группа. doi : 10.17487/RFC2544 . RFC 2544. Информационно. Обновлено: RFC 6201 и RFC 6815.
  15. ^ ab M. Cotton; L. Vegoda; D. Meyer (март 2010 г.). Руководство IANA по назначению адресов многоадресной рассылки IPv4. IETF . doi : 10.17487/RFC5771 . ISSN  2070-1721. BCP 51. RFC 5771. Лучшая текущая практика 51. Отменяет RFC 3138 и 3171. Обновляет RFC 2780.
  16. ^ S. Venaas; R. Parekh; G. Van de Velde; T. Chown; M. Eubanks (август 2012 г.). Многоадресные адреса для документации. Internet Engineering Task Force . doi : 10.17487/RFC6676 . ISSN  2070-1721. RFC 6676. Информационный.
  17. ^ ab J. Reynolds , ed. (январь 2002 г.). Присвоенные номера: RFC 1700 заменен онлайновой базой данных. Сетевая рабочая группа. doi : 10.17487/RFC3232 . RFC 3232. Информационный. Отменяет RFC 1700.
  18. ^ J. Reynolds ; J. Postel (октябрь 1984 г.). ПРИСВОЕННЫЕ НОМЕРА. Сетевая рабочая группа. doi : 10.17487/RFC0923 . RFC 923. Устарело. Устарело из-за RFC 943. Устаревший RFC 900. Специальные адреса: В определенных контекстах полезно иметь фиксированные адреса с функциональным значением, а не как идентификаторы конкретных хостов. Когда требуется такое использование, адрес ноль следует интерпретировать как означающий «это», как в «эта сеть».
  19. ^ ab R. Braden , ed. (октябрь 1989). Требования к интернет-хостам — коммуникационные уровни. Сетевая рабочая группа. doi : 10.17487/RFC1122 . STD 3. RFC 1122. Интернет-стандарт 3. Обновлен RFC 1349, 4379, 5884, 6093, 6298, 6633, 6864, 8029 и 9293.
  20. ^ A. Retana; R. White; V. Fuller; D. McPherson (декабрь 2000 г.). Использование 31-битных префиксов в соединениях IPv4 «точка-точка». Сетевая рабочая группа. doi : 10.17487/RFC3021 . RFC 3021. Предлагаемый стандарт.
  21. ^ Альмквист, Филип; Кастенхольц, Франк (декабрь 1993 г.). «К требованиям к IP-маршрутизаторам». Internet Engineering Task Force .
  22. ^ P. Almquist (ноябрь 1994 г.). F. Kastenholz (ред.). Towards Requirements for IP Routers. Сетевая рабочая группа. doi : 10.17487/RFC1716 . RFC 1716. Устарело. Устарело согласно RFC 1812.
  23. ^ Ф. Бейкер , ред. (июнь 1995 г.). Требования к маршрутизаторам IP версии 4. Сетевая рабочая группа. doi : 10.17487/RFC1812 . RFC 1812. Предложенный стандарт. Отменяет RFC 1716 и 1009. Обновлен RFC 2644 и 6633.
  24. ^ "Понимание и настройка команды ip unnumbered". Cisco . Получено 2021-11-25 .
  25. ^ "В мире 'кончились интернет-адреса'". Архивировано из оригинала 2011-01-25 . Получено 2011-01-23 .
  26. ^ Смит, Люси; Липнер, Ян (3 февраля 2011 г.). «Свободный пул адресного пространства IPv4 истощен». Организация ресурсов номеров . Получено 3 февраля 2011 г.
  27. ^ ICANN, список рассылки nanog. «Пять /8 выделены для RIR – нераспределенных IPv4 unicast /8 не осталось».
  28. ^ Азиатско-Тихоокеанский сетевой информационный центр (15 апреля 2011 г.). "APNIC IPv4 Address Pool Reachs Final /8". Архивировано из оригинала 7 августа 2011 г. Получено 15 апреля 2011 г.
  29. ^ S. Deering ; R. Hinden (декабрь 1998 г.). Спецификация протокола Интернета версии 6 (IPv6). Сетевая рабочая группа. doi : 10.17487/RFC2460 . RFC 2460. Устарело. Устарело в соответствии с RFC 8200. Устаревший RFC 1883. Обновлено в соответствии с RFC 5095, 5722, 5871, 6437, 6564, 6935, 6946, 7045 и 7112.
  30. ^ Р. Финк; Р. Хинден (март 2004 г.). Поэтапный отказ от 6bone (распределение тестовых адресов IPv6). Сетевая рабочая группа. doi : 10.17487/RFC3701 . RFC 3701. Информационный. Отменяет действие RFC 2471.
  31. ^ Международная конференция IEEE 2016 по новым технологиям и инновационным деловым практикам для трансформации обществ (EmergiTech) . Пискатауэй, Нью-Джерси: Технологический университет, Маврикий, Институт инженеров по электротехнике и электронике. Август 2016 г. ISBN 9781509007066. OCLC  972636788.
  32. ^ C. Partridge; F. Kastenholz (декабрь 1994 г.). Технические критерии выбора IP следующего поколения (IPng). Сетевая рабочая группа. doi : 10.17487/RFC1726 . RFC 1726. Информационный.
  33. ^ J. Postel , ред. (сентябрь 1981 г.). ПРОТОКОЛ ИНТЕРНЕТА - СПЕЦИФИКАЦИЯ ПРОТОКОЛА ПРОГРАММЫ ИНТЕРНЕТА DARPA. IETF . doi : 10.17487/RFC0791 . STD 5. RFC 791. IEN 128, 123, 111, 80, 54, 44, 41, 28, 26. Интернет-стандарт 5. Отменяет действие RFC 760. Обновлен RFC 1349, 2474 и 6864.
  34. ^ К. Николс; С. Блейк; Ф. Бейкер ; Д. Блэк (декабрь 1998 г.). Определение поля дифференцированных услуг (поле DS) в заголовках IPv4 и IPv6. Сетевая рабочая группа. doi : 10.17487/RFC2474 . RFC 2474. Предложенный стандарт. Отменяет RFC 1455 и 1349. Обновлен RFC 3168, 3260 и 8436.
  35. ^ K. Ramakrishnan; S. Floyd; D. Black (сентябрь 2001 г.). Добавление явного уведомления о перегрузке (ECN) к IP. Сетевая рабочая группа. doi : 10.17487/RFC3168 . RFC 3168. Предложенный стандарт. Отменяет RFC 2481. Обновляет RFC 2474, 2401 и 793. Обновлен RFC 4301, 6040 и 8311.
  36. ^ Сэвидж, Стефан (2000). «Практическая сетевая поддержка IP-трассировки». Обзор компьютерной связи ACM SIGCOMM . 30 (4): 295–306. doi : 10.1145/347057.347560 .
  37. ^ J. Touch (февраль 2013 г.). Обновленная спецификация поля идентификатора IPv4. IETF . doi : 10.17487/RFC6864 . ISSN  2070-1721. RFC 6864. Предложенный стандарт. Обновления RFC 791, 1122 и 2003.
  38. ^ S. Bellovin (1 апреля 2003 г.). Флаг безопасности в заголовке IPv4. Сетевая рабочая группа. doi : 10.17487/RFC3514 . RFC 3514. Информационное. Это первоапрельская просьба о комментариях .
  39. ^ Бхардвадж, Рашми (2020-06-04). "Fragment Offset - IP With Ease". ipwithease.com . Получено 2022-11-21 .
  40. ^ "Cisco неофициальный FAQ" . Получено 2012-05-10 .
  41. ^ Ф. Гонт (июль 2011 г.). Оценка безопасности интернет-протокола версии 4. Internet Engineering Task Force . doi : 10.17487/RFC6274 . ISSN  2070-1721. RFC 6274. Информационный.

Внешние ссылки