Рассмотрим, что такое Internet Protocol (IP). Это маршрутизируемый протокол сетевого уровня модели TCP / IP. Данный протокол использует пакеты IPv4, предназначенные для передачи информации от отправителя к получателю. Протокол описан в RFC 791.
Содержание:
Введение
Давайте рассмотрим некоторые из характеристик IP:
- Протокол без установления соединения: перед отправкой пакетов данных соединение с получателем не устанавливается. Для передачи данных служит транспортный уровень (TCP / UDP).
- Негарантированная доставка: протокол IP не гарантирует получение всех доставляемых пакетов. Другие протоколы управляют процессом отслеживания пакетов и обеспечивают их доставку. В пакете протоколов TCP / IP обеспечение надежности — задача транспортного уровня.
- Независимость от среды: IP-пакеты могут проходить по разным средам передачи данных.
IP-адрес нужен, чтобы идентифицировать каждое сетевое устройство в сети, его можно сравнить с мобильным номером телефона. Например, у каждого человека, имеющего мобильное устройство, есть уникальный номер телефона, по которому можно с ним связаться. Так и сетевое устройство должно иметь свой уникальный адрес в сети.
32-разрядный IPv4-адрес (32 бита) состоит из двух частей: сетевой части (network) и узловой части (host):
32-разрядный IPv4-адрес можно разбить на 4 октета по 8 бит. 8 бит — это 1 байт. IPv4-адрес будет выглядеть следующим образом:
Сетевая часть указывает, к какой сети относится IPv4-адрес. Узловая часть является уникальным идентификатором сетевого устройства.
Пример IPv4 адреса
На примере рассмотрим распространённый в локальных сетях IPv4-адрес — 192.168.1.1. Для этого адреса первые 3 октета являются сетевой частью адреса, а последний 1 октет — узловой частью:
Но важную роль играет маска подсети, которая обязательно всегда прописывается с IPv4-адресом. В этом примере IPv4-адрес 192.168.1.1 будет использоваться вместе с маской подсети 255.255.255.0 (или /24). Именно маска подсети сообщает узлу, какая часть является сетевой, а какая — узловой.
Попробуем преобразить адрес 192.168.1.1 в двоичный вид:
Примечание: как преобразовать десятичное значение в двоичное, показано в этой статье.
Классовая адресация
Важно понимать, что IPv4-адресация делится на классовую и бесклассовую. Существует 3 класса для работы с сетью — A, B и C:
- класс A: 0.0.0.0 — 126.255.255.255
- класс B: 128.0.0.0 — 191.255.255.255
- класс C: 192.0.0.0 — 223.255.255.255
Рассматриваемый IPv4-адрес 192.168.1.1/24 является примером сети класса C.
Так в чем разница между классами? Она заключается в том, сколько узлов можно поместить в каждую сеть. Вернёмся к примеру:
Первые 3 октета синего цвета являются сетевой частью этого IP-адреса. Зелёная часть предназначена для узлов. Таким образом, можно использовать последний октет для получения уникального адреса узла.
Следующие компьютеры будут в одной сети: от 192.168.1.1 до 192.168.1.254. Сетевая часть одна, меняется только узловая часть адреса. Узел с адресом 192.168.2.1 не будет находится в той же сети, так как его сетевая часть отличается от 192.168.1.X по сравнению с 192.168.2.X.
Возникает вопрос: «Что делает узел, когда нужно отправить IP-пакет в другую сеть?» Ответ можно найти на своем компьютере (если используете Windows, просто нажмите кнопку «Пуск», введите CMD и нажмите «Ввод». Используйте команду ipconfig для поиска информации IP):
Компьютер из примера выше находится в сети 192.168.1.X. Когда он захочет отправить информацию в другую сеть, он будет использовать свой шлюз по умолчанию (Default Gateway). В примере это адрес 192.168.1.254. Адресом шлюза по умолчанию выступает маршрутизатор.
Давайте разберёмся в разнице между классами. Если используется сеть класса A, можно иметь большое количество узлов в каждой создаваемой сети:
Если используется класс B, можно создавать больше сетей, но будет меньше узлов в каждой сети:
С классом C можно создать много сетей, но только с меньшим количеством узлов в каждой из них:
Если посмотреть внимательно на диапазоны классов, возникает пара вопросов:
- Можно заметить, что подсеть 127.0.0.0 не находится в диапазоне класса А, потому что этот сетевой диапазон используется как loopback. Loopback-интерфейс используется для проверки работоспособности IP-стека на узле. Это можно проверить, набрав в командной строке ping 127.0.0.1.
- Класс C заканчивается адресом 223.255.255.255. На самом деле, ещё существуют классы D и E. Диапазон класса D (224.0.0.0 — 239.255.255.255) используется для групповой рассылки (multicast), и адреса не назначаются в качестве индивидуального адреса узла; диапазон класса E (240.0.0.0 — 254.255.255.255) зарезервирован для будущих целей.
Виды адресов
В классах существуют 2 вида адресов — частные (используются в локальной сети и не должны использоваться в Интернете) и публичные (используются в Интернете «за пределами» локальной или домашней сети).
Диапазоны частных IPv4-адресов:
- класс A: 10.0.0.0 — 10.255.255.255
- класс B: 172.16.0.0 — 172.31.255.255
- класс C: 192.168.0.0 — 192.168.255.255
Пример с адресом 192.168.1.1 попадает в класс C и является частным IPv4-адресом.
Существует два IPv4-адреса, которые не используются для назначения адреса узла в сети:
- Адрес сети: не может использоваться на узле в качестве IPv4-адреса, поскольку он используется для «определения» сети.
- Широковещательный адрес: используется для широковещательной рассылки IP-пакетов, которая будет приниматься всеми устройствами в сети.
Как узнать эти два IPv4-адреса? Снова рассмотрим пример с адресом 192.168.1.1/24. Необходимо посмотреть на последний октет, который используется, как узловая часть. Если преобразовать все биты в 0 в узловой части, получим такой адрес:
Таким образом, 192.168.1.0 является адресом сети. Если преобразовать все биты в 1, получится широковещательный IPv4-адрес, и его также нельзя использовать как индивидуальный адрес узла:
Структура пакета IPv4
Напоследок посмотрим, как фактически выглядит IPv4-пакет:
Рассмотрим пока только несколько полей IPv4-пакета:
-
Время жизни (Time To Live): чтобы избежать зацикливания в сети, каждый пакет отправляется с некоторым установленным значением TTL, которое сообщает сети, сколько устройств может пересечь этот пакет. На каждом шагу его значение уменьшается на единицу. При достижении значения 0, пакет отбрасывается.
- Интернет-протокол (Protocol): используется для определения протокола следующего уровня. Это 8-битное двоичное значение позволяет сетевому уровню пересылать данные на соответствующий протокол более высокого уровня. Обычно используются значения TCP и UDP.
- Адрес источника (Source Address): индивидуальный IPv4-адрес устройства, создавшего этот пакет.
- Адрес назначения (Destination Address): IPv4-адрес устройства, которое должно получать этот пакет. IPv4-адрес назначения может быть одноадресной рассылкой, многоадресной рассылкой или широковещательным адресом.
- Данные (Data): это фактические данные, которые передаются от отправителя к получателю.
Выводы
Спасибо за уделенное время на прочтение статьи. Теперь Вы знаете, что из себя представляет протокол IPv4, особенности его адресации и структура пакета.
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
1 комментарий. Оставить новый
Спасибо большое за статью. Урок вбивается в мозг на 100%. Не плохо было бы добавить пример перевода с двоичной системы в десятичную.