Краткий курс — основы компьютерных сетей. В этом материале я расскажу (сжато) об основах компьютерных сетей. Статья предназначена для начинающих, а так же будет полезна школьникам старших классов и студентам. Начнем с базовых определений.
Сеть – совокупность систем связи и систем обработки информации, которая может использоваться несколькими пользователями.
Компьютерная сеть – сеть, в узлах которой содержатся компьютеры и оборудование коммуникации данных.
Вычислительная сеть – соединенная каналами связи система обработки данных, ориентированная на конкретного пользователя.
Компьютерная сеть — представляет собой систему распределенной обработки информации. Что тут важно. Важно то, что в распределенной системе не важно откуда и с какого устройства вы заходите. Вы можете войти в сеть с любого устройства (персональный компьютер, ноутбук, планшетный компьютер, телефон) из любой точки мира где есть интернет.
Краткая история развития компьютерных сетей
Компьютерные сети появились в результате развития телекоммуникационных технологий и компьютерной техники. То есть появились компьютеры. Они развивались. Были телекоммуникационные системы, телеграф, телефон, то есть связь. И вот люди думали, хорошо было бы если бы компьютеры могли обмениваться информацией между собой. Эта идея стала основополагающей идеей благодаря которой появились компьютерные сети.
50-е годы: мейнфреймы
В 50-х года 20-го века появились первые «компьютеры» — мейнфреймы. Это были большие вычислительные машины которые могли занимать по площади современный спортивный зал. Вычислительные мощности были не большие, но факт в том что вычисления уже производила машина.
Начало 60-х годов: многотерминальные системы
В дальнейшем к одному мейнфрейму стали подключать несколько устройств ввода-вывода, появился прообраз нынешних терминальных систем да и сетей в целом.
70-е годы: первые компьютерные сети
?0-е годы, время холодной войны. СССР и США сидели возле своих ракет и думали кто же атакует (или не атакует) первым. Центры управления ракетами США располагались в разных местах удаленных друг от друга. Если в одном центре производится запуск ракет, после которого в центр попадает ракета врага, то вся информация в этом центре — утеряна. Управление перспективных исследовательских проектов Министерства обороны США (Defense Advanced Research Projects Agency (DARPA)) ставит перед учеными задачу — разработать технологию которая позволяла бы передавать информацию из одного стратегического центра в другой на случай его уничтожения.
В 1969 году появляется ARPANET (от англ. Advanced Research Projects Agency Network) — первая компьютерная сеть созданная на основе протокола IP который используется и по сей день. За 11 лет ARPANET развивается до сети способной обеспечить связь между стратегическими объектами вооруженных сил США.
Середина 70-х годов: большие интегральные схемы
На основе интегральных схем появляются «мини компьютеры». Они начинают выходить за пределы министерства обороны и постепенно внедряются в повседневную жизнь. За компьютерами начинают работать бухгалтера, менеджеры, компьютеры начинают управлять производством. Появляются первые локальные сети.
Локальная сеть (Local Area Network, LAN) – объединение компьютеров, сосредоточенных на небольшой территории. В общем случае локальная сеть представляет собой коммуникационную систему, принадлежащую
одной организации.Сетевая технология – согласованный набор программных и аппаратных средств (драйверов, сетевых адаптеров, кабелей и разъемов), а также механизмов передачи данных по линиям связи, достаточный для построения вычислительной сети.
В период с 80-х до начала 90-х годов появились и прочно вошли в нашу жизнь:
- Ethernet.
- Token Ring.
- Arcnet.
- FDDI (Fiber Distributed Data Interface) — волоконнооптический интерфейс передачи данных.
- TCP/IP используется в ARPANET.
- Ethernet становится лидером среди сетевых технологий.
- В 1991 году появился интернет World Wide Web.
Общие принципы построения сетей
Со временем основной целью компьютерных развития сетей (помимо передачи информации) стала цель распределенного использования информационных ресурсов:
- Периферийных устройств: принтеры, сканеры и т. д.
- Данных хранящихся в оперативной памяти устройств.
- Вычислительных мощностей.
Достичь эту цель помогали сетевые интерфейсы. Сетевые интерфейсы это определенная логическая и/или физическая граница между взаимодействующими независимыми объектами.
Сетевые интерфейсы разделяются на:
- Физические интерфейсы (порты).
- Логические интерфейсы (протоколы).
Порт
Из определения обычно ничего не ясно. Порт и порт, а что порт?
Начнем с того что порт это цифра. Например 21, 25, 80.
Это число записывается в заголовках протоколов транспортного уровня (об этом ниже). Порт указывает для какой программы предназначен тот или иной пакет (грубо говоря та или иная информация). Например, http-сервер работает через порт 80. Когда вы открываете браузер, вы отправляете запрос на веб-сервер через 80 порт и сервер понимает что это http запрос и вам нужен сервер который передаст вам страницу в формате html (ответ сервера).
Протокол
Протокол, например TCP/IP это адрес узла (компьютера) с указанием порта и передаваемых данных. Например что бы передать информацию по протоколу TCP/IP нужно указать следующие данные:
Адрес отправителя (Source address):
IP: 82.146.49.11
Port: 2049
Адрес получателя (Destination address):
IP: 195.34.32.111
Port: 53
Данные пакета:
…
Благодаря этим данным информация будет передана на нужный узел.
Пара клиент—сервер
Начнем с определений.
Клиент — это модуль, предназначенный для формирования и передачи сообщений-запросов к ресурсам удаленного компьютера от разных приложений с последующим приемом результатов из сети и передачей их соответствующим приложениям.
Сервер — это модуль, который постоянно, ожидает прихода из сети запросов от клиентов и, приняв запрос, пытается его обслужить, как правило, с участием
локальной ОС; один сервер может обслуживать запросы сразу нескольких клиентов (поочередно или одновременно)/
Проще говоря Сервер — это компьютер на котором установлена программа, или принтер. Клиент — это компьютер который подключается к программе, работает с ней и распечатывает какие-либо результаты, например.
При этом программа может быть установлена на Клиенте, а база данных программы на Сервере.
Топология физических сетей
Под топологией сети понимается конфигурация графа, вершинам которого соответствуют конечные узлы сети (например, компьютеры) и коммуникационной оборудование (например, маршрутизаторы), а ребрам – физические или информационные связи между вершинами.
- Полносвязная (а).
- Ячеистая (б).
- Кольцо (в).
- Звезда (г).
- Дерево (д).
- Шина (е).
Основных топологий сети 6. В целом тут все просто. На сегодняшний день наиболее распространенная топология — Дерево.
Адресация узлов сети
Множество всех адресов, которые являются допустимыми в рамках некоторой схемы адресации, называется адресным пространством. Адресное пространство может
иметь плоскую (линейную) организацию или иерархическую организацию.Для преобразования адресов из одного вида в другой используются специальные вспомогательные протоколы, которые называют протоколами разрешения адресов.
Коммутация
Соединение конечных узлов через сеть транзитных узлов называют коммутацией. Последовательность узлов, лежащих на пути от отправителя к получателю, образует маршрут.
Обобщенные задачи коммутации
- Определение информационных потоков, для которых требуется прокладывать маршруты.
- Маршрутизация потоков.
- Продвижение потоков, то есть распознавание потоков и их локальная коммутация на каждом транзитном узле.
- Мультиплексирование и демультиплексирование потоков.
Уровни сетевой модели OSI и уровни TCP/IP
(OSI) Open System Interconnection — многоуровневая модель взаимодействия открытых систем, состоящая из семи уровней. Каждый из семи уровней предназначен для выполнения одного из этапов связи.
Для упрощения структуры большинство сетей организуются в наборы уровней, каждый последующий возводится над предыдущим.
Целью каждого уровня является предоставление неких сервисов для вышестоящих уровней. При этом от них скрываются детали реализации предоставляемого сервиса.
Протокол – формализованное правило, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах.
Протоколы, реализующие модель OSI никогда не применялись на практике, но имена и номера уровней используются по сей день.
- Физический.
- Канальный.
- Сетевой.
- Транспортный.
- Сеансовый.
- Представления.
- Прикладной.
Для лучшего понимания приведу пример. Вы открываете страницу сайта в интернете. Что происходит?
Браузер (прикладной уровень) формирует запрос по протоколу HTTP (уровень представлений и сеансовый уровень), формируются пакеты, передаваемые на порт 80 (транспортный уровень), на IP адрес сервера (сетевой уровень). Эти пакеты передаются по сетевой карте компьютера в сеть (канальный и физический уровень).
Уровни OSI — краткий обзор
Физический уровень. Если коротко и просто, то на физическом уровне данные передаются в виде сигналов. Если передается число 1, то задача уровня передать число 1, если 0, то передать 0. Простейшее сравнение — связать два пластиковых стаканчика ниткой и говорить в них. Нитка передает вибрацию физически.
Канальный уровень. Канальный уровень это технология каким образом будут связаны узлы (передающий и принимающий), тут вспоминает топологию сетей: кольцо, шина, дерево. Данный уровень определяет порядок взаимодействия между большим количеством узлов.
Сетевой уровень. Объединяет несколько сетей канального уровня в одну сеть. Есть, например, у нас кольцо, дерево и шина, задача сетевого уровня объединить их в одну сеть, а именно — ввести общую адресацию. На этом уровне определяются правила передачи информации:
- Сетевые протоколы (IPv4 и IPv6).
- Протоколы маршрутизации и построения маршрутов.
Транспортный уровень обеспечивает надежность при передачи информации. Он контролирует отправку пакетов. Если пакет отправлен, то должно придти (на компьютер который отправлял пакет) уведомление об успешной доставке пакета. Если уведомление об успешной доставке не поступило то нужно отправить пакет еще раз. Например TCP и UDP.
Сеансовый уровень. Отвечает за управление сеансами связи. Производит отслеживание: кто, в какой момент и куда передает информацию. На этом уровне происходит синхронизация передачи данных.
Уровень представления. Уровень обеспечивает «общий язык» между узлами. Благодаря ему если мы передаем файл с расширением .doc, то все узлы понимают что это документ Word, а не музыка. На этом уровне к передаваемым пакетам данных добавляется потоковое шифрование.
Прикладной уровень. Осуществляет взаимодействие приложения (например браузера) с сетью.
Уровни TCP/IP
Набор протоколов TSP/IP основан на собственной модели, которая базируется на модели OSI.
- Прикладной, представления, сеансовый = Прикладной.
- Транспортный = Транспортный.
- Сетевой = Интернет.
- Канальный, физический = Сетевой интерфейс.
Уровень сетевого интерфейса
Уровень сетевого интерфейса (называют уровнем 2 или канальным уровнем) описывает стандартный метод связи между устройствами которые находятся в одном сегменте сети.
Сегмент сети — часть сети состоящая из сетевых интерфейсов, отделенных только кабелями, коммутаторами, концентраторами и беспроводными точками доступа.
Этот уровень предназначен для связи расположенных недалеко сетевых интерфейсов, которые определяются по фиксированным аппаратным адресам (например MAC-адресам).
Уровень сетевого интерфейса так же определяет физические требования для обмена сигналами интерфейсов, кабелей, концентраторов, коммутаторов и точек доступа. Это подмножество называют физическим уровнем (OSI), или уровнем 1.
Например, интерфейсы первого уровня это Ethernet, Token Ring, Point-to-Point Protocol (PPP) и Fiber Distributed Data Interface (FDDI).
Немного о Ethernet на примере кадра web-страницы
Пакеты Ethernet называют кадрами. Первая строка кадра состоит из слова Frame. Эта строка содержит общую информацию о кадре.
Далее в кадре располагается заголовок — Ethernet.
После заголовка кадра идет заголовок протокола IPv4, TCP и HTTP.
В конце идет заголовок HTTP с запросом GET (GET — один из вариантов запроса к веб-серверу).
Таким образом цель кадра — запрос содержимого веб-страницы которая находится на удаленном сервере.
В полном заголовке Ethernet есть такие значения как DestinationAddress и SourceAddress которые содержат MAC-адреса сетевых интерфейсов.
DestinationAddress показывает MAC шлюза в локальной сети, а не веб-сервера, так как протоколы 2-го уровня «не видят» дальше локальной сети.
Поле EthernetType указывает на следующий протокол более высокого уровня в кадре (IPv4).
Коммутаторы считывают адреса устройств локальной сети и ограничивают распространение сетевого трафика только этими адресами. Поэтому коммутаторы работают на уровне 2.
Уровень Интернета
Уровень интернета называют сетевым уровнем или уровнем 3. Он описывает схему адресации которая позволяет взаимодействовать устройствам в разных сетевых сегментах.
На уровне интернета преимущественно работает протокол IP, работающие на уровне 3 устройства — маршрутизаторы. Маршрутизатор читает адрес назначения пакета, а затем перенаправляет сообщение по соответствующему пути в пункт назначения. Подробнее о маршрутизации вы можете почитать в статье маршрутизация в windows.
Если адрес в пакете относится к локальной сети или является широковещательным адресом в локальной сети, то по умолчанию такой пакет просто отбрасывается. Поэтому говорят, что маршрутизаторы блокируют широковещание.
Стек TCP/IP реализован корпорацией Microsoft ну уровне интернета (3). Изначально на этом уровне использовался только один протокол IPv4, позже появился протокол IPv6.
IPv4
Протокол версии 4 отвечает за адресацию и маршрутизацию пакетов между узлами в десятках сегментах сети. IPv4 использует 32 разрядные адреса. 32 разрядные адреса имеют довольно ограниченное пространство, в связи с этим возникает дефицит адресов.
IPv6
Протокол версии 6 использует 128 разрядные адреса. Поэтому он может определить намного больше адресов. В интернете не все маршрутизаторы поддерживают IPv6. Для поддержки IPv6 в интернете используются туннельные протоколы.
В Windows по умолчанию включены обе версии протоколов.
Транспортный уровень
Транспортный уровень модели TCP/IP представляет метод отправки и получения данных устройствами. Так же он создает отметку о предназначении данных для определенного приложения. В TCP/IP входят два протокола транспортного уровня:
- Протокол TCP. Протокол принимает данные у приложения и обрабатывает их как поток байт.Байты группируются, нумеруются и доставляются на сетевой хост. Получатель подтверждает получение этих данных. Если подтверждение не получено, то отправитель отправляет данные заново.
- Протокол UDP.Этот протокол не предусматривает гарантию и подтверждение доставки данных. Если вам необходимо надежное подключение, то стоит использовать протокол TCP.
Прикладной уровень
Прикладной уровень — это этап связи на котором сетевые сервисы стандартизированы. Многие знают протоколы прикладного уровня: POP3, HTTP, Telnet, FTP и другие. Как правило программы работающие с этими протоколами имеют дружественный, интуитивно-понятный интерфейс.
Изучив этот материал вы изучили основы компьютерных сетей.