Компьютерные сети для новичков
Ранее я писал пост о том, какие варианты анализа трафика существуют у WAF. Ознакомиться с ним можно по ссылке: ➥ Как работает WAF
Там же я упоминал, что если вы далеки от сетей, то очень советую почитать книгу «Компьютерные сети» Эндрю Таненбаума.
В этом посте я хотел бы поверхностно рассказать о работе компьютерных сетей, опираясь на эту книгу, чтобы немного познакомить вас с довольно интересным путешествием наших действий в интернете и тем, какой путь они проходят.
Мир компьютерных сетей очень большой, и чтобы не путаться во всех протоколах, были придуманы модели.
Есть две основные модели, которые обычно рассматривают • OSI — 7-уровневая модель для изучения сетей • TCP/IP — 4-уровневая модель, которая описывает уже рабочие протоколы, используемые на практике
━━━━━━━━ Почему вообще две модели? ━━━━━━━━ Хотя модели разные, протоколы в них по сути описывают одну и ту же реальность.
OSI удобна именно для изучения, потому что она подробно делит сеть на уровни и помогает понять, кто за что отвечает.
TCP/IP ближе к реальной жизни, потому что она проще и отражает то, как сеть построена на практике.
Если говорить совсем коротко • OSI — это хорошая модель, чтобы понять сеть • TCP/IP — это хорошая модель, чтобы понять, как сеть реально работает
━━━━━━━━ Что такое уровни в моделях и зачем они нужны ━━━━━━━━ Уровни нужны для того, чтобы разделить сложную систему на понятные части. Каждый уровень решает свою задачу и взаимодействует с соседними уровнями. За счёт этого сеть не выглядит как “одна большая магия”, а разбирается на понятные блоки.
Например: • один уровень отвечает за передачу сигнала • другой — за доставку кадра по локальной сети • третий — за маршрутизацию между сетями • четвёртый — за доставку данных приложению
Именно поэтому сети удобнее изучать по уровням, а не пытаться сразу понять всё целиком.
━━━━━━━━ Модель OSI и её 7 уровней ━━━━━━━━
Как я писал ранее, модель OSI состоит из 7 уровней.
1. Физический уровень Это самый нижний уровень. Здесь происходит непосредственная передача сигнала по проводам, оптоволокну или воздуху
Проще говоря, это уровень “электричества, радиоволн и битов”.
2. Канальный уровень Отвечает за передачу данных по физической линии внутри одной сети. Именно здесь работают такие вещи, как MAC-адреса, кадры и базовая доставка данных между устройствами в локальной сети.
3. Сетевой уровень Это уже уровень маршрутизации. Здесь определяется, каким маршрутом трафик пойдёт от отправителя к получателю
Именно здесь живёт IP.
4. Транспортный уровень На этом уровне работают протоколы TCP и UDP.
• TCP нужен там, где важна надёжность: чтобы данные дошли полностью, в правильном порядке и без потерь. • UDP нужен там, где важна скорость и допустимы потери. Например:
— TCP используют для веба, почты, передачи файлов — UDP часто используют для стриминга, звонков, игр и других сценариев, где важнее актуальность, чем идеальная целостность каждого пакета
5. Сеансовый уровень Отвечает за установление, поддержку и завершение сеанса связи между системами.
Это уровень, который условно “следит”, чтобы разговор между двумя сторонами вообще был организован.
6. Представительный уровень Здесь происходит преобразование данных: — кодирование — сжатие — шифрование
Именно здесь удобно понимать роль таких механизмов, как SSL/TLS, хотя в реальной практике границы между уровнями могут выглядеть не так строго.
7. Прикладной уровень Это уровень, с которым уже ближе всего взаимодействуют пользователи и приложения.
Здесь работают такие протоколы, как: • HTTP / HTTPS • SMTP • FTP • DNS
То есть всё то, что приложение использует для обмена данными.
━━━━━━━━ Мини-итог ━━━━━━━━ Эта статья — не техническая документация, а вводная точка входа в мир сетей.
Я не хотел разобрать всё до деталей, а дать общее понимание того, как работает интернет и через какие уровни проходят наши данные.