Транкинг синхронного канала через пакетную сеть Алютов М. Л., 545 группа Научный руководитель : Венгеров В. В. Рецензент : Лавров П. С. Кафедра системного программирования Математико - механический факультет СПбГУ Санкт - Петербург 2008
Виды коммутации в сетях Коммутация каналов (circuit switching) Создается непрерывный составной физический канал Скорости передачи данных в каждом из составляющих физических каналов равны Коммутация пакетов (packet switching) Исходное сообщение разбивается на пакеты Пакеты передаются коммутаторами независимо
Проблемы на стыке Потеря сигнала синхронизации Потеря пакетов Неправильный порядок прихода пакетов Непредсказуемое время прихода пакетов ( джиттер )
Постановка задачи Разработка программного обеспечения для программно - аппаратной системы ПР2 ( модуля МЛ894 ), выполняющего функции Передачи / приема данных от синхронного источника E0 с интерфейсом G.703 через асинхронный тракт Ethernet SNMP- агента, позволяющего выполнять конфигурирование параметров модуля и его мониторинг Отладка разработанного ПО на опытных образцах модуля Тестирование при различных параметрах сети и анализ результатов Разработка проектов инструкции системного программиста для разрабатываемого ПО и ПО, используемого при настройке
Программное обеспечение платы В качестве операционной платформы был выбран SnapGear – дистрибутив Linux Необходимые приложения : SNMP- агент, демон trunkd Взаимодействие осуществляется через общий конфигурационный файл
Решение проблемы синхронизации Приходящие данные собираются в циклическом буфере С помощью VCO ( кварцевого генератора, управляемого напряжением ) осуществляется изменение частоты передачи в небольших пределах Значение частоты изменяется таким образом, чтобы заполненность буфера оставалась на среднем уровне Для борьбы с джиттером применяется FIR- фильтр
Решение проблемы потерь пакетов Транспортный протокол TCP слишком тяжеловесен для данной задачи Необходима надстройка над UDP Все посылаемые пакеты последовательно нумеруются При обнаружении потери в поток вставляется уникальная комбинация
Тестирование k * (32 * 8) / f 1 – время посылки k-го пакета первым устройством k * (32 * 8) / f 1 + σ k – время получения k-го пакета вторым устройством n * 8 / f 2 – время передачи n-го байта в E0 p – вероятность потери пакета F – уровень заполненности буфера приход пакета F += 32 передача байта F -= 1 F > bufsize => error F error Цель: f 2 = f 1 f 1 f 2 E0 Ethernet E0
Результаты Разработано программное обеспечение узла МЛ894 ПО было протестировано на созданном тестовом стенде Произведен анализ пригодности разработанного ПО к различным ситуациям Разработаны инструкции для системного программиста и оператора