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