Найти в Дзене

001 Зачем нужен IP протокол?

Оглавление

Привет, друзья!

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

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

Протокол IP и его особенности

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

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

Но IP обладает многими свойствами, которые есть у протоколов с коммутацией пакетов:

  1. Пакеты передаются по сети независимо друг от друга.
  2. Из пункта А в пункт Б первый и второй пакеты могут идти разными маршрутами.
  3. Маршрут туда, то есть из пункта А в Б может не совпадать с маршрутом обратно, то есть из Б в А.
Еще протоколы делятся по надежности. Есть протоколы, которые гарантируют доставку пакетов, а есть, которые ее не гарантируют. IP ничего не гарантирует и, на самом деле, в этом его преимущество.

Под фразой не гарантирует доставку скрывается очень многое:

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

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

История протокола IP

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

Ограничусь лишь сегодняшним днем. У нас существует две актуальные версии протокола IP: IPv4 и IPv6. Работают они практически одинаково, на начало 2024 года могу сказать, что IPv4 будет еще долго актуальным и изучение проще начать с него, поэтому здесь и далее, если я говорю IP, то имею ввиду именно IPv4.

Полезные ссылки и ресурсы для изучения IP

В завершении давайте обсудим ресурсы, которые помогут в изучении сетевых технологий, я бы их разделил на два списка. В первый вошли те, которые не следует читать новичку, это различные книги по компьютерным сетям, например, "Компьютерные сети" от Олиферов или Таненбаума. Книги обозначенных авторов не плохие и не устаревшие, новичку они просто не нужны.

Во второй список вошли:

  1. Документация на оборудование. Там есть примеры: много, хорошие, разные, которые учитывают особенности реализации оборудования.
  2. Пособия по подготовке к экзаменам вендоров, сам вендор не важен: HP, Cisco, Juniper, Huawei или любой другой.
  3. Статьи и публикации в интернете, желательно на открытых для стороннего мнения площадках, например, Хабр.

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

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

Вот некоторые важные с моей точки зрения RFC для IP:

  1. RFC 791 это спецификация протокола IP;
  2. RFC 5737 содержит в себе перечень блоков IP-адресов, зарезервированных документации;
  3. RFC 919 это правила распространения широковещательного трафика;
  4. RFC 1918 описывает блоки IP-адресов, которые можно использовать в частных сетях;
  5. RFC 1122 описывает требования к программной реализации хостов на сетевом, канальном и транспортном уровнях.

На самом деле RFC огромное множество, есть и шуточные, которое, например, описывает работу протокола IP поверх голубиной почты RFC 2549.

Видео версия