04.10.2019 15:30
Назначение любой сети — обмен данными (информацией) между компьютерами.
Любые сети связи поддерживают некоторый способ коммутации своих абонентов между собой. Этими абонентами могут быть удаленные компьютеры, локальные сети, факс-аппараты или просто собеседники, общающиеся с помощью телефонных аппаратов. Практически невозможно предоставить каждой паре взаимодействующих абонентов свою собственную некоммутируемую физическую линию связи, которой они могли бы монопольно «владеть» в течение длительного времени. Поэтому в любой сети всегда применяется какой-либо способ коммутации абонентов, который обеспечивает доступность имеющихся физических каналов одновременно для нескольких сеансов связи между абонентами сети.
Под коммутацией данных понимается их передача, при которой канал передачи данных может использоваться попеременно для обмена информацией между различными пунктами информационной сети в отличие от связи через некоммутируемые каналы, обычно закрепленные за определенными абонентами.
Различают следующие способы коммутации данных:
• коммутация каналов — осуществляется соединение двух или более станций данных и обеспечивается монопольное использование канала передачи данных до тех пор, пока соединение не будет разомкнуто;
• коммутация сообщений — характеризуется тем, что создание физического канала между оконечными узлами необязательно, и пересылка сообщений происходит без нарушения их целостности; вместо физического канала имеется виртуальный канал, состоящий из физических участков, и между участками возможна буферизация сообщения;
• коммутация пакетов — сообщение передается по виртуальному каналу, но оно разделяется на пакеты, при этом канал передачи данных занят только во время передачи пакета (без нарушения его целостности) и по ее завершении освобождается для передачи других пакетов.
Коммутация каналов может быть пространственной и временной.
Пространственный коммутатор размера N*M представляет собой сетку (матрицу), в которой N входов подключены к горизонтальным шинам, а М выходов — к вертикальным (рис. 2).
Рис. 2. Пространственный коммутатор.
В узлах сетки имеются коммутирующие элементы, причем в каждом столбце сетки может быть открыто не более чем по одному элементу. Если N < М, то коммутатор может обеспечить соединение каждого входа с не менее чем одним выходом; в противном случае коммутатор называется блокирующим, т. е. не обеспечивающим соединения любого входа с одним из выходов. Обычно применяются коммутаторы с равным числом входов и выходов N х N.
Недостаток рассмотренной схемы — большое число коммутирующих элементов в квадратной матрице, равное N2. Для устранения этого недостатка применяют многоступенчатые коммутаторы.
Временной коммутатор строится на основе буферной памяти, запись производится в ее ячейки последовательным опросом входов, а коммутация осуществляется благодаря считыванию данных на выходах из нужных ячеек памяти. При этом происходит задержка на время одного цикла «запись—чтение». В настоящее время преимущественно используются временная или смешанная коммутация.
При коммутации сообщений осуществляется передача единого блока данных между транзитными компьютерами сети с временной буферизацией этого блока на диске каждого компьютера. Сообщение в отличие от пакета имеет произвольную длину, которая определяется не технологическими соображениями, а содержанием информации, составляющей сообщение. Например, сообщением может быть текстовый документ, файл с кодом программы, электронное письмо.
Транзитные компьютеры могут соединяться между собой как сетью с коммутацией пакетов, так и сетью с коммутацией каналов. Сообщение хранится в транзитном компьютере на диске, причем время хранения может быть достаточно большим, если компьютер загружен другими работами или сеть временно перегружена.
По такой схеме обычно передаются сообщения, не требующие немедленного ответа, чаще всего сообщения электронной почты.
Количество транзитных компьютеров стараются по возможности уменьшить. Если компьютеры подключены к сети с коммутацией пакетов, то число промежуточных компьютеров обычно уменьшается до двух. Например, пользователь передает почтовое сообщение своему серверу исходящей почты, а тот сразу старается передать сообщение серверу входящей почты адресата. Но если компьютеры связаны между собой телефонной сетью, то часто используется несколько промежуточных серверов, так как прямой доступ к конечному серверу может быть невозможен в данный момент из-за перегрузки телефонной сети (абонент занят) или экономически невыгоден из-за высоких тарифов на дальнюю телефонную связь.
Техника коммутации сообщений появилась в компьютерных сетях раньше техники коммутации пакетов, но потом была вытеснена последней, как более эффективной по критерию пропускной способности сети. Запись сообщения на диск занимает достаточно много времени, кроме того, наличие дисков предполагает специализированные компьютеры в качестве коммутаторов, что удорожает сеть.
Во многих случаях наиболее эффективной оказывается коммутация пакетов. Во-первых, ускоряется передача данных в сетях сложной конфигурации за счет того, что возможна параллельная передача пакетов одного сообщения на разных участках сети; во-вторых, при появлении ошибки требуется повторная передача короткого пакета, а не всего длинного сообщения. Кроме того, ограничение сверху на размер пакета позволяет обойтись меньшим объемом буферной памяти в промежуточных узлах на маршрутах передачи данных в сети.
Любой пакет состоит из трех обязательных компонентов:
• заголовка;
• данных;
• информации для проверки ошибок передачи.
Заголовок содержит:
• адрес источника, идентифицирующий компьютер-отправи¬тель;
• адрес местоназначения, идентифицирующий компьютер-получатель;
• инструкции сетевым компонентам о дальнейшем маршруте данных;
• информация компьютеру-получателю о том, как объединить передаваемый пакет с остальными, чтобы получить данные в исходном виде.
Данные — это часть пакета, представляющая передаваемые данные. В зависимости от типа сети ее размер составляет от 512 байтов до 4 Кб. Так как обычно размер исходных данных гораздо больше 4 Кб, для помещения в пакет их необходимо разбивать на мелкие блоки. При передаче объемного файла может потребоваться много пакетов.
Информация для проверки ошибок обеспечивает корректность передачи. Эта информация носит название циклический избыточный код. Это число, получаемое в результате математических преобразований над пакетом с исходной информацией. Когда пакет достигает местоназначения, эти преобразования повторяются. Если результат совпадает с циклическим избыточный кодом, пакет принят без ошибок. В противном случае необходимо повторить передачу пакета, поскольку при передаче данные изменились.
В сетях коммутации пакетов различают два режима работы: режим виртуальных каналов (другое название — связь с установлением соединения) и дейтаграммный режим (связь без установления соединения).
В режиме виртуальных каналов пакеты одного сообщения передаются в естественном порядке по устанавливаемому маршруту. При этом в отличие от коммутации каналов линии связи могут разделяться многими сообщениями, когда попеременно по каналу передаются пакеты разных сообщений (это так называемый режим временного мультиплексирования, иначе TDM — Time Division Method), или задерживаться в промежуточных буферах. Предусматривается контроль правильности передачи данных путем посылки от получателя к отправителю подтверждающего сообщения. Этот контроль возможен как во всех промежуточных узлах маршрута, так и только в конечном узле. Он может осуществляться старт-стопным способом, при котором отправитель до тех пор не передает следующий пакет, пока не получит подтверждения о правильной передаче предыдущего пакета, или способом передачи «в окне». Окно может включать N пакетов, и возможны задержки в получении подтверждений на протяжении окна. Так, если произошла ошибка при передаче, т. е. отправи¬тель получает ошибку о передаче пакета с номером К, то нужна повторная передача, и она начинается с пакета К.
В дейтаграммном режиме сообщение делится на дейтаграммы. Дейтаграмма — часть информации, передаваемая независимо от других частей одного и того же сообщения в вычислительных сетях с коммутацией пакетов. Дейтаграммы одного и того же сообщения могут передаваться в сети по разным маршрутам и поступать к адресату в произвольной последовательности, что может послужить причиной блокировок сети. На внутренних участках маршрута контроль правильности передачи не предусмотрен, и надежность связи обеспечивается лишь контролем на оконечном узле.
Блокировкой сети в дейтаграммном режиме называется такая ситуация, когда в буферную память узла вычислительной сети поступило столько пакетов разных сообщений, что эта память оказывается полностью занятой. Следовательно, она не может принимать другие пакеты и не может освободиться от уже при¬нятых, так как это возможно только после поступления всех дейтаграмм сообщения.