Что такое компьютерная сеть?

Компьютерная сеть – это взаимосвязанные вычислительные устройства, которые могут обмениваться данными и совместно использовать ресурсы. Эти сетевые устройства используют систему правил, называемых коммуникационными протоколами, для передачи информации посредством физических или беспроводных технологий.
Ниже приведены ответы на часто задаваемые вопросы о компьютерных сетях.
Как работает компьютерная сеть?
Узлы и ссылки являются опорными точками компьютерных сетях. Сетевым узлом может быть оборудование передачи данных (data communication equipment, DCE), такое как модем, концентратор или коммутатор, или терминальное оборудование обработки данных (data terminal equipment, DTE), такое как два или более компьютеров и принтеров. Канал относится к среде передачи, соединяющей два узла. Связи могут быть физическими, такими как кабели или оптические волокна, или свободным пространством, используемым беспроводными сетями.
В работающей компьютерной сети узлы следуют набору правил или протоколов, которые определяют, как отправлять и получать электронные данные по ссылкам. Архитектура компьютерной сети определяет конструкцию этих физических и логических компонентов. Он предоставляет спецификации для физических компонентов сети, функциональной организации, протоколов и процедур.
Что делают компьютерные сети?
Компьютерные сети были впервые созданы в конце 1950-х годов для использования в вооруженных силах и обороне. Первоначально они использовались для передачи данных по телефонным линиям и имели ограниченное коммерческое и научное применение. С появлением интернет-технологий компьютерная сеть стала незаменимой для предприятий.
Современные сетевые решения обеспечивают больше, чем возможность подключения. Сегодня они имеют решающее значение для цифровой трансформации и успеха бизнеса. Базовые сетевые возможности стали более программируемыми, автоматизированными и безопасными.
Возможности современных компьютерных сетей см. ниже.
Виртуальные операции
Базовая физическая сетевая инфраструктура может быть логически разделена для создания нескольких оверлейных сетей. В оверлейной компьютерной сети узлы виртуально связаны, и данные могут передаваться между ними по нескольким физическим путям. Например, многие корпоративные сети накладываются на Интернет.
Крупномасштабная интеграция
Современные сетевые сервисы соединяют физически распределенные компьютерные сети. Эти сервисы могут оптимизировать сетевые функции за счет автоматизации и мониторинга для создания одной крупномасштабной высокопроизводительной сети. Сетевые услуги можно увеличивать или уменьшать в зависимости от спроса.
Быстрая реакция на изменяющиеся условия
Многие компьютерные сети программно-определяемы. Трафик можно направлять и контролировать централизованно с помощью цифрового интерфейса. Эти компьютерные сети поддерживают управление виртуальным трафиком.
Защита безопасности данных
Все сетевые решения поставляются со встроенными функциями безопасности, такими как шифрование и контроль доступа. Сторонние решения, такие как антивирусное ПО, брандмауэры и антивредоносные программы, могут быть интегрированы, чтобы сделать сеть более безопасной.
Какие существуют типы архитектуры компьютерных сетей?
Структура компьютерной сети делится на две большие категории.
1. Клиент-серверная архитектура
В этом типе компьютерной сети узлы могут быть серверами или клиентами. Серверные узлы предоставляют клиентским узлам такие ресурсы, как память, вычислительная мощность или данные. Серверные узлы также могут управлять поведением клиентских узлов. Клиенты могут общаться друг с другом, но используют ресурсы отдельно. Например, некоторые компьютерные устройства в корпоративных сетях хранят данные и параметры конфигурации. Эти устройства являются серверами в сети. Клиенты могут получить доступ к этим данным, отправив запрос на серверную машину.
2. Пиринговая архитектура
В пиринговой архитектуре подключенные компьютеры имеют равные полномочия и привилегии. Нет центрального сервера для координации. Каждое устройство в компьютерной сети может действовать как клиент или сервер. Каждый пиринговый узел может совместно использовать некоторые из своих ресурсов, таких как память и вычислительная мощность, со всей компьютерной сетью. Например, некоторые компании используют пиринговую архитектуру для размещения ресурсоемких приложений, таких как рендеринг трехмерной графики, на нескольких цифровых устройствах.
Что такое сетевая топология?
Расположение узлов и связей называется топологией сети. Их можно настроить по-разному, чтобы получить разные результаты. Типы сетевых топологий см. ниже.
Шина
Каждый узел связан только с одним другим узлом. Передача данных по сетевым соединениям происходит в одном направлении.
Кольцо
Каждый узел связан с двумя другими узлами, образуя кольцо. Данные могут передаваться в двух направлениях. Однако отказ одного узла может вывести из строя всю сеть.
Звезда
Узел центрального сервера связан с несколькими клиентскими сетевыми устройствами. Эта топология работает лучше, поскольку данные не должны проходить через каждый узел. Это также более надежно.
Ячейки
Каждый узел связан со многими другими узлами. В полностью ячеистой топологии каждый узел соединен с каждым другим узлом в сети.
Какие существуют типы корпоративных компьютерных сетей?
В зависимости от размера и требований организации существует три распространенных типа корпоративных частных сетей:
Локальная вычислительная сеть (ЛВС)
ЛВС – это взаимосвязанная система, ограниченная по размеру и географическому положению. Обычно ЛВС соединяет компьютеры и устройства в пределах одного офиса или здания. Такая сеть используется небольшими компаниями или в качестве тестовой сети для мелкомасштабного прототипирования.
Глобальная вычислительная сеть (ГВС)
Сеть предприятия, охватывающая здания, города и даже страны, называется ГВС. В то время как локальные сети используются для передачи данных на более высоких скоростях в непосредственной близости, глобальные сети настроены на дальнюю связь, которая является безопасной и надежной.
Программно-определяемая глобальная сеть – это архитектура виртуальной глобальной сети, управляемая программными технологиями. Программно-определяемая глобальная сеть предлагает более гибкие и надежные услуги подключения, которыми можно управлять на уровне приложений без ущерба для безопасности и качества обслуживания.
Сети поставщиков услуг
Сети поставщиков услуг позволяют клиентам арендовать сетевые мощности и функциональные возможности у поставщика. Поставщики сетевых услуг могут состоять из телекоммуникационных компаний, операторов данных, провайдеров беспроводной связи, интернет-провайдеров и операторов кабельного телевидения, предлагающих высокоскоростной доступ в Интернет.
Облачные сети
Концептуально облачную сеть можно рассматривать как глобальную сеть, инфраструктура которой предоставляется облачной службой. Некоторые или все сетевые возможности и ресурсы организации размещаются на общедоступной или частной облачной платформе и предоставляются по запросу. Эти сетевые ресурсы могут включать в себя виртуальные маршрутизаторы, брандмауэры, полосу пропускания и ПО для управления сетью, а также другие инструменты и функции, доступные по мере необходимости.
Сегодня предприятия используют облачные сети для ускорения выхода на рынок, увеличения масштаба и эффективного управления затратами. Модель облачной сети стала стандартным подходом к созданию и развертыванию приложений для современных предприятий.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как работают компьютерные сети
Оглавление: Компьютерные сети
6. Канальный уровень передачи данных
7. Маршрутизация данных
8. Служебный протокол ICMP
10. Настройка сетевых подключений в командной строке Linux
11. Определение проблем работы сети
12. Туннелизация
Понятно о компьютерных сетях
Этот цикл статей о компьютерных сетях для всех, кто так или иначе работает с ними: занимается их настройкой и обслуживанием (сетевой администратор), выявляет слабые и уязвимые места сетей (тестерам на проникновение) и вообще всем, кто интересуется, как же именно работают компьютерные сети.
Вы увидите, что компьютерные сети – это удивительное изобретение человечества, результат многолетней работы множества специалистов. Это сложный механизм, в котором даже для таких обыденных вещей как просмотр веб-страниц задействовано множество сетевых протоколов, технологий и устройств.
Как вы могли понять из оглавления, будут рассмотрены ключевые аспекты функционирования компьютерных сетей.
Чтобы получить обзорное представление о функционировании компьютерной сети, а именно, где какая технология задействована, предлагаю рассмотреть очень простую ситуацию: что происходит, когда вы открываете в веб-браузере сайт. Пожалуй, каждый из нас делает это элементарной действие множество раз за день. Но не все представляют, что именно происходит за те доли секунду, между вводом адреса сайта в строку браузера и показом страницы сайта.
Зачем нужен DNS
Допустим, мы ввели в адресною строку браузера «hackware.ru» и нажали ENTER. Через долю секунды увидели страницу. Вроде бы, всё просто. Но начнём с того, что браузер ничего не знает о сайте hackware.ru. Он даже не знает IP адрес сайта. Итак, веб-браузер начинает с того, что делает DNS запрос к серверу имён. Этот сервер знает IP адреса всех сайтов. Но чтобы отправить запрос, нужен транспортный протокол. В качестве такого протокола используется UDP. Особенностью этого протокола является то, что передаваемые пакеты не проверяются на ошибки, которые могли возникнуть во время передачи. То есть если пакет испортился в пути, то он просто теряется. Получается, это ненадёжный протокол, зато быстрый. Это подходит для ситуации, когда нужно послать один единственный запрос и быстро получить по нему ответ.
HTTP протокол
Итак, веб-браузер получил ответ на свой DNS запрос, теперь он знает IP адрес сервера, где расположен сайт. Можно делать запрос. В дело вступает протокол HTTP (сознательно пропустим HTTPS и HSTS, чтобы не загромождать обзорный пример). HTTP – это самый простой для понимания протокол, веб браузер отправляет примерно следующие строки:
> GET / HTTP/2 > Host: hackware.ru > user-agent: curl/7.88.1 > accept: */*
Обратите внимание, что в заголовке «Host:» передаётся имя сайта. Дело в том, что знание IP недостаточно. На одном сервере может быть множество сайтов. Поэтому когда браузер обращается к веб-серверу, с просьбой показать сайт, то он должен указать, какой именно сайт ему нужен. В этих строках GET показывает используемый метод HTTP протокола (также может быть POST или HEAD). HTTP/2 — это номер версии протокола. А «/» — это запрашиваемая страница, здесь может быть, допустим /?p=21, если бы я запросил страницу hackware.ru/?p=21. В строках выше запрашивается корневая папка, то есть будет показана индексная страница по умолчанию. Таким образом, отправленный запрос hackware.ru/ будет обработан как hackware.ru/index.php
Сервер отвечает примерно так:
А затем идёт исходный код запрашиваемой страницы.
Зачем нужен TCP
Показанные строки HTTP протокола не могут быть просто так доставлены на сервер. Нужен «носитель». В качестве аналогии приведём пример с бумажным письмом: вы хотите написать письмо со словами: «Мама, у меня всё хорошо. Люблю тебя. Вышли ещё денег». В этом примере слова – это как бы протокол HTTP – так и веб-браузер говорит, «покажи мне страницу сайта hackware.ru». Но чтобы можно было бы отправить слова в письме к маме, они должны быть записаны на бумагу. Так и для протокола HTTP роль «бумаги» выполняет транспортный протокол TCP. Мы уже знакомы с транспортным протоколом UDP – это быстрый, но ненадёжный протокол. Тем не менее, он годится, когда вся передаваемая информация помещается в одном пакете. Но для больших данных, которые разбиваются на большое количество пакетов, это не подходит. TCP не только передаёт информацию, но и следит, чтобы пакеты не потерялись или не испортились. Если произошла потеря пакета, то взамен него отправляется ещё один точно такой же. Это надёжно, но за эту надёжность приходится «платить» тем, что для обеспечения этой надёжности пересылается много данных, которые нужны только для «обслуживания», то есть они не несут полезной ценности.
Итак, наш веб-сервер знает куда отправлять (узнал IP с помощью DNS запроса), знает что отправлять и уже даже запаковал HTTP запрос в TCP пакеты. TCP пакет состоит из передаваемых данных и заголовков. В этих заголовках разнообразная информация, в том числе, там содержится IP адрес пункта назначения и IP откуда этот пакет отправляется. Теперь веб-браузер просит операционную систему отправить для него эти TCP пакеты.
Канальный уровень (data link) – передача данных с устройства на устройство
Операционная система не имеет ничего против. Но есть одна загвоздка: TCP пакеты нельзя просто передать по сети. Как если бы вы своё письмо маме написали на бумаге и пришли на почту отправлять – первое, что вас попросят, это запечатать ваше письмо в конверт. Таким конвертом для TCP пакетов в локальной сети являются Ethernet кадры. Вот уже Ethernet можно передавать на сетевой интерфейс.
Но тут же мы сталкиваемся со следующей загвоздкой: Ethernet кадры в качестве адреса получателя и отправителя используют MAC-адреса. Имя сайта мы знаем, IP адрес знаем, даже знаем страницу, которую запросил пользователь, а вот MAC-адреса у нас нет…
И дело здесь не в какой-то прихоти. Мы подходим к моменту, когда данные будут переданы с устройства на другое устройство. Чтобы это сделать, нужно знать физический адрес этого другого устройства – тот самый MAC-адрес.
Допустим, нужно отправить TCP пакеты на IP адрес 192.168.0.175. Операционная система начинает с того, что определяет, принадлежит ли запрашиваемый IP к локальной сети или нет. Если принадлежит к локальной сети, то она смотрит в ARP таблицу, есть ли там информация об 192.168.0.175:
Если есть, то она смотрит MAC адрес устройства, у которого IP 192.168.0.175. Пакет TCP заворачивается в Ethernet кадр, в этом кадре есть область с теми самыми данными, которые нужно передать, а также есть заголовок, в этом заголовке сказано для какого MAC-адреса предназначается пакет и какой MAC-адрес у отправителя. Ethernet кадр отправляется на сетевой интерфейс. Пока не будем следовать за ним, а рассмотрим другие варианты.
Если нужный IP не найден в ARP таблице, то по локальной сети делается широковещательный запрос «у кого IP 192.168.0.175?». В ответ устройство с IP 192.168.0.175 присылает свой MAC-адрес. Когда приходит ответ, полученный MAC добавляется в ARP таблицу (а вдруг ещё пригодится) и делается уже знакомый нам Ethernet кадр, который отправляется на сетевой интерфейс.
Если же IP, куда нужно отправить TCP пакет, не в локальной сети, то операционная система смотрит адрес шлюза по умолчанию. На этот шлюз отправляются все пакеты, которые не принадлежат к локальной сети и для которых не прописаны специальные маршруты. Так вот, операционная система смотрит IP шлюза по умолчанию, затем ищет этот IP в ARP таблице – получает MAC-адрес шлюза по умолчанию. После этого TCP пакет заворачивается в Ethernet кадр.
Напомню, мы ещё только пытаемся отправить первый TCP пакет нашего запроса к веб-серверу…
Итак, наконец-то Ethernet кадр попал в локальную сеть. Если его встречает свитч (устройство, которое вообще не понимает IP адреса, да и которому это не нужно) – оно смотрит на MAC-получателя и перенаправляет Ethernet кадр в сторону получателя. Допустим, что веб-сервер не в нашей локальной сети, тогда наш путешественник Ethernet кадр в конечном счёте попадает на роутер. Первое, что делает роутер, это разворачивает Ethernet кадр, то есть достаёт из него TCP пакет.
IP протокол
Роутер смотрит на IP адрес получателя. У роутера есть своя таблица маршрутизации, а также свой маршрут по умолчанию. Если этот TCP пакет не предназначен ни для кого в локальной сети, то роутер просто отправляет его по маршруту по умолчанию, то есть по проводу, который идёт к Интернет-провайдеру.
Мы с вами помним, что нельзя просто так отправить TCP пакет с одного устройства на другое – его нужно завернуть в конверт. В локальной сети это Ethernet кадр, но в сетях провайдера работает уже не Ethernet, а другой протокол. Не будем на этом заострять внимание, тем более что там могут быть различные варианты.
Итак, наш TCP пакет дошёл до Интернет-провайдера. Казалось бы – уже столько всего с ним приключилось, но путь TCP пакета только начался. Теперь он пропутешествует по нескольким сетям и всё-таки доберётся до веб-сервера. Каждая сеть подключена к нескольким другим сетям. И может быть множество путей для достижения конечной точки. Например, я отправил TCP пакет из Владимирской области и пунктом его назначения является, сервер в Санкт-Петербурге. Пакет может пройти кратчайшим путём по смежным сетям, а может сначала отправится в Северную Америку, затем в Южную Америку, затем в Австралию и затем к серверу в Санкт-Петербурге. Чтобы второй вариант не происходил, разработаны для составления кратчайших маршрутов сразу несколько протоколов – это отдельная тема, которую мы не будем затрагивать.
NAT
Наши TCP пакеты успешно дошли до получателя. Получатель развернул их и достал оттуда HTTP запрос – а в запросе сказано, что нужно показать веб-страницу сайта hackware.ru. Веб-сервер формирует ответ: составляет заголовок HTTP протокола и веб-страницу и также разбивает эти данные по TCP пакетам. В TCP пакете пишутся IP адреса отправителя и получателя. Веб-сервер формирует ответ в виде заголовков HTTP протокола или данных, «пишет» их в TCP пакеты, у которых в качестве IP адреса отправителя указан адрес сервера, а в качестве IP адреса получателя тот IP, откуда пришли пакеты.
У моего компьютера IP адрес 192.168.0.49. Это локальный адрес, и к нему можно отправлять данные только в пределах моей домашней сети. Если бы на веб-сервер пришёл TCP пакет с таким IP, то веб-сервер не смог бы передать на него данные. Наш домашний роутер об этом знает и позаботился о проблеме заранее – для этого он использует NAT, то есть Network Address Translation — «преобразование сетевых адресов».
Схема работы NAT следующая: роутеру приходит сетевой пакет, допустим, от компьютера с IP 192.168.0.49. Сетевой пакет содержит разные данные, в том числе IP пункта назначения (куда пакет отправляется) и IP куда нужно вернуть ответ, то есть в нашем примере это 192.168.0.49. Но проблема в том, что 192.168.0.49 – это локальный IP. Тогда роутер заменяет адрес, куда нужно вернуть пакет: вместо 192.168.0.49 записывает свой внешний IP, допустим 109.126.241.24. Также роутер рассчитывает новую контрольную сумму пакета (с помощью неё проверяется, что пакет не был повреждён при передаче) и в таком виде отправляет его в Интернет. При этом соединение открыто и роутер ждёт ответ – всё это время роутер держит в уме, что конкретно данное соединение для 192.168.0.49. Когда приходит ответ, в котором в качестве пункта назначения указан IP адрес роутера, роутер знает, что этот пакет предназначен не ему, поэтому он меняет в нём адрес назначения на 192.168.0.49 и сразу отправляет адресату.
На самом деле всё чуть сложнее — у роутера не всегда белый IP, который доступен из Интернета. Роутер может быть подключён к локальной сети Интернет-провайдера. Если это так, то вновь используется NAT. То есть один пакет может пройти через несколько NAT (через несколько локальных сетей).
TCP/IP или OSI
На уровне передачи данных от устройства к устройству (он называется канальный (data link)) используются разные протоколы, к примеру, PPP, IEEE 802.22, Ethernet, DSL, ARP. На транспортном уровне тоже много протоколов, мы коснулись TCP, UDP – но их намного больше. Имеется множество сетевых протоколов, для их систематизации разработана система уровней. Причём таких систем много, две доминирующие: TCP/IP и Сетевая модель OSI. У них есть общие уровни, но TCP/IP выделяет 4 уровня, а OSI – 7.
На практике стандарты, введенные для OSI и TCP/IP, не столько конкурируют, сколько дополняют друг друга. В результате получила распространение пятислойная гибридная архитектура.
| TCP/IP | OSI | Гибридная | Уровень | Ключевая задача | Примеры |
|---|---|---|---|---|---|
| Прикладной | Прикладной | Прикладной | 5 | Коммуникация между приложениями | HTTP, FTP, SMTP, RDP, SNMP, DHCP, RTSP, DNS |
| Представительский (представления) | |||||
| Сеансовый | |||||
| Транспортный | Транспортный | Транспортный | 4 | Связь между конечными пунктами | TCP, UDP, SCTP, PORTS, SCTP, DCCP |
| Межсетевой | Сетевой | Межсетевой | 3 | Передача данных между сетями | IP, ICMP, IPv6, IPsec, AppleTalk |
| Канальный | Канальный | Канальный | 2 | Передача данных внутри одной сети | LAN стандарты (например, Ethernet, WiFi), WAN/MAN стандарты (например, Frame Relay, Carrier-Ethernet): PPP, IEEE 802.22, Ethernet, DSL, ARP, L2TP, сетевая карта. |
| Физический | Физический | 1 | Генерация и доставка сигнала | USB, кабель («витая пара», коаксиальный, оптоволоконный), радиоканал, стандарты портов/интерфейсов (например, RJ-45, последовательный порт, параллельный порт), стандарты технологии передачи (например, модуляция, мультиплексирование) |
Будем основываться на Гибридной модели, поскольку она в большей степени соответствует практике:
- Уровень приложения: обрабатывает связи между приложениями (например, веб-браузер и веб-серверные программы, почтовые клиентские и серверные программы).
- Транспортный уровень: выполняет соединение от точки к точке (или от хоста к хосту) и поддерживает его надежность.
- Межсетевой уровень. Проводит межсетевые подключения в подсетях.
- Уровень канала передачи данных: обеспечивает внутрисетевое взаимодействие внутри подсети.
- Физический уровень: физически передает данные/сообщения между сетевыми узлами.
Для необходимого меж- и внутрисетевого взаимодействия каждый узел (т. е. хост и промежуточное устройство) выполняет функции нескольких слоёв. Каждый хост (например, ПК, сервер, смартфон) реализует внутри все пять уровней, промежуточные устройства обычно выполняют только некоторые из пяти уровней, поскольку их основной задачей является перемещение данных между узлами. Например, традиционные свитчи работают только на физическом и канальном уровне, а роутеры в основном выполняют работу на межсетевом, физическом и канальном уровне.
Заключение
Итак, как вы увидели, компьютерные сети – это очень тонко настроенный механизм, в котором всё продумано и всё учтено. Это очень интересная тема!
Даже в описанном процессе пропущены некоторые протоколы, который задействуются при самом обычном Интернет-сёрфинге.
Понимание работы сетей позволяет осознанно настраивать сетевые соединения, маршрутизацию, фильтрацию данных, анализировать работу сети, защищаться или моделировать атаки. Понимание работы сети является базовым навыком для сетевого администратора, разработчика программ использующих сетевые подключения, пентестера и многих других IT профессий.
Связанные статьи:
- Как в Windows выбрать подключение, используемое для Интернета (70.5%)
- Практика настройки сетевых маршрутов: выбор подключения, используемое для Интернета; одновременное использование нескольких подключений для разных целей (70.5%)
- Транспортные протоколы TCP и UDP (62.7%)
- Как проверить открытые порты на своём компьютере. Что означают 0.0.0.0, :*, [::], 127.0.0.1. Как понять вывод NETSTAT (61.8%)
- HTTP протокол (55.1%)
- Решение проблемы: веб-сервер в Kali Linux показывает пустые страницы (RANDOM — 50%)
факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!
Как работает Интернет
Эта статья о том, что такое Интернет, и как он работает.
| Необходимые знания: | Отсутствуют, но мы будем признательны, если вы сначала прочтёте Материал о там как начать разрабатывать свой сайт (en-US) |
|---|---|
| Цель: | Вы изучите основы технической инфраструктуры Веба и поймёте разницу между Вебом и интернетом. |
Резюме
Интернет является основой сети (the Web), технической инфраструктурой, благодаря которой и существует Всемирная Паутина. По своей сути, интернет — очень большая сеть компьютеров, которые могут взаимодействовать друг с другом.
История интернета не до конца ясна. Проект по созданию интернета был начат в 60-х годах как исследовательский проект при поддержке министерства обороны США. Затем, в 80-х эволюционировал в сеть, которую поддерживали и развивали множество университетов и частных компаний. Технологии, лежащие в основе интернета, продолжали развиваться со временем, но основной принцип работы не сильно изменился: Интернет — это способ подключить компьютеры в единую сеть и убедиться, что даже при серьёзных сбоях, они всё равно найдут способ связаться друг с другом.
Активное изучение
- Как работает интернет за 5 минут (en.): 5-минутный видеоролик поможет вам понять базовые принципы работы интернета (автор Aaron Titus).
- Как работает интернет? (en.) Подробное, хорошо визуализированное 9-минутное видео.
Погружаемся глубже
Простая сеть
Когда нужно связать между собой два компьютера, вы должны связать их в сеть либо проводным (обычно с помощью Ethernet кабеля), либо беспроводным способом (например, с помощью WiFi или Bluetooth). Современные компьютеры поддерживают любой из этих способов связи.
Примечание: До конца этой статьи мы будем говорить только о физическом (проводном) способе подключения, но беспроводные сети работают аналогичным образом.

Таким способом вы можете подключить более двух компьютеров, но с каждым новым это становится все сложнее. Если хочется подключить, скажем, 10 компьютеров, вам понадобится 45 кабелей и 9 сетевых плат в каждом компьютере!

Чтобы решить эту проблему, каждый компьютер в сети подключается к специальному маленькому компьютеру. Этот компьютер называют маршрутизатором. Маршрутизатор исполняет только одну роль: как сигнальщик на железной дороге он следит за тем, чтобы пакет, отправленный одним компьютером — источником — достиг пункта назначения. Чтобы отправить сообщение компьютеру B, компьютер A сначала должен отправить его маршрутизатору, который перенаправит его компьютеру B и проконтролирует, чтобы данные не попали компьютеру C.
С добавлением маршрутизатора наша сеть здорово упрощается: чтобы соединить 10 компьютеров нам требуется только 10 кабелей (каждый кабель соединяет маршрутизатор с одним из компьютеров).

Сеть сетей
Пока все нормально. Но что нам делать, если нужно объединить в сеть сотни, тысячи или миллиарды компьютеров? Конечно, один маршрутизатор не справится с этой задачей, но если вы внимательно читали, то помните, что маршрутизатор — это обычный компьютер, и ничто не мешает нам соединить друг с другом 2 маршрутизатора. Давайте сделаем это.

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

Такая сеть уже очень похожа на то, что мы называем интернетом, но мы что-то упустили. Наша сеть построена для решения только наших задач. Но кроме неё есть и другие сети: наши друзья, соседи — кто угодно может создать свою сеть. Как же нам их объединить? Мы не можем протянуть кабели между нашим домом и всеми остальными сетями в мире. Чтобы решить эту проблему, мы можем воспользоваться уже существующими кабельными сетями. Ведь у нас дома уже есть кабели, например, электрические или телефонные. Телефонный провод уже соединяет ваш дом со всем остальным миром, так что он идеально подходит для решения нашей задачи. Чтобы подключить нашу сеть к глобальной сети с помощью телефонного провода, нам понадобится специальное оборудование, которое называется модем. Модем перекодирует информацию, поступающую из нашей сети в формат, который можно передавать через телефонную сеть, и наоборот, декодируют информацию из телефонной сети в формат, который распознают наши компьютеры.

Итак, мы подключились к телефонной сети. Следующий шаг — передать сообщение из нашей сети в сеть, с которой мы хотим связаться. Чтобы сделать это, мы должны подключить нашу сеть к провайдеру услуг интернета (Internet Service Provider (ISP)). Провайдер — компания, которая обслуживает специальные маршрутизаторы, которые не только подключены друг к другу (объединяют в единую сеть всех клиентов провайдера), но также связаны с маршрутизаторами других провайдеров. Таким образом, наше сообщение, пройдя транзитом через сеть нескольких провайдеров, достигнет сеть назначения. Интернет — это сеть сетей, которая объединяет в себе всю вышеперечисленную инфраструктуру.

Поиск компьютера
Чтобы послать сообщение какому-то компьютеру, необходимо как-то обратиться к нему, выделить среди других. Поэтому каждый компьютер, подключённый к сети, имеет свой уникальный адрес для связи: этот адрес называют IP-адресом (IP — сокращение для Internet Protocol, протокол интернета). В зависимости от версии протокола IP этот адрес может записываться по-разному. Самая широко используемая версия интернет-протокола — версия 4. Адреса IPv4 обычно записываются в виде четырёх чисел, разделённых точками, например: 192.168.2.10.
Такие адреса отлично подходят для компьютеров, но людям очень сложно их запоминать. Чтобы упростить себе жизнь, мы можем присвоить каждому IP-адресу псевдоним с понятным для человека именем. Такой псевдоним называют доменным именем. Например, google.com — доменное имя, которое является псевдонимом IP-адреса 173.194.121.32. Использование доменного имени — самый простой способ обратиться к компьютеру в интернете.

Интернет и веб
Как вы уже заметили, когда мы просматриваем Веб с помощью браузера, обычно мы используем доменное имя, чтобы обратиться к веб-сайту. Означает ли это, что Интернет и Веб — это одно и то же? Ответ не так прост. Мы уже знаем, что Интернет — это техническая основа, которая позволяет миллиардам компьютеров связываться друг с другом. Среди этих компьютеров есть небольшая группа (называемая веб-серверами), которые могут отправлять сообщения, распознаваемые браузерами. Интернет — это инфраструктура, а Веб — это сервис, построенный на основе этой инфраструктуры. Стоит отметить, что кроме Веба есть и другие сервисы, построенные на базе Интернета. Например, электронная почта или IRC (en-US).
Интранет и Экстранет
Интранет — это частная сеть, доступ к которой разрешён только членам определённой организации. Такая сеть обычно используется для предоставления участникам портала для безопасного доступа к общим ресурсам, совместной работы и общения. Например, во внутренней сети организации могут размещаться веб-страницы для обмена информацией об отделе или команде, общие диски для управления ключевыми документами и файлами, порталы для выполнения задач делового администрирования и инструменты для совместной работы, такие как базы знаний, доски обсуждений и системы обмена сообщениями.
Экстрасети очень похожи на интрасети, за исключением того, что они открывают всю частную сеть или её часть для обеспечения совместного использования и совместной работы с другими организациями. Обычно они используются для безопасного и надёжного обмена информацией с клиентами и заинтересованными сторонами, которые тесно сотрудничают с бизнесом. Часто их функции аналогичны тем, которые предоставляет интранет: обмен информацией и файлами, инструменты для совместной работы, доски обсуждений и т.д.
И интрасети, и экстрасети работают в той же инфраструктуре, что и Интернет, и используют одни и те же протоколы. Таким образом, авторизованные участники могут получить к ним доступ из разных физических местоположений.

Дальнейшие шаги
- Как работает Веб
- Понимание разницы между веб-страницей, веб-сайтом, веб-сервером и поисковиком
- Что такое доменные имена
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
Как работают сети

Краткий курс — основы компьютерных сетей. В этом материале я расскажу (сжато) об основах компьютерных сетей. Статья предназначена для начинающих, а так же будет полезна школьникам старших классов и студентам. Начнем с базовых определений.
Сеть – совокупность систем связи и систем обработки информации, которая может использоваться несколькими пользователями.
Компьютерная сеть – сеть, в узлах которой содержатся компьютеры и оборудование коммуникации данных.
Вычислительная сеть – соединенная каналами связи система обработки данных, ориентированная на конкретного пользователя.
Компьютерная сеть — представляет собой систему распределенной обработки информации. Что тут важно. Важно то, что в распределенной системе не важно откуда и с какого устройства вы заходите. Вы можете войти в сеть с любого устройства (персональный компьютер, ноутбук, планшетный компьютер, телефон) из любой точки мира где есть интернет.
Краткая история развития компьютерных сетей
Компьютерные сети появились в результате развития телекоммуникационных технологий и компьютерной техники. То есть появились компьютеры. Они развивались. Были телекоммуникационные системы, телеграф, телефон, то есть связь. И вот люди думали, хорошо было бы если бы компьютеры могли обмениваться информацией между собой. Эта идея стала основополагающей идеей благодаря которой появились компьютерные сети.
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 и другие. Как правило программы работающие с этими протоколами имеют дружественный, интуитивно-понятный интерфейс.
Изучив этот материал вы изучили основы компьютерных сетей.

Анатолий Бузов / об авторе
Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.