Построения компьютерной сети зачастую является тяжелым и трудоемким процессом, включающим множество различных задач. Для того чтобы построить сеть, необходимо понимать основы работы сетевых компонентов, а также принципы сетевых взаимодействий. Необходимо понимать, для чего строится сеть, и какие при этом используются протоколы.
Компьютерная сеть – это набор подключенных устройств и систем, способных обмениваться информацией друг с другом.
Физическими компонентами сети являются устройства, подключенные к этой сети. В зависимости от её размеров меняется и число компонентов. Базовыми компонентами современной компьютерной сети являются следующие группы устройств:
Оконечные (пользовательские) устройства – персональные компьютеры серверы, мобильные устройства, сетевые принтеры, IP-телефоны и все остальные сетевые устройства, которые подключены к сети, и с которыми пользователи работают непосредственно. В общем виде все эти устройства называют узлами сети.
Компоненты взаимодействия (связи) – элементы, предоставляющие различные способы следования данных. К ним относятся сетевые карты (Network interface card, NIC), среда передачи данных (media), коннекторы.
Коммутаторы или свитчи (switch) – компоненты, соединяющие между собой оконечные устройства и передающие данные между этими устройствами.
Маршрутизаторы или роутеры (router) – компоненты, объединяющие между собой две и более сети и передающие данные между этими сетями. Они также отвечают за поиск и использование лучшего маршрута для прохождения данных.
Инструменты для работы с сетью, такие как обжимное устройство (crimper), устройство для проверки кабеля и коннекторов – тестер (LAN tester), …
Вспомогательное оборудование (“мебель”) – коммутационный шкаф, кабель-канал, LAN-розетки …
По протяженности сети делят на три группы:
Локальные сети (Local area networks, LAN) – сети небольшой протяженности. Например, сеть аудитории, этажа, здания или организации (включая все её удаленные офисы и пользователей, подключающихся из дома).
Региональные сети (Metropolitan area networks, MAN) – сети с большей географической протяженностью (город, регион). Такими сетями обычно заведуют региональные поставщики (провайдеры) связи.
Глобальные сети (Wide area network, WAN) – сети большой протяженностью, могут охватывать континент или всю планету. Одной из реализаций глобальных сетей является сеть Интернет.
На сегодняшний день практически любая сфера деятельности, так или иначе, связана с использованием сетей. Они используются повсюду: в больших корпорациях, малом бизнесе, частных домах, в муниципальных службах... Список можно продолжать бесконечно. Сложно представить сферу деятельности, которая вообще не использовала бы сетевые технологии. В основном это, разумеется, заслуга развития сети Интернет.
Сети присутствуют повсеместно. Ими можно пользоваться повсюду: дома, на работе/в университете, в кафе, торговых центрах, парках, в последнее время даже в общественном транспорте (автобусы, поезда) появляется возможность подключиться к сети.
Основной причиной, по которой сети используются широко, является возможность быстрой передачи информации, а также совместное использование разделяемых ресурсов. Таковыми могут быть как физические, так и логические ресурсы. К логическим ресурсам относятся данные (базы данных, документы) и приложения. К физическим ресурсам относятся сетевые устройства ввода/вывода (сканеры, камеры, принтеры, мониторы), устройства хранения данных (CD/DVD/Blu-rayприводы, магнитные и ленточные накопители и др.). Процессоры (CPU и GPU) серверов и персональных компьютеров также могут быть использованы в качестве разделяемого ресурса.
Наибольшим преимуществом в использовании сети является скорость и эффективность выполнения повседневных операций, таких как хранение и передача файлов, передача информации (общение), печать и др. с помощью доступных разделяемых ресурсов.
Для эффективного использования разделяемых ресурсов необходимо наличие приложений, реализующих механизмы использования разделяемых ресурсов. Наиболее распространенными и известными являются следующие группы приложений:
Электронная почта (E-mail) – сервис для обмена сообщениями и файлов между пользователями не только внутри одной сети, но и между разными сетями.
Веб-браузер (Web browser) – приложение, позволяющее загружать документы. Используется преимущественно в сети Интернет.
Средства мгновенного обмена сообщениями или мессенджеры – приложения для общения в режиме реального времени.
Программное обеспечение совместной работы (Groupware) – платформы для автоматизации совместной деятельности рабочих групп, содержащие в себе средства электронной почты, персональных и групповых электронных календарей, службы мгновенных сообщений и среду исполнения приложений делового взаимодействия.
Системы управления базами данных или СУБД (DBMS) – программы, позволяющие пользователям использовать информацию на центральных устройствах хранения.
Итак, пользователи взаимодействуют друг с другом по сети посредством специальных приложений. Качество взаимодействия пользователей напрямую зависит и от работы приложений, и от работы сети, причем сеть и приложения также влияют на работу друг друга. Особенности используемых приложений также необходимо учитывать при проектировании сети.
По необходимости участия пользователя различают три типа приложений:
Без участия пользователя – от пользователя лишь требуется команда к началу выполнения, а дальше образуется связь Приложение-Приложение, и в участии пользователя нет необходимости. Пример: при приеме/передаче файлов пользователь лишь запускает процесс, дальше приложение самостоятельно выполняет команду. Здесь нет необходимости в большой пропускной способности.
С участием пользователя – образуется связь Пользователь-Приложение, в котором пользователь постоянно запрашивает данные с удаленного устройства. Пример: работа по сети с базой данных, где требуется постоянное взаимодействие для совершения операций над БД. Здесь пропускная способность уже более важна, т.к. медленная работа сети и приложения будет вызывать неудобства в работе.
С постоянным участием пользователя (в режиме реального времени) – обычно таковыми являются приложения, в которых пользователь через сеть взаимодействует с другим пользователем (Пользователь-Пользователь). Пример: видео- и аудио-конференции, IP-телефония и др. Здесь пропускная способность сети играет наиважнейшую роль, потому как при её недостаточности пользоваться таким типом приложений становится просто невозможно.
Для описания работы компьютерной сети используется множество характеристик. При проектировании эти характеристики должны быть рассмотрены совместно с приложениями, запланированными для работы в сети. Для построения лучшей сети необходимо подобрать баланс этих характеристик. Выделяют следующие характеристики:
Скорость измеряется в количестве данных (в битах, байтах, мегабайтах и т. д.), передаваемых по сети за единицу времени.
Стоимость отражает общую стоимость компонентов сети, их установку, настройку и обслуживание.
Защищенность отражает уровень надежности и сохранности компонентов сети и передаваемых по ней данных. Вопрос безопасности затрагивает множество аспектов от места и способа размещения оборудования до установки специализированного защитного ПО. Безопасность сети является одним из самых актуальных и важных параметров.
Доступность – это вероятность того, что сеть будет доступна при необходимости доступа к ней. Измеряется в процентах и высчитывается следующим образом: время фактической доступности делится на время заявленной доступности и умножается на 100. Например, если сеть должна быть доступна 24/7/365, то при одном часе недоступности сети в течение года её доступность будет ([8760-1]/8760)×100 = 99,9885%.
Масштабируемость (или расширяемость) показывает, насколько легко можно ввести в сеть новых пользователей или расширить требования к передаче данных (например, увеличить пропускную способность). Если сеть спроектирована и оптимизирована только под текущее количество пользователей, то при возникновении такой необходимости расширение сети может стать трудоемким и затратным.
Надежность отражает зависимость сети от работы её компонентов (коммутаторов, маршрутизаторов, узлов сети и т. д.). Надежность обычно измеряется как вероятность отказа или среднее время между перебоями.
Топология сети – это способ построения сети, а также способ хождения по ней данных. Различают логическую и физическую топологии.
Топология сети определяет методы подключения устройств и узлов сети, включая следование кабельных линий, а также основные и запасные пути прохождения данных по сети. Как уже было упомянуто, различают логическую и физическую топологии.
Физическая топология показывает, каким образом подключены компоненты сети между собой. Она отвечает за расположение сетевых устройств и выбор используемой среды передачи данных (типа кабеля). Существуют три базовых физических топологии: общая шина кольцо и звезда.
Общая шина (Bus)
В топологии «общая шина» узлы сети подключены друг к другу через кабель, в одну линию (Рис. 1.1). На обоих концах шины располагаются т.н. терминаторы, абсорбирующие достигающий конца шины сигнал. При отсутствии терминатора сигнал отразится от конца шины и пойдет в обратном направлении, тем самым вызвав коллизию в сети. Примером реализации физической топологии «общая шина» служит технология 10BASE-2 или тонкий Ethernet (Thin Ethernet). В качестве шины выступает коаксиальный кабель, устройства подключаются через Т-образные коннекторы.
Рисунок 1.1. Топология «Общая шина»
Преимущества:
Низкая стоимость – требуется небольшое количество кабеля и сетевого оборудования.
Простота в прокладке шины.
Простота подключения новых устройств (при наличии свободного места в шине).
Недостатки:
Наличие единой точки отказа – обрыв в шине приводит к выходу из строя всей сети.
Сложность в установлении места обрыва в случае обрыва шины.
Плохая масштабируемость – для подключения новых устройств может потребоваться расширение шины.
Необходимость выключения сети для добавления новых устройств (справедливо не для всех технологий).
Данный вид физической топологии в настоящее время используется крайне редко.
Кольцо (Ring)
В топологии «кольцо» узлы подключены друг к другу таким образом, что последний компьютер подключается к первому, образуя кольцо (Рис. 1.2). Имеются две разновидности: кольцо и двойное кольцо.
Рисунок 1.2. Топологии «Кольцо» (слева) и «Двойное кольцо» (справа)
Преимущества:
Дешевизна – требуется небольшое количество кабеля и сетевого оборудования.
Простота в прокладке шины.
Отказоустойчивость (только для двойного кольца). При отказе узла или обрыве одной линии сеть автоматически «свертывается» («подгибается» внутрь) в одно кольцо. При отказе двух линий сеть сегментируется на два отдельных кольца.
Недостатки:
Низкая отказоустойчивость (для одинарного кольца). При отказе узла или обрыве линии сеть перестает функционировать.
Более сложная настройка.
Необходимость выключения сети для добавления новых устройств.
Звезда (Star)
В топологии «звезда» узлы подключены к центральному устройству. Наиболее распространенной разновидностью является «расширенная звезда» (Рис. 1.3).
Преимущества:
Простота в установке и обслуживании.
При выходе из строя узла или линии сеть продолжит функционировать.
При выходе из строя центрального устройства сеть сегментируется, но продолжит функционировать (для расширенной звезды)
Масштабируемость.
Рисунок 1.3. Топологии «Звезда» (слева) и «Расширенная звезда» (справа)
Недостатки:
Высокая стоимость – требуется большее количество кабеля и сетевого оборудования.
Менее распространенной разновидностью данной топологии являются полносвязная и неполносвязная топологии. (Рис. 1.4). В полносвязной топологии сетевые устройства соединены по принципу «каждый с каждым». В неполносвязной топологии как минимум одно сетевое устройство соединено каждым другим более чем по одной линии.
Рисунок 1.4. Полносвязная (слева) и неполносвязная (справа) топологии
Такая топология обеспечивает большую отказоустойчивость, повышая доступность и надежность сети, однако при этом значительно увеличивают её стоимость и усложняют масштабируемость и проектирование.
Логическая топология показывает путь, по которому следуют сигналы от одного узла к другому, т.е. путь прохождения данных внутри сети.
Физическая и логическая топологии могут быть одинаковыми. Например, в сети с физической топологией типа «общая шина» данные будут проходить по всей длине кабеля (т.е. этой шины). Соответственно, можно сказать, что сети имеет и логическую топологию типа «общая шина».
Однако физическая и логическая топологии сети могут отличаться. Например, в сети Ethernetустройства подключены к центральному концентратору (Hub), образуя физическую топологию «звезда». Но данные через концентратор будут передаваться по всем портам концентратора, образуя тем самым логическую топологию «общая шина». Таким образом, нельзя однозначно утверждать о том, как передаются данные по сети, зная лишь о физической топологии.
Эталонная модель osi
Модель OSI описывает процесс взаимодействия устройств в сети с коммутацией пакетов. Она определяет, во-первых, уровни взаимодействия систем, во-вторых, стандартные названия уровней, в-третьих, функции, которые должен выполнять каждый уровень. Модель OSI не содержит описаний реализации конкретного набора протоколов.
Ключевыми понятиями для модели OSI являются:
Служба (или сервис, Service) определяет функции, которые реализует данный уровень, однако не говорит, каким образом это делается. Поскольку здесь OSIрассматривается как эталонная модель, прежде всего, будут рассматриваться именно сервисы.
Интерфейс (Interface) определяет способ доступа к уровню для уровней, расположенных выше.
Протокол (Protocol) – набор правил, описывающих формат и назначение данных (кадров, пакетов, сегментов), которыми обмениваются объекты одного ранга внутри уровня. Протоколы определяют то, каким образом должны быть выполнены задачи, определенные сервисами.
Единица данных протокола (Protocol Data Unit, PDU) – наименование некоторого количества данных, которым оперирует конкретный уровень.
В модели OSI средства взаимодействия делятся на семь уровней: прикладной, представительский, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень выполняет строго определенные функции, предоставляя сервис для более высокого уровня. Рассмотрим уровни в порядке от верхнего (прикладного) к нижнему (физическому).
Прикладной уровень (Application layer)
Прикладной уровень обеспечивает взаимодействие пользователя с сетью. На этом уровне работают протоколы передачи документов, файлов, протоколы электронной почты и др. Поскольку над прикладным уровнем больше нет других уровней, он единственный из всех кто не предоставляет сервис другому уровню. Можно сказать, что прикладной уровень предоставляет сервис непосредственно пользователю через такие приложения как веб-браузер или почтовый клиент.
Уровень представления (Presentation layer)
Данный уровень обеспечивает представление передаваемой информации, не меняя при этом её содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной системы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных, например, при использовании разных кодировок. Также на этом уровне выполняются шифрование и дешифрование данных, например, с использованием протокола SSL.
Сеансовый уровень (Session layer)
Сеансовый уровень управляет взаимодействием сторон: фиксирует, какая из сторон является активной в настоящий момент, и предоставляет средства синхронизации сеанса. Эти средства позволяют в ходе длинных передач сохранять информацию о состоянии этих передач в виде контрольных точек, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать всё с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется в виде отдельных протоколов. Функции этого уровня часто объединяют с функциями прикладного уровня и реализуют в одном протоколе.
Три верхних уровня решают задачи предоставления прикладных сервисов, используя транспортную подсистему. Единица данных, которой оперируют эти уровни, обычно называется сообщением.
Транспортный уровень (Transport layer)
Транспортный уровень является связующим между подсистемой прикладных сервисов (три верхних уровня) и транспортной подсистемой (три нижних уровня). Данный уровень отвечает за отправку данных на одной стороне и их получение на другой. Так же в компетенции уровня входит предоставление гарантии о доставке данных. Например, в случае передачи файлов по сети такая гарантия будет необходима, поскольку потеря даже небольшой части файла может привести к непригодности всего файла на принимающей стороне. При необходимости, на транспортном уровне данные делятся на сегменты (PDU транспортного уровня) для отправки адресату. Однако бывают случаи, где скорость передачи важнее качества, и гарантированная доставка 100% данных не требуется (онлайн трансляции, аудио- и видеоконференции).
Сетевой уровень (Network layer)
Сетевой уровень служит для образования единой транспортной системы, объединяющей несколько сетей и называемой составной сетью. Сетевой уровень может объединять различные разнородные сети, такая технология называется технологией межсетевого взаимодействия (internetworking).
Кроме того сетевым уровнем решается вопрос глобальной сетевой адресации – наличия такой системы адресов для присваивания их сетевым устройствам, чтобы те могли находить друг друга в сети.
Еще одной важнейшей задачей сетевого уровня является определение маршрута следования информации по сетям. На сетевом уровне определяется, через какие сети пакеты данных (PDUсетевого уровня) могут и должны пройти от отправителя к получателю.
Канальный уровень (Data link layer)
Основной функцией канального уровня является передача данных внутри локальной сети. В рамках этой функции канальный уровень разделяют на два подуровня, на каждом из которых выполняются несколько задач.
Подуровень управления логической связью (Local Link Control, LLC) занимается управлением передачей данных, а также обеспечивает проверку и правильность передачи информации по соединению. В рамках управления передачей данных выполняются следующие задачи:
установление логического соединения между взаимодействующими узлами,
согласование в рамках соединения скоростей передатчика и приемника,
обеспечение надежной передачи: обнаружение и коррекция ошибок.
Особого внимания заслуживает задача обнаружения и коррекции ошибок. На канальном уровне фиксируются границы кадра (PDU канального уровня), путем добавления специальных бит в начале и в конце кадра, а затем к кадру добавляется контрольная сумма. Контрольная сумма вычисляется по специальному алгоритму как функция от всех бит кадра. На принимающей стороне канальный уровень снова вычисляет контрольную сумму и сравнивает её с исходной. Если контрольные суммы совпадают, то кадр считается доставленным правильно, иначе фиксируется ошибка, и кадр отбрасывается.
Нижний подуровень управления доступом к среде (Media Access Control, MAC) выполняет функции собственно управления доступом к каналу связи, что позволяет нескольким узлам делить между собой одну среду передачи данных, к которой они подключены. Примером могут служить беспроводные сети, в которых устройства работают в одном частотном диапазоне.
Другой задачей MAC-подуровня является реализация аппаратной адресации (отличная от адресации сетевого уровня). Она заключается в следующем: сетевым интерфейсам присваивается уникальный адрес (MAC-адрес), который впоследствии используется для идентификации отправителя и получателя кадра. В локальных сетях зачастую эта функция позволяет отказаться от использования средств сетевого и транспортного уровней.
Физический уровень (Physical layer)
На физическом уровне поток данных в виде битов передается от источника к получателю по каналам связи, таким как витая пара, коаксиальный или оптоволоконный кабель, радиоэфир и др.
Примером протокола физического уровня может служить спецификация 1000BASE-T – стандартGigabit Ethernet, определяющий в качестве передающей среды (media) витую пару категории 5e, разъем RJ-45, длину сегмента до 100 метров и многие другие характеристики.
Физический уровень не вникает в смысл информации, которую он передает. Для него эта информация представляет собой однородный поток битов, который нужно доставить без искажений в соответствии с заданной тактовой частотой (интервалом между соседними битами).
