Локальные сети, часть 2

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

  • Ограниченное количество подключенных компьютеров. Все участники сети должны делить между собой общую полосу пропускания; начиная с какого-то момента сеть станет слишком медленной даже без учета коллизий, а ведь с достаточно большим количеством компьютеров трафик сети будет состоять в основном из них.
  • Компьютеры сети должны находится друг от друга на небольшом расстоянии, ограниченном максимально допустимой длиной кабеля. Законы физики никто не отменял, затухание сигнала и шумы неизбежны в любом проводнике. Также для нормальной работы сети необходимо, чтобы одновременно происходящие события происходили достаточно одновременно, вспомните определение коллизии. Так что длина кабеля ограничена: по стандарту, толстый коаксиал — 500 метров, тонкий — 185 метров. Организациям, у которых, например, есть несколько офисов в разных районах города, одну локальную сеть организовать по такой технологии не получится, я уже не говорю про офисы в разных городах.
  • Повреждение кабеля в любом месте выводит из строя всю сеть, даже в оставшихся сегментах (по техническим причинам, поврежденный кабель будет портить сигнал).
  • Подключение компьютера по «тонкому» коаксиалу.

  • Неудобное расширение сети. Толстый коаксиал был сложен в монтаже и фактически ограничивал количество подключенных компьютеров заранее заданным числом. В случае более распространенного тонкого коаксиала новый компьютер подключить было проще, но при этом нужно было резать кабель — т.е. нарушать работу сети. Также, тонкий коаксильный кабель нужно подводить непосредственно к подключаемому компьютеру, и может не хватить длины кабеля. Итого, подключить к сети новый компьютер мог только специалист, в нерабочее время, и непосредственно рядом с кабелем.
  • Отсутствие поддержки мобильных компьютеров. Когда придумывался Ethernet, мобильных компьютеров не существовало, но сейчас всякие ноутбуки, планшеты и телефоны очень даже имеются, и их тоже нужно как-то подключать к сети — без потери мобильности.

Развитие локальных сетей шло по пути преодоления этих ограничений.

Репитеры и Хабы

Сигнал по кабелю идет цифровой? Цифровой. Значит, его можно ретранслировать, убрав тем самым ограничение на длину кабеля, вызванное шумами. Так появились репитеры (от английского repeat — повторять). Они имели два разъема (далее называю их портами), к которым можно было подключить по сегменту сети хоть максимальной длины. Работают репитеры просто: все то, что приходит на один порт, ретранслируется на другой; для логики работы сети репитер прозрачен.

Логичным развитием идеи будет добавить еще портов — так появились хабы (hub на английском; одно из значений слова — ступица в колесе, к которой сходятся спицы), также известные как сетевые концентраторы. Работают они точно также, как и репитеры — просто повторяют все то, что пришло на один порт, на все остальные свои порты.

Хабы изначально были недешевыми устройствами, предназначенными для навороченных сетей, и строились эти сети по простой схеме: один хаб и подсоединенные к нему звенья сети на привычном коаксиале. Но рано или поздно кто-то должен был подключить один хаб к другому.

Ethernet на витой паре

Сети на коаксиальных кабелях были относительно дороги в монтаже, неудобны в расширении и обладали слабой надежностью, и в случае проблем дефект кабеля было не так уж просто локализовать. Неплохо было бы найти более удобный способ организации сети. Эксперименты с хабами подсказали инженерам идею на этот счет, удачная реализация которой сделала Ethernet де-факто единственным стандартом локальной сети: Ethernet на витой паре.

Пример сети на хабах

Если строить сеть на хабах, соединенных друг с другом, то нет нужды предъявлять каких-то особо жестких требований к кабелям, соединяющих хабы друг с другом и с компьютерами — ведь каких-то больших расстояний для этого не требуется. Поэтому был разработан вариант Ethernet, использующий простую, дешевую и удобную в монтаже вариацию на тему обычного телефонного кабеля, известным под названием «витая пара«. Сеть такого типа представляет собой соединенные отдельными кабелями хабы, и компьютеры, присоединенные такими же кабелями к какому-нибудь хабу. Кстати, ограничение на длину кабеля, с учетом такой топологии сети, оказалось весьма приемлемым: 100 метров.

Кабели — дешевые, легко заменяемые и простые в монтаже. В результате, стоимость сети определяется фактически стоимостью необходимого сетевого оборудования. Как только хабы подешевели в достаточной степени, чтобы не пугать своим ценником клиентов, аргументов в пользу других вариантов сетей просто не осталось. Где-то с середины девяностых Ethernet на витой паре вытеснил все предшествующие варианты сетей.

Переход на сеть древовидной топологии, основанную на хабах, приносит следующие выгоды:

  • Надежность и простота ремонта сети. Повреждение кабеля не нарушает работу всей сети. Фактически, в этом случае сеть распадается на две пусть отдельные, но на физическом уровне работающие сети. В этом случае найти поврежденный кабель относительно несложно, достаточно с любого компьютера проверить связь с остальными компьютерами. Этой информации будет достаточно, чтобы определить поврежденный кабель, если он один. Замена кабеля также много проще, чем в варианте с коаксиалом — меняется только один сегмент сети, и ничего вместе паять не нужно.
  • Простота расширения сети. Подключение нового компьютера никак не нарушает работу сети. Просто подсоедините компьютер к хабу. Если в хабе нет свободных портов — освободите один порт, подключите к нему новый хаб, и уже в новый хаб подключите новый компьютер и ранее отсоединенный. При этом нарушена будет работа только одного компьютера в существующей сети.
  • Абстрагирование физической реализации сети. Сетевая карта компьютера должна уметь общаться только с хабом. А вот в варианте с коаксиалом сетевая карта должна была уметь общаться с другими компьютерами напрямую. Если бы захотелось что-то изменить в физической реализации сети, нужно было бы или менять все сетевые карты, или создавать какое-то специальное устройство, заменяющее кабель, но ведущее себя как кабель… это же хабы! И они уже есть. Пока хаб реализует известный сетевой карте протокол общения с подключенными устройствами, внутри он может творить что угодно. Также ничто не мешает ему договариваться о чем-то специальном с другими хабами, если они это поддерживают, и сетевых карт на компьютерах все это не касается. Это — огромное и коммерчески интересное поле для самых разных разработок, и они не заставили себя ждать. Вероятно, первая плюшка подобного рода — это интеграция старых коаксиальных сетей в новую на витой паре. Многие ранние хабы имели порты под коаксиал, так что при переходе на новую сеть на витой паре старую сеть не нужно было демонтировать, ее просто подключали к новой. Между компьютерами в старой и новой сети ходят всем известные пакеты Ethernet, и ничего страшного, что на физическом уровне они представлены очень по-разному; хаб обеспечит необходимый механизм ретрансляции пакетов.

Свичи

Свич

Изначально хабы — довольно примитивные устройства. Но такое состояние дел продолжалось недолго, поскольку абстрагирование сети предоставляет массу возможностей реализовать интересный функционал.

Физически сеть теперь представляет собой не один проводник, а множество небольших проводов, соединением которых управляют хабы. Хабы, собственно, и не управляют их соединением, они всегда соединяют все провода вместе; а что, если они будут управлять? Тогда, может быть, не обязательно компьютеру передавать каждый свой пакет на всю сеть? Физически это осуществимо. Так появились свичи (switch — переключать, выключатель), или коммутаторы — хабы, которые управляют подключениями к ним.

Пусть первый компьютер подключен к первому порту свича, а второй компьютер — ко второму, и пусть первый компьютер посылает второму пакет. Простой хаб ретранслирует передаваемый пакет с первого порта на все остальные порты, включая второй. Но при этом возможна коллизия с компьютерами на других портах. Если бы хаб знал, какой компьютер к какому порту подключен, и умел ретранслировать пакет не на все порты, а только на некоторые, то ненужной коллизии можно было бы избежать, передав пакет с первого порта только на второй. Так и работают свичи. Широковещательные пакеты передаются всегда на все порты, а адресные — только на нужный порт. Конечно, для этого нужно знать, какие компьютеры к каким портам подключены. Откуда свичи это знают? Изначально не знают и работают как хабы, но они обучаются во время работы. Свичи следят за трафиком на своих портах и запоминают исходящие MAC-адреса всех получаемых пакетов. Если по некоторому порту получен пакет с адресом некоторого компьютера, то этот компьютер подсоединен к этому порту, верно?

Таким образом, свичи позволяют в заметной степени увеличить пропускную способность сети за счет уменьшения количества возникающих коллизий.

Появление свичей позволило сделать соединение компьютеров с сетью дуплексным (full-duplex). Дуплексное соединение позволяет одновременно принимать и передавать сигнал, а полудуплексное — только принимать или только передавать. Традиционный Ethernet на коаксиале, очевидно, полудуплексый. Первоначально Ethernet на витой паре тоже был полудуплексным, но в дальнейшем стал поддерживать полный дуплекс. Это потребовало некоторого изменения протокола работы сетевых карт, но дело того стоило, поскольку пропускная способность сети значительно увеличивается. К тому же, изменение оказалось небольшим и не затрагивающим логику работы сети. Ведь как свич изолирует компьютер от конкретных деталей реализации сети, так он изолирует и сеть от конкретных деталей реализации соединения компьютера и хаба.

Вот еще одна иллюстрация возможностей свичей. Вообще, сеть Ethernet требует, чтобы от любого компьютера или свича в сети к любому другому компьютеру или свичу можно было попасть только одним способом. Другими словами, в сети не может быть петель. Такая схема существенно упрощает логику работы сети (в противном случае те же свичи реализовать было бы гораздо сложнее, т.к. пакеты от одного компьютера могли бы приходить на разные порты), но она не очень надежна. Повреждение провода обязательно нарушит работу сети, а это не всегда допустимо даже как теоретическая возможность. Необходимы механизмы по организации избыточных соединений, и некоторые свичи их предоставляют. Два свича соединяются между собой двумя кабелями, но один из них настраивается как запасной и не используется, если основной кабель в рабочем состоянии. Если же основной кабель окажется поврежден, запасной будет задействован автоматически. И топология сети корректная, и избыточность достигается.

Свич — гораздо более функциональное устройство, чем хаб. Единственное достоинство хаба — это более низкая цена, но свичи давно уже недорого стоят. Пару лет назад брал домой гигабитный свич на восемь портов, так он стоил мне где-то 30 долларов. Так что нынче примитивных хабов в продаже не осталось, есть только свичи.

Оптика

Ограничение расстояния в 100 метров между свичами не создает проблем, если локальная сеть находится в одном здании. А что делать, если, к примеру, у фирмы есть пара-тройка офисов на расстоянии нескольких километров друг от друга? Или вообще филиал в другом городе? Специально для решения таких задач было разработано несколько вариантов для соединения свичей между собой с помощью оптического волокна, с передачей сигналов по ним с помощью лазера. Варианты эти различаются ценой вопроса и максимальной длиной оптоволокна, которая может составлять от сотен метров до десятков километров. Этих расстояний достаточно для решения любых практических задач.

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

WiFi

Ноутбуки, смартфоны и планшеты тоже хотят в локальную сеть, но при подключении кабелем теряется вся их мобильность. Если для ноутбука кабельное подключение еще как-то понятно, то телефон с воткнутым в него шнуром как-то не впечатляет.

Решением этой проблемы стал WiFi, технология организации Ethernet-подключения по радио. Специальное устройство (точка доступа) подключается к проводной сети Ethernet и позволяет подключиться через нее к сети различным WiFi устройствам. Без специальных ухищрений метров на 20 в помещении хватает, обычно этого достаточно.

WiFi построен на совершенно других физических технологиях, чем любой Ethernet на кабелях, но для программ никакой принципиальной разницы нет, поскольку по радио передаются все те же пакеты Ethernet по все тем же правилам. Единственное видимое различие — это наличие программного подключения к сети. С этой точки зрения, точка доступа — это специализированный свич.

Погоня за скоростью

Первый Ethernet на витой паре работал на частоте 10 мегабит. Естественно, если этот параметр можно было улучшить, то улучшат обязательно. Был разработан Ethernet на 100 мегабит, а через несколько лет (за счет использования более качественного и немного более дорогого кабеля) — и на 1000 мегабит, или гигабит. Существуют и применяются Ethernet 10 гигабит и даже и варианты на 40 и 100 гигабит, ориентированные на крупных провайдеров. Что делать, интернет растет как на дрожжах, и пропускной способности всегда мало.

Для нужд современного дома и мелкого офиса с головой хватает гигабитной сети. Если когда-нибудь этого не будет хватать, перейдем на десятигигабитную сеть, но пока такой необходимости не наблюдается.

Много чего можно сделать средствами современных локальных сетей, но одного все также сделать нельзя: объединить в одну сеть большое количество компьютеров. Даже со всеми вышеупомянутыми ухищрениями, количество компьютеров, которые могут быть подсоединены к одной локальной сети, ограничено в лучшем случае сотнями штук. Интернета только на основании технологий локальных сетей не сделать. Нужно что-то еще, принципиально другое.

Цикл: Как устроен Интернет

Добавить комментарий