Локальная сеть: основы функционирования компьютерных сетей

Локальная сеть (локальная вычислительная сеть или ЛВС) представляет собой среду взаимодействия нескольких компьютеров между собой. Цель взаимодействия — передача данных. Локальные сети, как правило, покрывают небольшие пространства (дом, офис, предприятие) — чем и оправдывают своё название. ЛВС может иметь как один, так и несколько уровней. Для построения многоуровневой локальной сети применяют специальное сетевое оборудование: маршрутизаторы, коммутаторы. Существует несколько способов объединения компьютеров и сетевого оборудования в единую компьютерную сеть: проводное (витая пара), оптическое (оптоволоконный кабель) и беспроводное (Wi-Fi, Bluetooth) соединения.

Сетевой пакет: как работает локальная сеть

Принцип работы локальной сети основан на передаче сетевых пакетов. Сетевой пакет — это единица данных, передаваемая по сети, которая состоит из двух частей: заголовок и тело. Заголовок содержит информацию о сетевом пакете, такую как адрес отправителя, адрес получателя, порт отправителя, порт получателя и другие параметры. Тело представляет собой данные, которые необходимо передать.

Сетевой пакет: структура

Сетевой пакет проходит через различные устройства в сети, такие как модемы, маршрутизаторы, коммутаторы, пока не достигнет конечного устройства. Каждое устройство анализирует заголовок сетевого пакета и принимает решение о том, куда его направить дальше. Если адрес получателя не совпадает с адресом данного устройства, пакет отправляется на следующее устройство, которое, возможно, ближе к получателю. Если же адрес совпадает, то пакет доставляется на соответствующее устройство или компьютер.

Топология локальной сети

Правильное функционирование компьютерной сети зависит от ее организации. Принцип объединения сетевых устройств называется топологией (структурой) локальной сети. Существует три основных вида топологии: шина, кольцо и звезда.

Топология локальной сети – линейная шина

Линейная шина

Все компьютеры подключены к единому кабелю с заглушками по краям (терминаторами). Заглушки необходимы для предотвращения отражения сигнала. Принцип работы шины заключается в следующем: один из компьютеров посылает сигнал всем участникам локальной сети, а другие анализируют сигнал и если он предназначен им, то обрабатывают его. При таком взаимодействии, каждый из компьютеров проверяет наличие сигнала в шине перед отправкой данных, что исключает возникновения коллизий. Минус данной топологии — низкая производительность, к тому же, при повреждении шины нарушается нормальное функционирование локальной сети и часть компьютеров не в состоянии обрабатывать либо посылать сигналы.

Топология локальной сети – кольцо

Кольцо

В данной топологии каждый из компьютеров соединен только с двумя участниками сети. Принцип функционирования такой ЛВС заключается в том, что один из компьютеров принимает информацию от предыдущего и отправляет её следующему выступая в роли повторителя сигнала, либо обрабатывает данные если они предназначались ему. Локальная сеть, построенная по кольцевому принципу более производительна в сравнении с линейной шиной и может объединять до 1000 компьютеров, но, если где-то возникает обрыв, сеть полностью перестает функционировать.

Топология локальной сети – звезда

Звезда

Топология звезда, является оптимальной структурой для построения ЛВС. Принцип работы такой сети заключается во взаимодействии нескольких компьютеров между собой по средствам центрального коммутирующего устройства (коммутатор или свитч). Топология звезда позволяет создавать высоконагруженные масштабируемые сети, в которых центральное устройство может выступать, как отдельная единица в составе многоуровневой ЛВС. Единственный минус в том, что при выходе из строя центрального коммутирующего устройства рушится вся сеть или её часть. Плюсом является то, что, если один из компьютеров перестаёт функционировать это никак не сказывается на работоспособности всей локальной сети.

MAC-адрес, IP-адрес и Маска подсети

Прежде чем познакомиться с основными принципами взаимодействия сетевых устройств, необходимо подробно разобрать, что такое IP-адрес, MAC-адрес и Маска подсети.

MAC-адрес, IP-адрес и Маска подсети

MAC-адрес — это уникальный идентификатор сетевого оборудования, который необходим для взаимодействия устройств в локальной сети на физическом уровне. MAC-адрес «вшивается» в сетевую карту заводом изготовителем и не подлежит изменению, хотя при необходимости это можно сделать на программном уровне. Пример записи MAC-адреса: «00:30:48:5a:58:65».

MAC-адрес, IP-адрес и Маска подсети

IP-адрес — это уникальный сетевой адрес узла (хоста, компьютера) в локальной сети, к примеру: «192.168.1.16». Первые три группы цифр IP-адреса используется для идентификации сети, а последняя группа для определения «порядкового номера» компьютера в этой сети. Если провести аналогию, то IP-адрес можно сравнить с почтовым адресом, тогда запись будет выглядеть так: «регион.город.улица.дом». Изначально, использовались IP-адреса 4-й версии (IPv4), но когда количество устройств глобальной сети возросло до максимума, то данного диапазона стало не хватать, вследствие чего был разработан протокол TCP/IP 6-й версии — IPv6. Для локальных сетей достаточно 4-й версии TCP/IP протокола.

MAC-адрес, IP-адрес и Маска подсети

Маска подсети — специальная запись, которая позволяет по IP-адресу вычислять адрес подсети и IP-адрес компьютера в данной сети. Пример записи маски подсети: 255.255.255.0. О том, как происходит вычисление IP-адресов мы рассмотрим чуть позже.

ARP протокол: взаимодействие устройств ЛВС

ARP — это протокол по которому определяется MAC-адрес узла по его IP-адресу. Например, в нашей локальной сети есть несколько компьютеров. Один должен отправить информацию другому, но при этом знает только его IP-адрес, а для взаимодействия на физическом уровне нужен MAC-адрес. Что происходит? Один из компьютеров отправляет широковещательный запрос всем участникам локальной сети. Сам запрос, содержит IP-адрес требуемого компьютера и собственный MAC-адрес. Другой компьютер с данным IP-адресом, понимает, что запрос пришел к нему и в ответ высылает свой MAC-адрес на тот, который пришел в запросе. После чего собственно и инициализируется процесс передачи сетевых пакетов.

ARP протокол или как происходит взаимодействие устройств ЛВС

Сетевой коммутатор и маршрутизатор (роутер)

Для согласования работы сетевых устройств используется специальное сетевое оборудование — коммутаторы и маршрутизаторы. Исходя из рассмотренного выше, важно понять простую истину — коммутаторы работают с MAC-адресами, а маршрутизаторы (или роутеры) с IP-адресами.

MAC-адреса

Коммутатор содержит таблицу MAC-адресов устройств локальной сети непосредственно подключенных к его портам. Изначально таблица пуста и начинает заполняться при старте работы коммутатора, происходит сопоставление MAC-адресов устройств и портов, к которым они подключены. Это необходимо для того, чтобы коммутатор напрямую пересылал сетевые пакеты тем участникам локальной сети, которым они предназначены, а не опрашивал все устройства ЛВС.

Таблица маршрута IPv4

Маршрутизатор также имеет таблицу, в которую заносит IP-адреса устройств на основе анализа локальной сети. Роутер может самостоятельно раздавать IP-адреса устройствам ЛВС благодаря протоколу динамического конфигурирования узла сети (DHCP). Таблица маршрутизации позволяет роутеру вычислять наикратчайшие маршруты для отправки сетевых пакетов между различными узлами ЛВС. Данные узлы (компьютеры) могут находиться в любом сегменте многоуровневой сети невзирая на архитектуру той или иной подсети. К примеру, маршрутизатор связывает локальную сеть с глобальной (интернет) через сеть провайдера.

Пример маршрутизации

Допустим, в таблице маршрутизации есть такая запись:

СетьМаскаИнтерфейс
192.168.1.0255.255.255.0192.168.1.96

Роутер получает сетевой пакет, предназначенный для хоста с IP-адресом 192.168.1.96, после чего начинает обход таблицы маршрутизации и обнаруживает, что при наложении маски подсети 255.255.255.0 на IP-адрес 192.168.1.96 вычисляется сеть с IP-адресом 192.168.1.0. Пройдя строку до конца роутер находит IP-адрес интерфейса 192.168.1.96, на который и отправляет полученный пакет.

Вычисление IP-адреса сети и компьютера

Для вычисления IP-адреса сети используется маска подсети. Начнем с того, что привычная для наших глаз запись IP-адреса представлена в десятеричном формате (192.168.1.96). На самом деле, сетевое устройство данный IP-адрес видит, как набор нолей и единиц, то есть в двоичной системе исчисления (11000000.10101000.00000001.01100000). Так же выглядит и маска подсети (255.255.255.0 -> 11111111.11111111.11111111.00000000).

IP-адрес назначения192.168.1.9611000000 10101000 00000001 01100000
Маска подсети255.255.255.011111111 11111111 11111111 00000000
IP-адрес сети192.168.1.011000000 10101000 00000001 00000000

Что получается? Какой бы у нас не был IP-адрес назначения (к примеру 192.168.1.96 или 192.168.1.54) при наложении на него маски подсети (255.255.255.0) будет получаться один и тот же результат (192.168.1.0). Происходит это из-за поразрядного (побитного) сравнения записей (1х1 = 1, 1х0 = 0, 0х1 = 0). При этом IP-адрес компьютера берётся из последней группы цифр IP-адреса назначения. Также стоит учитывать, что из общего диапазона адресов, в рамках одной подсети, доступно будет на два адреса меньше, потому что 192.168.1.0 – является IP-адресом самой сети, а 192.168.1.255 – служебным широковещательным адресом для передачи общих пакетов запросов.

NAT (Network Address Translation): взаимодействие устройств ЛВС с глобальной сетью

Что такое NAT? Как уже упоминалось ранее, маршрутизатор связывает между собой сети не только на локальном уровне, но и взаимодействует с сетью провайдера с целью получения доступа к сети интернет. Для пересылки пакетов во внешнюю сеть, роутер не может использовать IP-адреса компьютеров из локальной сети, так как данные IP-адреса являются «частными» и предназначены только для организации взаимодействия устройств внутри ЛВС. Маршрутизатор имеет два IP-адреса (внутренний и внешний), один в локальной сети (192.168.1.0), другой (например, 95.153.133.97) ему присваивает сеть провайдера при динамическом распределении IP-адресов. Именно второй IP-адрес роутер будет использовать для отправки и получения пакетов по сети интернет. Для реализации такой подмены и был разработан NAT.

NAT (Network Address Translation) — механизм преобразование сетевых адресов, является частью TCP/IP-протокола.

Принцип NAT заключается в следующем: при отправке пакета из ЛВС маршрутизатор подменяет IP-адрес локальной машины на свой собственный, а при получении производит обратную замену и отправляет данные на тот компьютер, которому они и предназначались.

NAT