Сеть с коммутацией пакетов, так же как и сеть с коммутацией каналов, состоит из коммутаторов, связанных физическими линиями связи. Однако коммутаторы функционируют в этих сетях по-разному. Главное отличие состоит в том, что пакетные коммутаторы имеют внутреннюю буферную память для временного хранения пакетов. Действительно, пакетный коммутатор не может принять решения о продвижении пакета, не имея в своей памяти всего пакета. Коммутатор проверяет контрольную сумму, и только если она говорит о том, что данные пакета не искажены, начинает обрабатывать пакет и по адресу назначения определяет следующий коммутатор. Поэтому каждый пакет последовательно бит за битом помещается во входной буфер. Имея в виду это свойство, говорят, что сети с коммутацией пакетов используют технику сохранения с продвижением (store-and-forward). Заметим, что для этой цели достаточно иметь буфер размером в один пакет.
Буферизация необходима пакетному коммутатору также для согласования скорости поступления пакетов со скоростью их коммутации. Если коммутирующий блок не успевает обрабатывать пакеты, то на интерфейсах коммутатора возникают входные очереди. Очевидно, что для хранения входной очереди объем буфера должен превышать размер одного пакета. Существуют различные подходы к построению коммутирующего блока. Традиционный способ основан на одном центральном процессоре, который обслуживает все входные очереди коммутатора. Такой способ построения может приводить к большим очередям, так как производительность процессора разделяется между несколькими очередями. Современные способы построения коммутирующего блока основаны на многопроцессорном подходе, когда каждый интерфейс имеет свой встроенный процессор для обработки пакетов. Кроме того, существует также центральный процессор, координирующий работу интерфейсных процессоров. Использование интерфейсных процессоров повышает производительность коммутатора и уменьшает очереди во входных интерфейсах. Однако такие очереди все равно могут возникать, так как центральный процессор по-прежнему остается «узким местом». Более подробно вопросы внутреннего устройства коммутаторов обсуждаются в главе 15.
|
|
Наконец, буферы нужны для согласования скоростей передачи данных в каналах, подключенных к пакетному коммутатору. Действительно, если скорость поступления пакетов из одного канала в течение некоторого периода превышает пропускную способность того канала, в который эти пакеты должны быть направлены, то во избежание потерь пакетов на целевом интерфейсе необходимо организовать выходную очередь (рис. 3.5).
|
|
В сети с коммутацией пакетов пульсации трафика отдельных абонентов в соответствии с законом больших чисел распределяются во времени так, что их пики чаще всего не совпадают. Поэтому коммутаторы постоянно и достаточно равномерно загружены работой, если число обслуживаемых ими абонентов действительно велико. На рис. 3.6 показано, что трафик, поступающий от каждого из конечных узлов на коммутаторы, очень неравномерно распределен во времени. Однако коммутаторы более высокого уровня иерархии, которые обслуживают соединения между коммутаторами нижнего уровня, загружены более равномерно, и магистральные каналы, соединяющие коммутаторы верхнего уровня, имеют близкие к максимальным коэффициенты использования. Буферизация сглаживает пульсации, поэтому коэффициент пульсации на магистральных каналах гораздо ниже, чем на каналах абонентского доступа.
Очереди пакетов Магистральный |
Поскольку объем буферов в коммутаторах ограничен, иногда происходит потеря пакетов из-за переполнения буферов при временной перегрузке части сети, когда совпадают периоды пульсации нескольких информационных потоков. Так как потеря пакетов является неотъемлемым свойством сети с коммутацией пакетов, то для нормальной работы таких сетей разработан ряд механизмов, которые компенсируют этот эффект. Эти механизмы, называемые методами обеспечения качества обслуживания и инжиниринга трафика, рассматриваются в главе 7.