Регистрация / Вход

Книга. Блокчейн: архитектура, криптовалюты, инструменты разработки, смарт-контракты

Книга познакомит вас с теоретическими и практическими аспектами технологии блокчейн. Во втором издании данной книги углубленно рассмотрены следующие темы: децентрализация, умные контракты, блок...

Как создать ноду Lightning Network

 

Мнение о том, что Lightning network (LN) — это альтернатива майнингу или мастернода биткоина, ошибочно. Молниеносная сеть — это только надстройка над основным блокчейном, призванная освободить би...

Криминальная революция криптовалют: о сомнительных персонажах, зарабатывающих на Биткойне

 

Трудно поверить, что {#emotions_dlg.art_alt}«криптовалютная революция»{#emotions_dlg.art_alt} началась десять лет назад. Я смутно припоминаю, как впервые услышал о Биткойне в одной из компьютерных лабораторий моего университета в 2008 г., в...

Функциональное программирование в блокчейн-разработке

 

Большинство задействованных в блокчейн-разработке языков программирования — объектно-ориентированные языки, которые входят в так называемую императивную парадигму: Solidity, Python, C++, Java. Н...

Proof-of-Stake: новая бизнес-модель в 2019 году?

 

Многие из нас слышали, что такое Proof-of-Work & Proof-of-Stake, каковы их основные преимущества и недостатки, но давайте попробуем посчитать на реальных числах, какая разница между PoW & Po...

Интернет — это одна из сфер нашей жизни, площадка для общения. Загнать совсем его в прокрустово ложе и невозможно технически, и неправильно морально !

Бесплатная информация

Виджет показывает полезную и бесплатную информацию.

добавить на Яндекс

Как устроена и работает проводная локальная сеть

Рейтинг:   / 4
ПлохоОтлично 

 

Сегодня все реже можно найти компьютер, не подключенный к локальной сети (Local Area Network, LAN) - квартирной, районной или провайдерской. Сетка, Ethernet, витая пара, медь - всеми этими словами в обиходе обозначают проводную сеть, которая связывает подавляющее большинство сетевых устройств. Если рассмотреть сеть в целом, начиная с используемых проводов и заканчивая передаваемыми по ним данными, можно заметить, что устроена она подобно матрешке. Первый, как бы внешний уровень, - это сами провода. По ним идут сигналы, организованные в соответствии со специальными стандартами - протоколами. Протоколов множество, и они тоже, по сути, вложены друг в друга. Всю эту "матрешку" можно представить в виде многоуровневой модели, как, например, сделано в сетевой модели OSI. Эта модель достаточно условна и несколько устарела, тем не менее в нее вполне укладывается современное семейство используемых в сетях протоколов. Чем выше находится протокол в модели, тем меньше он учитывает физическое устройство сети. Соответственно, на низких уровнях работают протоколы, жестко привязанные к аппаратуре, на верхних - аппаратно независимые протоколы, используемые приложениями, которые и знать не знают, как и какими маршрутами проходят их данные.

ДАННЫЕ МЕЛКОЙ НАРЕЗКОЙ
В структуре кадра Ethernet полезные данные могут занимать от 45 до 1500 байт. Предельный объем полезной нагрузки кадра определяется параметром MTU (от англ. Maximum Transfer Unit - максимальный передаваемый блок) в настройках сетевого оборудования и по умолчанию равен 1500 байтам (но в некоторых слу-чаях и меньше). Зачем это нужно? По нескольким при-чинам.

  • Чем меньше размер кадра, тем меньше тратится времени на повторную передачу в случае утраты или искажения пакета.
  • Чтобы передача кадра не слишком долго блокировала работу других узлов сети.
  • Малый размер кадра при медленном соединении снижает латентность канала (то есть увеличивает отзывчивость связи).

 

 

Тем не менее для высокоскоростной сети Fast и Gigabit Ethernet эти причины неактуальны, при этом малый размер пакета обеспечивает относительно невысокую эффективность передачи - лишнее время тратится на передачу заголовков кадров, контрольных сумм, межкадровый интервал и т.д. Поэтому в совре-менных спецификациях появились так называемые Jumbo-кадры с MTU, увеличенным до 9000 байт. Большая часть современного сетевого оборудования поддерживает такие кадры.

Уровень 1. Физический
Сетевой протокол физического уровня - это стандарт, в соответствии с которым определяются среда передачи и параметры обмена данными между напрямую соединенными узлами сети. В нем описывается расположение всех контактов в разъемах, напряжения электрических сигналов, параметры кабеля, временные задержки сигналов и многое другое. Обычная среда передачи, применяющаяся наиболее широко, - кабель UTP (от англ. Unshielded Twisted Pair - не- экранированная витая пара), который содержит четыре пары медных проводов, на его концах закреплены разъемы RJ-45. В данный момент наибольшее применение получили 4 стандарта физического уровня сети по витой паре.

  • 10Base-T, или Ethernet. Устаревший стандарт, обеспечивающий обмен данными на скоростях до 10 Мбит/с.
  • 100Base-TX, или Fast Ethernet. Стандарт сети, обеспечивающий скорость до 100 Мбит/с.
  • 1000Base-T, или Gigabit Et-hernet. Современный стандарт для медной витой пары, обеспечивает скорость обмена данными до 1 Гбит/с.
  • 10GBase-T, или Ethernet 10G. Стандарт, применяемый в основном провайдерами. Обеспечивает скорость до 10 Гбит/с, использует четыре пары проводов.

Неэкранированная медная витая пара. Внутри оболочки содержится восемь проводов, свитых попарно

Из четырех пар две - однонаправленные (RX и TX на ри-сунке). TX используется для передачи, RX для приема. Остальные пары (BI на рисун¬ке) двунаправленные. Для работы на скоростях 10/100 Мбит/с используются только пары RX и TX, на скорости 1 Гбит/с задействованы все пары. Из-за однонаправленности пар RX и TX ответные разъемы на сетевом оборудовании сделаны зеркально - там, где у компьютера RX, у коммутатора TX и наоборот. Но при попытке соединить два компьютера напрямую пара RX становится подключена к RX, a TX к ТХ, что приведет к ошибкам в сети. Поэтому был разработан специальный метод подключения, чтобы пары ТХ и RX на противоположных концах кабеля  менялись местами. Такой кабель, предназначенный для соединения «компьютер-компьютер», называется перекрестным, или кроссовером. В настоящее время в кроссоверах необходимости нет, так как практически все современные сетевые адаптеры способны определять расположение парТХ и RX и автоматически переключать их. Выбирая кабель для прокладки сети, следует учитывать, что не все марки одинаково хороши. В зависимости от их соответствия ряду параметров кабель делят на категории. Чем выше категория кабеля, тем он дороже, зато и функциональные возможности у него выше.

 

 

Уровень 2. Канальный
Этот уровень сетевой модели отвечает за надежную связь между двумя соединенными напрямую узлами сети. Протоколы этого уровня определяют и (иногда) исправляют ошибки передачи, появляющиеся на физическом уровне. Основным протоколом для LAN является Ethernet. Протокол Ethernet служит лишь для одной цели - доставки полезной нагрузки от одного узла до другого, напрямую к нему подключенному. В локальной сети одна среда передачи используется многими узлами, поэтому каждый узел обязан иметь уникальный адрес - МАС-адрес.
Рассмотрим структуру кадра Ethernet. Начинается он с преамбулы, сигнализирующей получателю о начале передачи кадра. Далее следуют адреса получателя и отправителя, необходимые для установки двустороннего соединения. Проанализировав эти адреса, принявшее кадр устройство понимает, ему ли предназначен кадр, и если да - кому слать кадры в ответ. Следующее поле опционально и содержит номер виртуальной сети, в которой ведется передача, и приоритет кадра в соответствии со спецификацией IEEE 802.1р. Проанализировав это поле, устройство «узнает», какая задержка допустима для передачи информации, содержащейся в кадре. Полезная информация, которую несет кадр Ethernet, может быть чем угодно, но чаще всего это пакет протокола сетевого уровня (например, IP), в который «завернут» пакет протокола более высокого уровня. Завершается кадр контрольной суммой, необходимой для подтверждения целостности принятого кадра. После завершения передачи кадра следует 12-байтный межкадровый интервал. Во времена топологии «шина » он был необходим для того, чтобы и другое сетевое устройство могло захватить среду передачи и выслать свой кадр. На данный момент этот интервал лишь снижает эффективность протокола Ethernet и нужен только для совместимости с устаревшим оборудованием. Некоторые современные сетевые адаптеры умеют работать с сокращенным меж-кадровым интервалом.

 

КОНЦЕНТРАТОРЫ И ПОВТОРИТЕЛИ

Изначально сеть Ethernet была рассчитана на исполь¬зование двухконтактного ко-аксиального кабеля и топологию сети типа «шина» (см. рис).

 

Топология «шина» сети Ethernet.

Топология «шина» сети Ethernet. Обмен данными между узлами сети осуществляется по един¬ственному каналу

 

 

Восьмипортовый сетевой хаб Netgear FE 108

Восьмипортовый сетевой хаб Netgear FE 108 поддерживал Fast Ethernet, несколько таких устройств можно было объединять в стек

 

 

Повторитель Campro ST01 увеличивает дальность соединения

Повторитель Campro ST01 увеличивает дальность соединения по кабелю категорий 5/5е/6 на 100 метров

При использовании коаксиального кабеля такая сеть реализовывалась довольно просто - каждое устройство устанавливалось в разрыв шины с помощью специального двухстороннего разъема (Т-коннектора). При попытке сетевого адаптера передать что-либо другому адаптеру передача занимала среду полностью, и работа других адаптеров была невозможна (возникал конфликт, называемый коллизией), поскольку все узлы сети принимали передачу одного узла. Тем не менее несколько сетевых устройств могли полноценно работать на одной шине. Для этого они предпринимали попытки передачи с различным интервалом и делали паузы между передачами кадров, так что сеть из нескольких устройств, подключенных к одной шине, функционировала нормально. Очевидно, что чем больше устройств в сети, тем ниже ее производительность. Зато для построения сети были не нужны дополнительные активные устройства - знай себе режь да обжимай коаксиальный кабель. С появлением витой пары ситуация изменилась. В обиход вошли сетевые концентраторы, или хабы. Относительно простой и недорогой. хаб содержал несколько портов RJ-45 и иногда - дополнительный коаксиальный разъем для совместимости со старыми сетями. Все сетевые устройства подключались к портам хаба обычными UTR и внешне это выглядело похоже на топологию «звезда» - центральный узел которой соединен с конечными устройствами. Но логически это была все та же шина. Обнаружив начало передачи на любом из портов, концентратор попросту транслировал ее на все остальные порты, а устройства уж сами разбирались, для кого из них предназначен сигнал. Если для построения сети на хабе не хватало портов, хабы можно было объединять в стек, но скорость передачи данных падала пропорционально количеству сетевых узлов.
Со временем  требования к пропускной способности сетей возросли, цены на высокотехнологичную электронику снизились, и концен траторы сошли со сцены, уступив место более замысловатым коммутаторам. За то до сих пор используются младшие братья хабов - повторители (репитеры). Это. по сути, двухпортовые хабы, повторяющие сигнал в логически неизменном, но электрически усиленном виде. Они незаменимы там. где нужно протянуть сеть на большое расстояние и затухание сигнала может сильно понизить скорость передачи.

 

 

Уровень 3. Сетевой
На этом уровне обеспечивается передача данных между любыми узлами сети. Рассмотрим работу уровня 3 на примере основного сетевого протокола IP. Для работы с протоколом IP каждое устройство обязано иметь IP- адрес, в IPv4 он состоит из четырех байт, а в более позднем IPv6 - из шести. При отправке данных от одного узла сети другому отправитель решает, находится ли адресат в его подсети, то есть имеется ли между ними прямое соединение через коммутатор. Если да, IP-пакет встраивается в кадр Ethernet, предназначенный непосредственно для адресата (то есть отправляемый на МАС-адрес адресата). Если адресат находится в другой подсети (а это значит, что его МАС-адрес отправителю неиз-вестен), IP-пакет встраивается в кадр, адресованный нужному сетевому шлюзу. Получив кадр, маршрутизатор анализирует его, обнаруживает, что внутри находится IP-пакет с IP-адресом, не совпадающим с адресом самого маршрутизатора, и пытается определить, есть ли такой IP- адрес в его подсетях. Если да, IP-пакет встраивается в кадр, адресованный получателю, если нет - в кадр, адресованный другому маршрутизатору. Обратите внимание: в отличие от многих других протоколов, IP не содержит механизма гарантированной доставки.

Структура кадра Ethernet. Именно в полезной информации содержатся данные, передаваемые по более высокоуровневым протоколам

Высланные в определенной последовательности пакеты могут достичь адресата в другом порядке, а часть пакетов может вообще не дойти. Все задачи обеспечения надежности доставки возложены на более высокоуровневые протоколы.

 

АДРЕС, МАСКА, ШЛЮЗ
Любой человек, когда-либо настраивавший сеть или доступ в интернет, сталкивался с этой загадочной троицей параметров - IP-адрес, маска подсети, адрес шлюза. Что же они означают? Указываемый IP-адрес должен находиться в корректной подсети (иначе маршрутизация до него не будет выполняться). К примеру, если у вас дома сетевые устройства имеют IP-адреса в диапазоне 192.168.1.1 - 192.168.1.100, при настройке нового устройства лучше адрес из этого диапазона и указать. Маска подсети позволяет определить, адресован ли отправленный пакет соседу по подсети или куда-то подальше. Работает маска очень просто: ноль в двоичном представлении означает свою подсеть, единица - чужую. То есть, к примеру, если вы хотите объявить все адреса 192.168.х.х своей подсетью, то требуемая маска будет выглядеть как 255.255.0.0, а если только 192.168.1.x, то 255.255.255.0. Маску можно настраивать и точнее: скажем, для подсети, состоящей из узлов 192.168.1.1, 192.168.1.2 и 192.168.1.3, маску можно определить как 255.255. 255.252. Наконец, адрес шлюза - это то место, куда следует слать пакет, если его адресат находится в другой подсети. Обычно в роли шлюза выступает маршрутизатор. И самая хорошая новость: все эти параметры нет нужды настраивать на каждом устройстве вручную. Замечательный протокол DHCP позволяет любому маршрути-атору или коммутатору сообщать всем подключенным устройствам все необходимые для работы сведения. 

АДРЕС, МАСКА, ШЛЮЗ



 Уровень 4. Транспортный
Этот уровень служит для надежной отправки данных между узлами сети и является посредником между сетевым уровнем и уровнями 5-7. В стеке протоколов TCP/IP к этому уровню можно отнести два протокола: TCP и UDP.
User Datagram Protocol (UDP) используется для отправки данных без установки соединения и без гарантии доставки. За счет этого он создает наименьшую нагрузку на сеть и наиболее удобен для передачи информации в реальном времени. При передаче таких данных задержки нежелательны, а вот утрата некоторого количества датаграмхм вполне приемлема. В отличие от низкоуровневых протоколов и более простого UDP, TCP требует предварительной установки сеанса, обеспечивая тем самым достоверность и целостность получаемых данных. Процесс установки соединения называется хэндшейком (от англ. handshake - рукопожатие) и заключается в обмене специальными ТСР- пакетами между двумя узлами сети. Из-за этого TCP захватывает и более высокий уровень модели OSI - сеансовый. На транспортном уровне существует своя адресация - номер порта. Этот параметр говорит о том, какому из сетевых приложений предназначен пакет TCP или UDP. Сочетание IP-адреса и порта называется сокетом. Существует набор портов, закрепленных за определенными сервисами (например, порт 80 используется веб-серверами), другие же порты могут использоваться любыми приложениями. Объем пакета TCP или дата - граммы UDP может в несколько раз превышать предельный размер IP-пакета, определя емый MTU. В этом случае дата грамма фрагментируется на несколько IP-пакетов и от правляется частями. Адресат или любое другое сетевое устройство, работающее на транспортном уровне, вынуж ден для анализа пакета соби рать его из фрагментов. На это требуются немалые процессорные ресурсы, поэтому обработка фрагментированиых пакетов нередко запрещается настройкой устройства - и они попросту отбрасываются.

 

Уровень 5. Сеансовый
Этого уровня мы коснемся вкратце, так как он охвачен протоколом TCP, описанным выше. Протоколы этого уровня обеспечивают поддержание сеанса связи между двумя узлами, позволяя сетевым приложениям обмениваться информацией длительное время без утери данных. К этому уровню относятся и туннельные протоколы, такие как РРТР и L2TP, создающие защищенное соединение внутри обычной, незащищенной сети. Эти протоколы нередко применяются интернет провайдерами для обеспечения аутентификации и корректной тарификации доступа в интернет.

 

Уровень 6. представительский
На этом уровне данные при-ложений могут быть подверг-нуты трансформации в целях защиты от доступа извне (шифрование) или передачи в более удобном виде. Попу-лярный протокол защищен¬ного доступа SSL работает как раз на представительском уровне

 

Уровень 7. Прикладной

Протоколов прикладного уровня в интернете использу¬ется множество, почти столь¬ко же, сколько и приложений. И практически все они от¬правляют свои данные, не за¬ботясь о шифровании, аутен-тификации, маршрутизации и контроле целостности, - за это отвечают протоколы бо¬лее низких уровней, в которые будет упакован протокол при-кладного уровня. HTTP. Telnet, DHCP, SMTP, DNS, FTP - все эти протоколы работают на при¬кладном уровне. Давайте разберем семиуров-невую матрешку на примере обмена информацией между браузером пользователя и веб-сервером Google. Итак, вы вводите в адресную строку браузера адрес http://google.com и нажимаете Enter. Что произошло? Вы сообщили браузеру две вещи - что хотите обратиться к серверу Google в домене .com и что запрос нужно выполнить по протоколу прикладного уровня HTTP на порт 80. Запросом по умолчанию для HTTP является команда GET, по которой веб-сервер выдаст содержимое веб-страницы.
Итак, для начала нужно узнать IP-адрес узла google.com. Ваш браузер пытается узнать его, воспользовавшись протоколом DNS. Он формирует пакет с DNS-запросом на известный адрес DNS-сервера. DNS-пакет упаковывается в датаграмму UDP с указанием порта 53, которая, в свою очередь, упаковывается в IP-пакет. IP-пакет, адресованный вашему DNS-серверу, встраивается в кадр Ethernet. Так как DNS- сервер находится где-то в интернете, адресатом кадра назначается ваш шлюз (скорее всего - маршрутизатор, обеспечивающий связь с сстью провайдера). Маршрутизатор, обнаружив у себя IP-пакет, адресованный куда-то в интернет, создает для него Ethernet-кадр для своего шлюза, которым является маршрутизатор провайдера. Проходя все промежуточные узлы до DNS-сервера, ваш IP-пакет на каждом маршрутизаторе подвергается перепаковке в новый кадр Ethernet (либо в кадр другого протокола, если промежуточные сети используют не Ethernet). И вот, наконец, он достиг цели - DNS-сервера. Сетевой адаптер сервера извлекает из кадра IP- пакет, удостоверяется, что сервер является его адресатом, и вынимает из него UDP - пакет. Обнаружив в адресе UDP-пакета порт 53, сервер вынимает из него пакет с DNS-запросом и отдает его приложению DNS-сервера. Скорее всего, вашему DNS - серверу адрес google.com известен - например, это 77.37.250.246. Сервер формирует DNS-ответ, упаковывает его в UDP-пакет для порта 53 и в IP-пакет на ваш адрес. Пакет проходит обратный маршрут. перепаковываясь в кадры канального уровня на каждом промежуточном маршрутизаторе. В итоге полный адрес вам (браузеру) известен: это 77.37.250.246:80. Браузер формирует запрос на установку TCP-соединения по адресу 77.37.250.246:80, который упаковывается в IP-пакет, адресованный на узул сети с адресом 77.37.250.246. ПОЛУЧИВ ЭТОТ IP-пакет, сервер Google извлекает из него TCP-пакет и создает соединение с присвоением уникального номера и указанием порта 80 (что значит - это соединение предназначено для веб-сервера). Сервер отправляет вам ответный ТСР-пакет, вступая в процедуру ТСР- хэндшейка и сообщая вам номер, присвоенный сеансу. По завершении хэндшейка, требующего обмена тремя пакетами, ваш браузер создает HTTP-запрос GET, упаковывает его в TCP-пакет для соединения с указанным номером, который затем упаковывается в IP-пакет на адрес сервера. В ответ вы получаете пачку IP-пакетов, содержащих TCP- пакеты установленного соединения, в которых, подобно самой младшенькой матрешке, сидят HTTP-пакеты с содержимым запрошенной страницы - в нашем случае поисковика http://google.com. Ее-то вы и увидите на экране после столь интенсивного сетевого обмена. Заметим, что мы рассмотрели самый простой случай, когда соединение не проходит через туннель и не шифруется. В последнем случае было бы задействовано еще несколько протоколов на уровнях 5-6.



Схема организации IP-сети. Подсети 10.1.4.x и 10.1.3х связаны через маршрутизатор, который занимается доставкой IP-пакетов между подсетями
 

В самом сердце матрешки

Современный коммутатор работает быстро, а стоит недорого. Правда, все чаще вместо них приобретают много-функциональные маршрутизаторы На первый взгляд вся эта многократно вложенная система может показаться неэффективной. Действительно, пакет каждого протокола несет в себе некоторое количество служебной информации, а анализ заголовка пакета и извлечение полезной нагрузки требуют от сетевого оборудования солидных процессорных ресурсов. Но посудите сами, разве иначе можно добиться столь изящного способа обмена информацией, когда приложение не заботится о топологии сети и ее физическом устройстве, а протоколы нижних уровней работают независимо от того, какие полезные данные они передают? Именно такая замысловатая структура обмена информацией по сети позволяет гибко варьировать различные протоколы - «собирать матрешку» так, как удобно в данный момент любому участнику сети.

 

РОУТЕРЫ
 
Если топология сети сложнее «звезды» или «шины», ей потребуется маршрутизатор. Во время работы он непрерывно составляет и обновляет таблицу маршрутизации. Таблица маршрутизации может составляться вручную (сетевым администратором) либо автоматически с помощью протоколов маршрутизации - RIP, OSPF, IGRP, BGP и др. При составлении таблицы маршрутизатор пытается оптимизировать все маршруты так, чтобы пакеты проходили наименьшее количество промежуточных точек. Получив пакет, предназначенный для известной маршрутизатору подсети, он направляет его по найденному в таблице маршруту. Все остальные пакеты отправляются либо маршрутом по умолчанию, либо отбрасываются, а отправителю высылается уведомление о недоступности адресата. Современный домашний маршрутизатор - устройство многофункциональное. Так как в силу специфики своих задач он является интеллектуальным, производитель нередко нагружает его множеством других функций. Сейчас трудно встретить бытовой маршрутизатор без встроенного четырехпортово-го коммутатора, точки доступа Wi-Fi, торрент-кпиента, принт-сервера и FTP-cep- вера. Причем такое обилие функций может исчерпать возможности процессора устройства, из-за чего он будет банально тормозить при простейших операциях маршрутизации сетевого трафика.

 

Современный маршрутизатор умеет все - разве что кофе не варит. И все же стоит помнить, что главная его задача состо¬ит в маршрутизации трафика, а вовсе не в загрузке файлов через р2р-сети

 

МОСТЫ И КОММУТАТОРЫ

С появлением коммутаторов Ethernet-ceTH получили новую Коммутатор, в отличие от концентратора, устройство интеллектуальное. Правда, при включении он начинает работать как концентратор, рассылая полученные кадры Ethernet по всем портам. Но при этом коммутатор анализирует заголовок кадра и запоминает МАС-адрес отправителя, сопоставляя его с номером порта, на который пришел кадр. В дальнейшем, получив кадр, адресованный этому узлу, он отправит его уже не на все порты, а лишь на тот, к которому подключен адресат. Получив несколько кадров от различных узлов, коммутатор заполняет свою таблицу коммутации. и вскоре уже все передачи идут строго между двумя портами - портом отправителя и портом получателя кадра. Разумеется, при анализе заголовка кадра вносится определенная задержка, но для современного коммутатора она пренебрежимо мала. Мосты в наше время используются нечасто. Работают они подобно коммутаторам (но не оснащаются более чем двумя портами) и нужны для объединения двух сегментов сети различных архитектур и топологий, что не слишком актуально. Сейчас мосты используются разве что для организации связи между проводным и беспроводным сегмента ми сети, играя роль точки доступа Wi-Fi. Почти все функции мостов умеют вы полнять современные бытовые маршрутизаторы.

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