Файл: Основы сетей передачи данных Лекция #1 Эволюция вычислительных сетей. Часть 1.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.01.2024
Просмотров: 531
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
разделить на еще более мелкие подпотоки данных, например, относящихся к разным сетевым приложениям — электронной почте, копированию файлов, обращению к Web-серверу.
Понятие потока используется при решении различных сетевых задач, и в зависимости от конкретного случая, определяется соответствующий набор признаков. В задаче коммутации, суть которой — передача данных из одного конечного узла в другой, при определении потоков в роли обязательных признаков потока, очевидно, должны выступать адрес отправителя и адрес назначения данных. Тогда каждой паре конечных узлов будет соответствовать один поток и один маршрут.
Однако не всегда достаточно определить поток только парой адресов. Если на одной и той же паре конечных узлов выполняется несколько взаимодействующих по сети приложений, которые предъявляют к ней свои особые требования, поток данных между двумя конечными узлами должен быть разделен на несколько подпотоков, так чтобы для каждого из них можно было проложить свой маршрут. В таком случае выбор пути должен осуществляться с учетом характера передаваемых данных. Например для файлового сервера важно, чтобы передаваемые им большие объемы данных направлялись по каналам с высокой пропускной способностью, а для программной системы управления, которая посылает в сеть короткие сообщения, требующие обязательной и немедленной отработки, при выборе маршрута важнее надежность линии связи и минимальный уровень задержек. В таком примере набор признаков потока должен быть расширен за счет информации, идентифицирующей приложение.
Кроме того, даже для данных, предъявляющих к сети одинаковые требования, может прокладываться несколько маршрутов, чтобы за счет распараллеливания добиться одновременного использования различных каналов и тем самым ускорить передачу данных. В данном случае необходимо "пометить" данные, которые будут направляться по каждому из этих маршрутов.
Признаки потока могут иметь глобальное или локальное значение. В первом случае они однозначно определяют поток в пределах всей сети, а во втором — в пределах одного транзитного узла. Пара уникальных адресов конечных узлов для идентификации
потока — это пример глобального признака. Примером признака, локально определяющего поток в пределах устройства, может служить номер (идентификатор) интерфейса устройства, с которого поступили данные. Например, узел 1 (рис. 5.1) может быть сконфигурирован так, что он передает все данные, поступившие с интерфейса А, на интерфейс С, а данные, поступившие с интерфейса D, на интерфейс В. Такое правило позволяет разделить два потока данных — поступающий из узла 2 и поступающий из узла 7 — и направлять их для транзитной передачи через разные узлы сети, в данном случае данные из узла 2 через узел 8, а данные из узла 7 — через узел 5.
Существует особый тип признака — метка потока. Метка может иметь глобальное значение, уникально определяющее поток в пределах сети. В таком случае она в неизменном виде закрепляется за потоком на всем протяжении его пути следования от узла источника до узла назначения. В некоторых технологиях используются локальные метки потока, значения которых динамически меняются при передаче данных от одного узла к другому.
Определить потоки – это значит задать для них набор отличительных признаков, на основании которых коммутаторы смогут направлять потоки по предназначенным для них маршрутам.
Определение пути, то есть последовательности транзитных узлов и их интерфейсов, через которые надо передавать данные, чтобы доставить их адресату — сложная задача, особенно когда конфигурация сети такова, что между парой взаимодействующих сетевых интерфейсов существует множество путей. Задача определения маршрутов состоит в выборе из всего этого множества одного или нескольких путей. И хотя в частном случае множества имеющихся и выбранных путей могут совпадать, чаще всего выбор останавливают на одном оптимальном 1) по некоторому критерию маршруте.
В качестве критериев выбора могут выступать, например:
Заметим, что даже в том случае, когда между конечными узлами существует единственный путь, его определение при сложной топологии сети может представлять собой нетривиальную задачу.
Маршрут может определяться эмпирически ("вручную") администратором сети, который, используя различные, часто не формализуемые соображения, анализирует топологию сети и задает последовательность интерфейсов, которую должны пройти данные, чтобы достичь получателя. Среди побудительных мотивов выбора того или иного пути могут быть: особые требования к сети со стороны различных типов приложений, решение передавать трафик через сеть определенного провайдера, предположения о пиковых нагрузках на некоторые каналы сети, соображения безопасности.
Однако эвристический подход к определению маршрутов для большой сети со сложной топологией не подходит. В этом случае такая задача решается чаще всего автоматически. Для этого конечные узлы и другие устройства сети оснащаются специальными программными средствами, которые организуют взаимный обмен служебными сообщениями, позволяющий каждому узлу составить свое представление о топологии сети. Затем на основе этого исследования и математических алгоритмов определяются наиболее рациональные маршруты.
Определить маршрут — однозначно задать последовательность транзитных узлов и их интерфейсов, через которые надо передавать данные, чтобы доставить их адресату.
После того, как маршрут определен (вручную или автоматически), следует "сообщить" о нем всем устройствам сети. Сообщение о маршруте должно нести каждому транзитному устройству примерно такую информацию: "Если придут данные, относящиеся к потоку n, то нужно передать их на интерфейс F".
Сообщение о маршруте обрабатывается транзитным устройством, в результате чего создается новая запись в таблице коммутации, в которой локальному или глобальному признаку (признакам) потока (например, метке, номеру входного интерфейса или адресу назначения) ставится в соответствие номер интерфейса, на который устройство должно передать данные, относящиеся к этому потоку.
Ниже помещен фрагмент таблицы коммутации, содержащий запись, сделанную на основании сообщения о необходимости передачи потока n на интерфейс F.
Конечно, структура сообщения о маршруте и содержимого таблицы коммутации зависит от конкретной технологии, однако эти особенности не меняют сущности рассматриваемых процессов.
Передача информации о выбранных маршрутах так же, как и определение маршрута, может осуществляться и вручную, и автоматически. Администратор сети может зафиксировать маршрут, выполнив конфигурацию устройства вручную, например, жестко скоммутировав на длительное время определенные пары входных и выходных интерфейсов (так работали "телефонные барышни" на первых коммутаторах). Он может также по собственной инициативе внести запись о маршруте в таблицу коммутации. Однако поскольку топология сети и
информационных потоков может меняться (отказ или появление новых промежуточных узлов, изменение адресов или определение новых потоков), то гибкое решение задач определения и назначение маршрутов предполагает постоянный анализ состояния сети и обновление маршрутов и таблиц коммутации, что требует применения средств автоматизации.
Оповестить сеть о найденных маршрутах — это значит вручную или автоматически настроить каждый коммутатор таким образом, чтобы он "знал", в каком направлении следует передавать каждый поток.
Когда сеть оповещена о маршрутах, она может начать выполнять свои функции по соединению или коммутации абонентов. Для каждой пары абонентов эта операция может быть представлена совокупностью нескольких (по числу транзитных узлов) локальных операций коммутации. Отправитель должен выставить данные на тот свой порт, из которого выходит найденный маршрут, а все транзитные узлы должны соответствующим образом выполнить "переброску" данных с одного своего порта на другой, другими словами — выполнить коммутацию.
Устройство, предназначенное для выполнения коммутации, называется коммутатором (switch). Коммутатор производит коммутацию входящих в его порты информационных потоков, направляя их в соответствующие выходные порты (рис. 5.2).
Рис. 5.2. Коммутатор.
Однако, прежде чем выполнить коммутацию, коммутатор должен распознать поток. Для этого поступившие данные проверяются на предмет наличия признаков какого-либо из потоков, заданных в таблице коммутации. Если произошло совпадение, то эти данные направляются на тот интерфейс, который был определен для них в маршруте.
Термины коммутация, таблица коммутации и коммутатор в телекоммуникационных сетях могут трактоваться неоднозначно. Мы уже определили термин коммутация как процесс соединения абонентов сети через транзитные узлы. Этим же термином мы обозначаем и соединение интерфейсов в пределах отдельного транзитного узла. Коммутатором в широком смысле слова называется устройство любого типа, способное выполнять операции переключения потока данных с одного интерфейса на другой. Операция коммутации может быть выполнена в соответствии с различными правилами и алгоритмами. Некоторые способы коммутации и соответствующие им таблицы и устройства получили специальные названия (например,
маршрутизация, таблица маршрутизации, маршрутизатор). В то же время за другими специальными типами коммутации и соответствующими устройствами закрепились те же самые названия – коммутация, таблица коммутации и коммутатор – которые здесь используются в узком смысле, например коммутация и коммутатор локальной сети. В телефонных сетях, которые появились намного раньше компьютерных, также используется аналогичная терминология, коммутатор является здесь синонимом телефонной станции. Из-за солидного возраста и гораздо большей (пока) распространенности телефонных сетей, чаще всего в телекоммуникациях под термином «коммутатор» понимают именно телефонный коммутатор.
Коммутатором может быть как специализированное устройство, так и универсальный компьютер со встроенным программным механизмом коммутации, в этом случае коммутатор называется программным. Компьютер может совмещать функции коммутации данных, направляемых на другие узлы, с выполнением своих обычных функций конечного узла. Однако во многих случаях более рациональным является решение, в соответствии с которым некоторые узлы в сети выделяются специально для выполнения коммутации. Эти узлы образуют коммутационную сеть, к которой подключаются все остальные. На рис. 5.3 показана коммутационная сеть, образованная из узлов 1, 5, 6 и 8, к которой подключаются конечные узлы 2, 3, 4, 7, 9 и 10.
Рис. 5.3. Коммутационная сеть.
Как уже было сказано, прежде чем выполнить переброску данных на определенные для них интерфейсы, коммутатор должен понять, к какому потоку они относятся. Эта задача должна решаться независимо от того, поступает ли на вход коммутатора только один поток в "чистом" виде, или "смешанный" поток, который объединяет в себе несколько потоков. В последнем случае к задаче распознавания добавляется задача демультиплексирования.
Задача демультиплексирования (demultiplexing) — разделение суммарного агрегированного потока, поступающего на один интерфейс, на несколько составляющих потоков.
Как правило, операцию коммутации сопровождает также обратная операция — мультиплексирование.
Задача мультиплексирования (multiplexing) — образование из нескольких отдельных
Понятие потока используется при решении различных сетевых задач, и в зависимости от конкретного случая, определяется соответствующий набор признаков. В задаче коммутации, суть которой — передача данных из одного конечного узла в другой, при определении потоков в роли обязательных признаков потока, очевидно, должны выступать адрес отправителя и адрес назначения данных. Тогда каждой паре конечных узлов будет соответствовать один поток и один маршрут.
Однако не всегда достаточно определить поток только парой адресов. Если на одной и той же паре конечных узлов выполняется несколько взаимодействующих по сети приложений, которые предъявляют к ней свои особые требования, поток данных между двумя конечными узлами должен быть разделен на несколько подпотоков, так чтобы для каждого из них можно было проложить свой маршрут. В таком случае выбор пути должен осуществляться с учетом характера передаваемых данных. Например для файлового сервера важно, чтобы передаваемые им большие объемы данных направлялись по каналам с высокой пропускной способностью, а для программной системы управления, которая посылает в сеть короткие сообщения, требующие обязательной и немедленной отработки, при выборе маршрута важнее надежность линии связи и минимальный уровень задержек. В таком примере набор признаков потока должен быть расширен за счет информации, идентифицирующей приложение.
Кроме того, даже для данных, предъявляющих к сети одинаковые требования, может прокладываться несколько маршрутов, чтобы за счет распараллеливания добиться одновременного использования различных каналов и тем самым ускорить передачу данных. В данном случае необходимо "пометить" данные, которые будут направляться по каждому из этих маршрутов.
Признаки потока могут иметь глобальное или локальное значение. В первом случае они однозначно определяют поток в пределах всей сети, а во втором — в пределах одного транзитного узла. Пара уникальных адресов конечных узлов для идентификации
потока — это пример глобального признака. Примером признака, локально определяющего поток в пределах устройства, может служить номер (идентификатор) интерфейса устройства, с которого поступили данные. Например, узел 1 (рис. 5.1) может быть сконфигурирован так, что он передает все данные, поступившие с интерфейса А, на интерфейс С, а данные, поступившие с интерфейса D, на интерфейс В. Такое правило позволяет разделить два потока данных — поступающий из узла 2 и поступающий из узла 7 — и направлять их для транзитной передачи через разные узлы сети, в данном случае данные из узла 2 через узел 8, а данные из узла 7 — через узел 5.
Существует особый тип признака — метка потока. Метка может иметь глобальное значение, уникально определяющее поток в пределах сети. В таком случае она в неизменном виде закрепляется за потоком на всем протяжении его пути следования от узла источника до узла назначения. В некоторых технологиях используются локальные метки потока, значения которых динамически меняются при передаче данных от одного узла к другому.
Определить потоки – это значит задать для них набор отличительных признаков, на основании которых коммутаторы смогут направлять потоки по предназначенным для них маршрутам.
Определение маршрутов
Определение пути, то есть последовательности транзитных узлов и их интерфейсов, через которые надо передавать данные, чтобы доставить их адресату — сложная задача, особенно когда конфигурация сети такова, что между парой взаимодействующих сетевых интерфейсов существует множество путей. Задача определения маршрутов состоит в выборе из всего этого множества одного или нескольких путей. И хотя в частном случае множества имеющихся и выбранных путей могут совпадать, чаще всего выбор останавливают на одном оптимальном 1) по некоторому критерию маршруте.
В качестве критериев выбора могут выступать, например:
-
номинальная пропускная способность; -
загруженность каналов связи; -
задержки, вносимые каналами; -
количество промежуточных транзитных узлов; -
надежность каналов и транзитных узлов.
Заметим, что даже в том случае, когда между конечными узлами существует единственный путь, его определение при сложной топологии сети может представлять собой нетривиальную задачу.
Маршрут может определяться эмпирически ("вручную") администратором сети, который, используя различные, часто не формализуемые соображения, анализирует топологию сети и задает последовательность интерфейсов, которую должны пройти данные, чтобы достичь получателя. Среди побудительных мотивов выбора того или иного пути могут быть: особые требования к сети со стороны различных типов приложений, решение передавать трафик через сеть определенного провайдера, предположения о пиковых нагрузках на некоторые каналы сети, соображения безопасности.
Однако эвристический подход к определению маршрутов для большой сети со сложной топологией не подходит. В этом случае такая задача решается чаще всего автоматически. Для этого конечные узлы и другие устройства сети оснащаются специальными программными средствами, которые организуют взаимный обмен служебными сообщениями, позволяющий каждому узлу составить свое представление о топологии сети. Затем на основе этого исследования и математических алгоритмов определяются наиболее рациональные маршруты.
Определить маршрут — однозначно задать последовательность транзитных узлов и их интерфейсов, через которые надо передавать данные, чтобы доставить их адресату.
Оповещение сети о выбранном маршруте
После того, как маршрут определен (вручную или автоматически), следует "сообщить" о нем всем устройствам сети. Сообщение о маршруте должно нести каждому транзитному устройству примерно такую информацию: "Если придут данные, относящиеся к потоку n, то нужно передать их на интерфейс F".
Сообщение о маршруте обрабатывается транзитным устройством, в результате чего создается новая запись в таблице коммутации, в которой локальному или глобальному признаку (признакам) потока (например, метке, номеру входного интерфейса или адресу назначения) ставится в соответствие номер интерфейса, на который устройство должно передать данные, относящиеся к этому потоку.
Ниже помещен фрагмент таблицы коммутации, содержащий запись, сделанную на основании сообщения о необходимости передачи потока n на интерфейс F.
Признаки потока |
| ||
n | F |
Конечно, структура сообщения о маршруте и содержимого таблицы коммутации зависит от конкретной технологии, однако эти особенности не меняют сущности рассматриваемых процессов.
Передача информации о выбранных маршрутах так же, как и определение маршрута, может осуществляться и вручную, и автоматически. Администратор сети может зафиксировать маршрут, выполнив конфигурацию устройства вручную, например, жестко скоммутировав на длительное время определенные пары входных и выходных интерфейсов (так работали "телефонные барышни" на первых коммутаторах). Он может также по собственной инициативе внести запись о маршруте в таблицу коммутации. Однако поскольку топология сети и
информационных потоков может меняться (отказ или появление новых промежуточных узлов, изменение адресов или определение новых потоков), то гибкое решение задач определения и назначение маршрутов предполагает постоянный анализ состояния сети и обновление маршрутов и таблиц коммутации, что требует применения средств автоматизации.
Оповестить сеть о найденных маршрутах — это значит вручную или автоматически настроить каждый коммутатор таким образом, чтобы он "знал", в каком направлении следует передавать каждый поток.
Продвижение — распознавание потоков и коммутация на каждом транзитном узле
Когда сеть оповещена о маршрутах, она может начать выполнять свои функции по соединению или коммутации абонентов. Для каждой пары абонентов эта операция может быть представлена совокупностью нескольких (по числу транзитных узлов) локальных операций коммутации. Отправитель должен выставить данные на тот свой порт, из которого выходит найденный маршрут, а все транзитные узлы должны соответствующим образом выполнить "переброску" данных с одного своего порта на другой, другими словами — выполнить коммутацию.
Устройство, предназначенное для выполнения коммутации, называется коммутатором (switch). Коммутатор производит коммутацию входящих в его порты информационных потоков, направляя их в соответствующие выходные порты (рис. 5.2).
Рис. 5.2. Коммутатор.
Однако, прежде чем выполнить коммутацию, коммутатор должен распознать поток. Для этого поступившие данные проверяются на предмет наличия признаков какого-либо из потоков, заданных в таблице коммутации. Если произошло совпадение, то эти данные направляются на тот интерфейс, который был определен для них в маршруте.
Термины коммутация, таблица коммутации и коммутатор в телекоммуникационных сетях могут трактоваться неоднозначно. Мы уже определили термин коммутация как процесс соединения абонентов сети через транзитные узлы. Этим же термином мы обозначаем и соединение интерфейсов в пределах отдельного транзитного узла. Коммутатором в широком смысле слова называется устройство любого типа, способное выполнять операции переключения потока данных с одного интерфейса на другой. Операция коммутации может быть выполнена в соответствии с различными правилами и алгоритмами. Некоторые способы коммутации и соответствующие им таблицы и устройства получили специальные названия (например,
маршрутизация, таблица маршрутизации, маршрутизатор). В то же время за другими специальными типами коммутации и соответствующими устройствами закрепились те же самые названия – коммутация, таблица коммутации и коммутатор – которые здесь используются в узком смысле, например коммутация и коммутатор локальной сети. В телефонных сетях, которые появились намного раньше компьютерных, также используется аналогичная терминология, коммутатор является здесь синонимом телефонной станции. Из-за солидного возраста и гораздо большей (пока) распространенности телефонных сетей, чаще всего в телекоммуникациях под термином «коммутатор» понимают именно телефонный коммутатор.
Коммутатором может быть как специализированное устройство, так и универсальный компьютер со встроенным программным механизмом коммутации, в этом случае коммутатор называется программным. Компьютер может совмещать функции коммутации данных, направляемых на другие узлы, с выполнением своих обычных функций конечного узла. Однако во многих случаях более рациональным является решение, в соответствии с которым некоторые узлы в сети выделяются специально для выполнения коммутации. Эти узлы образуют коммутационную сеть, к которой подключаются все остальные. На рис. 5.3 показана коммутационная сеть, образованная из узлов 1, 5, 6 и 8, к которой подключаются конечные узлы 2, 3, 4, 7, 9 и 10.
Рис. 5.3. Коммутационная сеть.
Мультиплексирование и демультиплексирование
Как уже было сказано, прежде чем выполнить переброску данных на определенные для них интерфейсы, коммутатор должен понять, к какому потоку они относятся. Эта задача должна решаться независимо от того, поступает ли на вход коммутатора только один поток в "чистом" виде, или "смешанный" поток, который объединяет в себе несколько потоков. В последнем случае к задаче распознавания добавляется задача демультиплексирования.
Задача демультиплексирования (demultiplexing) — разделение суммарного агрегированного потока, поступающего на один интерфейс, на несколько составляющих потоков.
Как правило, операцию коммутации сопровождает также обратная операция — мультиплексирование.
Задача мультиплексирования (multiplexing) — образование из нескольких отдельных