8-916-722-04-28ТелВКонтактеВКTelegramTgMAXMAX Пробный урокПробный урок

IP-адрес, маска подсети, доменные имена, DNS, стек протоколов TCP/IP

Протоколы и стек TCP/IP

Чтобы миллионы разнородных компьютеров и устройств по всему миру могли обмениваться данными, необходимы согласованные правила — протоколы: наборы соглашений о формате и порядке обмена сообщениями между устройствами сети. Интернет построен на основе набора протоколов, называемого стеком TCP/IP по названиям двух ключевых протоколов — TCP (Transmission Control Protocol) и IP (Internet Protocol). Стек организован по уровням, каждый из которых решает свою задачу и использует услуги нижележащего уровня, не вникая в детали его реализации.

Уровни стека TCP/IP

Упрощённо стек TCP/IP включает четыре уровня. Уровень доступа к сети (канальный) отвечает за передачу данных внутри одной физической сети (Ethernet, Wi-Fi). Межсетевой уровень (сетевой, IP) обеспечивает передачу пакетов данных между разными сетями через маршрутизаторы — именно на этом уровне работает протокол IP и используется IP-адресация. Транспортный уровень обеспечивает передачу данных между конкретными программами на компьютерах-отправителе и получателе; протокол TCP гарантирует надёжную доставку данных с проверкой ошибок и повторной передачей потерянных пакетов, а протокол UDP передаёт данные быстрее, но без гарантии доставки (используется, например, для потокового видео). Прикладной уровень включает протоколы, непосредственно обслуживающие конкретные приложения пользователя: HTTP/HTTPS (веб), FTP (передача файлов), SMTP (электронная почта) и другие.

IP-адрес: структура

IP-адрес (версии IPv4) — уникальный идентификатор узла в сети, состоящий из 32 двоичных разрядов (4 байта). Для удобства записи IP-адрес принято представлять в виде четырёх десятичных чисел от 0 до 255, разделённых точками (каждое число — значение одного байта), например 192.168.1.25. IP-адрес логически делится на две части: номер сети (одинаков у всех узлов, входящих в одну и ту же локальную сеть) и номер узла (хоста) в этой сети — индивидуален для каждого устройства. Граница между этими двумя частями определяется не самим адресом, а отдельным параметром — маской подсети.

Маска подсети

Маска подсети — это также 32-битное число, в котором подряд идущие единицы (слева) обозначают биты, относящиеся к номеру сети, а последующие нули — биты, относящиеся к номеру узла. Например, маска 255.255.255.0 в двоичном виде — это 24 единицы, за которыми следуют 8 нулей: первые три байта IP-адреса задают номер сети, а последний байт — номер узла внутри неё. Чтобы найти адрес сети, нужно применить операцию поразрядной конъюнкции (логического «И») к IP-адресу узла и маске подсети:

адрессети=IP−адрес∧маскаподсети(поразрядно)

Пример: определение адреса сети по IP-адресу и маске

Задача. Компьютер имеет IP-адрес 192.168.10.137 и маску подсети 255.255.255.224. Определите адрес сети, к которой принадлежит компьютер.

Решение. Первые три байта маски состоят из одних единиц (255=11111111₂), значит первые три байта адреса сети совпадают с адресом узла: 192.168.10. Разберём последний байт подробнее: 224 в двоичной записи — 11100000₂, а 137 — 10001001₂. Выполним поразрядную конъюнкцию:

100010012∧111000002=100000002=128

Ответ. Адрес сети — 192.168.10.128. Последние 5 бит байта (нулевые в маске) отведены под номер узла, значит подсеть включает адреса узлов от 192.168.10.128 (адрес сети) до 192.168.10.159 (адрес широковещательной рассылки, broadcast), то есть 2⁵=32 адреса, из которых 30 могут быть назначены реальным узлам (крайние адреса — сети и широковещательный — узлам не назначаются).

Количество адресов в подсети

Если под номер узла в маске отведено n бит (n нулевых бит в конце маски), то общее число адресов в подсети, включая адрес сети и широковещательный адрес, вычисляется по формуле:

N=2n

а число адресов, которые можно назначить реальным устройствам:

Nхостов=2n−2

Доменные имена и система DNS

Запоминать числовые IP-адреса неудобно, поэтому в интернете используются понятные человеку буквенные доменные имена, например ege.edu.ru. Доменное имя имеет иерархическую структуру, читаемую справа налево: справа расположен домен верхнего уровня (ru, com, org и т. д.), далее — домен второго уровня, обозначающий конкретную организацию, и так далее вплоть до имени конкретного узла (сервера). Соответствие между доменными именами и числовыми IP-адресами устанавливает служба DNS (Domain Name System) — распределённая система серверов, хранящих базы соответствий «имя — адрес»: когда пользователь вводит в браузере доменное имя, специальный DNS-сервер преобразует (разрешает) его в IP-адрес, по которому уже и устанавливается соединение с нужным сервером.

Протоколы прикладного уровня

На прикладном уровне работает множество специализированных протоколов, обслуживающих конкретные интернет-сервисы: HTTP (HyperText Transfer Protocol) — передача веб-страниц, HTTPS — то же самое, но с шифрованием передаваемых данных; FTP (File Transfer Protocol) — передача файлов между компьютерами; SMTP, POP3 и IMAP — отправка и получение электронной почты. Полный сетевой адрес ресурса в интернете (например, веб-страницы) записывается в виде URL (Uniform Resource Locator) — единого указателя ресурса, включающего название протокола, доменное имя сервера и путь к конкретному файлу на нём, например https://ege.edu.ru/documents/spec.pdf.

Типичные ошибки

Частая ошибка при вычислении адреса сети — выполнить над IP-адресом и маской арифметическое сложение или обычное десятичное сравнение вместо поразрядной конъюнкции в двоичной системе счисления; логическое «И» необходимо применять именно к двоичному представлению каждого байта. Другая распространённая ошибка — забыть, что из общего числа адресов подсети 2^n два адреса (сети и широковещательный) не могут быть назначены отдельным устройствам. Также часто путают IP-адрес и доменное имя: доменное имя — это удобная для человека «надпись» на IP-адресе, а не самостоятельный технический адрес узла в сети.

Краткий словарь терминов

IP-адрес — 32-битный уникальный числовой адрес узла в сети (протокол IPv4), записываемый в виде четырёх десятичных чисел через точку.

Маска подсети — 32-битное число, определяющее границу между номером сети и номером узла в IP-адресе.

Протокол — набор согласованных правил обмена данными между устройствами сети.

Стек TCP/IP — многоуровневый набор протоколов, на основе которого построен интернет.

DNS — система, устанавливающая соответствие между доменными именами и числовыми IP-адресами.

URL — единый указатель ресурса в интернете, включающий протокол, доменное имя и путь к файлу.

Заключение

Система IP-адресации с масками подсети позволяет однозначно определить местонахождение каждого узла в глобальной сети и организовать логическое деление сети на подсети, а служба DNS избавляет пользователя от необходимости запоминать числовые адреса, заменяя их удобными доменными именами. Понимание принципов адресации и стека протоколов TCP/IP — необходимая основа для следующей темы, посвящённой организации и обработке данных в базах данных, с которыми повседневно работают серверные приложения интернета.

Запишитесь на бесплатный урок

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