Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка на экз по СиТ.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Обобщенная задача коммутации

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

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

Рисунок 3.1. Коммутация абонентов через сеть транзитных узлов

Например, в сети на рисунке 3.1 узлы 2 и 4, непосредственно между собой не связанные, вынуждены передавать данные через транзитные узлы, в качестве которых могут выступать, например, узлы 1 и 5. Узел 1 должен выполнить передачу данных между интерфейсами A и B, а узел 5 – между F и B. В данном случае маршрутом является последовательность 2-1-5-4, где 2 – узел-отправитель, 1 и 5 – транзитные узлы, 4 – узел получатель.

В самом общем виде задача коммутации может быть представлена в виде следующих взаимосвязанных частных задач:

  1. Определение информационных потоков, для которых требуется прокладывать маршруты.

  2. Маршрутизация потоков.

  3. Продвижение потоков, то есть распознавание потоков и их локальная коммутация на каждом транзитном узле.

  4. Мультиплексирование и демультиплексирование потоков.

  5. Разделение среды передачи данных.

Определение информационных потоков

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

Информационным потоком или потоком данных называют непрерывную последовательность данных, объединенных набором общих признаков, выделяющих эти данные из общего сетевого трафика.

Как поток можно определить все данные, поступающие с одного компьютера, объединяющим признаком в данном случае служит адрес источника. Эти же данные можно представить как совокупность подпотоков по признаку адреса назначения. Каждый из этих подпотоков в свою очередь можно разделить на ещё более мелкие подпотоки по признаку отношения к тому или иному сетевому приложению (электронная почта, веб-служба или программа передачи файлов). Данные, образующие поток, могут быть представлены в виде различных информационных единиц данных (они же PDU).

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

Однако иногда бывает полезно разделить поток для одной и той же пары узлов на несколько подпотоков и направить по различным интерфейсам. Рассмотрим пример, когда на одной паре конечных узлов выполняется несколько сетевых приложений, каждое из которых предъявляет к сети свои требования. В таком случае выбор маршрута должен осуществляться с учетом характера передаваемых данных, например, для файлового сервера важно, чтобы передаваемые им большие объемы данных направлялись по каналам с большей пропускной способностью. В то же время для системы управления, посылающей короткие сообщения, требующие обязательной и немедленной обработки, потребуется более надежная и менее загруженная линия связи пусть и с меньшей пропускной способностью. Также для данных, предъявляющих к сети одинаковые требования, может прокладываться несколько маршрутов для ускорения передачи данных за счет распараллеливания.

Признаки потока могут быть глобальными или локальными. В первом случае они однозначно определяют поток в пределах всей сети, а во втором – в пределах одного транзитного узла. Адреса источника и приемника – это пример глобального признака. Примером локального признака могут быть номера интерфейсов, на которые поступают данные на транзитный узел. Например, узел 1 (Рис. 3.1) может быть настроен так, чтобы поступающие на интерфейс A данные передавались на интерфейс B, а данные с интерфейса D – на интерфейс C. Такое правило позволит разделить потоки данных узла A от узла B.

Маршрутизация потоков

Задача маршрутизации включает в себя две подзадачи:

  1. Определение маршрута;

  2. Оповещение сети о выбранном маршруте.

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

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

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

Абстрактный способ измерения степени близости между двумя объектами называется метрикой. Например, для построения метрики, учитывающей пропускную способность, выбирают некоторую константу, заведомо большую (или равную) максимального значения пропускной способности, а затем делят на пропускную способность конкретного канала-участка. Таким образом, участки 1-8 и 8-5 будут иметь метрику 1, а участок 1-5 – метрику 10. Метрика всего маршрута является суммой метрик его каналов, т.е. маршрут 1-8-5 будет иметь метрику 2, что всё равно меньше, чем метрика 1-5. Однако этот вариант может быть не самым оптимальным при большой загруженности каналов 1-8 и 8-5.

Когда маршрут определен, о нем необходимо оповестить все транзитные узлы. Сообщение будет выглядеть примерно следующим образом: «все данные, относящиеся к потоку n, следует передать для дальнейшего продвижения на интерфейс N», где n – признак потока (например, узел назначения). Каждое подобное сообщение о маршруте обрабатывается устройством, в результате создается новая запись в таблице коммутации. В этой таблице каждому локальному или глобальному признаку потока соответствует интерфейс, на который поток должен быть направлен.

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

Продвижение потоков

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

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

В качестве коммутатора может выступать как специализированное устройство (аппаратный коммутатор), так и универсальный компьютер со встроенным программным механизмом коммутации (программный коммутатор). В основном отдельные устройства в сети специально выделяются для коммутации, образуя коммутационную сеть. Таковой сетью будет являться сеть из узлов 1-5-6-8 на рисунке 3.1.

Мультиплексирование и демультиплексирование потоков

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

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

Очевидно, что на интерфейс коммутатора в таком случае будет поступать смешанный поток, который необходимо разделить или демультиплексировать.

Демультиплексирование – разделение суммарного агрегированного потока на несколько составляющих его потоков.

Операции мультиплексирования и демультиплексирования имеют очень большое значение: без них пришлось бы для каждого потока предусматривать отдельный канал связи, что привело бы к большому количеству параллельных связей в сети. На рисунке 3.2 коммутатор на интерфейсе 1 осуществляет мультиплексирование потоков, приходящих с интерфейсов 3 и 4 для передачи потока по общему физическому каналу. На интерфейсе 2 осуществляется демультиплексирование потоков, поступающих из физической среды, и направление разделенных потоков по интерфейсам 1, 3 и 4.

Самыми распространенными способами мультиплексирования являются:

  • разделение по времени – каждый поток время от времени (с фиксированным или случайным периодом) получает физический канал в своё распоряжение и передаёт по нему свои данные.

  • разделение по частоте – каждый поток передаёт данные в выделенном ему частотном диапазоне.

Разделение среды передачи данных

В ранее рассмотренных примерах к каждой линии связи подключались только два интерфейса. В таком случае физическая линия является дуплексным каналом связи и состоит из двух независимых сред (подканалов) передачи данных (Рис.3.3). Каждый интерфейс использует одни подканал для передачи данных, а второй – для приёма. Такой режим использования среды сейчас является основным в компьютерных глобальных и локальных сетях.

Рисунок 3.3. Дуплексный канал

Ранее в локальных сетях преобладал другой режим, основанный на разделяемой среде передачи данных. Эффект разделения среды возникает при соединении двух интерфейсов с помощью полудуплексного канала связи, в котором возможна передача данных в любом направлении только попеременно (Рис.3.4).

Рисунок 3.4. Полудуплексный канал

Разделяемая среда (shared medium) – физическая среда передачи данных, к которой непосредственно подключено несколько передатчиков узлов сети, причем в каждый момент времени только один из передатчиков какого-либо узла получает доступ к разделяемой среде и использует её для передачи данных приёмнику другого узла, подключенному к этой же среде (Рис. 3.5).

Рисунок 3.5. Разделяемая среда

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

Для локальных сетей разделяемая среда довольно долго была основным механизмом использования каналов связи, и применялась во всех технологиях локальных сетей: Ethernet, ArcNet, Token Ring, FDDI. При этом применялись децентрализованные методы доступа к среде, не требующие наличия арбитра. Популярность этого механизма объяснялась простотой и экономичностью аппаратных решений. Например, для сети Ethernet на коаксиальном кабеле требовались только сетевые карты на компьютере и, собственно, кабель. Никакого дополнительного сетевого оборудования не было нужно. Наращивание количества компьютеров в сети производилось путем добавления отрезка кабеля к уже существующему.

Однако сейчас такие сети мало используются из-за плохо предсказуемой производительности и масштабируемости. Объясняется это тем, что пропускная способность канала связи делится между всеми узлами сети. Например, если в сети 100 компьютеров, при пропускной способности канала в 10 Мбит/с, на каждый компьютер в среднем приходится скорость 0,1 Мбит/с. Более точно оценить скорость трудно, поскольку она зависит от множества факторов. Соответственно, при добавлении новых компьютеров в сеть скорость снижается еще больше.

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

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