Истраживање Медиастреамер2 ВоИП механизма. Део 8

Материјал чланка је преузет са мог зен канал.

Истраживање Медиастреамер2 ВоИП механизма. Део 8

Структура РТП пакета

У последњих Чланак ми користимо ТСхарк ухваћени РТП пакети који се размењују између нашег пријемника и предајника. Па, у овом ћемо обојити елементе паковања у различите боје и причати о њиховој намени.

Хајде да погледамо исти пакет, али са затамњеним пољима и објашњењима:
Истраживање Медиастреамер2 ВоИП механизма. Део 8

На дну листе су бајтови који чине РТП пакет, који је заузврат носивост УДП пакета (његово заглавље је означено црном бојом). Позадине у боји означавају бајтове РТП заглавља, а зелена означава блок података који садржи носивост РТП пакета. Подаци се тамо приказују у хексадецималном формату. У нашем случају се ради о аудио сигналу компримованом по у-закону (му-лав), тј. један узорак је величине 1 бајт. Пошто смо користили подразумевану брзину узорковања (8000 Хз), при брзини пакета од 50 Хз, сваки РТП пакет треба да садржи 160 бајтова корисног оптерећења. Видећемо ово пребројавањем бајтова у зеленој површини, требало би да буде 10 редова.

Према стандарду, количина података у корисном учитавању мора бити вишеструка од четири, или другим речима мора да садржи цео број речи од четири бајта. Ако се деси да ваш терет не прати ово правило, онда морате да додате бајтове са нултим вредностима на крај корисног оптерећења и поставите бит за пуњење. Овај бит се налази у првом бајту РТП заглавља и обојен је тиркизно. Имајте на уму да сви бајтови корисног оптерећења имају вредност 0кФФ - овако изгледа тишина у у-лав формату.

Заглавље РТП пакета се састоји од 12 потребних бајтова, али у два случаја може бити дуже:

  • Када пакет носи аудио сигнал добијен мешањем сигнала из више извора (РТП токова), онда се после првих 12 бајтова заглавља налази табела са листом идентификатора извора чији су корисни терети коришћени за креирање корисног оптерећења овог пакета. У овом случају, у доња четири бита првог бајта заглавља (поље Број идентификатора извора који доприносе) назначен је број извора. Величина поља је 4 бита, тако да табела може да садржи до 15 изворних идентификатора. Сваки од њих заузима 4 бајта. Ова табела се користи приликом организовања конференцијског позива.

  • Када наслов има екстензију. У овом случају се поставља бит у првом бајту заглавља X. У проширеном заглављу, после табеле учесника (ако их има), налази се заглавље екстензије од једне речи, а затим речи екстензије. Екстензија је скуп бајтова које можете користити за пренос додатних података. Стандард не прецизира формат ових података - то може бити било шта. На пример, то могу бити нека додатна подешавања за уређај који прима РТП пакете. За неке апликације, међутим, развијени су проширени стандарди заглавља. Ово се ради, на пример, за комуникациону опрему у стандарду ЕД-137 (стандарди интероперабилности за ВоИП АТМ компоненте).

Погледајмо сада детаљније поља заглавља. Испод је канонска слика са структуром РТП заглавља, којој такође нисам могао да одолим и офарбао сам је у исте боје.

Истраживање Медиастреамер2 ВоИП механизма. Део 8
Вер — број верзије протокола (тренутна верзија 2);

P — ознака која се поставља у случајевима када је РТП пакет допуњен празним бајтовима на крају;

X — ознака да је заглавље проширено;

CC — садржи број ЦСРЦ идентификатора који следе заглавље константе (после речи 1..3), табела није приказана на слици;

M — маркер почетка кадра или присуства говора у каналу (ако се користи детектор говорне паузе). Ако пријемник не садржи детектор говорне паузе, онда овај бит мора бити трајно подешен;

ПТИПЕ — означава формат корисног оптерећења;

Редни број — број пакета, који се користи за враћање редоследа репродукције пакета, пошто је стварна ситуација када пакети могу да стигну до примаоца другачијим редоследом од оног којим су послати. Почетна вредност мора бити насумична; ово је учињено тако да ако се користи шифровање РТП тока, биће тешко разбити. Ово поље вам такође омогућава да откријете падове пакета;

Тиместамп — временска ознака. Време се мери у узорцима сигнала, тј. ако пакет садржи 160 узорака, онда ће временска ознака следећег пакета бити већа за 160. Почетна вредност временске ознаке мора бити насумична;

ССРЦ — идентификатор извора пакета, мора бити јединствен. Боље је да га генеришете насумично пре покретања РТП стрима.

Ако развијете сопствени предајник или пријемник РТП пакета, мораћете да погледате своје пакете више пута, тако да да бисте повећали продуктивност, препоручујем да савладате коришћење филтрирања пакета у ТСхарку, оно вам омогућава да ухватите само те пакете које вас занимају. У условима у којима на мрежи раде десетине РТП уређаја, ово је веома драгоцено. На командној линији ТСхарк, параметри филтрирања су специфицирани са "-ф" опцијом. Користили смо ову опцију када смо желели да ухватимо пакете са порта 8010:
-f "udp port 8010"
Параметри филтрирања су у суштини скуп критеријума које „ухваћени“ пакет мора да испуни. Услов може да провери адресу, порт или вредност одређеног бајта у пакету. Услови се могу комбиновати помоћу логичких операција „И“, „ИЛИ“ итд. Веома моћан алат.

Ако желите да видите динамику промена поља у серијама, мораћете да дуплирате излаз ТСхарк у датотеку, као што је приказано у претходном чланку, користећи излазни пренос ТСхарк на улазу тее. Затим отворите датотеку евиденције користећи мање, вим или други алат који може брзо да ради са огромним текстуалним датотекама и тражи низове, можете сазнати све нијансе понашања пакетних поља у РТП стреаму.

Ако треба да слушате сигнал који преноси РТП ток, онда морате да користите верзију ТСхарк са визуелним интерфејсом Виресхарк. Једноставним манипулацијама мишем можете слушати и видети осцилограм сигнала. Али под једним условом - ако је кодиран у у-лав или а-лов формату.

Следећи Чланак Са вама ћемо направити дуплекс интерфон. Запремите се са пар слушалица и једним саговорником.

Извор: ввв.хабр.цом

Додај коментар