Способ управления потоком данных сети ethernet в передающей сети с синхронной цифровой иерархией
Иллюстрации
Показать всеИзобретение относится к управлению потоком данных сети Ethernet. Технический результат состоит в повышении эффективности управления потоком данных и надежности передачи данных. Для этого способ включает: создание на принимающей стороне буфера данных и направление соответствующего кадра управления потоком в зависимости от текущего объема данных в буфере данных. 7 з.п. ф-лы, 2 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к управлению потоком данных сети Ethernet и, в частности, к способу управления потоком данных сети Ethernet в передающей сети с синхронной цифровой иерархией (synchronous digital hierarchy - SDH).
УРОВЕНЬ ТЕХНИКИ
При передаче данных кадра Ethernet по передающей сети SDH, если не выявить ситуацию, при которой объем данных, посылаемых передающей стороной, превышает объем данных, который может принять принимающая сторона, то большой объем данных будет утрачен. Поэтому необходимо предусмотреть способ управления потоком данных, гарантирующий нормальную, надежную передачу данных.
В настоящее время в пакете данных сети Ethernet определен всего лишь один вид кадра управления - кадр управления потоком (такой, как кадр ПАУЗА - PAUSE). Кадр ПАУЗА осуществляет управление потоком данных с помощью временного параметра. Когда объем передаваемых данных превышает возможный объем принимаемых данных, с принимающей стороны на передающую сторону будет послан кадр ПАУЗА и передающая сторона приостановит передачу данных. Когда на принимающей стороне станет возможен нормальный прием данных, с принимающей стороны на передающую сторону вновь будет послан кадр ПАУЗА, который разрешит передающей стороне возобновить отправку данных в нормальном режиме. После отсылки кадр ПАУЗА сразу же оказывается вставлен в очередь данных, но он не может прервать процесс передачи данных, таким образом, необходимо ждать, пока закончится текущая передача данных, и только после этого кадр ПАУЗА будет передан. При получении кадра ПАУЗА в принимающем порту вначале происходит его распознавание, затем его интерпретация и анализ. После того как кадр ПАУЗА выявлен и распознан, будут выполнены соответствующие действия по управлению потоком, такие как установка контрольных данных потока, контрольного времени потока и т.д.
Хотя способ управления потоком данных с использованием кадра ПАУЗА безопасен для передачи пакета данных, но вследствие задержки передачи такое управление потоком эффективно только на ограниченное расстояние, в основном в пределах нескольких сотен метров. Однако в настоящее время от многих устройств SDH требуется передача данных в сети Ethernet на расстояния, значительно превышающие несколько десятков километров или даже несколько сотен километров. Таким образом, управление потоком является важной и нерешенной проблемой.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Учитывая изложенное, основная цель изобретения заключается в создании способа управления потоком данных сети Ethernet в передающей сети SDH. Используя этот способ, удается достичь эффективного управления потоком и надежной передачи данных в сети Ethernet устройствами SDH на большие расстояния.
Способ управления потоком данных сети Ethernet в передающей сети SDH включает, по меньшей мере, следующие шаги:
a. создание на принимающей стороне буфера данных;
b. направление соответствующего кадра управления потоком в зависимости от текущего объема данных в буфере данных.
Вышеупомянутый буфер - это синхронное запоминающее устройство с произвольным доступом (synchronous data random access memory - SDRAM) в виде программируемого логического массива на принимающей стороне. Размер буфера определяется расстоянием передачи данных сети Ethernet по передающей сети SDH, задержками в устройствах SDH, количеством сетевых станций, задержками на сетевых элементах, компенсацией задержки в сети SDH, скоростью передачи портов сети Ethernet и внутренней задержкой процесса обработки в сети Ethernet.
Причем шаг b включает следующие шаги:
b1. задание верхнего и нижнего порогов приема для буфера данных;
b2. отслеживание текущего объема данных в буфере данных в режиме реального времени и выявление достижения текущим объемом данных верхнего порога приема;
b3. при достижении объемом данных в буфере данных верхнего порога приема направление с принимающей стороны кадра управления потоком, предназначенного для приостановки передачи данных, и возврат к шагу b2;
b4. если текущий объем данных в буфере данных не достиг верхнего порога приема, определение системой, не достиг ли текущий объем данных в буфере данных нижнего порога приема, и в случае достижения текущим объемом данных в буфере данных нижнего порога приема направление принимающей стороной кадра управления потоком, информирующего передающую сторону о том, что пакеты данных могут передаваться в нормальном режиме, после чего возврат системы к шагу b2 либо, в противном случае, возврат напрямую к шагу b2.
Причем порог приема определяется расстоянием, на которое передают данные сети Ethernet по передающей сети SDH, и задержками на устройствах SDH. Упомянутый временной параметр кадра управления потоком, используемый для приостановки передачи данных, равен максимальному времени, определенному стандартным протоколом; временной параметр кадра управления потоком, информирующий передающую сторону о том, что пакеты данных можно посылать в нормальном режиме, равен нулю.
Из вышеприведенной схемы становится ясно, что принципиальным для реализации способа согласно настоящему изобретению является следующее: создание на принимающей стороне буфера и в зависимости от объема данных в буфере отправление соответствующего кадра управления потоком, предназначенного для управления потоком данных.
В настоящем изобретении на принимающей стороне создают буфер для хранения данных достаточной емкости (SDRAM). Таким образом, если принимающая сторона не может обработать данные, посланные передающей стороной, необработанные данные могут быть сохранены в SDRAM и в это же время на передающую сторону отправляют кадр управления потоком. Таким образом можно избежать потери данных во время удаленной передачи, т.е. пакеты данных, посланные до того, как кадр управления потоком достиг передающей стороны, не будут утрачены на принимающей стороне. Следовательно, возрастает надежность удаленной передачи данных.
В настоящем изобретении кадр управления потоком посылают в соответствии с заранее установленным верхним и нижним порогом приема. Когда объем данных в буфере достигает верхнего порога приема, на передающую сторону посылают кадр управления потоком с временным параметром для приостановки передачи данных. Когда объем данных в буфере достигает нижнего порога приема, посылают кадр управления потоком с временным параметром, равным нулю, и передающая сторона возобновляет передачу данных в нормальном режиме. Когда объем данных в буфере меньше нижнего порога приема, кадр управления потоком не посылают, а ресурс для отправки кадра управления потоком сберегается.
КРАТКОЕ ОПИСАНИЕ РИСУНКОВ
На Фиг.1 представлена блок-схема настоящего изобретения.
На Фиг.2 представлен алгоритм настоящего изобретения.
ВОПЛОЩЕНИЯ ИЗОБРЕТЕНИЯ
Далее приводится более полное описание настоящего изобретения со ссылками на сопровождающие чертежи, на которых представлены предпочтительные воплощения настоящего изобретения. Настоящее изобретение, однако, может быть воплощено во множестве различных форм и воплощения, изложенные в настоящем описании, не следует истолковывать как ограничения; приведенные ниже варианты воплощения представлены для того, чтобы данное описание было исчерпывающим и полностью раскрывало суть изобретения специалистам. В настоящем описании одинаковые элементы обозначены одинаковыми номерами.
На Фиг.1 видно, что SDRAM 101, используемое как буфер для хранения данных сети Ethernet, которые не были вовремя обработаны принимающей стороной, добавлено в виде программируемого логического массива к шине с принимающей стороны. Заранее задают верхний и нижний пороги приема буфера для хранения данных, используемые для управления отправкой кадров управления потоком. Размер и порог буфера для хранения данных определяются наибольшим расстоянием, на которое передают данные сети Ethernet по передающей сети SDH, задержками на оборудовании SDH и т.д.
Вследствие задержки передачи при удаленной передаче данных в сети Ethernet момент прихода кадра управления потоком наступает позднее, чем момент, когда принимающая сторона не может корректно принимать данные сети Ethernet, и данные, переданные между двумя этими моментами, оказываются потеряны. При условии достаточной емкости SDRAM 101 данные, переданные между двумя этими моментами, оказываются сохранены и в зависимости от текущего объема данных в буфере для хранения данных будут посланы соответствующие кадры управления потоком. Когда объем данных, принятый буфером для хранения данных, становится равен верхнему порогу приема, на передающую сторону посылают кадр управления потоком с соответствующим временным параметром для приостановки отправки данных. Наличие временного параметра предусмотрено спецификацией стандартных протоколов, этот временной параметр используют для приостановки передачи данных. Когда объем данных, принятых буфером для хранения данных, становится равен нижнему порогу приема, тогда посылают кадр управления потоком с нулевым временным параметром, информирующий передающую сторону о том, что можно посылать пакеты данных в нормальном режиме.
На Фиг.2 видно, что способ в соответствии с настоящим изобретением включает, по меньшей мере, два следующих этапа:
(1) включает шаги 201 и 202. Вначале в зависимости от расстояния передачи по сети SDH, количества сетевых станций, скорости передачи порта и временной задержки на каждом сетевом элементе и т.д. рассчитывают размер буфера. Затем создают буфер, задают верхний порог приема и нижний порог приема.
Предположим, что задержка передачи, рассчитанная по известным параметрам, равняется С, тогда нижний порог приема по умолчанию равен С, а емкость SDRAM равна 2С, т.е. 2С - это общий объем данных, которые могут быть сохранены до того, как будут утрачены.
Предположим, что расстояние передачи по сети SDH равняется 100 километрам, временная задержка при передаче на 1 километр составляет 5 мкс, т.к. оптическая скорость в волоконном кабеле составляет 200 тысяч километров в секунду.
Предположим, что существует 16 сетевых станций, а временная задержка на каждом сетевом элементе составляет 10 мкс, в действительности задержка может быть больше 10 мкс; максимальная компенсация временной задержки в сети SDH равняется 6 мкс.
Предположим, что максимальная временная задержка процесса обработки в сети Ethernet составляет 8×1536=12288 байтов, где 1536 байтов - максимальная длина кадра в сети Ethernet, а скорость передачи порта в сети Gigabits Ethernet равняется 125 Мбайт/с; тогда
Общая временная задержка передачи С (выраженная в байтах) может быть рассчитана по следующей формуле:
С=2×{(100×5×10-6+16×10×10-6+6×103)×125×106+12288}=1,289,576 байтов.
Причем умножение на 2 в этой формуле говорит о том, что существует два входа в модуле доступа. Из чего следует, что емкость однонаправленного SDRAM 2С приблизительно равняется 4 Мб.
Вышеприведенный пример показывает, что создания буфера емкостью 4 Мбайта достаточно для поддержки передачи по сети SDH, имеющей 16 сетевых станций, на расстояние 100 километров при временной задержке кадра SDH, меньшей 6 мс. Очевидно, что способ в соответствии с настоящим изобретением может поддерживать удаленную передачу данных сети Ethernet по сети SDH на расстояние, большее чем 100 километров.
(2) на шагах 203, 204, 205 и 207 осуществляют отслеживание текущего объема данных в буфере в режиме реального времени для определения необходимости посылки соответствующего кадра управления потоком.
В настоящем изобретении верхний порог приема является высоким уровнем, а нижний порог приема - низким уровнем. Система осуществляет в режиме реального времени отслеживание текущего объема данных в буфере следующим образом. Если объем данных в буфере достиг верхнего уровня, тогда с принимающей стороны на передающую сторону посылают кадр управления потоком с временным параметром, равным 0×FFFF, и система возвращается в состояние отслеживания в режиме реального времени. Если объем данных не достиг верхнего уровня, тогда проверяют, не достиг ли объем данных нижнего уровня. Если достиг, то принимающая сторона посылает передающей стороне кадр управления потоком с временным параметром, равным 0х0000, и система возвращается в состояние отслеживания в режиме реального времени, в случае, если объем данных не достиг ни нижнего, ни верхнего уровня, система сразу же возвращается в состояние отслеживания в режиме реального времени.
Отслеживание в режиме реального времени за объемом данных в буфере осуществляют циклически непрерывно.
Для обеспечения надежности передачи кадра управления потоком существует два способа многократной отправки кадра управления потоком. Один способ заключается в предварительном задании количества N повторных передач и отправке кадра управления потоком непрерывно N раз. Другой способ зависит от подтверждающей информации, посланной противоположной стороной, используемой для принятия решения, была ли отправка кадра управления потоком успешной. В случае неуспешной отправки кадр управления потоком посылают вновь для обеспечения гарантированного достижения им узла назначения. Следовательно, гарантируется эффективность кадра управления потоком.
1. Способ управления потоком данных сети Ethernet в передающей сети с синхронной цифровой иерархией, включающий создание на принимающей стороне буфера данных, задание верхнего и нижнего порога объема принимаемых данных для буфера данных, направление кадра управления потоком данных в передающую часть сети путем отслеживания текущего объема данных в буфере данных в режиме реального времени и выявления достижения текущим объемом данных верхнего порога, при достижении объемом данных в буфере данных верхнего порога, направление с принимающей стороны кадра управления потоком с временным параметром, предназначенного для приостановки передачи данных, и возврат к этапам отслеживания текущего объема данных в буфере данных в режиме реального времени и выявления достижения текущим объемом данных верхнего порога, если текущий объем данных в буфере данных не достиг верхнего порога, определение системой не достиг ли текущий объем данных в буфере данных нижнего порога, и, в случае достижения текущим объемом данных в буфере данных нижнего порога, направление принимающей стороной кадра управления потоком, информирующего передающую сторону о том, что пакеты данных могут передаваться в нормальном режиме, после чего возврат системы к шагу отслеживания текущего объема данных в буфере данных в режиме реального времени и выявления достижения текущим объемом данных верхнего порога, либо, в случае если объем данных в буфере не достиг ни верхнего ни нижнего порога, отслеживают текущий объем данных в буфере данных в режиме реального времени и выявляют достижения текущим объемом данных верхнего порога.
2. Способ по п.1, в котором буфер данных - это синхронное запоминающее устройство с произвольным доступом SDRAM в виде программируемого логического массива на принимающей стороне.
3. Способ по любому из п.1 или 2, в котором размер буфера определяют расстоянием, на которое передают данные сети Ethernet по передающей сети SDH, временными задержками в устройствах SDH, количеством сетевых станций, задержками на сетевых элементах, компенсацией задержки в сети SDH, скоростью передачи портов сети Ethernet и временной задержкой процесса обработки в сети Ethernet.
4. Способ по п.1, в котором верхний порог объема и нижний порог объема принимаемых данных определяют расстоянием, на которое передают данные сети Ethernet по передающей сети SDH и задержками на устройствах SDH.
5. Способ по п.1, в котором временной параметр кадра управления потоком, используемый для приостановки передачи данных, равен максимальному времени задержки отправки данных, определенному стандартным протоколом; временной параметр кадра управления потоком, информирующий передающую сторону о том, что пакеты данных можно посылать в нормальном режиме, равен нулю.
6. Способ по п.3, в котором временную задержку процесса обработки в сети Ethernet определяют на основании максимальной длины кадра в сети Ethernet.
7. Способ по п.1, в котором размер буфера данных определяют путем суммирования задержки передачи на расстояние в сети SDH, временной задержки на всех сетевых станциях и величины компенсации временной задержки в сети SDH, умножения результата указанного суммирования на скорость передачи портов сети Ethernet, суммирования результата указанного умножения и временной задержки процесса обработки в сети Ethernet с последующим умножением на два, в результате чего получают общую задержку передачи, умножения общей задержки передачи на два.
8. Способ по п.3, в котором временная задержка процесса обработки в сети Ethernet равняется максимальной длине кадра в сети Ethernet, умноженной на восемь.