Введение в сети
Модель OSI и TCP/IP-стек
OSI (полное название Basic Reference Model Open Systems Interconnection model) — это эталонная модель, которая описывает основную архитектуру и принципы сетевой передачи данных.
Основа модели — семиуровневая иерархия, которая описывает, в каком виде и с помощью каких протоколов осуществляется передача данных по сети между двумя конечными устройствами. Каждый уровень имеет свое название и номер, поддерживаемые про токолы. Эта модель имеет свои недостатки и используется как теоретическая для лучшего понимания работы сети.
На Академии есть ознакомительная статья о модели OSI.
В реальности сети работают TCP/IP-стеку, подразумевающему объединение некоторых уровней:
1 — Канальный уровень (link layer)
- 1 — Физический уровень OSI (physical layer)
- 2 — Канальный уровень OSI (datalink layer)
2 — Межсетевой уровень (internet layer)
- 3 — Сетевой уровень OSI (network layer)
3 — Транспортный уровень (transport layer)
- 4 — Транспортный уровень OSI (transport layer)
4 — Прикладной уровень (application layer)
- 5 — Сеансовый уровень OSI (session layer)
- 6 — Уровень представления OSI (presentation layer)
- 7 — Прикладной уровень OSI (application layer)
Далее будут рассмотрены основные понятия с разбивкой по уровням передачи данных.
Протокол Ethernet и MAC-адрес
На канальном уровне большинство современных локальных сетей используют протокол Ethernet, в котором данные разделяются на кадры и передаются по проводу. Скорость передачи данных варьируется от 10 Мбит/с до 100 Гбит/с в зависимости от модели сетевой карты.
MAC-адрес (Media или Medium Access Control Address) — это уникальный номер любого устройства, имеющего выход в сеть. У каждого устрой ства с сетевой картой, Bluetooth- или Wi-Fi-адаптером есть MAC-адрес, который назначается производителем.
IP-адрес, маска подсети, служебные адреса
На межсетевом уровне функционирует протокол IP, позволивший объединить разные сети в глобальную.
На этом уровне работают маршрутизаторы — устройства, соединяющие несколько сетей друг с другом. Весь трафик, походящий через маршрутизатор, направляется в нужную сеть.
Для этого он анализирует входящие пакеты и перенаправляет их в соответствии с IP-адресами назначения.
Иногда роутер работает как шлюз (gateway). В этой конфигурации он служит устройством, которое помогает общаться с устройствами вне локальной сети (во внешней сети, такой как интернет). Специальный широковещательный адрес соединяет все устройства в сети. Обычно он не маршрутизируется и функционирует только в текущей сети. Это значит, что пакеты данных, отправленные на широковещательный адрес, никогда не отправляются за пределы сети.
IP-адрес — это номер, по которому идентифицируют сетевой интерфейс компьютера в локальной сети или интернете. Есть две версии протокола: IPv4 и IPv6. Они отличаются кодировкой.
В версии IPv4 номер кодируется 32 битами. Он представлен как четыре числа, разделённых точками — например, 192.168.0.1
. Каждое число находится в промежутке с 0 до 255 включительно.
Версия IPv6 расширяет это адресное пространство до 128 бит, и адреса в ней представлены сериями шестнадцатеричных чисел, разделённых двоеточиями:
- полная запись
2001:0db8:13bb:0002:0000:0000:0000:0020
, - сокращенная запись:
2001:db8:13bb:2::20
.
В сокращенной записи пропускаются нули по определенным правилам.
Маска подсети помогает маршрутизатору понять, как и куда передавать пакет. Маршрутизатор передает пакет напрямую, если получатель находится в той же подсети, что и отправитель. Если подсети получателя и отправителя различаются, пакет передается на последующие маршрутизаторы, пока не достигнет получателя. Маска подсети определяет с помощью двоичного кода, кака я часть IP-адреса описывает сеть, а какая — устройство.
Например, маска подсети 255.255.255.0
в двоичном представлении выглядит как 24 единицы и 8 нулей.
Это означает, что первые 24 бита в IP-адресе описывают адрес сети, а оставшиеся восемь указывают на конкретное устройство.
В версии IPv6 для читабельности показывается только количество единиц: таким образом, маска подсети может выглядеть как 64.
В IP-сетях так же существуют служебные адреса:
- Общий сетевой адрес (broadcasting address) используется сетью для ссылок на саму себя.
- Адрес сети используется для отправки пакетов на все доступные узлы сети.
Общий сетевой адрес и адр ес сети своими значениями образуют границы диапазона доступных IP-адресов сети.
В сети, определяемой как 192.168.0.0/24:
- общий сетевой адрес — 192.168.0.255.
- адрес сети — 192.168.0.0
Выделяемый диапазон IP-адресов для хостов этой сети будет 192.168.0.1 — 192.168.0.254.
Например, для сервера с DHCP можно установить IP-адрес 192.168.0.123, если он не занят.
Диапазон IP-адресов в полной сети часто описывается синтаксисом a.b.c.d/e
, где:
a.b.c.d
— это адрес сети,e
— это число бит, отведённых под сетевую часть адреса.
Сеть из примера выше может быть описана так: 192.168.0.0/24
.
Похожий синтаксис для IPv6: 2001:db8:13bb:2::/64
.
Протоколы TCP и UPD
На транспортном уровне осуществляется доставка информации с помощью протоколов TCP и UPD.
TCP обеспечивает надежную передачу данных с соблюдением целостности и порядка передаваемой информации. UPD используется реже, в тех случаях, когда потеря целостности не критична для пользователя. Например, потоковая передача видеоконтента.
DHCP
На прикладном уровне функции форматирования и представления данных делегированы библиотекам и программным интерфейсам приложений API. Приложения в зависимости от задач и архитектуры работают с разными прикладными протоколами — HTTP(S), FTP, SMTP и другими.
В контексте сетей интересна служба DHCP (Dynamic Host Configuration Protocol).
С помощью протокола DHCP сетевые устройства получают конфигурацию (автоматически при загрузке ОС или в любой момент времени по запросу). Это позволяет организовать централизованное управление конфигурациями. DHCP-сервер заведует несколькими параметрами, относящимися к настройке сети.
Самые главные из них — это IP-адрес и адрес сети, но он может предоставлять и другую информацию, такую как адреса серверов DNS, WINS, NTP и др.