Materiali i artikujt është marrë nga kanali im .

Struktura e paketës RTP
Në të kaluarën ne realizuam TShark kapjen e paketave RTP me të cilat komunikonin marrësi dhe dërguesi ynë. Tani, ne do të ngjyrosim elementët e paketës me ngjyra të ndryshme dhe do të flasim mbi funksionin e tyre.
Të shohim të njëjtin paket, por tashmë me fushat e ngjyrosura dhe shenjat shpjeguese:

Në pjesën e poshtme të listimit janë ngjyrat e bajtëve që përbëjnë paketën RTP, e cila nga ana e saj është ngarkesa e paketës UDP (koka e saj është e rrethuar me një vijë të zezë). Fushat e ngjyrosura përcaktojnë bajtët e kokës RTP, ndërsa me ngjyrë të gjelbër shënohet blloku i të dhënave që përmban ngarkesën e paketës RTP. Të dhënat janë paraqitur në formatin njëzetkëndor. Në rastin tonë, ky është një sinjal audio i kompresuar sipas ligjit u (ligjit mu), pra, një mostër ka madhësinë 1 bajt. Duke qenë se ne përdorëm normën e mostrimit të vendosur si parazgjedhje (8000 Hz), në frekuencën e paketave 50 Hz, çdo paketë RTP duhet të ketë 160 bajtë të ngarkesës. Këtë do ta shohim duke numëruar bajtët në zonën e gjelbër, ku duhet të jetë 10 rreshta.
Sipas standardit, sasia e tĂ« dhĂ«nave nĂ« ngarkesĂ« duhet tĂ« jetĂ« e shumĂ«fishueshme me katĂ«r, ose me fjalĂ« tĂ« tjera, duhet tĂ« pĂ«rmbajĂ« njĂ« numĂ«r tĂ« tĂ«rĂ« fjalĂ«sh katĂ«r-bajtĂ«she. NĂ«se ndodh qĂ« ngarkesa juaj tĂ« mos pĂ«rputhet me kĂ«tĂ« rregull, atĂ«herĂ« nĂ« fund tĂ« ngarkesĂ«s duhet tĂ« shtoni bajtĂ« me vlera zero dhe tĂ« vendosni bitin Padding. Ky bit ndodhet nĂ« bajtin e parĂ« tĂ« kokĂ«s RTP, i cili Ă«shtĂ« ngjyrosur me ngjyrĂ« turkuaz. Vini re se tĂ« gjithĂ« bajtĂ«t e ngarkesĂ«s kanĂ« vlerĂ«n 0xFF â kĂ«shtu duket heshtja nĂ« formatin u-law.
Koka e paketës RTP përbëhet nga 12 bajte të detyrueshme, por në dy raste ajo mund të jetë më e gjatë:
Kur paketa përcjell një sinjal audio të marrë nga përzierja e sinjaleve nga disa burime (rrjedha RTP), pas 12 bajtëve të parë të kokës vendoset një tabelë me listën e identifikuesve të burimeve, ngarkesat e të cilave janë përdorur për të krijuar ngarkesën e kësaj pakete. Në të njëjtën kohë, në katër bitët e poshtëm të bajtët të parë të kokës (fusha Numri i identifikuesve të burimeve kontribuese) tregon numrin e burimeve. Madhësia e fushës është 4 bite, prandaj tabela mund të përmbajë deri në 15 identifikatorë burimesh. Secili prej tyre zë 4 byte. Kjo tabelë përdoret gjatë organizimit të konferencave me lidhje audio.
Kur titulli ka njĂ« zgjerim. NĂ« kĂ«tĂ« rast, bita i parĂ« i titullit vendoset. X. NĂ« titullin e zgjeruar, pas tabelĂ«s sĂ« pjesĂ«marrĂ«sve (nĂ«se ka), ndodhet titulli i zgjerimit me madhĂ«si tĂ« njĂ« fjale, dhe pas tij fjalĂ«t e zgjerimit. Zgjerimi Ă«shtĂ« njĂ« grup bytesh qĂ« mund tĂ« pĂ«rdorni pĂ«r tĂ« dĂ«rguar tĂ« dhĂ«na shtesĂ«. Standardi nuk e pĂ«rcakton formatin e kĂ«tyre tĂ« dhĂ«nave â ai mund tĂ« jetĂ« çfarĂ«do. P.sh., kĂ«to mund tĂ« jenĂ« disa cilĂ«sime shtesĂ« pĂ«r pajisjen qĂ« merr paketat RTP. PĂ«r disa aplikime, megjithatĂ«, janĂ« zhvilluar standarde pĂ«r titujt e zgjeruar. KĂ«shtu Ă«shtĂ« bĂ«rĂ« p.sh., pĂ«r mjetet e komunikimit nĂ« standardin. ED-137 (Standardet e NdĂ«rveprimit pĂ«r KomponentĂ«t VoIP ATM).
Tani le të shqyrtojmë fusha të titullit më në hollësi. Më poshtë është një imazh kanonik me strukturën e titullit RTP, që unë gjithashtu nuk e ndalova dhe e pikturova me të njëjtat ngjyra.

VER â numri i versionit tĂ« protokollit (versioni aktual 2);
P â flamuri, i cili vendoset nĂ« raste kur paketa RTP plotĂ«sohet me bytes tĂ« zbrazĂ«ta nĂ« fund;
X â flamuri qĂ« tregon se titulli Ă«shtĂ« i zgjeruar;
CC â pĂ«rmban numrin e identifikatorĂ«ve CSRC qĂ« pasojnĂ« pas titullit tĂ« qĂ«ndrueshĂ«m (pas fjalĂ«ve 1..3), nĂ« figurĂ« tabela nuk Ă«shtĂ« e paraqitur;
M â shenjĂ« e fillimit tĂ« kornizĂ«s ose e pranisĂ« sĂ« zĂ«rit nĂ« kanal (nĂ«se pĂ«rdoret njĂ« detektor pauzash nĂ« zĂ«). NĂ«se marrĂ«si nuk ka detektor tĂ« pauzave nĂ« zĂ«, atĂ«herĂ« ky bit duhet tĂ« vendoset gjithmonĂ«;
PTYPE â tregon formatin e ngarkesĂ«s sĂ« dobishme;
Numri i sekuencĂ«s â numri i paketĂ«s, pĂ«rdoret pĂ«r tĂ« rikthyer rendin e riprodhimit tĂ« paketa, pasi situata reale Ă«shtĂ« qĂ« paketat mund tĂ« arrijnĂ« te marrĂ«si jo nĂ« rendin nĂ« tĂ« cilin janĂ« dĂ«rguar. Vlera fillestare duhet tĂ« jetĂ« rastĂ«sore, kjo bĂ«het pĂ«r tĂ« vĂ«shtirĂ«suar thyerjen e enkriptimit tĂ« rrjedhĂ«s RTP nĂ«se aplikohet. Gjithashtu ky fushĂ« lejon zbulimin e paketave tĂ« humbura;
Timestamp â marka e kohĂ«s. Koha matet nĂ« mostra sinjali, dmth, nĂ«se paketa pĂ«rmban 160 mostra, marka e kohĂ«s sĂ« paketĂ«s tjetĂ«r do tĂ« aumentojĂ« me 160. Vlera fillestare e markĂ«s sĂ« kohĂ«s duhet tĂ« jetĂ« e rastĂ«sishme;
SSRC â identifikuesi i burimit tĂ« paketĂ«s, duhet tĂ« jetĂ« unik. Ai Ă«shtĂ« mĂ« mirĂ« tĂ« gjenerohet rastĂ«sisht para fillimit tĂ« rrjedhĂ«s RTP.
Nëse po zhvilloni transmetuesin ose marrësin tuaj të paketave RTP, do t'ju duhet të shqyrtoni paketat tuaja shpesh për të rritur produktivitetin. Ju rekomandoj të mësoni përdorimin e filtrimit të paketimeve në TShark, e cila lejon të kapni vetëm ato paketa që përbëjnë interes për ju. Në kushtet kur në rrjet funksionojnë dhjetëra pajisje RTP, kjo është shumë e çmuar. Në komandën e linjës, parametrat e filtrimit përcaktohen nga opsioni "-f". Ne e kemi përdorur këtë opsion kur donim të kapnim paketat nga porta 8010:
-f "udp port 8010"
Parametrat e filtrimit, në thelb, janë një grup kriteresh që paketa "e kapur" duhet të përmbushë. Një kusht mund të kontrollojë adresën, portin, vlerën e një byte të caktuar në paketë. Kushtet mund të kombinohen me operacione logjike "DHE", "OSE" etj. Një mjet shumë i fuqishëm.
Nëse dëshironi të shihni dinamikën e ndryshimeve të fushave në paketat, do t'ju duhet të dyshtoni daljen TShark në një skedar, siç u shfaq në artikullin e kaluar, duke transmetuar daljen TShark në hyrje tee. Më pas, duke hapur skedarin e log-ut me less, vim ose një mjet tjetër, që mund të punojë shpejt me skedarë të mëdhenj tekstualë dhe të kryejë kërkime për rreshta, do të mund të zbulojnë të gjitha nuancat e sjelljes së fushave të paketave në rrjedhën RTP.
NĂ«se ju nevojitet tĂ« dĂ«gjoni sinjalin e transmetuar nga rrjedha RTP, atĂ«herĂ« duhet pĂ«rdorur versionin TShark me ndĂ«rfaqe vizuale Wireshark. Me disa manipulime tĂ« thjeshta me mouse-in, mund tĂ« dĂ«gjoni atje, tĂ« shihni oscilogramin e sinjalit. Por me njĂ« kusht â nĂ«se ai Ă«shtĂ« i koduar nĂ« formatin u-law ose a-law.
Në artikullin e ardhshëm do të krijojmë një pajisje bisedore duplex. Siguroni një çift kufjesh dhe një bisedues.
Burimi: habr.com
