лає запит на вступ до групи 224.121.0.3. Ці запити фіксуються зондом і відображаються у веб-інтерфейсі підсистеми звітів із зазначенням часових параметрів:
lt; # justify gt; c3560 (config) #ip igmp snooping vlan 1 immediate-leave
У результаті такого налаштування комутатор моментально вимикає потік для мультикаст-групи, з якої зроблений вихід. Результати роботи в цьому режимі виділені на скріншоті червоною рамкою. Як видно після відправлення запиту IGMPv2: Leave Group 224.121.0.11 raquo ;, приставка більше не отримувала пакетів для групи 224.121.0.11. Таким чином, в момент перемикання ТВ-каналів приставка одночасно отримує пакети тільки для одного каналу.
Для коректного фіксування часових показників IGMP-запитів на приставці перед запуском зонда необхідно перевести мережевий інтерфейс в режим promisc:
# ifconfig eth0 promisc
TODO лист
· Можливість руху за графіком вправо-вліво, масштабування і т.д.
· Графік PCR jitter raquo ;, інші графіки
· Збірка зонда під різні IP STB
· Моніторинг доступності зондів для контролю роботи мережі
NetUP MultiFiles - система розповсюдження файлів
NetUP MultiFiles - це система розповсюдження файлів (прошивок) з використанням UDP multicast. Клієнт може скачати нову версію ПО пославши IGMP-запит і підключившись до певної multicast-групі. Після отримання файлу відбувається його перевірка на цілісність, розархівування і запуск скрипта оновлення.
Використання multicast дозволяє оперативно передати файл на будь-яку кількість клієнтів, використовуючи тільки один потік.
Механізм роботи пакету multifiles
Розповсюджуваний файл циклічно передається в мережу у вигляді UDP multicast-потоку на певний multicast-адресу (за замовчуванням - 224.2.2.4, порт 2222). При цьому клієнт, який бажає завантажити цей файл, підключається до цієї групи, посилаючи IGMP-запит, і починає отримувати цей файл. Як тільки отримано весь файл, клієнт відключається від групи і перевіряє цілісність отриманого файлу. Якщо перевірка пройшла успішно, то проводиться розархівування файлу (формат.tar.gz) і запуск скрипта customup.sh , який знаходиться всередині отриманого архіву. Скрипт customup.sh виробляє оновлення потрібних файлів, а також інші операції, необхідні для оновлення.
Використання multicast дозволяє оперативно передати файл на будь-яку кількість клієнтів, використовуючи тільки один потік.
Варто відзначити, що клієнт не виробляє оновлення, якщо поточна версія ПО на клієнті така ж, як передана в потоці, або більш свіжа. У разі якщо на сервері вказано ключ force update raquo ;, оновлення проводиться примусово, незалежно від версії ПЗ.
Схема мережі при використанні пакету multifiles.
Опис потоку
Потік являє собою UDP-пакети, які містять заголовок наступного формату:
struct mulfiles_header {_t message_type; _t flags; _t data_size; _t sequence_no; _t file_offset;};
message_type може приймати два значення:
# define MF_MTYPE_INFO 0x04030201
# define MF_MTYPE_DATA 0x04030202
Пакети з типом MF_MTYPE_INFO являють собою інформаційні пакети і містять інформацію про переданій файлі - зокрема, наступну:
struct mulfiles_message_info {_t file_size; _t fw_version; char md5sum [16]; filename [+1024];
};
Розмір файлу, версія прошивки, ім'я файлу і MD5-сума для контролю цілісності передачі. Інформаційні пакети за замовчуванням передаються з інтервалом в 2 секунди.
У пакетах з типом MF_MTYPE_DATA є вміст переданого файлу. У заголовку таких пакетів міститься інформація про зміщення блоку переданих даних щодо початку файлу. Таким чином, клієнт може приймати файл з будь-якій зручній позиції, не чекаючи наступного циклу передачі. Така логіка дозволяє максимально швидко прийняти файл без додаткових затримок на пошук початку і кінця файлу. Швидкість передачі даних в мережу можна регулювати ключами запуску сервера. За замовчуванням швидкість дорівнює 100 КБ/сек.
Опис програми-сервера
Ключі запуску сервера:
multifiles #./mfsrv -h's multicast file upload utility (server). (c) 2001-2008 NetUP Inc. netup.tv.date: Nov березня 2008 13: 22: 49this utility at your own risk.:
<...