Краткий курс — основы компьютерных сетей. В этом материале я расскажу (сжато) об основах компьютерных сетей. Статья предназначена для начинающих, а так же будет полезна школьникам старших классов и студентам. Начнем с базовых определений.
Сеть – совокупность систем связи и систем обработки информации, которая может использоваться несколькими пользователями.
Компьютерная сеть – сеть, в узлах которой содержатся компьютеры и оборудование коммуникации данных.
Вычислительная сеть – соединенная каналами связи система обработки данных, ориентированная на конкретного пользователя.
Компьютерная сеть — представляет собой систему распределенной обработки информации. Что тут важно. Важно то, что в распределенной системе не важно откуда и с какого устройства вы заходите. Вы можете войти в сеть с любого устройства (персональный компьютер, ноутбук, планшетный компьютер, телефон) из любой точки мира где есть интернет.
Краткая история развития компьютерных сетей
Компьютерные сети появились в результате развития телекоммуникационных технологий и компьютерной техники. То есть появились компьютеры. Они развивались. Были телекоммуникационные системы, телеграф, телефон, то есть связь. И вот люди думали, хорошо было бы если бы компьютеры могли обмениваться информацией между собой. Эта идея стала основополагающей идеей благодаря которой появились компьютерные сети.
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 и другие. Как правило программы работающие с этими протоколами имеют дружественный, интуитивно-понятный интерфейс.
Изучив этот материал вы изучили основы компьютерных сетей.
Примерно 80% из нас, кто заканчивает университет с какой-либо IT-специальностью, в итоге не становится программистом. Многие устраиваются в техническую поддержку, системными администраторами, мастерами по наладке компьютерных устройств, консультантами-продавцами цифровой техники, менеджерами в it-сферу и так далее.
Эта статья как раз для таких 80%, кто только закончил университет с какой-либо IT-специальностью и уже начал мониторить вакансии, например, на должность системного администратора или его помощника, либо выездного инженера в аутсорсинговую фирму, либо в техническую поддержку 1-й/2-й линии.
А также для самостоятельного изучения или для обучения новых сотрудников.
За время своей трудовой деятельности в сфере IT я столкнулся с такой проблемой, что в университетах не дают самую основную базу касательно сетей. С этим я столкнулся сначала сам, когда, после окончания университета, ходил по собеседованиям в 2016 году и не мог ответить на простые (как мне сейчас кажется) вопросы. Тогда мне конечно показалось, что это я прохалтурил и не доучил в университете. Но как оказалось дело в образовательной программе. Так как сейчас, я также сталкиваюсь с данным пробелом знаний, когда обучаю новых сотрудников.
И что тогда, мне пришлось изучить множество статей в интернете, прежде чем я понял базовые моменты, и что сейчас, задавая молодым специалистам темы для изучения, они с трудом находят и усваивают необходимое. Это происходит по причине того, что в Интернете огромное количество статей и все они разрозненны по темам, либо написаны слишком сложным языком. Плюс большинство информации в начале своих статей содержат в основном просто научные определения, а дальше сразу сложные технологии использования. В итоге получается много того, что для начинающего пока совсем непонятно.
Именно поэтому я решил собрать основные темы в одну статью и объяснить их как можно проще «на пальцах».
Сразу предупреждаю, что никакой углубленной информации в статье не будет, только исключительно самая база и самое основное.
Темы, которые рассмотрены:
- Глобальные и локальные сети
- Белые и серые IP-адреса
- NAT
- DHCP-сервер и подсети
- Устройства маршрутизации сети (маршрутизатор, коммутатор, свитч, хаб)
- Основные команды анализа сети
- Транспортные протоколы UDP и TCP
1. Глобальные и Локальные сети
Вся интернет сеть подразделяется на глобальную (WAN) и локальную (LAN).
Все пользовательские устройства в рамках одной квартиры или офиса или даже здания (компьютеры, смартфоны, принтеры/МФУ, телевизоры и т.д.) подключаются к роутеру, который объединяет их в локальную сеть.
Участники одной локальной сети могут обмениваться данными между своими устройствами без подключения к интернет провайдеру. А вот чтобы выйти в сеть (например, выйти в поисковик Яндекс или Google, зайти в VK, Instagram, YouTube или AmoCRM) необходим доступ к глобальной сети.
Выход в глобальную сеть обеспечивает интернет провайдер, за что мы и платим ему абонентскую плату. Провайдер устанавливает на своих роутерах уровень скорости для каждого подключения в соответствии с тарифом. Провайдер прокидывает нам витую пару или оптику до нашего роутера (нашей локальной сети) и после этого любое устройства нашей локальной сети может выходить в глобальную сеть.
Для аналогии, сети, можно сравнить с дорогами.
Например, дороги вашего города N это локальная сеть. Эти дороги соединяют вас с магазинами, учреждениями, парками и другими местами вашего города.
Чтобы попасть в другой город N вам необходимо выехать на федеральную трассу и проехать некоторое количество километров. То есть выйти в глобальную сеть.
Для более наглядного представления, что такое глобальная и локальная сеть я нарисовал схематичный рисунок.
2. Белые и серые IP-адреса
Каждое устройство в сети имеет свой уникальный IP-адрес. Он нужен для того, чтобы устройства сети понимали куда необходимо направить запрос и ответ.
Это также как и наши дома и квартиры имеют свой точный адрес (индекс, город, улица, № дома, № квартиры).
В рамках вашей локальной сети (квартиры, офиса или здания) есть свой диапазон уникальных адресов. Я думаю многие замечали, что ip-адрес компьютера, например, начинается с цифр 192.168.X.X
Так вот это локальный адрес вашего устройства.
Существуют разрешенные диапазоны локальных сетей:
Думаю из представленной таблицы сразу становится понятно почему самый распространенный диапазон это 192.168.X.X
Чтобы узнать, например, ip-адрес своего компьютера (на базе ос windows), наберите в терминале команду ipconfig
Как видите, ip-адрес моего компьютера в моей домашней локальной сети 192.168.88.251
Для выхода в глобальные сети, ваш локальный ip-адрес подменяется роутером на глобальный, который вам выдал провайдер. Глобальные ip-адреса не попадают под диапазоны из таблички выше.
Так вот локальные ip-адреса — это серые ip-адреса, а глобальные — это белые.
Для большего понимания рассмотрите схему ниже. На ней я подписал каждое устройство своим ip-адресом.
На схеме видно, что провайдер выпускает нас в глобальные сети (в интернет) с белого ip-адреса 91.132.25.108
Для нашего роутера провайдер выдал серый ip-адрес 172.17.135.11
И в нашей локальной сети все устройства соответственно тоже имеют серые ip-адреса 192.168.Х.Х
Узнать под каким ip-адресом вы выходите в глобальную сеть можно на сайте 2ip.ru
Но из всего этого стоит помнить один очень важный фактор!
В настоящее время обострилась проблема нехватки белых ip-адресов, так как число сетевых устройств давно превысило количество доступных ip. И по этой причине интернет провайдеры выдают пользователям серые ip-адреса (в рамках локальной сети провайдера, например в пределах нескольких многоквартирных домов) и выпускают в глобальную сеть под одним общим белым ip-адресом.
Чтобы узнать серый ip-адрес выдает вам провайдер или белый, можно зайти к себе на роутер и посмотреть там, какой ip-адрес получает ваш роутер от провайдера.
Например я на своем домашнем роутере вижу серый ip-адрес 172.17.132.2 (см. диапазаон локальных адресов). Для подключения белого ip-адреса провайдеры обычно предоставляют доп. услугу с абон. платой.
На самом деле, для домашнего интернета это совсем не критично. А вот для офисов компаний рекомендуется покупать у провайдера именно белый ip-адрес, так как использование серого ip-адреса влечет за собой проблемы с работой ip-телефонии, а также не будет возможности настроить удаленное подключение по VPN. То есть серый ip-адрес не позволит вам вывести в интернет ваш настроенный сервер и не позволит настроить удаленное подключение на сервер из другой сети.
3. NAT
В предыдущем разделе я отметил, что “в настоящее время обострилась проблема нехватки белых ip-адресов” и поэтому распространенная схема подключения у интернет провайдеров сейчас, это подключать множество клиентов серыми ip-адресами, а в глобальный интернет выпускать их под одним общим белым ip.
Но так было не всегда, изначально всем выдавались белые ip-адреса, и вскоре, чтобы избежать проблему дефицита белых ip-адресов, как раз и был придуман NAT (Network Address Translation) — механизм преобразования ip-адресов.
NAT работает на всех роутерах и позволяет нам из локальной сети выходить в глобальную.
Для лучшего понимания разберем два примера:
1. Первый случай: у вас куплен белый ip-адрес 91.105.8.10 и в локальной сети подключено несколько устройств.
Каждое локальное устройство имеет свой серый ip-адрес. Но выход в интернет возможен только с белого ip-адреса.
Следовательно когда, например, ПК1 с ip-адресом 192.168.1.3 решил зайти в поисковик Яндекса, то роутер, выпуская запрос ПК1 в глобальную сеть, подключает механизм NAT, который преобразует ip-адрес ПК1 в белый глобальный ip-адрес 91.105.8.10
Также и в обратную сторону, когда роутер получит от сервера Яндекса ответ, он с помощью механизма NAT направит этот ответ на ip-адрес 192.168.1.3, по которому подключен ПК1.
2. Второй случай: у вас также в локальной сети подключено несколько устройств, но вы не покупали белый ip-адрес у интернет провайдера.
В этом случае локальный адрес ПК1(192.168.1.3) сначала преобразуется NAT‘ом вашего роутера и превращается в серый ip-адрес 172.17.115.3, который вам выдал интернет-провайдер, а далее ваш серый ip-адрес преобразуется NAT’ом роутера провайдера в белый ip-адрес 91.105.108.10, и только после этого осуществляется выход в интернет (глобальную сеть).
То есть, в этом случае получается, что ваши устройства находятся за двойным NAT’ом.
Такая схема имеет более высокую степень безопасности ваших устройств, но также и имеет ряд больших минусов. Например, нестабильная sip-регистрация VoIP оборудования или односторонняя слышимость при звонках по ip-телефонии.
Более подробно о работе механизма NAT, о его плюсах и минусах, о выделении портов, о сокетах и о видах NAT я напишу отдельную статью.
4. DHCP — сервер и подсети
Чтобы подключить устройство, например, компьютер к интернету вы обычно просто подключаете провод (витую пару) в компьютер и далее в свободный порт на роутере, после чего компьютер автоматически получает ip-адрес и появляется выход в интернет.
Также и с Wi-Fi, например со смартфона или ноутбука, вы подключаетесь к нужной вам сети, вводите пароль, устройство получает ip-адрес и у вас появляется интернет.
А что позволяет устройству получить локальный ip-адрес автоматически?
Эту функцию выполняет DHCP-сервер.
Каждый роутер оснащен DHCP-сервером. IP-адреса, полученные автоматически являются динамическими ip-адресами.
Почему динамические?
Потому что, при каждом новом подключении или перезагрузки роутера, DHCP-сервер тоже перезагружается и может выдать устройствам разные ip-адреса.
То есть, например, сейчас у вашего компьютера ip-адрес 192.168.1.10, после перезагрузки роутера ip-адрес компьютера может стать 192.168.1.35
Чтобы ip-адрес не менялся, его можно задать статически. Это можно сделать, как на компьютере в настройках сети, так и на самом роутере.
А также, DHCP-сервер на роутере вообще можно отключить и задавать ip-адреса вручную.
Можно настроить несколько DHCP-серверов на одном роутере. Тогда локальная сеть разделится на подсети.
Например, компьютеры подключим к нулевой подсети в диапазон 192.168.0.2-192.168.0.255, принтеры к первой подсети в диапазон 192.168.1.2-192.168.1.255, а Wi-Fi будем раздавать на пятую подсеть с диапазоном 192.168.5.2-192.168.5.255 (см. схему ниже)
Обычно, разграничение по подсетям производить нет необходимости. Это делают, когда в компании большое количество устройств, подключаемых к сети и при настройке сетевой безопасности.
Но такая схема в компаниях встречается довольно часто.
Поэтому обязательно нужно знать очень важный момент.
Внимание!
Если вам необходимо с ПК зайти на web-интерфейс, например, принтера или ip-телефона и при этом ваш ПК находится в другой подсети, то подключиться не получится.
Для понимания разберем пример:
Допустим вы работаете за ПК1 с локальным ip-адресом 10.10.5.2 и хотите зайти на web-интерфейс ip-телефона с локальным ip-адресом 192.168.1.3, то подключиться не получится. Так как устройства находятся в разных подсетях. К ip-телефона, находящиеся в подсети 192.168.1.X, можно подключиться только с ПК3 (192.168.1.5).
Также и к МФУ (172.17.17.10) вы сможете подключиться только с ПК4 (172.17.17.12).
Поэтому, когда подключаетесь удаленно к пользователю на ПК, чтобы зайти на web-интерфейс ip-телефона, то обязательно сначала сверяйте их локальные ip-адреса, чтобы убедиться, что оба устройства подключены к одной подсети.
5. Устройства маршрутизации сети (маршрутизатор, коммутатор, свитч, хаб)
Как ни странно, но есть такой факт, что новички в IT (иногда и уже действующие сис.админы) не знают или путают такие понятия как маршрутизатор, коммутатор, свитч, сетевой шлюз и хаб.
Я думаю, причина такой путаницы возникла из-за того, что наплодили синонимов и жаргонизмов в названиях сетевого оборудования и это теперь вводит в заблуждение многих начинающих инженеров.
Давайте разбираться.
а) Роутер, маршрутизатор и сетевой шлюз
Все знают что такое роутер. Что это именно то устройство, которое раздает в помещении интернет, подключенный от интернет провайдера.
Так вот маршрутизатор и сетевой шлюз это и есть роутер.
Данное оборудование является основным устройством в организации сети. В инженерной среде наиболее используемое название это “маршрутизатор”.
Кстати маршрутизатором может быть не только приставка, но и системный блок компьютера, если установить туда еще одну сетевую карту и накатить, например, RouterOS Mikrotik. Далее разрулить сеть на множество устройств с помощью свитча.
б) Что такое Свитч и чем он отличается от Коммутатора и Хаба
Свитч и Коммутатор это тоже синонимы. А вот хаб немного другое устройство. О нем в следующем пункте (в).
Коммутатор (свитч) служит для разветвления локальной сети. Как тройник или сетевой фильтр, куда мы подключаем свои устройства, чтобы запитать их электричеством от одной розетки.
Коммутатор не умеет маршрутизировать сеть как роутер. Он не выдаст вашему устройству ip-адрес и без помощи роутера не сможет выпустить вас в интернет.
У стандартного маршрутизатора обычно 4-5 портов для подключения устройств. Соответственно, если ваши устройства подключаются проводами и их больше чем портов на роутере, то вам необходим свитч. Можно к одному порту роутера подключить свитч на 24 порта и спокойно организовать локальную сеть на 24 устройства.
А если у вас завалялся еще один роутер, то можно в его web-интерфейсе включить режим коммутатора и тоже использовать как свитч.
в) Хаб
Хаб выполняет те же функции, что и коммутатор. Но его технология распределения сильно деревянная и уже устарела.
Хаб раздает приходящие от роутера пакеты всем подключенным устройствам без разбора, а устройства уже сами должны разбираться их это пакет или нет.
А коммутатор имеет MAC таблицу и поэтому распределяет приходящие пакеты на одно конкретное устройство, которое и запрашивало этот пакет. Следовательно передача данных коммутатором быстрее и эффективнее.
В настоящее время уже редко где встретишь использование хаба, но всё таки они попадаются, нужно быть к этому готовым и обязательно рекомендовать пользователю замену хаба на свитч.
6. Основные команды для анализа сети
а) Команда Ping
Чтобы понять активен ли ip-адрес или само устройство, можно его “пропинговать”.
Для этого в командной строке пишем команду ping “ip-адрес”.
Здесь мы “пинганули” dns сервер google и, как видим, сервер активен (отклик на пинги есть и равен 83 мс).
Если адресат недоступен или данный ip-адрес не существует, то мы увидим такую картину:
То есть ответа на пинги не получаем.
Но Ping намного полезней использовать с ключами:
-t -”пинговать” непрерывно (для остановки нажимаем комбинацию Ctrl+С)
-а -отображать имя “пингуемого” узла (сайта/устройства/сервера)
Соответственно ключ “-а” нам показал, что имя пингуемого узла “dns.google”.
А благодаря ключу “-t” ping шел без остановки, я остановил его, нажав Ctrl+C.
При непрерывном пинге можно увидеть адекватно ли ведет себя пингуемый узел и примерное качество работы интернет канала.
Как видим из скриншота, периодически возникают задержки приема пакета аж до 418 мс, это довольно критичное значение, так как скачок с 83 мс до 418 мс отразился бы на видеосвязи торможением/зависанием изображения или в ip-телефонии деградацией качества голоса.
В моем случае, скорей всего штормит мой домашний Интернет.
Но чтобы более детально установить причину, это нужно запускать dump. А это тема для целой статьи.
Внимание! Иногда на роутерах отключена отправка ICMP пакетов (кто-то отключает специально, а где-то не включена по умолчанию), в таком случае на «пинги» такой узел отвечать не будет, хотя сам будет активен и нормально функционировать в сети.
Еще одна возможность “пинга” это узнать какой ip-адрес скрывается за доменом сайта. А именно, на каком сервере установлен хост сайта.
Для этого просто вместо ip-адреса пишем сайт:
Как видите, у хабра ip-адрес 178.248.237.68
б) Трассировка
Иногда очень важно увидеть каким путем идет пакет до определенного устройства.
Возможно где-то есть пробоина и пакет не доходит до адресата. Так вот утилита трассировки помогает определить на каком этапе этот пакет застревает.
На ОС Windows эта утилита вызывается командой “tracert” ip-адрес или домен:
Здесь мы увидели через какие узлы проходит наш запрос, прежде чем дойдет до сервера ya.ru
На ОС Linux эта утилита вызывается командой traceroute.
Утилитой трассировки также и обладают некоторые устройства, маршрутизаторы или голосовые VoIP шлюзы.
в) Утилита whois
Данная утилита позволяет узнать всю информацию об ip-адресе или о регистраторе домена.
Например, проверим ip-адрес 145.255.1.71. Для этого ввожу в терминале команду whois 145.255.1.71
Получили информацию о провайдере ip-адреса, страну, город, адрес, диапазон и т.д.
Я пользуюсь ей только на Linux. Утилита качается и устанавливается легко из стандартного репозитория операционной системы.
Но также читал, что и на Windows есть подобное решение.
7. Транспортные протоколы TCP и UDP
Все передачи запросов и прием ответов между устройствами в сети осуществляются с помощью транспортных протоколов TCP и UDP.
TCP протокол гарантированно осуществляет доставку запроса и целостность его передачи. Он заранее проверяет доступность узла перед отправкой пакета. А если по пути целостность пакета будет нарушена, то TCP дополнит недостающие составляющие.
В общем, это протокол, который сделает все, чтобы ваш запрос корректно дошел до адресата.
Поэтому TCP самый распространенный транспортный протокол. Он используется когда пользователь серфит интернет, лазает по сайтам, сервисам, соц. сетям и т.д.
UDP протокол не имеет такой гарантированной передачи данных, как TCP. Он не проверяет доступность конечного узла перед отправкой и не восполняет пакет в случае его деградации. Если какой-то пакет или несколько пакетов по пути утеряны, то сообщение дойдет до адресата в таком неполном виде.
Зачем тогда нужен UDP?
Дело в том, что данный транспортный протокол имеет огромное преимущество перед TCP в скорости передачи данных. Поэтому UDP широко используется для пересылки голосовых и видео пакетов в реальном времени. А именно, в ip-телефонии и видео звонках.
К примеру, любой звонок через WhatsApp или Viber использует транспортный протокол UDP. Также и при видео звонках, например, через Skype или те же мессенджеры WhatsApp и Viber.
Именно потому что UDP не гарантирует абсолютную передачу данных и целостность передаваемого пакета, зачастую возникают проблемы при звонках через интернет.
Это прерывание голоса, запаздывание, эхо или робоголос.
Данная проблема возникает из-за нагруженного интернет канала, двойного NATа или радиоканала.
Хорошо бы конечно в таких случаях использовать TCP, но увы, для передачи голоса необходима мгновенная передача целостных пакетов, а для этой задачи идеально подходит UDP.
Чтобы не возникало проблем с использованием UDP протокола, нужно просто организовать качественный интернет канал. А также настроить на роутере выделенную полосу для UDP, чтобы нагрузка с других устройств, которые используют TCP не мешала работе транспортного протокола UDP.
На этом всё.
Я не стал нагромождать статью и копипастить сюда научные определения всех используемых терминов, кому это необходимо, просто загуглите.
Я постарался собрать воедино 7 самых важных, на мой взгляд, моментов, знание которых, помогут юному “айтишнику” пройти первые этапы собеседования на “айтишные” должности или хотя бы просто дать понять работодателю, что вы явно знаете больше, чем рядовой юзер.
Изучайте, конспектируйте. Надеюсь, что статья многим принесет пользу.
Всем привет. На днях возникла идея написать статьи про основы компьютерных сетей, разобрать работу самых важных протоколов и как строятся сети простым языком. Заинтересовавшихся приглашаю под кат.
Немного оффтопа: Приблизительно месяц назад сдал экзамен CCNA (на 980/1000 баллов) и осталось много материала за год моей подготовки и обучения. Учился я сначала в академии Cisco около 7 месяцев, а оставшееся время вел конспекты по всем темам, которые были мною изучены. Также консультировал многих ребят в области сетевых технологий и заметил, что многие наступают на одни и те же грабли, в виде пробелов по каким-то ключевым темам. На днях пару ребят попросили меня объяснить, что такое сети и как с ними работать. В связи с этим решил максимально подробно и простым языком описать самые ключевые и важные вещи. Статьи будут полезны новичкам, которые только встали на путь изучения. Но, возможно, и бывалые сисадмины подчеркнут из этого что-то полезное. Так как я буду идти по программе CCNA, это будет очень полезно тем людям, которые готовятся к сдаче. Можете держать статьи в виде шпаргалок и периодически их просматривать. Я во время обучения делал конспекты по книгам и периодически читал их, чтобы освежать знания.
Вообще хочу дать всем начинающим совет. Моей первой серьезной книгой, была книга Олиферов «Компьютерные сети». И мне было очень тяжело читать ее. Не скажу, что все было тяжело. Но моменты, где детально разбиралось, как работает MPLS или Ethernet операторского класса, вводило в ступор. Я читал одну главу по несколько часов и все равно многое оставалось загадкой. Если вы понимаете, что какие то термины никак не хотят лезть в голову, пропустите их и читайте дальше, но ни в коем случае не отбрасывайте книгу полностью. Это не роман или эпос, где важно читать по главам, чтобы понять сюжет. Пройдет время и то, что раньше было непонятным, в итоге станет ясно. Здесь прокачивается «книжный скилл». Каждая следующая книга, читается легче предыдущей книги. К примеру, после прочтения Олиферов «Компьютерные сети», читать Таненбаума «Компьютерные сети» легче в несколько раз и наоборот. Потому что новых понятий встречается меньше. Поэтому мой совет: не бойтесь читать книги. Ваши усилия в будущем принесут плоды. Заканчиваю разглагольствование и приступаю к написанию статьи.
Итак, начнем с основных сетевых терминов.
Что такое сеть? Это совокупность устройств и систем, которые подключены друг к другу (логически или физически) и общающихся между собой. Сюда можно отнести сервера, компьютеры, телефоны, маршрутизаторы и так далее. Размер этой сети может достигать размера Интернета, а может состоять всего из двух устройств, соединенных между собой кабелем. Чтобы не было каши, разделим компоненты сети на группы:
1) Оконечные узлы: Устройства, которые передают и/или принимают какие-либо данные. Это могут быть компьютеры, телефоны, сервера, какие-то терминалы или тонкие клиенты, телевизоры.
2) Промежуточные устройства: Это устройства, которые соединяют оконечные узлы между собой. Сюда можно отнести коммутаторы, концентраторы, модемы, маршрутизаторы, точки доступа Wi-Fi.
3) Сетевые среды: Это те среды, в которых происходит непосредственная передача данных. Сюда относятся кабели, сетевые карточки, различного рода коннекторы, воздушная среда передачи. Если это медный кабель, то передача данных осуществляется при помощи электрических сигналов. У оптоволоконных кабелей, при помощи световых импульсов. Ну и у беспроводных устройств, при помощи радиоволн.
Посмотрим все это на картинке:
На данный момент надо просто понимать отличие. Детальные отличия будут разобраны позже.
Теперь, на мой взгляд, главный вопрос: Для чего мы используем сети? Ответов на этот вопрос много, но я освещу самые популярные, которые используются в повседневной жизни:
1) Приложения: При помощи приложений отправляем разные данные между устройствами, открываем доступ к общим ресурсам. Это могут быть как консольные приложения, так и приложения с графическим интерфейсом.
2) Сетевые ресурсы: Это сетевые принтеры, которыми, к примеру, пользуются в офисе или сетевые камеры, которые просматривает охрана, находясь в удаленной местности.
3) Хранилище: Используя сервер или рабочую станцию, подключенную к сети, создается хранилище доступное для других. Многие люди выкладывают туда свои файлы, видео, картинки и открывают общий доступ к ним для других пользователей. Пример, который на ходу приходит в голову, — это google диск, яндекс диск и тому подобные сервисы.
4) Резервное копирование: Часто, в крупных компаниях, используют центральный сервер, куда все компьютеры копируют важные файлы для резервной копии. Это нужно для последующего восстановления данных, если оригинал удалился или повредился. Методов копирования огромное количество: с предварительным сжатием, кодированием и так далее.
5) VoIP: Телефония, работающая по протоколу IP. Применяется она сейчас повсеместно, так как проще, дешевле традиционной телефонии и с каждым годом вытесняет ее.
Из всего списка, чаще всего многие работали именно с приложениями. Поэтому разберем их более подробно. Я старательно буду выбирать только те приложения, которые как-то связаны с сетью. Поэтому приложения типа калькулятора или блокнота, во внимание не беру.
1) Загрузчики. Это файловые менеджеры, работающие по протоколу FTP, TFTP. Банальный пример — это скачивание фильма, музыки, картинок с файлообменников или иных источников. К этой категории еще можно отнести резервное копирование, которое автоматически делает сервер каждую ночь. То есть это встроенные или сторонние программы и утилиты, которые выполняют копирование и скачивание. Данный вид приложений не требует прямого человеческого вмешательства. Достаточно указать место, куда сохранить и скачивание само начнется и закончится.
Скорость скачивания зависит от пропускной способности. Для данного типа приложений это не совсем критично. Если, например, файл будет скачиваться не минуту, а 10, то тут только вопрос времени, и на целостности файла это никак не скажется. Сложности могут возникнуть только когда нам надо за пару часов сделать резервную копию системы, а из-за плохого канала и, соответственно, низкой пропускной способности, это занимает несколько дней. Ниже приведены описания самых популярных протоколов данной группы:
FTP- это стандартный протокол передачи данных с установлением соединения. Работает по протоколу TCP (этот протокол в дальнейшем будет подробно рассмотрен). Стандартный номер порта 21. Чаще всего используется для загрузки сайта на веб-хостинг и выгрузки его. Самым популярным приложением, работающим по этому протоколу — это Filezilla. Вот так выглядит само приложение:
TFTP- это упрощенная версия протокола FTP, которая работает без установления соединения, по протоколу UDP. Применяется для загрузки образа бездисковыми рабочими станциями. Особенно широко используется устройствами Cisco для той же загрузки образа и резервных копий.
Интерактивные приложения. Приложения, позволяющие осуществить интерактивный обмен. Например, модель «человек-человек». Когда два человека, при помощи интерактивных приложений, общаются между собой или ведут общую работу. Сюда относится: ICQ, электронная почта, форум, на котором несколько экспертов помогают людям в решении вопросов. Или модель «человек-машина». Когда человек общается непосредственно с компьютером. Это может быть удаленная настройка базы, конфигурация сетевого устройства. Здесь, в отличие от загрузчиков, важно постоянное вмешательство человека. То есть, как минимум, один человек выступает инициатором. Пропускная способность уже более чувствительна к задержкам, чем приложения-загрузчики. Например, при удаленной конфигурации сетевого устройства, будет тяжело его настраивать, если отклик от команды будет в 30 секунд.
Приложения в реальном времени. Приложения, позволяющие передавать информацию в реальном времени. Как раз к этой группе относится IP-телефония, системы потокового вещания, видеоконференции. Самые чувствительные к задержкам и пропускной способности приложения. Представьте, что вы разговариваете по телефону и то, что вы говорите, собеседник услышит через 2 секунды и наоборот, вы от собеседника с таким же интервалом. Такое общение еще и приведет к тому, что голоса будут пропадать и разговор будет трудноразличимым, а в видеоконференция превратится в кашу. В среднем, задержка не должна превышать 300 мс. К данной категории можно отнести Skype, Lync, Viber (когда совершаем звонок).
Теперь поговорим о такой важной вещи, как топология. Она делится на 2 большие категории: физическая и логическая. Очень важно понимать их разницу. Итак, физическая топология — это как наша сеть выглядит. Где находятся узлы, какие сетевые промежуточные устройства используются и где они стоят, какие сетевые кабели используются, как они протянуты и в какой порт воткнуты. Логическая топология — это каким путем будут идти пакеты в нашей физической топологии. То есть физическая — это как мы расположили устройства, а логическая — это через какие устройства будут проходить пакеты.
Теперь посмотрим и разберем виды топологии:
1) Топология с общей шиной (англ. Bus Topology)
Одна из первых физических топологий. Суть состояла в том, что к одному длинному кабелю подсоединяли все устройства и организовывали локальную сеть. На концах кабеля требовались терминаторы. Как правило — это было сопротивление на 50 Ом, которое использовалось для того, чтобы сигнал не отражался в кабеле. Преимущество ее было только в простоте установки. С точки зрения работоспособности была крайне не устойчивой. Если где-то в кабеле происходил разрыв, то вся сеть оставалась парализованной, до замены кабеля.
2) Кольцевая топология (англ. Ring Topology)
В данной топологии каждое устройство подключается к 2-ум соседним. Создавая, таким образом, кольцо. Здесь логика такова, что с одного конца компьютер только принимает, а с другого только отправляет. То есть, получается передача по кольцу и следующий компьютер играет роль ретранслятора сигнала. За счет этого нужда в терминаторах отпала. Соответственно, если где-то кабель повреждался, кольцо размыкалось и сеть становилась не работоспособной. Для повышения отказоустойчивости, применяют двойное кольцо, то есть в каждое устройство приходит два кабеля, а не один. Соответственно, при отказе одного кабеля, остается работать резервный.
3) Топология звезда (англ. Star Topology)
Все устройства подключаются к центральному узлу, который уже является ретранслятором. В наше время данная модель используется в локальных сетях, когда к одному коммутатору подключаются несколько устройств, и он является посредником в передаче. Здесь отказоустойчивость значительно выше, чем в предыдущих двух. При обрыве, какого либо кабеля, выпадает из сети только одно устройство. Все остальные продолжают спокойно работать. Однако если откажет центральное звено, сеть станет неработоспособной.
4)Полносвязная топология (англ. Full-Mesh Topology)
Все устройства связаны напрямую друг с другом. То есть с каждого на каждый. Данная модель является, пожалуй, самой отказоустойчивой, так как не зависит от других. Но строить сети на такой модели сложно и дорого. Так как в сети, в которой минимум 1000 компьютеров, придется подключать 1000 кабелей на каждый компьютер.
5)Неполносвязная топология (англ. Partial-Mesh Topology)
Как правило, вариантов ее несколько. Она похожа по строению на полносвязную топологию. Однако соединение построено не с каждого на каждый, а через дополнительные узлы. То есть узел A, связан напрямую только с узлом B, а узел B связан и с узлом A, и с узлом C. Так вот, чтобы узлу A отправить сообщение узлу C, ему надо отправить сначала узлу B, а узел B в свою очередь отправит это сообщение узлу C. В принципе по этой топологии работают маршрутизаторы. Приведу пример из домашней сети. Когда вы из дома выходите в Интернет, у вас нет прямого кабеля до всех узлов, и вы отправляете данные своему провайдеру, а он уже знает куда эти данные нужно отправить.
6) Смешанная топология (англ. Hybrid Topology)
Самая популярная топология, которая объединила все топологии выше в себя. Представляет собой древовидную структуру, которая объединяет все топологии. Одна из самых отказоустойчивых топологий, так как если у двух площадок произойдет обрыв, то парализована будет связь только между ними, а все остальные объединенные площадки будут работать безотказно. На сегодняшний день, данная топология используется во всех средних и крупных компаниях.
И последнее, что осталось разобрать — это сетевые модели. На этапе зарождения компьютеров, у сетей не было единых стандартов. Каждый вендор использовал свои проприетарные решения, которые не работали с технологиями других вендоров. Конечно, оставлять так было нельзя и нужно было придумывать общее решение. Эту задачу взвалила на себя международная организация по стандартизации (ISO — International Organization for Standartization). Они изучали многие, применяемые на то время, модели и в результате придумали модель OSI, релиз которой состоялся в 1984 году. Проблема ее была только в том, что ее разрабатывали около 7 лет. Пока специалисты спорили, как ее лучше сделать, другие модели модернизировались и набирали обороты. В настоящее время модель OSI не используют. Она применяется только в качестве обучения сетям. Мое личное мнение, что модель OSI должен знать каждый уважающий себя админ как таблицу умножения. Хоть ее и не применяют в том виде, в каком она есть, принципы работы у всех моделей схожи с ней.
Состоит она из 7 уровней и каждый уровень выполняет определенную ему роль и задачи. Разберем, что делает каждый уровень снизу вверх:
1) Физический уровень (Physical Layer): определяет метод передачи данных, какая среда используется (передача электрических сигналов, световых импульсов или радиоэфир), уровень напряжения, метод кодирования двоичных сигналов.
2) Канальный уровень (Data Link Layer): он берет на себя задачу адресации в пределах локальной сети, обнаруживает ошибки, проверяет целостность данных. Если слышали про MAC-адреса и протокол «Ethernet», то они располагаются на этом уровне.
3) Сетевой уровень (Network Layer): этот уровень берет на себя объединения участков сети и выбор оптимального пути (т.е. маршрутизация). Каждое сетевое устройство должно иметь уникальный сетевой адрес в сети. Думаю, многие слышали про протоколы IPv4 и IPv6. Эти протоколы работают на данном уровне.
4) Транспортный уровень (Transport Layer): Этот уровень берет на себя функцию транспорта. К примеру, когда вы скачиваете файл с Интернета, файл в виде сегментов отправляется на Ваш компьютер. Также здесь вводятся понятия портов, которые нужны для указания назначения к конкретной службе. На этом уровне работают протоколы TCP (с установлением соединения) и UDP (без установления соединения).
5) Сеансовый уровень (Session Layer): Роль этого уровня в установлении, управлении и разрыве соединения между двумя хостами. К примеру, когда открываете страницу на веб-сервере, то Вы не единственный посетитель на нем. И вот для того, чтобы поддерживать сеансы со всеми пользователями, нужен сеансовый уровень.
6) Уровень представления (Presentation Layer): Он структурирует информацию в читабельный вид для прикладного уровня. Например, многие компьютеры используют таблицу кодировки ASCII для вывода текстовой информации или формат jpeg для вывода графического изображения.
7) Прикладной уровень (Application Layer): Наверное, это самый понятный для всех уровень. Как раз на этом уроне работают привычные для нас приложения — e-mail, браузеры по протоколу HTTP, FTP и остальное.
Самое главное помнить, что нельзя перескакивать с уровня на уровень (Например, с прикладного на канальный, или с физического на транспортный). Весь путь должен проходить строго с верхнего на нижний и с нижнего на верхний. Такие процессы получили название инкапсуляция (с верхнего на нижний) и деинкапсуляция (с нижнего на верхний). Также стоит упомянуть, что на каждом уровне передаваемая информация называется по-разному.
На прикладном, представления и сеансовым уровнях, передаваемая информация обозначается как PDU (Protocol Data Units). На русском еще называют блоки данных, хотя в моем круге их называют просто данные).
Информацию транспортного уровня называют сегментами. Хотя понятие сегменты, применимо только для протокола TCP. Для протокола UDP используется понятие — датаграмма. Но, как правило, на это различие закрывают глаза.
На сетевом уровне называют IP пакеты или просто пакеты.
И на канальном уровне — кадры. С одной стороны это все терминология и она не играет важной роли в том, как вы будете называть передаваемые данные, но для экзамена эти понятия лучше знать. Итак, приведу свой любимый пример, который помог мне, в мое время, разобраться с процессом инкапсуляции и деинкапусуляции:
1) Представим ситуацию, что вы сидите у себя дома за компьютером, а в соседней комнате у вас свой локальный веб-сервер. И вот вам понадобилось скачать файл с него. Вы набираете адрес страницы вашего сайта. Сейчас вы используете протокол HTTP, которые работает на прикладном уровне. Данные упаковываются и спускаются на уровень ниже.
2) Полученные данные прибегают на уровень представления. Здесь эти данные структурируются и приводятся в формат, который сможет быть прочитан на сервере. Запаковывается и спускается ниже.
3) На этом уровне создается сессия между компьютером и сервером.
4) Так как это веб сервер и требуется надежное установление соединения и контроль за принятыми данными, используется протокол TCP. Здесь мы указываем порт, на который будем стучаться и порт источника, чтобы сервер знал, куда отправлять ответ. Это нужно для того, чтобы сервер понял, что мы хотим попасть на веб-сервер (стандартно — это 80 порт), а не на почтовый сервер. Упаковываем и спускаем дальше.
5) Здесь мы должны указать, на какой адрес отправлять пакет. Соответственно, указываем адрес назначения (пусть адрес сервера будет 192.168.1.2) и адрес источника (адрес компьютера 192.168.1.1). Заворачиваем и спускаем дальше.
6) IP пакет спускается вниз и тут вступает в работу канальный уровень. Он добавляет физические адреса источника и назначения, о которых подробно будет расписано в последующей статье. Так как у нас компьютер и сервер в локальной среде, то адресом источника будет являться MAC-адрес компьютера, а адресом назначения MAC-адрес сервера (если бы компьютер и сервер находились в разных сетях, то адресация работала по-другому). Если на верхних уровнях каждый раз добавлялся заголовок, то здесь еще добавляется концевик, который указывает на конец кадра и готовность всех собранных данных к отправке.
7) И уже физический уровень конвертирует полученное в биты и при помощи электрических сигналов (если это витая пара), отправляет на сервер.
Процесс деинкапсуляции аналогичен, но с обратной последовательностью:
1) На физическом уровне принимаются электрические сигналы и конвертируются в понятную битовую последовательность для канального уровня.
2) На канальном уровне проверяется MAC-адрес назначения (ему ли это адресовано). Если да, то проверяется кадр на целостность и отсутствие ошибок, если все прекрасно и данные целы, он передает их вышестоящему уровню.
3) На сетевом уровне проверяется IP адрес назначения. И если он верен, данные поднимаются выше. Не стоит сейчас вдаваться в подробности, почему у нас адресация на канальном и сетевом уровне. Это тема требует особого внимания, и я подробно объясню их различие позже. Главное сейчас понять, как данные упаковываются и распаковываются.
4) На транспортном уровне проверяется порт назначения (не адрес). И по номеру порта, выясняется какому приложению или сервису адресованы данные. У нас это веб-сервер и номер порта — 80.
5) На этом уровне происходит установление сеанса между компьютером и сервером.
6) Уровень представления видит, как все должно быть структурировано и приводит информацию в читабельный вид.
7) И на этом уровне приложения или сервисы понимают, что надо выполнить.
Много было написано про модель OSI. Хотя я постарался быть максимально краток и осветить самое важное. На самом деле про эту модель в Интернете и в книгах написано очень много и подробно, но для новичков и готовящихся к CCNA, этого достаточно. Из вопросов на экзамене по данной модели может быть 2 вопроса. Это правильно расположить уровни и на каком уровне работает определенный протокол.
Как было написано выше, модель OSI в наше время не используется. Пока разрабатывалась эта модель, все большую популярность получал стек протоколов TCP/IP. Он был значительно проще и завоевал быструю популярность.
Вот так этот стек выглядит:
Как видно, он отличается от OSI и даже сменил название некоторых уровней. По сути, принцип у него тот же, что и у OSI. Но только три верхних уровня OSI: прикладной, представления и сеансовый объединены у TCP/IP в один, под названием прикладной. Сетевой уровень сменил название и называется — Интернет. Транспортный остался таким же и с тем же названием. А два нижних уровня OSI: канальный и физический объединены у TCP/IP в один с названием — уровень сетевого доступа. Стек TCP/IP в некоторых источниках обозначают еще как модель DoD (Department of Defence). Как говорит википедия, была разработана Министерством обороны США. Этот вопрос встретился мне на экзамене и до этого я про нее ничего не слышал. Соответственно вопрос: «Как называется сетевой уровень в модели DoD?», ввел меня в ступор. Поэтому знать это полезно.
Было еще несколько сетевых моделей, которые, какое то время держались. Это был стек протоколов IPX/SPX. Использовался с середины 80-х годов и продержался до конца 90-х, где его вытеснила TCP/IP. Был реализован компанией Novell и являлся модернизированной версией стека протоколов Xerox Network Services компании Xerox. Использовался в локальных сетях долгое время. Впервые IPX/SPX я увидел в игре «Казаки». При выборе сетевой игры, там предлагалось несколько стеков на выбор. И хоть выпуск этой игры был, где то в 2001 году, это говорило о том, что IPX/SPX еще встречался в локальных сетях.
Еще один стек, который стоит упомянуть — это AppleTalk. Как ясно из названия, был придуман компанией Apple. Создан был в том же году, в котором состоялся релиз модели OSI, то есть в 1984 году. Продержался он совсем недолго и Apple решила использовать вместо него TCP/IP.
Также хочу подчеркнуть одну важную вещь. Token Ring и FDDI — не сетевые модели! Token Ring — это протокол канального уровня, а FDDI это стандарт передачи данных, который как раз основывается на протоколе Token Ring. Это не самая важная информация, так как эти понятия сейчас не встретишь. Но главное помнить о том, что это не сетевые модели.
Вот и подошла к концу статья по первой теме. Хоть и поверхностно, но было рассмотрено много понятий. Самые ключевые будут разобраны подробнее в следующих статьях. Надеюсь теперь сети перестанут казаться чем то невозможным и страшным, а читать умные книги будет легче). Если я что-то забыл упомянуть, возникли дополнительные вопросы или у кого есть, что дополнить к этой статье, оставляйте комментарии, либо спрашивайте лично. Спасибо за прочтение. Буду готовить следующую тему.
Краткий курс — основы компьютерных сетей. В этом материале я расскажу (сжато) об основах компьютерных сетей. Статья предназначена для начинающих, а так же будет полезна школьникам старших классов и студентам. Начнем с базовых определений.
Сеть – совокупность систем связи и систем обработки информации, которая может использоваться несколькими пользователями.
Компьютерная сеть – сеть, в узлах которой содержатся компьютеры и оборудование коммуникации данных.
Вычислительная сеть – соединенная каналами связи система обработки данных, ориентированная на конкретного пользователя.
Компьютерная сеть — представляет собой систему распределенной обработки информации. Что тут важно. Важно то, что в распределенной системе не важно откуда и с какого устройства вы заходите. Вы можете войти в сеть с любого устройства (персональный компьютер, ноутбук, планшетный компьютер, телефон) из любой точки мира где есть интернет.
Краткая история развития компьютерных сетей
Компьютерные сети появились в результате развития телекоммуникационных технологий и компьютерной техники. То есть появились компьютеры. Они развивались. Были телекоммуникационные системы, телеграф, телефон, то есть связь. И вот люди думали, хорошо было бы если бы компьютеры могли обмениваться информацией между собой. Эта идея стала основополагающей идеей благодаря которой появились компьютерные сети.
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 и другие. Как правило программы работающие с этими протоколами имеют дружественный, интуитивно-понятный интерфейс.
Изучив этот материал вы изучили основы компьютерных сетей.
Не все знают, как зарождалась всемирная паутина, какие у нее были прототипы и как они развивались. В привычном для нас виде интернет начал существовать в начале 90-х, но до этого глобальная сеть прошла еще несколько этапов развития.
Но ещё меньше людей в курсе, что достижения СССР в космической отрасли оказали самое прямое воздействие на зарождение самой технологии всемирной сети.
Рассказываю, как это произошло и изменило мир навсегда.
С чего начинался Интернет
О разработке принципов пакетного обмена данными между компьютерами на большом расстоянии задумались еще в начале 60-х годов XX века. Тогда по заказу управления перспективных исследовательских проектов Министерства обороны США (Defense Advanced Research Projects Agency, сокращенно DARPA) началось создание первой крупной компьютерной сети, которая и стала прототипом интернета.
Данное ведомство было основано в 1958 году, главной причиной его появления стал запуск Советским Союзом первого искусственного спутника Земли 4 октября 1957 года. Специалистам была поставлена задача разрабатывать проекты, которые могли бы повысить обороноспособность США и стать конкурентыми преимуществами государства на международном уровне.
Появление советского спутника в небе над Америкой вызвало настоящий шок и панику в разных слоях государственного аппарата США. Возникла реальная угроза шпионажа из космоса, от которого было практически невозможно скрыться. Это и стало толчком для ряда проектов по защите информации внутри государства.
Одним из таких проектов стала распределенная компьютерная сеть, которая должна была позволить мгновенно обмениваться большими объемами данных на значительном расстоянии.
Как появился ARPANET
Коллектив разработчиков проекта ARPA
Проект управления DARPA по объединению большого количества компьютеров в единую сеть получил название ARPA (Advanced Research Projects Agency). Система стала первой в мире сетью, которая функционировала на основе передачи пакетов данных.
Маршрутизация происходила при помощи самой первой ревизии протокола IP, который, пусть и со значительными доработками, является основным протоколом для работы интернета сегодня.
Саму сеть проекта ARPA начали называть ARPANET. Это и есть первый прототип современной глобальной сети, который был запущен осенью 1969 года.
Карта покрытия ARPANET в 1970 году
Один из руководителей ARPA Боб Тейлор (Bob Taylor) позже признался, что идея сети, объединяющей большое количество терминалов, лежала на поверхности. На столе каждого высокопоставленного чиновника или военного в США стояло сразу несколько телетайпов – электронных печатных машин для обмена текстовыми сообщениями по защищенному каналу между двумя абонентами.
Обмен информацией при этом занимал большое количество времени. Идея заменить три, пять или даже десять телетайпов одним, который способен сразу же связываться с сотнями других устройств сразу же легла в основу первой компьютерной сети.
Так выглядел телетайп для защищенной связи между парой пользователей
Принципиально новый безопасный способ передачи данных вызвал большой интерес со стороны властей США. Тогда проект рассматривался исключительно с военной точки зрения. Разработчики планировали соединить ключевые инфраструктурные и оборонные объекты, чтобы они могли взаимодействовать и обмениваться данными в случае вероятного ядерного конфликта с СССР.
В итоге собирались получить закрытую сеть в рамках собственного государства, которая должна была связать воедино различные объекты на большом удалении друг от друга и гарантировать быстрый обмен информацией между ними.
Изначально сеть охватывала организации, занимающиеся ее созданием. Так 29 октября 1969 года посредством нового протокола связи IP связали пару удаленных компьютеров. Один терминал располагался в Стэнфордском университете, а второй – в Калифорнийском технологическом институте. Устройство находились на расстоянии более 600 км друг от друга.
Рабочее место операторов ARPANET
Первым переданным по сети объектом стало слово “login”. Сохранились даже имена первых пользователей сети. Ими стали аспиранты Чарли Клайн (Charley Kline), который отправил сигнал и Билл Дювалл (Bill Duvall), который принял сообщение. Стоит отметить, что успешная передача данных произошла лишь со второй попытки. При первом сеансе связи часть данных была потеряна, до получателя дошло лишь два символа из пяти.
Именно 29 октября 1969 года, дату первого успешного запуска ARPANET многие считают днем рождения интернета.
Заложенные в те времена основы работы протокола IP и системы доменных имен DNS до сих пор являются основой функционирования глобальной компьютерной сети.
Сеть ARPANET просуществовала до середины 1990 года. Тогда она была официальна закрыта за ненадобностью.
Как ARPANET стал международной сетью
Один из первых вычислительных центров ARPA
С развитием ARPA разработчики увидели еще одно преимущество подобных сетей. При необходимости можно было грамотно перераспределять вычислительные мощности имеющихся компьютеров вместо покупки новых.
Всего за несколько лет существования проекта в рамках ARPA удалось сократить множество запросов в бюджет на покупку и модернизацию вычислительной техники. Все участники сети имели терминальный доступ к самым мощным серверным станциям и могли пользоваться любой необходимой мощностью для обработки данных.
Сеть между компьютерами позволяла быстрее распространять новые разработки программного обеспечения и собирать обратную связь от пользователей. То, что сейчас является неотъемлемой частью даже самого простого приложения из App Store, в середине 70-х годов считалось пиком технологического прогресса.
Подобные успехи позволили разработчикам получить дополнительное финансирование. Удовлетворенные результатом программы чиновники смогли выделить более $1 млрд дополнительных средств на проект ARPANET, которые были переправлены из программы исследования баллистических ракет.
В США понимали, что будущее не только за ударной мощью, но и за надежными средствами коммуникации.
Один из первых сетевых маршрутизаторов
Дополнительное финансирование позволило привлечь к разработке больше квалифицированных специалистов с новыми и интересными идеями. Так в сети ARPANET появилась первая маршрутизация трафика и очереди для пакетов данных.
В те времена все каналы связи были аналоговыми и во время простоя установленного канала между двумя устройствами им не могли пользоваться другие терминалы. Большое значение имел человеческий фактор, когда на распределительном коммутаторе оператор соединял отправителя и получателя сигнала. Человек банально не знал, используется ли еще установленный канал связи или его можно отключать для новых подключений.
Тогда для ARPANET был разработан специальный протокол очереди. Передающее устройство могло самостоятельно отслеживать занятость других каналов связи и пользоваться ими во время простоя. Это сильно сократило время прохождения сигнала внутри сети и избавило пользователей от времени ожидания перед началом передачи данных.
С появлением маршрутизации стало возможным создавать разветвленную сеть с несколькими доступными каналами между двумя конечными терминалами. Отправитель мог динамически менять маршрут во время передачи данных, если находил более доступный и быстрый путь для передачи сигнала.
Вместе с этим были реализованы протоколы передачи файлов по сети FTP, средства для удаленного доступа и запуска программ TELNET.
Покрытие сети ARPANET к 1982 году
В 1973 году было принято решение сделать сеть международной. Военные США долго не хотели выводить каналы связи за пределы своего государства, а ведь именно Министерство обороны финансировало разработку ARPANET. Исследователям удалось продавить идею создания глобальной сети, так первыми к американскому узлу связи получили доступ несколько учреждений из Великобритании и Норвегии.
В 1977 году к сети ARPANET было подключено чуть более 100 компьютеров, а уже в 1983 году число клиентов превысило 4000 устройств. Сеть охватывала организации во всех штатах Америки, в том числе и островные Гавайи. Передача сигнала через океан осуществлялась при помощи спутниковой связи. Аналогичный канал существовал между США и странами Европы.
Стоимость отправки одного email в данной сети оценивалась для бюджета США в $0.5.
Сеть ученых NSFNet победила сеть военных
Карта покрытия NSFNet
Потенциал в компьютерных сетях такого масштаба увидели ученые США. Пользоваться военной сетью могли лишь прошедшие одобрение военного министерства организации, а передавать было возможно лишь разрешенный набор данных в рамках одобренных национальных программ.
Институт и университеты, которые не имели связи с военными, решили организовать собственную сеть. Так Национальный фонд науки США (NSF) в 1984 году создал сеть NSFNet (National Science Foundation Network). Изначально она объединяла исключительно образовательные учреждения, а позже начала выступать прямым конкурентом ARPANET.
Перед NSFNet ставили задачу объединить пять мощных суперкомпьютеров того времени в разных уголках страны для быстрого проведения вычислений с любого терминального компьютера.
Уже в первый год работы университетская сеть вышла на скорость передачи данных 56 кбит/с, что был в два раза быстрее, чем в сети ARPANET, а количество объединенных в сеть компьютеров составило более 10 000.
Роберт Тэппэн Моррис – изобретатель первого сетевого вируса
В 1988 году работа ARPANET была парализована. Большая часть компьютеров оказалась заражена первым сетевым вирусом, который прозвали Червь Морриса. Пока лучшие специалисты по сетевой безопасности оборонного ведомства США разбирались с последствиями вредоносного кода, многие организации начали подключаться к NSFNet.
Так худшая скорость передачи данных, менее стабильная работа и слишком ограниченная база абонентов не позволили ARPANET выиграть конкуренцию с NSFNet. Кроме того, не все потенциальные пользователи сети подходили под высокие стандарты Министерства обороны либо просто не хотели сотрудничать с военными.
Разработчики NSFNet разработали и успешно реализовали протокол IRC (Internet Relay Chat), который позволял в режиме реального времени обмениваться текстовыми сообщениями между пользователями с разных уголков планеты.
Постепенно за NSFNet закреплялось более простое и лаконичное название Internet.
В 1990 году сеть ARPANET официально отключили, а NSFNet к тому времени уже сотрудничала не только с образовательными организациями, но и с бизнес структурами по всему миру. Через год в составе NSFNet насчитывалось более 7500 мелких локальных сетей. Минимум треть из них находилась за пределами США.
Еще через два года маршрутизация в сети перешла на новые стандарты, что позволило увеличить среднюю скорость передачи данных до 44 Мбит/с, а абонентская сеть состояла из 50 000 мелких локальных сетей.
От NSFNet к глобальной паутине
Первый компьютерный веб-браузер NCSA Mosaic
Ключевым для развития всемирной сети стал 1991 года. Именно в этом году интернет стал общедоступной сетью, подключиться к которой мог абсолютно любой пользователь.
Для упрощения взаимодействия с сетью использовался первый в мире веб-браузер NCSA Mosaic. Специальный протокол связи позволял пользоваться сетью людям без специальной подготовки и познаний в написании сетевых запросов.
Появились первые веб-серверы и простенькие веб-сайты с информацией. Так выглядел самый первый сайт в интернете, который был создан пользователем Бернерсом-Ли 6 августа 1991 года.
К 1995 году произошло перераспределение ролей в управлении интернетом. Американские суперкомпьютеры больше не выступали в роли сетевых маршрутизаторов, их заменили локальные сетевые провайдеры. Сеть стала более распределенной и перестала напрямую зависеть от единого центра в Америке. С этого момента за сетью прочно закрепилось название Всемирная паутина (World Wide Web).
Организация NSFNet продолжила исследовательскую деятельность и больше не была напрямую связана с функционированием всемирной паутины. Она стала базой для организации Internet2 – международной некоммерческой сети для объединения образовательных учреждений.
В том же году впервые информационный трафик обогнал файловый. Пользователи чаще обменивались новостями и общались в сети, чем пересылали данные и документы. В 1997 году количество пользователей интернета превысило 10 млн.
Дальнейшая история сети известна многим. Интернет начал бурно развиваться и сейчас доступ к нему имеет более половины населения планеты. Для этого не нужны громоздкие суперкомпьютеры или провода между всеми абонентами. Выйти в сеть можно при помощи смартфона, а сделать это можно из большинства обитаемых мест на Земле.
Забавно, как технологии 50-летней давности ежедневно используются каждым вторым жителем планеты.

🤓 Хочешь больше? Подпишись на наш Telegram.

iPhones.ru
Долгий путь от военной разработки до общедоступного блага.
- интернет,
- история интернета,
- Технологии,
- Это интересно
Артём Суровцев
@artyomsurovtsev
Люблю технологии и все, что с ними связано. Верю, что величайшие открытия человечества еще впереди!
Современные домашние ПК и почти все мобильные устройства имеют возможность выходить в сеть, будь то локальная или всемирная (Интернет). Мы расскажем, как достаточно просто организовать дома локальную сеть и с ее помощью обмениваться фотками и даже печатать их на сетевом принтере.
Домашняя локальная сеть: с проводами и без
Для организации домашней сети с более чем 3 устройствами, одно должно быть настольным ПК, а два других могут быть такими же настольными, либо портативными, например, ноутбук и планшет или смартфон.
В настоящее время в домашних решениях мало кто для организации сети создает отдельный сервер, подключенный к Интернету и через свитч осуществляющий доступ в локальную сеть и Интернет. Самым оптимальным решением является обычный Wi-Fi роутер c 4 и более LAN-портами, и одним и более USB портом для подключения внешних жестких дисков.
В общем-то, в настройках роутера уже имеется все для организации локальной домашней сети. Но эта сеть будет односторонней, в которой устройства не будут иметь доступ друг к другу, а значит — не смогут обмениваться файлами. Организация доступа — это как раз то, что нам предстоит настроить.
Организация рабочей группы
Для того, чтобы все компьютеры в локальной сети видели друг друга, нужно задать им одинаковые имена для параметра «Рабочая группа». Для этого в Windows 10 нужно в меню Пуск набрать слово «Система», кликнуть по результату (Система — Панель управления) и в открывшемся окне нажать справа на ссылку «Изменить параметры».
В следующем окне нажмите на кнопку «Изменить» и задайте имя вашей сетевой рабочей группы. Оно должно быть набрано английскими буквами. Имя вашего устройства должно быть уникальным, чтобы его можно было идентифицировать в локальной сети. После применения изменений придется перезагрузить компьютер, чтобы новые настройки вступили в силу.
Затем необходимо настроить, собственно, сам доступ. Для этого откройте Панель управления, кликните по разделу «Сеть и Интернет» и перейдите в «Центр управления сетями и общим доступом». Здесь в левой части нажмите на «Изменить дополнительные параметры общего доступа».
Здесь необходимо активировать обнаружение самого компьютера и подключенных к нему принтеров для домашней (частной) сети, после чего нажать на кнопку «Сохранить изменения».
Задаем IP-адреса в локальной сети
В целом домашняя локальная сеть уже должна работать, и все подключенные у ней устройства должны обнаруживаться. Но пока они не получили динамические адреса (назначаемые системой автоматически), это не позволит вам использовать ярлыки быстрого доступа к папкам устройств, т.к. они каждый раз будут получать от системы другой адрес. Избежать этого позволит назначение каждому устройству статического IP-адреса. Это можно сделать в настройках роутера для мобильных устройств, подключенных по Wi-Fi или в Windows ПК, подключенного по витой паре.
В первую очередь нужно узнать IP-адрес нашего роутера, который обычно напечатан на наклейке в нижней части устройства. Как правило, это 192.168.0.1 или 192.168.1.1. Последняя цифра (1) указывает на порядковый номер устройства в сети и может изменяться в диапазонах от 0 до 255. Учитывая, что 0 и 1 уже зарезервированы роутером, можно использовать цифры от 2 до 255.
Чтобы назначить ПК IP-адрес в локальной сети перейдите в «Панель управления – Центр управления сетями и общим доступом – Изменение параметров адаптера» (вторая строка в левом меню). Найдите в открывшемся списке сетей ту, к которой подключен ваш ПК и через правую кнопку мыши откройте «Свойства».
Здесь нужно перейти к пункту «IP версии 4 (TCP/IPv4)» и вызвать его свойства. Именно в этом окне нужно будет задать вручную статический IP-адрес вашего компьютера и шлюза.
Для этого переключите чекбокс на «Использовать следующий IP-адрес» и укажите цифры адреса и шлюза (начните снизу вверх):
- Основной шлюз. Сюда вписывается IP-адрес маршрутизатора;
- Маска подсети. Обычно указана там же, где и адрес роутера. Чаще всего имеет значение 255.255.255.0 или 255.255.0.0;
- IP-адрес. Сюда пишем желаемый адрес нашего компьютера, который будет отличаться от адреса роутера последней цифрой.
В настройках DNS-серверов также выберите опцию «Использовать следующие адреса DNS-серверов» и в качестве предпочитаемого DNS-сервера укажите IP-адрес роутера. Альтернативный DNS указывать не обязательно. Нажмите ОК и повторите процедуру для всех других Windows-устройств в вашей локальной сети, изменяя последнюю цифру на 1 больше. Потребуется перезагрузка.
После этого все устройства будут видны в сети, и их ресурсы будут доступны для каждого из ПК, при этом вы сможете обмениваться файлами, например, через общую папку или подключенный к роутеру внешний диск. Также можно будет зарегистрировать в качестве общего сетевой принтер, подключенный по USB к одному из компьютеров в сети и в дальнейшем выполнять на нем печать (при условии, что этот ПК будет включен).
Читайте также:
- Идеальная планировка домашней сети: подключаем все устройства и расширяем диапазон Wi-Fi
Фото: компании-производители
2 сентября 1969 года, группа студентов из Калифорнийского университета в Лос-Анджелесе под руководством профессора Леонарда Клейнрока создала первую в мире компьютерную сеть, соединив два вычислительных комплекса кабелем длиной 4,5 метра.
С помощью созданной системы была осуществлена первая передача цифровых данных на расстоянии — компьютеры обменялись несколькими битами тестовой информации. Проект осуществлялся в рамках военной программы США.
Впоследствии кабелями соединили компьютеры четырех американских вузов, что стало основой информационной сети министерства обороны США ARPANET. Именно она легла в основу современного Интернета. Первым видом коммуникации была электронная почта, дававшая возможность передавать на расстоянии текстовую информацию с большой скоростью.
Среди группы студентов профессора Клейнрока был Винтон Серф, впоследствии, в середине 70-х годов, разработавший протокол передачи данных TCP/IP, на котором базируется нынешняя глобальная компьютерная сеть.
Концепция публикации общедоступных документов с помощью компьютерных сетей, которая легла в основу Интернета в современном представлении и получила название World Wide Web (WWW), была разработана в 1989 году в Европейской лаборатории физики элементарных частиц (CERN) в Женеве, где англичанин Тим Бернерс-Ли (Tim Berners-Lee) создал технологию гипертекстовых документов.
Облигации с доходностью выше 15%
Посмотрим корпоративные ВДО без оферты и со сроком от 1 года до 5 лет? Какие из них самые-самые высокодоходные на сегодняшний день?
Займы: как исключить налоговые риски до заключения сделки
Налоговый анализ договора займа: на что обратить внимание до подписания?Судебная практика по переквалификации займов. Налоговые риски займов: беспроцентные займы, материальная выгода, взаимозависимость, момент признания доходов и расходов, расчет предельных процентов, прощение долга, уступка долга по займу. Этому посвящен сегодняшний Практикум.
(краткая история Интернета)
Шестидесятые годы — рождение
ARPA и ARPANET
Семидесятые годы — Telnet, FTP, TCP/IP, USENET
Восьмидесятые — NSFNET, BBS, WWW
Девяностые годы — WWW, Mosaic, Netscape, Java, VRML, E-business
Краткая история Интернета в России
|
В начале ARPA1 сотворила ARPANET. |
|
|
И была ARPANET безвидна и пуста. |
|
|
И дух ARPA носился над сетью. |
|
|
И сказала ARPA, «Да будет протокол», |
|
|
И стал протокол. |
|
|
И увидела ARPA, что это хорошо. |
Дэни Кохен (Danny Cohen)
Как говорится, в каждой шутке есть только доля шутки… На мой взгляд, столь
вольное использование текста Библии американцем Дени Кохеном свидетельствует
не столько об отсутствии у него пиетета к Библии, сколько о желании вознести
факт рождения Интернета до уровня божественного проявления. Сравнить сотворение
мира с рождением другого мира — мира Интернет, в котором мы проводим все большую
часть нашего времени…
Оставляя тему эскапизма — ухода из мира реального в мир Интернет — психологам
и философам, вспомним этапы развития технологии, приведшей к такому глобальному
явлению, как современный Интернет. Исторический экскурс поможет нам лучше понять
структуру Сети, технологические принципы ее организации и проследить, каким
ученым коллективам и организациям мы прежде всего обязаны образованием такого
важного явления современной компьютерной культуры, как Интернет.
Когда я обратился к изучению разнообразной литературы, посвященной истории
Интернет, то с удивлением обнаружил, что многие авторы называют самые разные
даты рождения Сети. Одни считают, что начало Интернету было положено еще в 1962
году, другие ведут его историю с 1969 года, третьи называют датой рождения 1983-й,
четвертые — 1986, и при этом каждый вполне убедительно обосновывает свою точку
зрения. Нельзя не согласиться, что каждая из этих дат отмечена важными событиями
в области становления Интернета. У меня сложилось впечатление, что, проследив
все эти даты рождения, описанные в литературе, как раз можно получить представление
не только об истории, но и о сущности такого явления, как Интернет. Надеюсь,
что, прочитав дальнейшее повествование, читатель со мной согласится.
Шестидесятые годы — рождение
ARPA и ARPANET
Итак, самой первой датой, с которой начинают историю Интернет, является 1962
год. С одной стороны, данное утверждение кажется весьма смелым: ведь в 1962
году еще никто не знал, что такое Интернет, и до того момента, когда это слово
появилось на свет, было еще достаточно далеко2.
В те далекие времена в мире насчитывалось не более 10 000 примитивных компьютеров,
работать на которых было далеко не так легко, как сейчас: компьютеры были куда
менее «дружелюбными» и при этом стоили не одну сотню тысяч долларов. Монополия
на телефонные коммуникации принадлежала компании AT&T.
Однако именно в том далеком 1962 году Американское агентство исследовательских
проектов Министерства обороны США (Advanced Research Projects Agency of the
U.S. Department of Defense, ARPA) открыло проект, который позднее получил название
ARPANET и значительно позднее — имя Интернет (Internet).
В 1962 году важные исследования были начаты в ряде учебных заведений США и
прежде всего в Массачусетсском технологическом институте (MIT). Именно в 1962
году молодой американский ученый из MIT Дж. С. Ликлидер написал работу, где
высказал идею глобальной сети, которая бы обеспечивала каждому жителю земли
доступ к данным и программам из любой точки земного шара. В октябре того же
года Ликлидер стал первым руководителем отдела ARPA IPTO (ARPA Information Processing
Techniques Office). В это же время (тоже в MIT) другой ученый, Леонард Клейнрок,
закончил работу над своей докторской диссертацией в области теории коммуникационных
сетей и получил должность ассистента в калифорнийском университете UCLA. В этом
же году молодой подающий надежды сотрудник MIT (также будущий участник проекта
ARPANET) Айвен Сазерленд, используя машину TX-2, создал пионерскую интерактивную
графическую программу Sketchpad (Блокнот), которая имела большое влияние на
развитие компьютерной графики. Вскоре этим ученым было суждено встретиться в
работе над исследовательским проектом в ARPA. В 1963 году Ликлидер приглашает
Айвена Сазерленда для работы над проектом ARPA, а двумя годами позже в группу
приходит еще один ученый, который впоследствии внес большой вклад в создание
Интернета, — Боб Тейлор. Ликлидер заключил контракты с MIT, UCLA и BBN (небольшой
консалтинговой компанией Bolt Beranek & Newman), чтобы начать воплощение своих
дерзких по тем временам идей. В 1963 году происходит важное событие: появляется
первый универсальный стандарт ASCII — схема кодирования, назначающая численные
значения-коды буквам, цифрам, знакам пунктуации и некоторым другим символам,
в результате чего возникает возможность обмена информацией между компьютерами
от различных изготовителей.
В 1964 году практически одновременно в MIT, RAND Corporation и Great Britain
National Physical Laboratory (GBNPL) были развернуты работы по надежной передаче
информации. Появилась идея коммутации пакетов, суть которой сводилась к тому,
что любая информация, передаваемая по сети, разбивается на несколько частей
(пакетов), которые затем независимо друг от друга перемещаются различными путями
(маршрутами), пока не достигнут адресата. Пауль Бэран, Дональд Дэвис, Леонард
Клеинрок параллельно вели исследования в этой области. Пауль Бэран был одним
из первых, кто опубликовал свои исследования в статье «Передача данных в сетях».
Несколько позднее появилась диссертация Клеинрока, в которой были высказаны
сходные идеи. Сетевые идеи развиваются на фоне постоянно совершенствующейся
аппаратной платформы компьютеров. В 1964 году IBM выпускает новую машину IBM
360, которая устанавливает de facto всемирный стандарт байта — восьмибитного
слова, что автоматически сделало машины, использовавшие 12- и 36-битные слова,
устаревшими. В данную разработку IBM инвестировала 5 млрд. долл. В этом же году
дебютировала онлайновая система бронирования авиабилетов IBM, которая получила
имя SABRE (Semi-Automatic Business Research Environment). Она соединила 2000
терминалов в шестидесяти городах по телефонным линиям.
В 1964 году Ликлидер оставляет ARPA, чтобы возвратиться в MIT, и в сотрудничестве
с Айвеном начинает разработку операционной системы, работающей в режиме разделения
времени. Компьютеры постепенно начинают уменьшаться в размерах и получают более
широкое распространение. В 1965 году DEC анонсировала PDP-8, который мог уместиться
на рабочем столе. Он стоил 18 000 долл. — пятую часть стоимости IBM/360. Комбинация
вычислительной мощности, размера и стоимости позволила компьютеру занять места
на сотнях заводов, в тысячах офисов и научных лабораторий. В этом же году на
базе финансирования ARPA Ларри Робертс и Томас Марилл создают первую региональную
вычислительную сеть WAN (Wide-Area Network). Они подсоединили TX-2 (MIT) к Q-32
в Санта-Монике через выделенную телефонную линию. Система подтвердила предположения
Клейнрока, предсказавшего, что коммутация пакетов является наиболее многообещающей
моделью для связи между компьютерами.
Годом позже Айвен Сазерленд приглашает Боба Тейлора, работавшего ранее в NASA,
для продолжения работ по организации сети. В этом же году ARPA-финансирует проект
JOSS (Johnniac Open Shop System), который разрабатывается в RAND Corporation.
Система JOSS предоставляла пользователям вычислительные ресурсы в диалоговом
режиме с удаленных терминалов. В качестве консолей использовалась модифицированная
электрическая пишущая машинка (модель IBM 868).
В 1966 Тейлор сменил Сазерленда на посту директора ARPA IPTO. В его офисе в
IPTO было три терминала, которые он мог попеременно подключать к различным вычислительным
компьютерам посредством телефонных проводов. «Почему бы нам всем не говорить
одновременно?» — однажды задался вопросом Тейлор. Этот вопрос ученого определил
целое научное направление, которое вскоре было поставлено перед исследователями
ARPA. Идея казалась Тейлору настолько многообещающей, что вскоре ему удалось
организовать встречу с Чарльзом Херзфельдом, который в то время был руководителем
ARPA. Обрисовав суть проблемы и перспективы, которые сулило исследование, Тейлор
уже через 20 минут беседы получил согласие на выделение миллиона долларов на
развитие проекта, суть которого состояла в том, чтобы соединить всех клиентов
ARPA IPTO в одну сеть. Вскоре после этого Тейлор уговорил Ларри Робертса покинуть
МIТ для продолжения работ по сетевому проекту в ARPA.
В 1967 году произошло еще одно событие, которое сыграло важную роль в развитии
сетевых технологий: модем, изобретенный в начале шестидесятых, был существенно
усовершенствован Джоном Ван Гином из Станфордского научно-исследовательского
института (Stanford Research Institute, SRI). Ученый предложил приемник, который
мог надежно распознавать биты информации на фоне шумовых помех, создаваемых
междугородними телефонными линиями.
Параллельно в то же время английский автор идеи пакетной коммутации Дональд
Дейвис занимался теоретическими разработками в британской национальной физической
лаборатории. В 1967 году Ларри Робертс собрал научную конференцию в Анн-Арбор
в штате Мичиган, на которую он пригласил основных разработчиков сетевого проекта.
Конференция имела огромное значение — параллельно проводимые работы начали объединяться.
Дональд Дейвис, Пауль Бэрон и Ларри Робертс узнали о работах друг друга. Термин
«ARPANET» впервые упоминался в ходе выступления Ларри Робертса именно на этой
конференции. На этой же конференции другой выдающийся ученый Уэсли Кларк впервые
высказал идею и предложил термин «IMP» — Interface Message Processors, обозначающий
устройства для управления трафиком в сети, которые впоследствии эволюционировали
в современные маршрутизаторы3.
В 1968 году началась работа по созданию IMP. ARPA заключила контракт на 1 млн.
долл. с небольшой консалтинговой компанией Bolt Beranek & Newman (BBN) на создание
четырех IMP, при помощи которых предполагалось объединить сеть ARPANET. BBN
опередила своих более крупных конкурентов благодаря простой организационной
структуре и отсутствию бюрократических препон. BBN возглавлял Фрэнк Хартом —
человек незаурядных организаторских способностей, активная деятельность которого
позволила небольшой компании получить столь престижный контракт. Несмотря на
то что контракт был перспективным, на создание IMP был отпущен всего один год.
В 1969 году BBN успешно выполнила условия исторического контракта, в результате
которого заработала сеть ARPANET, охватившая все Западное побережье США.
|
|
Семидесятые годы — Telnet, FTP, TCP/IP, USENET
В 1970-м продолжается рост сети — каждый месяц добавляется новый узел. В том
же году произошло еще два важных события. Во-первых, Денис Ритчи и Кеннет Томпсон
из BelLabs закончили работу над созданием операционной системы UNIX. Во-вторых,
в этом же году рабочая группа NWG (Network Working Group) под руководством Стива
Крокера завершила работу над протоколом NCP (Network Control Protocol), а еще
годом позже закончила работу над протоколом эмуляции терминала Telnet и существенно
продвинулась в работе над протоколом передачи файлов FTP.
В 1971 году BBN разработала новую платформу. Так называемые TIP-устройства
(Terminal IMP, Terminal Interface Processor) обеспечили возможность входить
на удаленные хосты, сделав таким образом ARPANET доступной большему числу
пользователей. 1971-й был знаменательным не только для развития сетевых технологий;
в этом же году произошли революционные преобразования в элементной базе компьютеров —
появился микропроцессор 4004 компании Intel. Возвращаясь к сетевым технологиям,
надо отметить, что достижения были столь существенными, что наступило время
для публичных демонстраций. В 1971 году Ларри Робертс принял решение об организации
демонстрации сети ARPA на Международной конференции по компьютерным коммуникациям
(ICCC), которая должна была состояться в Вашингтоне в октябре 1972 года. Эксперимент
должен был проводиться в реальном времени, чтобы показать, что сеть не только
существует, но и работает. Для демонстрации было подготовлено более 40 терминалов.
Компания AT&T предоставила канал данных.
Взглянуть на работу сети собрался цвет тогда немногочисленной сетевой элиты.
Из Англии специально прилетел Дональд Дейвис — ученый, который ввел в употребление
термин «пакетная коммутация». Демонстрация проходила в течение двух с половиной
дней, и в ней приняли участие сотни людей, в том числе инженеров и технических
работников телекоммуникационной и компьютерной индустрии. Демонстрация на ICCC
внесла большой вклад в распространение идей пакетной коммутации и впервые показала
широкому кругу людей, что совместное использование ресурсов в сети реально.
В результате сообщество ARPANET стало пользоваться уважением, добилось признания
новой технологии и получило в свое распоряжение ресурсы. Для производителей
компьютеров это означало появление нового рынка.
Однако демонстрация ARPANET явилась не единственным событием 1972 года. Тогда
же произошло еще по крайней мере два события, которые оказали огромное влияние
на развитие компьютерных технологий. В 1972 году Рей Томильсон (BBN) написал
программу, позволяющую отправлять электронную почту по ARPANET. Он же ввел обозначение
«user@host» и использовал символ @, который позднее (с 1980 года) был закреплен
в международном стандарте адресов электронной почты. (Кстати, в том же году
появился язык С.) В 1973 году уже 30 институтов были подсоединены к ARPANET.
Среди клиентов ARPANET появились такие частные организации, как BBN, Xerox PARC
и MITRE Corporation, а также государственные — NASA’s Ames Research Laboratories,
National Bureau of Standards и Air Force Research Facilities.
ARPA переименовывается в DARPA, где буква «D» указывает на Defense. Боб Кан
переезжает из BBN в DARPA для осуществления проекта по соединению ARPANET с
другими сетями. Начинается весьма сложная работа по объединению сетей, имеющих
разные интерфейсы, скорости передачи данных и размеры пакетов. По сути дела,
это была работа по созданию межсетевого протокола. В сентябре 1973 года появилась
первая публикация по новому протоколу TCP (Transmittion Control Protocol). В
1974 году Ларри Робертс переходит в BBN, а Ликлидер — в DARPA IPTO. Дневной
трафик ARPANET к этому времени составил уже 3 млн. пакетов.
В 1975 году Министерство энергетики США создает собственный научный центр по
развитию сетевых технологий. Начиная с 1976 года DARPA финансирует исследования
в Беркли, ученые которого ведут работы по модифицированию UNIX и созданию протокола
TCP/IP. TCP/IP со временем стал одним из наиболее популярных протоколов сетевого
взаимодействия и стандартом de facto для реализации глобальных сетевых соединений
в силу открытости, масштабируемости и за счет предоставления одинаковых возможностей
глобальным и локальным сетям.
В 1976 году появился суперкомпьютер CRAY 1, вычислительная мощность которого
привлекла исследователей из разных частей США. Многие ученые выразили желание
получить удаленный доступ к мощным вычислительным ресурсам суперкомпьютера.
Так на повестку дня стал вопрос о необходимости организации сетевого доступа
к суперкомпьютерным центрам. Но развитие сетевых технологий стимулировалось
не только суперкомпьютерным направлением.
В 1977 году был анонсирован компьютер Apple II, и появление настольных компьютеров
с потенциальной возможностью коммуникаций при помощи модемного подключения дало
новый толчок развитию сетевых технологий и модемной индустрии. В 1977 году в
DARPA сформировался международный совет по проблемам Интернета, возглавляемый
Питером Кирстеном из University Colledge (Лондон). К началу 1978 года эксперимент
ARPANET был практически закончен.
В 1979 году появилась служба USENET4,
которая стала одним из первых примеров клиент-серверной организации.
К концу семидесятых годов архитектура и протоколы TCP/IP приобрели современный
вид. К этому времени агентство DARPA стало признанным лидером в разработке сетей
с коммутацией пакетов. Дальнейшее развитие сетевых технологий, в том числе беспроводных
радиосетей и спутниковых каналов связи, стимулировало активность DARPA в исследовании
проблем межсетевого взаимодействия и реализации принципов Интернета в ARPANET.
DARPA не делало тайны из своей деятельности в области развития технологий Интернета,
поэтому различные научные группы проявляли интерес к разработкам технологии
глобальной сети.
Свое начало Интернет берет от сети ARPANET, но чаще Интернет называют наследницей
NSFNET — американской сети, объединившей ученых NSF (National Science Foundation),
которая сотрудничала, объединялась с ARPANET, а затем поглотила ее.
NSFNET появилась только в середине восьмидесятых годов, однако интерес к построению
научных сетей NSF проявляла значительно раньше. В 1979 году произошла встреча
шести американских университетов, которые обсудили возможность разработки сети
CSNET (Computer Science Research Network). Боб Кан присутствовал на этой встрече
как консультант от DARPA, а Кент Куртис — как представитель NSF (National Science
Foundation). Тогда, в 1979 году, переговоры не привели к согласию: NSF посчитала
проект слишком дорогим. Однако годом позже NSF возвращается к этой идее, которую
поддерживает все большее количество университетов. В конце концов, NSF соглашается
выступить организатором проекта CSNET. На проект выделяется 5 млн. долл., и
NSF попадает в историю как один из первых основателей Интернета. Чтобы читателю
было легче соотнести данные успехи с другими достижениями в развитии компьютерной
техники, напомню, что в этом же году молодая компания Microsoft предложила операционную
систему MS-DOS, а IBM приступила к производству первого персонального компьютера.
|
|
Восьмидесятые — NSFNET, BBS, WWW
Многие эксперты называют временем зарождения Интернета начало 80-х годов. В
это время DARPA инициировало перевод машин, подсоединенных к его исследовательским
сетям, на использование стека TCP/IP. В 1981 году IWG (Internet Working Group)
в DARPA публикует документ, в котором говорится о полном переходе с протокола
NCP (Network Control Protocol) на протокол TCP/IP, который разрабатывался с
1974 года. ARPANET становится магистральной сетью Интернет и активно используется
для многочисленных экспериментов с TCP/IP.
DARPA организовало ряд научных семинаров, во время которых ученые обменивались
новыми идеями и обсуждали результаты экспериментов. Был создан специальный комитет
для координации и руководства процессом разработки протоколов и архитектуры
сети Интернет, получивший название ICCB (Internet Control and Configuration
Board); этот комитет существовал и регулярно работал до 1983 года.
Окончательный переход к технологии Интернет произошел в январе 1983 года: в
этом году протокол TCP/IP принят Министерством обороны США, а сеть ARPANET
была разбита на две независимые части. Одна из них (предназначенная для научных
целей) сохранила название ARPANET, а вторая, большая по масштабу сеть MILNET
отошла к военному ведомству.
Для того чтобы стимулировать использование новых протоколов в учебных заведениях,
DARPA сделало реализацию TCP/IP широко доступной для университетских кругов.
В это время многие исследователи использовали версию ОС Unix университета Беркли
(шт. Калифорния), называемую BSD Unix (от Berkeley Software Distribution.)
Благодаря тому что DARPA в свое время субсидировала компанию BBN и университет
в Беркли с целью реализации протоколов TCP/IP для использования вместе с популярной
ОС Unix, более 90% компьютерных факультетов университетов адаптировали новую
сетевую технологию, и версия BSD стала фактическим стандартом для реализаций
стека протоколов TCP/IP. Было выпущено несколько версий BSD, каждая из которых
добавляла в TCP/IP новые возможности, в том числе 4.2BSD (1983 г.), 4.3BSD (1986
г.); 4.3BSD Tahoe (1988 г.); 4.3BSD Reno (1990 г.); 4.4BSD (1993 г.).
С 1985 года NSF реализовала программу создания сетей вокруг своих суперкомпьютерных
центров. И в 1986 году создание опорной сети (56 Кбит/с) между суперкомпьютерными
центрами NSF привело к появлению целого ряда региональных сетей, таких как
JVNCNET, NYSERNET, SURANET, SDSCNET, BARRNET и другие. Так появилась магистральная
сеть NSFNET, которая в конце концов объединила все эти научные центры и связала
их с ARPANET. Таким образом, NSFNET связала пять суперкомпьютерных центров и
открыла доступ к мощным вычислительным ресурсам для широкого круга исследователей.
В свое время ARPANET из-за бюрократических проблем не справилась с этой задачей,
что и привело к появлению NSFNET. Большое число университетов и исследовательских
центров, в том числе и за пределами США, выразили желание подключиться к этой
сети. Для уменьшения платы за использование междугородних линий связи решено
было развивать систему региональных сетей, которая объединяет компьютеры внутри
какого-то региона и имеет выходы на подобные сети поблизости. При такой конфигурации
все компьютеры являются равноправными и имеют связь «по цепочке» через соседние
компьютеры как друг с другом, так и с суперкомпьютерами NSF. Таким образом,
начиная с 1986 года можно говорить о становлении глобальной компьютерной сети
Интернет.
В 1988 году Интернет становится международной сетью — к нему присоединяются
Канада, Дания, Финляндия, Франция, Норвегия и Швеция. В том же 1988 году в сети
появляется служба BBS (Bulletin Board System).
В январе 1989 года сеть насчитывала 80 000 узлов; в ноябре к Интернету присоединились
Австрия, Германия, Израиль, Италия, Япония, Мексика, Нидерланды, Новая Зеландия
и Великобритания — количество узлов в сети выросло до 160 000. В том же году
появилась технология FDDI (Fiber Distributed Interface) — распределенный интерфейс
передачи данных по волоконно-оптическим каналам.
Если Интернет — изобретение коллективное, то идею гипертекста и WWW связывают
с именем конкретного человека. В 1989 году Бернерс-Ли высказал идею гипертекста,
которая и послужила толчком к созданию World Wide Web. Работая в качестве технического
консультанта в Европейской лаборатории физики частиц в Женеве, Бернерс-Ли написал
программу Eniquire, которая стала прообразом будущей WWW. В том же 1989 году
Бернерс-Ли начинает работу над глобальным проектом Всемирной паутины, и всего
два года спустя (в 1991 году) первые WWW-объекты помещаются в Интернет. В период
с 1991 по 1993 год ученый занимается усовершенствованием спецификаций WWW. В
1994 году Бернерс-Ли переходит работать в Массачусетсский технологический институт
в лабораторию компьютерных наук, где он занимает пост директора консорциума
WWW, который координирует усилия более сотни корпораций, направленные на совершенствование
технологий World Wide Web.
|
|
Первые компьютерные сети
Первые
глобальные сети
А
вот потребность в соединении компьютеров,
находящихся на большом расстоянии
друг от друга, к этому времени вполне
назрела. Началось все с решения более
простой задачи — доступа к компьютеру
с терминалов, удаленных от него на многие
сотни, а то и тысячи километров. Терминалы
соединялись с компьютерами через
телефонные сети с помощью модемов. Такие
сети позволяли многочисленным
пользователям получать удаленный доступ
к разделяемым ресурсам нескольких
мощных компьютеров класса суперЭВМ.
Затем появились системы, в которых
наряду с удаленными соединениями типа
терминал-компьютер
были
реализованы и удаленные связи типа
компьютер-компьютер.
Компьютеры
получили возможность обмениваться
данными в автоматическом режиме, что,
собственно, и является базовым признаком
любой вычислительной сети. На основе
подобного механизма в первых сетях были
реализованы службы обмена файлами,
синхронизации баз данных, электронной
почты и другие, ставшие теперь
традиционными сетевые службы.
Именно
при построении глобальных сетей были
впервые предложены и отработаны
многие основные идеи, лежащие в основе
современных вычислительных сетей.
Такие, например, как многоуровневое
построение коммуникационных протоколов,
концепции коммутации и маршрутизации
пакетов.
Глобальные
компьютерные сети очень многое
унаследовали от других, гораздо более
старых и распространенных глобальных
сетей — телефонных.
Главное
технологическое новшество, которое
привнесли с собой первые глобальные
компьютерные сети, состояло в отказе
от принципа коммутации каналов, на
протяжении многих десятков лет
успешно использовавшегося в телефонных
сетях.
Выделяемый
на все время сеанса связи составной
телефонный канал, передающий информацию
с постоянной скоростью, не мог эффективно
использоваться пульсирующим трафиком
компьютерных данных, у которого периоды
интенсивного обмена чередуются с
продолжительными паузами. Натурные
эксперименты и математическое
моделирование показали, что пульсирующий
и в значительной степени не
чувствительный к задержкам компьютерный
трафик гораздо эффективней передается
сетями, работающими по принципу коммутации
пакетов, когда данные разделяются на
небольшие порции — пакеты, — которые
самостоятельно перемещаются по сети
благодаря наличию адреса конечного
узла в заголовке пакета.
Так
как прокладка высококачественных линий
связи на большие расстояния обходится
очень дорого, то в первых глобальных
сетях часто использовались уже
существующие каналы связи, изначально
предназначенные совсем для других
целей. Например, в течение многих лет
глобальные сети строились на основе
телефонных каналов тональной частоты,
способных в каждый момент времени вести
передачу только одного разговора в
аналоговой форме. Поскольку скорость
передачи дискретных компьютерных данных
по таким каналам была очень низкой
(десятки килобит в секунду), набор
предоставляемых услуг в глобальных
сетях такого типа обычно ограничивался
передачей файлов, преимущественно
в фоновом режиме, и электронной почтой.
Помимо низкой скорости такие каналы
имеют и другой недостаток — они вносят
значительные искажения в передаваемые
сигналы. Поэтому протоколы глобальных
сетей, построенных с использованием
каналов связи низкого качества, отличаются
сложными процедурами контроля и
восстановления данных. Типичным примером
таких сетей являются сети Х.25, разработанные
еще в начале 70-х, когда низкоскоростные
аналоговые каналы, арендуемые у телефонных
компаний, были преобладающим типом
каналов, соединяющих компьютеры и
коммутаторы глобальной вычислительной
сети.
Сеть
ARPANET
объединяла компьютеры разных типов,
работавшие под управлением различных
ОС с дополнительными модулями,
реализующими коммуникационные
протоколы, общие для всех компьютеров
сети. ОС этих компьютеров можно считать
первыми
сетевыми
операционными системами.
Истинно
сетевые ОС в отличие от многотерминальных
ОС позволяли не только рассредоточить
пользователей, но и организовать
распределенные хранение и обработку
данных между несколькими компьютерами,
связанными электрическими связями.
Любая сетевая операционная система, с
одной стороны, выполняет все функции
локальной операционной системы, а с
другой стороны, обладает некоторыми
дополнительными средствами, позволяющими
ей взаимодействовать через сеть с
операционными системами других
компьютеров. Программные модули,
реализующие сетевые функции, появлялись
в операционных системах постепенно,
по мере развития сетевых технологий,
аппаратной базы компьютеров и
возникновения новых задач, требующих
сетевой обработки.
Прогресс
глобальных компьютерных сетей во многом
определялся прогрессом телефонных
сетей.
Это
привело к появлению высокоскоростных
цифровых каналов, соединяющих
автоматические телефонные станции
(АТС) и позволяющих одновременно
передавать десятки и сотни разговоров.
Была разработана специальная технология
для создания так называемых первичных,
или
опорных,
сетей. Такие
сети не предоставляют услуг конечным
пользователям, они являются фундаментом,
на котором строятся скоростные цифровые
каналы «точка-точка», соединяющие
оборудование других, так называемых
наложенных
сетей, которые
уже работают на конечного пользователя.
Сначала
технология первичных сетей была
исключительно внутренней технологией
телефонных компаний. Однако со временем
эти компании стали сдавать часть своих
цифровых каналов, образованных в
первичных сетях, в аренду предприятиям,
которые использовали их для создания
собственных телефонных и глобальных
компьютерных сетей. Сегодня первичные
сети обеспечивают скорости передачи
данных до сотен гигабит (а в некоторых
случаях до нескольких те-рабит) в секунду
и густо покрывают территории всех
развитых стран.
К
настоящему времени глобальные сети по
разнообразию и качеству предоставляемых
услуг догнали локальные сети, которые
долгое время лидировали в этом отношении,
хотя и появились на свет значительно
позже.
Первые
локальные сети
Важное
событие, повлиявшее на эволюцию
компьютерных сетей, произошло в начале
70-х годов. В результате технологического
прорыва в области производства
компьютерных компонентов появились
большие
интегральные схемы (БИС).
Их сравнительно невысокая стоимость
и хорошие функциональные возможности
привели к созданию мини-компьютеров,
которые стали реальными конкурентами
мэйнфреймов. Эмпирический закон Гроша
перестал соответствовать
действительности, так как десяток
мини-компьютеров, имея ту же стоимость,
что и мэйнфрейм, решали некоторые задачи
(как правило, хорошо распараллеливаемые)
быстрее.
Даже
небольшие подразделения предприятий
получили возможность иметь собственные
компьютеры. Мини-компьютеры решали
задачи управления технологическим
оборудованием, складом и другие задачи
уровня отдела предприятия. Таким
образом, появилась концепция распределения
компьютерных ресурсов по всему
предприятию. Однако при этом все
компьютеры одной организации по-прежнему
продолжали работать автономно
(рис.
1.4).
Шло
время, и потребности пользователей
вычислительной техники росли. Их уже
не удовлетворяла изолированная работа
на собственном компьютере, им хотелось
в автоматическом режиме обмениваться
компьютерными данными с пользователями
других подразделений. Ответом на эту
потребность стало появление первых
локальных вычислительных сетей (рис.
1.5).
На
первых порах для соединения компьютеров
друг с другом использовались нестандартные
сетевые технологии.
Разнообразные
устройства сопряжения, использующие
собственные способы представления
данных на линиях связи, свои типы кабелей
и т. п., могли соединять только те
конкретные модели компьютеров, для
которых были разработаны, например,
мини-компьютеры PDP-11 с мэйнфреймом IBM
360 или мини-компьютеры HP
с микрокомпьютерами LSI-11.
Такая ситуация создала большой простор
для творчества студентов — названия
многих курсовых и дипломных проектов
начинались тогда со слов «Устройство
сопряжения…».
Мощным
стимулом для их появления послужили
персональные
компьютеры. Эти
массовые продукты стали идеальными
элементами для построения сетей — с
одной стороны, они были достаточно
мощными, чтобы обеспечивать работу
сетевого программного обеспечения,
а с другой — явно нуждались в объединении
своей вычислительной мощности для
решения сложных задач, а также разделения
дорогих периферийных устройств и
дисковых массивов. Поэтому персональные
компьютеры стали преобладать в локальных
сетях, причем не только в качестве
клиентских компьютеров, но и в качестве
центров хранения и обработки данных,
то есть сетевых серверов, потеснив с
этих привычных ролей мини-компьютеры
и мэйнфреймы.
Все
стандартные технологии локальных сетей
опирались на тот же принцип коммутации,
который был с успехом опробован и
доказал свои преимущества при передаче
трафика данных в глобальных компьютерных
сетях, — принцип коммутации пакетов.
Стандартные
сетевые технологии превратили процесс
построения локальной сети из искусства
в рутинную работу. Для создания сети
достаточно было приобрести стандартный
кабель, сетевые адаптеры соответствующего
стандарта, например Ethernet,
вставить адаптеры в компьютеры,
присоединить их к кабелю стандартными
разъемами и установить на компьютеры
одну из популярных сетевых операционных
систем, например Novell
NetWare.
Разработчики
локальных сетей привнесли много нового
в организацию работы пользователей.
Так, стало намного проще и удобнее, чем
в глобальных сетях, получать доступ
к общим сетевым ресурсам — в отличие
от глобальной в локальной сети
пользователь освобождается от запоминания
сложных идентификаторов разделяемых
ресурсов. Для этих целей система
предоставляет ему список ресурсов в
удобной для восприятия форме, например
в виде древовидной иерархической
структуры («дерева» ресурсов). Еще один
прием, рационализирующий работу
пользователя в локальной сети, состоит
в том, что после соединения с удаленным
ресурсом пользователь получает
возможность обращаться к нему с помощью
тех же команд, что и для работы с
локальными ресурсами. Последствием
и одновременно движущей силой такого
прогресса стало появление огромного
числа непрофессиональных пользователей,
освобожденных от необходимости
изучать специальные (и достаточно
сложные) команды для сетевой работы.
Может
возникнуть вопрос — почему все эти
удобства пользователи получили только
с появлением локальных сетей? Главным
образом, это связано с использованием
в локальных сетях качественных кабельных
линий связи, на которых даже сетевые
адаптеры первого поколения обеспечивали
скорость передачи данных до 10 Мбит/с.
При небольшой протяженности, свойственной
локальным сетям, стоимость таких
линий связи была вполне приемлемой.
Поэтому экономное расходование
пропускной способности каналов, одна
из основных задач технологий первых
глобальных сетей, никогда не выходило
на первый план при разра ботке протоколов
локальных сетей. В таких условиях
основным механизмом прозрачного доступа
к ресурсам локальных сетей стали
периодические широковещательные
объявления серверов о своих ресурсах
и услугах. На основании таких
объявлений клиентские компьютеры
составляли списки имеющихся в сети
ресурсов и предоставляли их пользователю.
Простые
алгоритмы работы предопределили низкую
стоимость оборудования Ethernet.
Широкий диапазон иерархии скоростей
позволяет рационально строить
локальную сеть, выбирая ту технологию
семейства, которая в наибольшей степени
отвечает задачам предприятия и
потребностям пользователей. Важно
также, что все технологии Ethernet
очень близки друг к другу по принципам
работы, что упрощает обслуживание
и интеграцию этих сетей.
Хронологическую
последовательность важнейших событий,
ставших историческими вехами на
пути появления первых компьютерных
сетей, иллюстрирует табл. 1.1.
Таблица
1.1. Хронология
важнейших событий на пути появления
первых компьютерных сетей
|
Этап |
Время |
|
Первые |
Конец |
|
Начало |
Конец |
|
Появление |
Начало |
|
Создание |
1974 |
|
Стандартизация |
1974 |
|
Появление |
Начало |
|
Появление |
Середина |
|
Начало |
Конец |
|
Изобретение |
1991 |
История
компьютерных сетей и Интернета
Развитие
коммутации пакетов: 1961-1972
История
компьютерных сетей берет свое начало
в 1960-х годах, когда телефонные сети были
основным средством связи в мире. Как
вы помните, в телефонных сетях используется
принцип коммутации каналов, при этом
передача осуществляется с постоянной
частотой. Стремительный рост потребности
в вычислительных ресурсах, сочетающийся
с высокой стоимостью ЭВМ, стал
побудительной причиной объединения
компьютеров в сети для обеспечения к
ним удаленного совместного доступа
пользователей. Сетевой трафик был
неравномерным и характеризовался
наличием периодов активности (например,
когда один пользователь посылал команду
удаленному компьютеру) и пассивности
(ожидание результатов).
Три
группы инженеров, находившиеся в разных
частях света, независимо друг от друга
начали разработку технологии коммутации
пакетов, рассматривая ее как мощную и
эффективную альтернативу технологии
коммутации каналов. Первая научная
работа па эту тему была опубликована
ученым Леонардом Клейнроком, в то время
еще студентом-старшекурсником. С помощью
теории очередей работа Клейнрока
наглядно продемонстрировала эффективность
принципа коммутации пакетов в условиях
неравномерной нагрузки. В 1964 году Пол
Верен начал эксперименты в области
коммутации пакетов в защищенных военных
сетях, а Дональд Дэвис и Роджер Скэнтлбери
осваивали новую технологию в национальной
физической лаборатории Англии.
Упомянутые
разработки заложили основу современного
Интернета. Однако было бы неверно
сводить зарождение Интернета только
к разработке технологии коммутации
пакетов. В начале 1960-х годов коллеги
Клейнрока, ученые Ликлайдер и Роберте,
стали участниками программы развития
компьютерных технологий в агентстве
DAPRA (Defense Advanced Research Projects Agency — агентство
по защите прогрессивных исследовательских
проектов). Роберте разработал схему
компьютерной сети APRAnet, основанной на
коммутации пакетов и являющейся
прямым предком современного Интернета.
Коммутаторы пакетов в то время назывались
интерфейсными процессорами сообщений
(Interface Message Processor, IMP), и контракт на их
производство был заключен с компанией
BBN. В 1969 году первые коммутаторы пакетов
связали между собой несколько научных
организаций США. Леонард Клейнрок
вспоминает о первом неудачном
использовании сети, когда попытка
удаленного доступа вызвала полный крах
системы.
В
1972 году в сети APRAnet насчитывалось уже
15 узлов. Тогда же Роберт Каин устроил
первую публичную демонстрацию APRAnet на
Международной конференции по компьютерным
коммуникациям. Был разработан первый
протокол обмена информацией между
оконечными системами (RFC 001), получивший
название NCP (Network-Control Protocol — протокол
управления сетью). Это позволило
начать разработку сетевых приложений
для APRAnet. Первая программа для работы
с электронной почтой была создана
программистом компании BBN Рэем Томлиисоном
в 1972 году.
Возникновение
новых компьютерных сетей и Интернета:
1972-1980
Изначально
APRAnet была изолированной закрытой сетью.
Для установления связи с любым хостом
сети было необходимо иметь подключение
к интерфейсному процессору сообщений.
В первой половине 1970-х годов появились
еще несколько компьютерных сетей с
коммутацией пакетов:
□ коротковолновая
сеть ALOHAnet соединила несколько
университетов на Гавайских островах
;
□ коммерческая
сеть Telenet компании BBN была построена по
тому же принципу, что и APRAnet;
□ французская
компьютерная сеть Cyclades была разработана
Луизом Пузи;
□ сети
с временным мультиплексированием,
такие как Tymnet и GE Information Services, появились
в конце 1960-х — начале1970-х годов;
□ сеть
SNA фирмы IBM создавалась в 1969-1974 годах
параллельно с APRAnet.
Число
компьютерных сетей продолжало расти.
В 1973 году Роберт Меткалф разработал
принципы технологии Ethernet, ориентированной
на небольшие расстояния между
соединяемыми компьютерами, которые
позже обусловили стремительное
развитие локальных сетей.
Научившись
создавать новые компьютерные сети,
инженеры задумались над тем, как связать
несколько сетей между собой. Первые
разработки в области создания сети
сетей были проведены Уинтоном Серфом
и Робертом Канном. Именно тогда для
описания создаваемой системы было
применено слово «Интернет»,
Появилась
первая версия протокола TCP, правда, в
значительной степени отличающаяся
от современной. Изначально в TCP была
попытка объединить надежную
последовательную передачу данных между
оконечными системами (поддерживаемую
протоколом и сегодня) и транспортные
функции (обеспечиваемые современным
протоколом IP). Уже первые эксперименты
с протоколом TCP выявили важность не
только надежной, но и ненадежной передачи
данных (например, пакетной передачи
голосовых сообщений). Это в конечном
счете привело к появлению протокола
IP и разработке протокола UDP, альтернативного
TCP. Таким образом, три ключевых
протокола Интернета, TCP, UDP и IP, появились
уже в конце 1970-х годов.
Описанные
выше разработки проводились под
патронажем уже упоминавшегося агентства
DAPRA. Тем не менее оно не являлось
монополистом в области развития
Интернет-технологий. На Гавайских
островах ученым Норманном Абрамсоном
был разработан проект сети ALOHAnet —
беспроводной компьютерной сети с
пакетной передачей данных. Протокол
ALOHA [6], использовавшийся в ALOHAnet, был
первым из так называемых протоколов
множественного доступа, позволявшим
географически распределенным
пользователям совместно использовать
ресурс среды передачи данных (частоту
радиоволн). Разработки Абрамсона были
использованы Меткалфом и Боггсом при
создании протокола Ethernet [329] для проводных
широкополосных радиосетей. Схема
протокола Ethernet приведена на рис. 1.26.
Интересно отметить, что к созданию
Ethernet Меткалфа и Боггса подтолкнула
необходимость обеспечения связи
компьютеров не только друг с другом,
но и с удаленными разделяемыми
периферийными устройствами, такими
как принтеры, накопители и т. п. [375].
Таким образом, технология Ethernet, ставшая
основой для множества современных
локальных компьютерных сетей, насчитывает
25-летнюю историю. Трудно переоценить
ее роль в решении задачи объединения
компьютерных сетей. Мы еще вернемся к
обсуждению Ethernet, ALOHAnet и прочих
технологий локальных сетей в главе 5.
Распространение
компьютерных сетей: 1980-1990
К
концу 1970-х годов сеть APRAnet насчитывала
уже около 200 оконечных систем. Через
10 лет число хостов в Интернете, уже
объединявшем множество других
компьютерных сетей, достигло 100 тысяч.
Таким образом, 1980-е годы характеризуются
стремительным распространением
созданных ранее сетевых технологий.
В
начале 80-х происходило активное
объединение локальных сетей университетов
в крупные региональные сети. Примерами
могут служить сеть B1TNET, обеспечивавшая
обмен файлами и электронной почтой
между университетами на северо-западе
США, CSNET, объединившая исследователей
в области сетевых технологий независимо
от APRAnet, и др. В 1986 году была разработана
сеть NSFNET, позволившая получить доступ
к вычислительным ресурсам суперкомпьютеров.
Начальная скорость магистрали,
составившая 56 Кбит/с, к концу десятилетия
выросла до 1,5 Мбит/с. Магистраль NSFNET
позволила объединить между собой
региональные компьютерные сети США.
В
1980-е годы APRAnet уже содержала многие из
компонентов, которые составляют
основу современного Интернета. 1 января
1983 года стандартный протокол NCP,
предназначенный для обмена данными
между хостами, был заменен стеком
протоколов TCP/IP (RFC 801). С этого времени
стек TCP/IP используется всеми хостами
Интернета. В конце 80-х в протокол TCP были
внесены значительные усовершенствования,
направленные на обеспечение оконечными
системами контроля переполнения.
Кроме того, была разработана система
доменных имен (Domain Name System, DNS), связавшая
мнемонические имена Интернет-ресурсов
с их 32-разрядными адресами (RFC 1034).
Параллельно
с развитием APRAnet в США во Франции в
начале 1980-х годов возник проект
Minitel, имевший поддержку со стороны
правительства Франции и поставивший
перед собой амбициозную цель — связать
все сети в единую компьютерную сеть.
Система, разработанная Minitel, представляла
собой открытую компьютерную сеть с
коммутацией пакетов (протокол Х.25 с
поддержкой виртуального канала),
состоявшую из Minitel-серверов и недорогих
пользовательских терминалов со
встроенными низкоскоростными модемами.
Большой успех пришел к проекту
Minitel после того, как французское
правительство объявило о раздаче
бесплатных терминалов всем желающим
для домашнего пользования. Сеть Minitel
содержала как бесплатные, так и платные
информационные ресурсы. В зените своей
популярности в середине прошлого
десятилетия Minitel поддерживала более
чем 20 000 видов обслуживания — от удаленных
банковских операций до организации
доступа к специализированным
исследовательским базам данных.
Пользователями сети являлись более 20
% жителей Франции, доход от ее использования
составлял более миллиарда долларов в
год, а обслуживающий персонал состоял
из 10 000 человек. Таким образом, Франции
удалось опередить США в развитии
национальных сетевых технблогий на
целое десятилетие.
Распространение
Интернета: 1990-е
В
начале 1990-х годов произошел ряд событий,
предвосхитивших Интернет-революцию
и коммерциализацию компьютерных сетей.
Сеть APRAnet, предок Интернета, постепенно
прекратила свое существование.
Появившиеся в 1980-е годы сети MILNET, Defense
Data Network и NSFNETстали играть ведущую роль
в объединении локальных сетей США,
а также в международной передаче данных.
В 1991 году на коммерческое использование
NSFNET были наложены ограничения, а в 1995
году сеть также фактически прекратила
свое существование, передав свои функции
сетям коммерческих Интернет-провайдеров.
Главным
событием 90-х годов, вероятно, следует
считать появление Всемирной паутины
(web), приведшей Интернет в миллионы домов
и организаций по всему миру. Служба web
также послужила платформой для разработки
и внедрения сотен новых
Интернет-приложений, обеспечивающих
удаленные биржевые и банковские
операции, работу с потоковым мультимедиа
и использование огромных информационных
ресурсов.
Автором
web считается Тим Бернсрс-Ли, который в
1989-1991 годах развил идеи гипертекста,
предложенные еще в 40-х и 60-х годах
прошлого века Бушем и Нельсоном.
Бернерс-Ли совместно со своими
ассистентами создал первоначальные
версии языка HTML, протокола HTTP, web-сервера
и браузера. Таким образом, четыре «кита»
Всемирной паутины фактически были
придуманы одним человеком. Возможности
первого браузера ограничивались лишь
просмотром текстовых строк. К концу
1992 года количество web-серверов в мире
достигло 200. Параллельно с внедрением
новых web-серверов разработчики трудились
над созданием пользовательского
интерфейса браузеров. Одним из наиболее
видных инженеров, проявивших себя в
этой области, был Марк Андресен,
руководивший созданием популярного
браузера Mosaic. Альфа-версия браузера
появилась в 1993 г., а в 1994 году Андресен
совместно со своими коллегами учредил
компанию Mosaic Communications, позже
трансформировавшуюся в корпорацию
Netscape Communications [105, 402]. В 1995 году студенты
университетов уже активно использовали
браузер Mosaic в учебных целях. Примерно
в то же время огромное количество самых
разных компаний стали применять web для
ведения своих дел. В 1996 г. к выпуску
браузеров присоединилась компания
Microsoft, что положило начало «войне
браузеров» между Microsoft и Netscape. На
сегодняшний день можно считать, что
Microsoft выигрывает эту войну.
Вторая
половина 1990-х годов характеризовалась
небывалым прогрессом в области
Интернет-технологий. Множество компаний
начали разработку собственных продуктов,
связанных с глобальной Сетью. Активно
развивалась служба электронной
почты: появились приложения, поддерживающие
адресные книги, присоединение файлов
к сообщениям, «горячие» ссылки и
потоковое мультимедиа. К концу
десятилетия были разработаны сотни
Интернет-приложений, как правило,
принадлежащие к одной из следующих
групп:
□ приложения
электронной почты, включая средства
присоединения файлов к сообщениям
и приложения для работы с сообщениями
через web-интерфейс;
□ web-приложения,
включая приложения для путешествий по
web-страницам и Интеренет-коммерции;
□ приложения
для обмена сообщениями в реальном
времени, пионером которых стала программа
ICQ;
□ приложения
для однорангового совместного доступа
к файловым архивам в формате МРЗ,
пионером которых стала программа
Napster.
Создателями
первых двух видов приложений были
ученые, а последние два вида приложений,
напротив, разрабатывались несколькими
молодыми энтузиастами.
Период
1995-2001 годов характеризовался активным
использованием Интернета для биржевых
торгов. Многие компании, практически
не имевшие реальных доходов, могли
иметь огромный финансовый успех на
подобных электронных торгах. В 2000-2001
годах многие Интернет-биржи закрылись.
Тем не менее такие компании, как
Microsoft, Cisco, AOL и Yahoo!, достаточно успешно
продолжают вести свой бизнес в Интернете.
На
протяжении 1990-х годов удалось достичь
значительных успехов в области
высокоскоростной маршрутизации и
локальных сетей (см. главы 4 и 5
соответственно). Была разработана
модель обслуживания трафика, требующего
временных ограничений (например,
мультимедийных приложений, описанных
в главе 6). Кроме того, коммерциализация
глобальной Сети актуализировала
проблемы, связанные с обеспечением
безопасности инфраструктуры Интернета.
Новейшие
разработки
Сетевые
технологии продолжают свое стремительное
развитие. Постоянно появляются новые
решения в разработке приложений,
обеспечении безопасности, распределении
ресурсов, Интернет-телефонии,
высокоскоростной маршрутизации и
передаче внутри локальных сетей. Мы бы
хотели выделить три направления
развития Интернета, которые считаем
наиболее важными: широкополосный
резидентный доступ, беспроводной
доступ и одноранговая передача данных.
Широкополосный
резидентный доступ в Интернет с
использованием линий DSL и кабельных
модемов (см. раздел «Доступ к сети и ее
физическая среда») в настоящее время
постепенно завоевывает популярность
среди домашних пользователей. По
прогнозам некоторых специалистов к
2005 году до 50 % резидентных подключений
к Интернету будет широкополосным, что
позволит разрабатывать И использовать
мультимедиа-приложения, обеспечивающие
высокое качество воспроизведения
в реальном времени. Особую роль это,
очевидно, сыграет для видеоконференций.
Беспроводной
доступ в Интернет с использованием
технологии i-mode чрезвычайно популярен
в Японии. Устройство i-mode [4) внешне
напоминает обычный мобильный телефон,
однако имеет больший экран, предназначенный
для вывода текстовой и графической
информации. Устройство поддерживает
телефонные и Интернет-соединения.
Статистические данные показали, что в
августе 2001 года в Я ионии было
зарегистрировано более 200 миллионов
абонентов i-mode, и их число постоянно
увеличивается. Рост популярности
беспроводных технологий также наблюдается
в США и Европе, стимулируя операторов
мобильной связи к обслуживанию
низкоскоростных соединений с Интернетом.
Кроме того, начало нового десятилетия
ознаменовалось дальнейшим ростом
беспроводных локальных сетей с
предоставлением доступа к ним в кафе,
гостиницах, государственных и
коммерческих организациях, а также
в домах частных пользователей.
Последним
новшеством, о котором мы хотим упомянуть,
являются одноранговые (Р2Р) сети. Такие
сети обеспечивают каждого пользователя,
подключенного к сети, совместным
децентрализованным доступом к ресурсам,
когда обмен данными между пользователями
осуществляется путем их прямого
соединения между собой. Приложение
Napster стало первым приложением, успешно
использовавшим Р2Р-доступ для обмена
файлами в формате МРЗ. С течением времени
Р2Р-приложе-ния стали применяться не
только для разделения МРЗ-файлов, но и
для разделения видеофайлов,
изображений, текста. Примером
Р2Р-приложения может также служить
любая программа, обеспечивающая обмен
сообщениями в реальном времени (ICQ
и т. п.), поскольку сообщения посылаются
сторонами друг другу напрямую (обычно
через TCP-соединения), без центрального
сервера. Наконец, проект SETI<S>home,
упоминавшийся в разделе «Периферия
компьютерных сетей», также представляет
собой реализацию одноранговых вычислений.


































































