Основные понятия построения локальной компьютерной сети

Любая компьютерная сеть состоит из узлов (хостов) и соединяющей их среды передачи данных. Узлами являются компьютеры, маршрутизаторы, сетевые принтеры, NAS, IP-камеры — словом, любое устройство, которому может быть присвоен сетевой адрес. Средой передачи могут служить кабели (медные, оптоволоконные) или радиоволны.

Информация передается по сети в соответствии с различными протоколами. Сетевые протоколы описывают, как оформляется информация, как именно она передается, как должна получать и интерпретировать ее принимающая сторона. Протоколы — самое широкое понятие. Одни из них определяют физическую сторону процесса связи, другие — наиболее общие логические принципы обмена данными, третьи — то, как должны использовать канал различные прикладные программы.

Я часто сравниваю это с транспортными перевозками. Есть насыпи, по которым проложены железные и автомобильные дороги, есть воздушные коридоры. Есть сами рельсы и асфальт, есть поезда, автобусы и самолеты. Наконец, есть пассажиры, которые должны попасть из точки в точку. В принципе, человек может передвигаться разными способами, в том числе и с пересадками. Достаточно купить путевку — пассажир общается только с туроператором. Тот уже договаривается с перевозчиками, перевозчики — с государством, в ведении которого находятся земля и воздушное пространство, и т. д.

На самом нижнем, физическом, уровне чаще всего используются два протокола:

  • семейство протоколов Ethernet, когда информация передается по «витой паре» — кабелю из 4-х пар скрученных медных проводов;
  • семейство протоколов 802.11 (Wi-Fi) — беспроводная сеть.

На этом уровне друг с другом «договариваются» о связи устройства — сетевые карты, адаптеры Wi-Fi. О том, что связь физически установлена, сигнализируют индикаторы Link на сетевых картах и коммутаторах, беспроводных адаптерах и точках доступа.

Устройствам все равно, кто (в смысле — операционная система) и как будет пользоваться установившимся соединением. Сетевым адаптерам достаточно того, что они «нашли» друг друга на проводе или в эфире. Примерно так же железнодорожная колея пропустит и пассажирский, и товарный состав, и дрезину — лишь бы были целы и непрерывны рельсы да стрелки работали. Важно, что логика обмена данными не зависит от физического способа их передачи. Логически любая информация в сети передается в виде пакетов — порций данных. Каждый пакет состоит из заголовка и части, являющейся собственно полезными данными. Заголовок обязательно содержит адрес получателя пакета и адрес отправителя, точнее, тот адрес, на который должен быть отправлен ответ. На этом уровне основную роль играет семейство протоколов TCP/IP.

Каждый сетевой адаптер, например сетевая карта компьютера, уже «от рождения» имеет MAC-адрес. Это идентификатор, который жестко заносится в прошивку адаптера на заводе и выглядит как 12 шестнадцатеричных символов, например 00-03-ВС-12-5D-4Е. MAC-адрес гарантированно уникален: первые шесть символов идентифицируют фирму-производителя, которая следит, чтобы остальные шесть символов не повторились на производственном конвейере. Реально в сети используются не «аппаратные» MAC-адреса, а сетевые IP-адреса. IP-адрес присваивает адаптеру операционная система компьютера, и этот параметр настраиваемый. IP-адрес компьютера состоит из четырех частей, октетов (octets), разделенных точками. Каждый октет может принимать значения от 0 до 255, например 192.168.1.10.

Рассмотрим параметры сетевого подключения на примере Windows. Откройте папку Сетевые подключения. Щелкните правой кнопкой мыши на значке подключения по локальной сети и в контекстном меню выберите команду Свойства. В открывшемся диалоге свойств подключения дважды щелкните кнопкой мыши на компоненте Протокол Интернета версии 4 (TCP/IPv4). Откроется диалог Свойства: Протокол Интернета версии 4 (TCP/IPv4). В этом диалоге настройки (рис. 8.1) мы и видим основные параметры сетевого подключения.

Рис. 8.1. Диалог свойств протокола TCP/IP

Рис. 8.1. Диалог свойств протокола TCP/IP

На практике в малых сетях обычно используют адреса из диапазона 192.168.1.2—192.168.1.254. Это связано с тем, что в стандартных «заводских» настройках почти любого модема ADSL, роутера или точки доступа прописан IP-адрес 192.168.1.1 с маской подсети 255.255.255.0. Хотя этот адрес поменять несложно, всю сеть обычно подстраивают под него, чтобы избежать лишних «мышедвижений» при настройке маршрутизатора.

Кроме IP-адреса, сетевому адаптеру назначается маска сети, которую иначе называют маской подсети. Формально маска подсети представляет собой такой же набор из четырех октетов, разделенных между собой точками. Не углубляясь в подробности, скажем, что в малых локальных сетях принято использовать маску 255.255.255.0. Она означает, что в IP-адресах всех компьютеров локальной сети первые три октета должны совпадать, а последний должен быть своим у каждого компьютера. Например, компьютерам (правильнее сказать, их сетевым картам) локальной сети присваиваются адреса 192.168.1.2, 192.168.1.3, 192.168.1.4 и т. д. Всего в такой сети может быть до 254 компьютеров, а нам больше и не надо.

Сказанное относится к протоколу IPv4, который до настоящего времени остается основным стандартом. В новой версии протокола, IPv6, используются более длинные IP-адреса, состоящие уже из 8 групп шестнадцатеричных цифр. Оба протокола пока мирно сосуществуют, и на практике достаточно выполнить настройки только для протокола IPv4.

Один из практических смыслов маски в том, что по ней система определяет, куда именно нужно отправлять пакет. Если адрес назначения «попадает под маску сети», то компьютер считает, что адресат находится в той же локальной сети, и отправляет пакет именно на этот адрес. Если же адрес назначения не соответствует маске, то считается, что адресат находится в другой сети. Такой пакет реально направляется на шлюз, который и должен переправить его, куда надо.

В настройках сетевого адаптера третьим параметром как раз указывается адрес основного шлюза. Шлюзом (gateway) называют компьютер или другое сетевое устройство, оснащенное как минимум двумя сетевыми адаптерами. Один адаптер «смотрит» в локальную сеть, а другой — во внешнюю сеть, например, в сеть интернет-провайдера. У каждого из сетевых адаптеров свой IP-адрес, и шлюз, передавая пакеты из одной сети в другую, занимается трансляцией сетевых адресов (рис. 8.2).

Рис. 8.2. Шлюз

Рис. 8.2. Шлюз

Вообще, «шлюз» — самое общее понятие. Оно просто означает некий узел сети, через который она связывается с другими сетями. Часто вместо этого термина пользуются другими, уточняющими, что конкретно делает шлюз.

  • Межсетевой экран — практически полный синоним. Это устройство (или программа), связывающее две сети. Межсетевой экран может, в соответствии со своими настройками, пропускать из сети в сеть лишь определенного рода пакеты и/или только в определенном направлении.
  • Маршрутизатор (router) — устройство или программа, которая переправляет пакеты между сетями, руководствуясь заранее заданными правилами. Типичный «аппаратный» маршрутизатор — модем ADSL, который передает пакеты из локальной сети в сеть провайдера и обратно. При этом в его настройках можно задать некоторые правила. Например, определенного рода запросы, направленные из Интернета на внешний адрес этого модема, будут всегда переадресовываться на определенный компьютер локальной сети. Программная реализация маршрутизатора — компьютер с двумя сетевыми картами, на котором запущена какая-либо программа маршрутизации.
  • Прокси-сервер (proxy) — шлюз, который может кэшировать трафик, а также полностью скрывать или подменять IP-адреса подключенных через него компьютеров.
  • Брандмауэр (firewall) — программа, фильтрующая сетевой трафик по определенным правилам. Например, она может запрещать прием или отправку пакетов на определенные адреса и/или по определенным протоколам. Брандмауэр, который работает на шлюзе, фильтрует трафик между двумя или несколькими сетевыми интерфейсами. Его называют брандмауэром периметра: он защищает всю сеть. Если же он запущен на локальном компьютере, то считается персональным брандмауэром, поскольку ограждает лишь этот компьютер.

На практике все эти роли очень плотно переплетаются. Перенаправляя пакеты, логично их тут же фильтровать, а заодно и кэшировать. Большинство программ, предназначенных для шлюзов, сочетают в себе функции маршрутизатора, брандмауэра, прокси-сервера. Также они «умеют» вести учет трафика, а некоторые и проверяют проходящий трафик с помощью подключаемых антивирусных модулей. Параметры сетевого адаптера могут задаваться вручную (как показано на рис. 8.1) либо получаться автоматически (настройка по умолчанию). Если в свойствах протокола TCP/IP параметры заданы вручную, то используются они, если нет — получаются автоматически. Откуда же компьютер может автоматически получить IP-адрес?

  • Основной вариант: от DHCP-сервера. Если компьютер после загрузки обнаружит таковой в сети, то и запросит у него IP-адрес для себя и маску подсети. Роль сервера DHCP чаще всего играет один из компонентов микропрограммы аппаратного маршрутизатора (или точки доступа, модема ADSL). Диапазон, из которого будут выдаваться IP-адреса, задается в его настройках. DHCP-сервер (это всего лишь программа) может быть специально установлен и запущен на каком-то из компьютеров. В «серверных» версиях ОС Windows и большинстве сборок Linux такая программа является стандартным компонентом.
  • Если DHCP-сервера в сети нет, компьютеры начинают присваивать IP-адреса каждый сам себе, при этом «договариваясь» друг с другом, чтобы адрес не повторялся. В Windows за это отвечает механизм APIPA (Automatic Private IP Addressing), который входит в стек протоколов TCP/IP. В этом случае система присваивает адаптеру адрес из диапазона 169.254.0.0—169.254.255.254 с маской подсети 255.255.0.0.

Заметим, что в локальной сети DHCP-серверов должно быть не более одного — иначе возникают конфликты. На практике в сети из нескольких компьютеров надежнее всего назначить каждому IP-адрес, маску сети и основной шлюз вручную.

Важный параметр сетевого подключения — адреса серверов DNS (Doman Name Server). Служба DNS занимается тем, что преобразует имена узлов в их IP-адреса. Допустим, в браузере вы вводите URL сайта, например www.pivot-table.ru. Чтобы отправить запрос на этот узел, система должна выяснить, каков IP-адрес узла с именем www.pivot-table.ru. Она сначала отправляет запрос на DNS-сервер, и получает от него ответ, что этому имени соответствует IP-адрес 85.249.46.250. В результате пакеты посылаются на этот IP-адрес, хотя в адресной строке браузера вы вводили понятное доменное имя.

В свойствах подключения предусмотрены два поля для указания адресов серверов DNS. Один сервер — основной, второй — резервный (запасной). Ближайшие серверы DNS находятся на «территории» провайдера, поэтому надо узнать у него эти адреса и указать именно их. Как вариант, в качестве одного из серверов DNS можно указать ваш шлюз — большинство шлюзов, как программных, так и аппаратных, «умеют» кэшировать недавно проходившие через них DNS-запросы.

Здесь пора уточнить два понятия. Говоря о сетях, мы встречаемся с ними постоянно.

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

Физически все это может быть реализовано и на одном компьютере, и на разных компьютерах, связанных сетью. Пример клиент-серверной структуры на одном компьютере — программа WinLIRC (сервер) и проигрыватель Ligh Alloy (клиент), получающий от сервера команды по протоколу TCP/IP. При этом клиент принимает данные с IP-адреса 127.0.0.1, т. е. от сервера, работающего на том же компьютере. Однако чаще серверы и клиенты находятся на разных компьютерах. При этом «сервером» нередко называют весь компьютер, на котором работает программа-сервер, а «клиентом» — компьютер, на котором запущена программа-клиент. Сетевые порты TCP и UDP герои анекдотов про начинающих сисадминов ищут то на задней стенке компьютера, то в Диспетчере устройств. В действительности эти порты — всего лишь условные обозначения, которыми программы пользуются при обмене данными по сети.

Мало отправить пакет на определенный IP-адрес: это адрес компьютера, как такового, а точнее, конкретного сетевого адаптера на этом компьютере (адаптеров может быть несколько). Надо еще уточнить, какой именно программе или службе предназначен настоящий пакет. Если сравнивать IP-адрес с адресом квартиры, то порт — фамилия человека, проживающего по этому адресу. В заголовке отправляемого сетевого пакета записаны IP-адрес получателя и порт. Каждая программа, способная принимать данные из сети, «прослушивает» определенные порты, т. е. извлекает из общего потока те пакеты, в заголовках которых IP-адрес совпадает с IP-адресом этого компьютера, а номер порта — с номером порта, на который настроена эта программа.

Существуют стандартные порты. Например, порт 20 всегда используют программы, работающие по протоколу FTP, порт 25 зарезервирован для любых почтовых программ, которые работают по протоколу SMTP, а с портом 80 работают браузеры, веб-серверы и другие программы, обменивающиеся данными по протоколу HTTP. Многие программы, например, клиенты и серверы удаленного управления, позволяют задавать произвольные номера портов.

Термин «порт» используется в разных значениях. Одно из них — программные порты — мы только что разобрали. Когда же речь идет о коммутаторах, маршрутизаторах и сетевых картах, то портом называют аппаратный разъем (гнездо), куда подключается сетевой кабель. Впрочем, в настройках маршрутизаторов снова фигурируют и программные, и аппаратные порты!

На этом завершим краткий конспект по сетевой адресации и перейдем к реальным схемам простых компьютерных сетей. Основа всего — оборудование, которое нужно смонтировать, а затем настроить.

Top