Сетевые протоколы
Протокол — набор правил обмена данными между узлами: формат сообщений, порядок обмена и реакция на ошибки.
Что такое Сетевые протоколы
Протокол — согласованный набор правил, по которым две программы обмениваются данными: в каком формате устроено сообщение, в каком порядке стороны их шлют, что считать ошибкой и как на неё реагировать. Сетевой протокол — то же самое для узлов сети.
Аналогия: протокол — это язык и этикет разговора одновременно. Мало передать звук — обе стороны должны одинаково понимать слова, знать, чья очередь говорить, и что делать, если собеседника не расслышали.
Ключевое свойство: протокол не зависит от реализации. nginx на Linux и браузер на телефоне написаны разными людьми на разных языках, но говорят по HTTP одинаково — потому что оба следуют спецификации.
Протоколы работают слоями
Ни один протокол не решает задачу целиком — каждый опирается на нижележащий и не знает деталей его работы. Открытие страницы задействует минимум четыре:
HTTP — «дай мне /index.html» прикладной уровень
↓
TLS — зашифровать это безопасность
↓
TCP — доставить надёжно, порт 443 транспорт
↓
IP — довезти до 93.184.216.34 сеть
↓
Ethernet — передать до соседнего узла канал
Каждый уровень добавляет свой заголовок к данным сверху — это называется инкапсуляцией. На приёмной стороне заголовки снимаются в обратном порядке. Модель, описывающая эти уровни формально, — OSI.
Основные протоколы
| Протокол | Уровень | Порт | Задача |
|---|---|---|---|
| HTTP / HTTPS | прикладной | 80 / 443 | запрос-ответ в вебе |
| DNS | прикладной | 53 | имя → адрес |
| SSH | прикладной | 22 | шифрованный доступ к серверу |
| SMTP / IMAP | прикладной | 25 / 143 | почта |
| TCP | транспортный | — | надёжный поток |
| UDP | транспортный | — | дейтаграммы без гарантий |
| IP | сетевой | — | адресация и маршрутизация |
| ICMP | сетевой | — | служебные сообщения, ping |
| ARP | канальный | — | IP → MAC в локальной сети |
HTTPS и SSL — что это на самом деле
Оба запроса встречаются постоянно, и в обоих кроется путаница.
Протокол HTTPS — это не отдельный протокол, а обычный HTTP, пропущенный через шифрованный туннель. Буква S означает Secure: сначала стороны устанавливают TLS-соединение и проверяют сертификат, а затем внутри него передают ровно те же HTTP-запросы. Поэтому HTTPS-трафик нельзя прочитать по пути, но сам факт соединения и имя хоста (SNI) видны.
Протокол SSL — предшественник TLS. Все версии SSL устарели и отключены: SSLv2 и SSLv3 признаны небезопасными много лет назад. Когда сегодня говорят «SSL-сертификат» или «настроить SSL», технически имеют в виду TLS — название прижилось и осталось в интерфейсах и документации.
Открытость и совместимость
Протоколы описываются в открытых спецификациях — для интернета это RFC. Именно поэтому оборудование и софт разных вендоров работают вместе, а вы можете заменить Apache на nginx, не переписывая клиентов.
На практике это даёт свободу выбора: пока сервис говорит по стандартному протоколу, его реализацию можно менять. Отсюда же и обратное правило — проприетарный протокол привязывает вас к одному поставщику.
Связанные термины
- Модель OSI — как уровни протоколов описаны формально
- TCP и UDP — транспорт под большинством прикладных протоколов
- HTTP — самый массовый прикладной протокол
- TLS — то, что превращает HTTP в HTTPS
- Сетевые порты — как узел различает протоколы на одном адресе
- Компьютерные сети — среда, в которой всё это работает
Готовы запустить GPU-задачу?
Запустить GPU-сервер