March 12

"Дай под зад диплому" #1: Почему от коммутации каналов перешли к коммутации пакетов?

Как появилась первая телефонная связь, близкая к нашему пониманию? Не считая прямого соединения одного телефона с другим, первая связь на настоящем, а не экспериментальном, расстоянии появилась в конце XIX века, и была безумно дорогой. Соединяли все телефонные аппараты линией к одной станции. В станциях сидели люди и переключали кабели между одним абонентом к другому, как мы сейчас подключаем проводные наушники к компьютеру или телефону (если у вас ещё старый формат). Человек соединял провод от одного абонента, соответствующего определённому порту, к другому порту, И дальше сигнал шёл по линии ко второму абоненту.

Где здесь коммутация? В лице телеграфиста, который соединяет абонентов между собой чуть ли не напрямую. Одну линию занимает один абонент. Разве это дело? Пока мало телефонов да, почему нет? Потом люди телеграфисты пропали, их заменили автоматические телефонные станции, но коммутация как шла по каналом, так и шла — абонент занимал всю линию. Вот только телефоны становились всё доступнее. Что придумали? Можно разбить физический канал на элементарные каналы — с фиксированной полосой пропускания. Надёжно — нам заранее известны параметры канала связи, можно их объединять для большей мощности при необходимости, мы не ждём внезапных приключений с линией связи, её параметры фиксированы. Сама информация не перегружена, ведь не нужно передавать адрес при подаче сигнала — коммутация сделала это заранее, пока устанавливала для нас связный канал (служебным сообщением). Даже искажений нет, привычных обычному интернету, ведь все линии живут независимо друг от друга.

"И мы всё это променяли?" Часть ответа я уже дал выше — разделение физического канала на элементарные увеличило количество возможных каналов для коммутации, но сама проблема осталась — два абонента занимают одну линию, и ведь они могут давать разную нагрузку. Кто-то постоянно говорит, им нужна вся мощь канала связи, а кто-то говорит два слова в минуту и висит на канале два часа. Разве им нужно столько ресурсов? Есть статистики, сколько люди в среднем висят на канале, но к нам пришла такая вещь, как компьютеры, а с ними и компьютерный трафик. И главная его проблема — компьютерный трафик импульсивен. Он не равномерен.

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

Появляются свои нюансы — маршрутизация стала динамической, как и коммутация. Мы буквально ввергли сеть в хаос, отдав на растерзание гигантскому количеству отдельных кусков информации с гигантским количеством лишних данных, без которых сеть просто свалиться (по типу избыточных заголовков ipv4, которые были удалены в ipv6, вот только мы что-то не спешим на него перейти). Многопараметричность, доходящая до бесконечности, и фрактальная размерность сети с коммутацией пакетов уничтожают традиционные методы описания. Выше я сказал, что трафик не равномерный, но если иметь ввиду равномерное распределение, то это не совсем верно — сеть на основе коммутации пакетов вообще в принципе не поддаётся описанию привычной нам средней величиной и её отклонением (мат ожиданием и дисперсией), последняя в бесконечность уходит. Оно привнесло в нашу жизнь релятивизм (относительность) методик измерений, здесь и релятивизм обеспечения качества, когда одни меряют по цвету, вторые по размеру, третьи по запаху. Разве это не хаос? Хаос, но это сама природа коммутации пакетов, и мы должно работать именно с такой системой.

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

Пока что хватит информации. Если есть, чем дополнить, то можете написать в комментариях тг. Что это за рубрика и для чего она, я рассказываю здесь. Подписывайтесь на телеграм с постами и статьями, ютуб канал с обычными крупными и новостными видео, ютуб шортс с вертикальными видео и ютуб для IT стримов. Всем пока, до следующий статей.