Конспект лекции 6. Коммутация каналов и коммутация пакетов
Общие понятия
Для того, чтобы рационально передавать данные в сети используют метод коммутации.
Коммутация– это процесс объединения компьютеров через транзитные (промежуточные) узлы.
Канал связи- это совокупность средств, необходимых для передачи данных от одного компьютера к другому. В компьютерных сетях это различные провода, беспроводные среды и прочее.
Так же, для разбора этой темы необходимо познакомиться с понятием пропускной способности.
Пропускная способность - это максимально возможная скорость передачи данных. Данная характеристика может быть как у отдельного канала, так и у всей сети в целом.
Маршрутизация - процесс нахождения оптимального маршрута между хостами(пользователями) сети.
Для инфокоммуникационных сетей выделяют два основных вида коммутации:
- Коммутация каналов
- Коммутация пакетов
Существуют традиционные области применения каждой из техник коммутации, например, телефонные сети строились и продолжают строиться с использованием техники коммутации каналов, а компьютерные сети в подавляющем большинстве основаны на технике коммутации пакетов.
Коммутация каналов
Коммутация каналов – это способ построения сети, в котором прежде чем начать передачу данных необходимо установить канал связи – маршрут, по которому на время сеанса обмена данными между пользователями будет принадлежать только им. (Как если бы для того, чтобы вам добраться до колледжа необходимо было на время брать эту дорогу в своё владение).
В качестве информационных потоков в сетях с коммутацией каналов выступают данные, которыми обмениваются пары абонентов. Соответственно глобальным признаком потока является пара адресов (телефонных номеров) абонентов, связывающихся между собой. Одной из особенностей сетей с коммутацией каналов является понятие элементарного канала.
Элементарный канал (или просто канал) — это базовая техническая характеристика сети с коммутацией каналов, представляющая собой некоторое фиксированное в пределах данного типа сетей значение пропускной способности. Любая линия связи в сети с коммутацией каналов имеет пропускную способность, кратную элементарному каналу, принятому для данного типа сети.
В традиционных телефонных сетях величина скорости элементарного канала равняется 64 Кбит/с , что достаточно для качественной цифровой передачи голоса.
Связь, построенную путём коммутации (соединения) элементарных каналов, называют составным каналом.
Технология коммутации каналов ориентирована на минимизацию случайных событий в сети. Во избежание всяких возможных неопределённостей, значительная часть работы по организации информационного обмена выполняется заранее, ещё до того, как начнётся собственно передача данных. Сначала по заданному адресу проверяется доступность необходимых элементарных каналов на всем пути от отправителя до адресата. Но в случае с пульсирующим трафиком, данный подход является неэффективным, так как до 80% времени канал может простаивать.
Свойства составного канала
- составной канал на всем своём протяжении состоит из одинакового количества элементарных каналов.
- Составной канал имеет постоянную и фиксированную пропускную способность на всем своём протяжении.
- Составной канал создаётся временно на период сеанса связи двух абонентов.
- На время сеанса связи все элементарные каналы, входящие в составной канал, поступают в исключительное пользование абонентов, для которых был создан этот составной канал.
- В течение всего сеанса связи абоненты могут посылать в сеть данные со скоростью, не превышающей пропускную способность составного канал.а
- Данные, поступившие в составной канал, гарантированно доставляются вызываемому абоненту без задержек, потерь и с той же скоростью (скоростью источника) вне зависимости от того, существуют ли в это время в сети другие соединения или нет.
- После окончания сеанса связи элементарные каналы, входившие в соответствующий составной канал, объявляются свободными и возвращаются в пул распределяемых ресурсов для использования другими абонентами.
Отказ в обслуживании
Запросы на установление соединения не всегда завершаются успешно. Если на пути между вызывающим и вызываемым абонентами отсутствуют свободные элементарные каналы или вызываемый узел занят, то происходит отказ в установлении соединения.
Коммутация пакетов
При коммутации пакетов данные принято разделять и «упаковывать» в определённую структуру. Такая структура называется пакетом данных.
Важной составляющей пакета данных является адрес получателя. Без адреса получателя, пакет данных не сможет передвигаться по сети. Составляющая в виде адреса даёт возможность передавать данные независимо от других потоков данных, то есть на одном канале могут передаваться пакеты различных пользователей.
Можно выделить следующие типы адреса:
- Конкретный адрес - адрес, обозначающий конкретное устройство в сети (пакет данных доставляется конкретному пользователю).
- Широковещательный адрес (broadcast) - адрес, обозначающий всех учатников в сети (получателями являются все участники сети).
- Групповой адрес (multicast) - адрес, который определяет группу устройств сети (пакет данных передаётся определённой группе устройств в сети).
Наличие адреса в каждом пакете является одной из важнейших особенностей техники коммутации пакетов, так как каждый пакет может быть обработан коммутатором независимо от других пакетов, составляющих сетевой трафик. Помимо заголовка у пакета может иметься ещё одно дополнительное поле, размещаемое в конце пакета и поэтому называемое концевиком. В концевике обычно помещается контрольная сумма, которая позволяет проверить, была ли искажена информация при передаче через сеть или нет.
Коммутаторы пакетной сети отличаются от коммутаторов каналов тем, что они имеют внутреннюю буферную память для временного хранения пакетов, если выходной порт коммутатора в момент принятия пакета занят передачей другого пакета. В этом случае пакет находится некоторое время в очереди пакетов в буферной памяти выходного порта, а когда до него дойдёт очередь, он передаётся следующему коммутатору. Такая схема передачи данных позволяет сглаживать пульсацию трафика на магистральных связях между коммутаторами и тем самым наиболее эффективно использовать их для повышения пропускной способности сети в целом.
Если в сетях с коммутацией каналов трафик (движущиеся данные) являются стабильными (скорость передачи данных не изменяется на протяжении сеанса связи), то в сетях с коммутацией пакетов трафик пульсирующий, и средняя интенсивность обмена данными к максимально возможной может выражаться в отношении 1 к 50 или даже 1 к 100.
В сетях с коммутацией каналов выделяется единый канал для связи абонентов, в то время как для каждого пакета данных в сетях с коммутацией пакетов каждый пакет может иметь свой маршрут. Этот маршрут определяется исходя из многих факторов. Самыми распространёнными являются нагруженность линии связи (текущая пропускная способность), и, собственно, сама пропускная способность. Пакет выгоднее передать по маршруту с большей пропускной способностью (скоростью), даже если этот канал протяжённее другого, с более низкой.
Устройство пакета
Пакет данных - это определённым образом сформированный блок данных, который состоит из самих данных, заголовка и, в некоторых случаях, концевика.
В заголовке пакета обязательно(как минимум) должен находиться адрес получателя. Так же заголовок может содержать другую необходимую для передачи служебную информацию: время отправки пакета, тип протокола, номер пакета по порядку и прочее.
Концевик является необязательной частью пакета. Чаще всего его используют для хранения контрольной суммы передаваемых данных. (Контрольная сумма - это число, с помощью которого можно проверить целостность данных. Контрольная сумма высчитывается по определённому алгоритму. Алгоритм определяется в протоколе)
Между заголовком и концевиком располагаются передаваемые биты данных.
Формирование пакета
Пакет формируется следующим образом:
- Данные, которые хочет передать пользователь, разделяются на равные порции.
- Далее, каждая порция оборачивается в заголовок (и концевик) каждого архитектурного уровня сети (вспомните модель OSI), формируя пакет. Каждому пакету так же может назначаться номер по порядку (например, для передачи картинки она как будто разбивается на пазлы, каждый из которых имеет свой порядковый номер для того, чтобы его собрать в том же виде. Эта структура необходима, т.к. никому не хочется получить «перемешанную» картинку).
- Далее, каждый пакет передаётся по сети. Получатель копит эти пакеты в своей памяти.
- После получения всех необходимых пакетов, получатель удаляет все заголовки и концевики и обратно собирает данные.
Коллизии пакетов
Коллизия - это наложение(столкновение) двух кадров, которые передаются в сети.
Коллизии возникают при одновременной передаче данных от двух разных устройств по общему каналу. Коллизии особенно заметны при передаче потоковой информации: например, видеотрансляция. Данные представлены в кадре в виде битов информации. То, как их правильно отобразить, описано в типе передаваемой информации. Если кадры в сети столкнутся, то они "смешаются", и в случаях, когда заголовок остаётся целым, может возникнуть ситуация, при которой биты данных поменяются, и часть изображения отобразится неверно.
Для того, чтобы избежать коллизий используют множкство способов. Например, рассмотренная ранее буферизация пакетов, или проверка пакета на целостность.
В случаях с проверкой целостности, вместе с пакетом передаётся дополнительная информация, которая обрабатывается специальным алгоритмом. Если алгоритм опровергает целостность, такой пакет отбрасывается, а у отправителя запрашивается новый пакет.
Коллизии снижают пропускную способность сети. Но полностью избежать коллизий в сетях с коммутацией пакетов невозможно. Важно построить такую сеть, в которой количество коллизий будет минимальным.