A’ sgrùdadh einnsean Mediastreamer2 VoIP. Pàirt 8

Tha stuth an artaigil air a thoirt bho mo seanail zen.

A’ sgrùdadh einnsean Mediastreamer2 VoIP. Pàirt 8

Structar pacaid RTP

Anns an àm a dh ’fhalbh artaigil tha sinn a 'cleachdadh TShark rinn sinn glacadh pacaidean RTP a chaidh an iomlaid eadar ar cuidhteas agus an inneal-sgaoilidh. Uill, anns an fhear seo bidh sinn a 'peantadh eileamaidean a' phacaid ann an dathan eadar-dhealaichte agus a 'bruidhinn mun adhbhar aca.

Bheir sinn sùil air an aon phacaid, ach le oirean dathte agus bileagan mìneachaidh:
A’ sgrùdadh einnsean Mediastreamer2 VoIP. Pàirt 8

Aig bonn a 'chlàraidh, tha na bytes a tha a' dèanamh suas a 'phacaid RTP air an dath, agus is e seo an uair sin uallach pàighidh a' phacaid UDP (tha a cheann air a chuairteachadh ann an dubh). Tha na cùl-raointean dathte a’ nochdadh bytes bann-cinn RTP, agus tha am bloc dàta anns a bheil uallach pàighidh a’ phacaid RTP air a chomharrachadh ann an uaine. Tha an dàta air a thaisbeanadh ann an cruth hexadecimal. Anns a ’chùis againn, is e comharra claisneachd a tha seo air a dhlùthadh a rèir an u-law (mu-law), i.e. tha meud 1 byte aig aon sampall. Leis gun do chleachd sinn an ìre samplachaidh àbhaisteach (8000 Hz), aig ìre pacaid de 50 Hz, bu chòir 160 bytes de uallach pàighidh a bhith anns gach pacaid RTP. Chì sinn seo le bhith a’ cunntadh nam bytes san raon uaine, bu chòir gum biodh 10 loidhnichean dhiubh.

A rèir na h-ìre, feumaidh an t-suim de dhàta anns an eallach pàighidh a bhith iomadaidh de cheithir, no ann am faclan eile, feumaidh àireamh iomlan de fhaclan ceithir-byte a bhith ann. Ma thachras e nach eil an t-uallach pàighidh agad a rèir na riaghailt seo, feumaidh tu bytes le luach neoni a chuir ri deireadh an eallach pàighidh agus am pìos Padding a shuidheachadh. Tha am pìos seo suidhichte anns a’ chiad byte de bhann-cinn an RTP agus tha dath turquoise air. Thoir an aire gur e 0xFF a th’ anns a h-uile bytes pàighidh pàighidh, agus sin mar a tha sàmhchair u-lagh coltach.

Tha bann-cinn pacaid RTP air a dhèanamh suas de 12 bytes èigneachail, ach ann an dà chùis faodaidh e a bhith nas fhaide:

  • Nuair a bhios pacaid a’ giùlan comharra claisneachd a gheibhear le bhith a’ measgachadh chomharran bho ghrunn stòran (sruthan RTP), an uairsin às deidh a’ chiad 12 bytes den cheann-cinn tha clàr ann le liosta de dh’ aithnichearan stòr a chaidh na h-eallachan pàighidh aca a chleachdadh gus uallach pàighidh a’ phacaid seo a chruthachadh. Anns a 'chùis seo, anns na ceithir pìosan as ìsle den chiad byte den cheann-cinnidh (achadh A’ cunntadh aithnichearan tùsan) a’ comharrachadh an àireamh de stòran. Is e meud an achaidh 4 pìosan, agus mar sin faodaidh suas ri 15 aithnichearan tùs a bhith sa chlàr. Gach fear dhiubh a 'gabhail thairis 4 bytes. Tha an clàr seo air a chleachdadh nuair a bhios tu a’ stèidheachadh gairm co-labhairt.

  • Nuair a tha an leudachadh aig an tiotal . Anns a 'chùis seo, tha am pìos air a shuidheachadh anns a' chiad byte den cheann-cinn X. Anns a’ bhann-cinn leudaichte, às deidh clàr nan com-pàirtichean (ma tha sin ann), tha bann-cinn leudachaidh aon-fhacal, agus na faclan leudachaidh air a leantainn. Is e leudachadh a th’ ann an cruinneachadh de bytes as urrainn dhut a chleachdadh gus dàta a bharrachd a ghluasad. Chan eil an inbhe a’ sònrachadh cruth an dàta seo - faodaidh e a bhith mar rud sam bith. Mar eisimpleir, is dòcha gur e cuid de shuidheachaidhean a bharrachd a tha ann airson an inneal a gheibh pacaidean RTP. Airson cuid de thagraidhean, ge-tà, chaidh inbhean cinn leudaichte a leasachadh. Tha seo air a dhèanamh, mar eisimpleir, airson conaltradh san ìre ED-137 (Inbhean eadar-obrachaidh airson co-phàirtean VoIP ATM).

A-nis leig dhuinn sùil nas mionaidiche a thoirt air na raointean cinn. Gu h-ìosal tha dealbh canonical le structar bann-cinn an RTP, nach b ’urrainn dhomh a dhol an aghaidh agus air a pheantadh anns na h-aon dathan.

A’ sgrùdadh einnsean Mediastreamer2 VoIP. Pàirt 8
VER - àireamh dreach protocol (dreach 2 gnàthach);

P - bratach a tha air a shuidheachadh ann an cùisean far a bheil am pasgan RTP air a chuir ris le bytes falamh aig an deireadh;

X - bratach gu bheil am bann-cinn air a leudachadh;

CC - anns a bheil an àireamh de dh’ aithnichearan CSRC às deidh a’ bhann-cinn seasmhach (às deidh faclan 1..3), chan eil an clàr air a shealltainn san fhigear;

M - comharra tòiseachaidh frèam no làthaireachd cainnt san t-sianal (ma thèid lorgaire stad cainnt a chleachdadh). Mura h-eil lorgaire stad cainnt anns a’ ghlacadair, thèid am pìos seo a shuidheachadh gu maireannach;

PTYPEACHD - a 'sònrachadh cruth an luchd pàighidh;

Àireamh òrdugh - àireamh pacaid, air a chleachdadh gus an òrdugh anns a bheil pacaidean air an cluich a thoirt air ais, oir is e an fhìor shuidheachadh nuair a ruigeas pacaidean an cuidhteas san òrdugh cheàrr anns an deach an cur. Feumaidh an luach tùsail a bhith air thuaiream, tha seo air a dhèanamh gus am bi e duilich a sheacadh ma tha an sruth RTP air a chrioptachadh. Cuideachd, leigidh an raon seo leat pacaidean a chaidh a chall a lorg;

Clàr-ama - stampa-ama. Tha ùine air a thomhas ann an sampallan comharran, i.e. ma tha 160 sampall ann an spreadhadh, bidh an clàr-ama airson an ath spreadhadh 160 a bharrachd. Feumaidh luach tùsail an stampa-ama a bhith air thuaiream;

SSRC - aithnichear stòr a’ phacaid, feumaidh e a bhith gun samhail. Tha e nas fheàrr a ghineadh air thuaiream mus tòisich thu air an t-sruth RTP.

Ma leasaicheas tu an inneal-sgaoilidh pacaid no an inneal-glacaidh RTP agad fhèin, feumaidh tu coimhead air na pacaidean agad barrachd air aon uair gus cinneasachd àrdachadh, tha mi a’ moladh gun ionnsaich thu mar a chleachdas tu sìoladh pacaidean ann an TShark, leigidh e leat dìreach na pacaidean sin a ghlacadh tha ùidh agad. Ann an àrainneachd far a bheil dusanan de innealan RTP ag obair air an lìonra, tha seo glè luachmhor. Anns an loidhne-àithne TShark, tha roghainnean sìoltachaidh air an sònrachadh leis an roghainn “-f”. Chleachd sinn an roghainn seo nuair a bha sinn airson pacaidean a ghlacadh bho phort 8010:
-f "udp port 8010"
Is e seata de shlatan-tomhais a th’ ann am paramadairean sìoltachaidh a dh’ fheumas pacaid “ghlacadh” a choileanadh. Faodaidh an suidheachadh sgrùdadh a dhèanamh air seòladh, port, luach byte sònraichte sa phacaid. Faodar suidheachaidhean a chur còmhla ri gnìomhachd loidsigeach "AND", "OR", msaa. Inneal air leth cumhachdach.

Ma tha thu airson sùil a thoirt air daineamaigs atharrachaidhean làraich ann an baidsean, feumaidh tu an toradh a dhùblachadh TShark gu faidhle, mar a chithear san artaigil mu dheireadh, le bhith a’ dol seachad air an toradh TShark aig an t-slighe a-steach tee. An ath rud, fosgail am faidhle log le nas lugha, vim no inneal eile as urrainn obrachadh gu sgiobalta le faidhlichean teacsa mòr agus a bhith a’ lorg sreangan, gheibh thu a-mach a h-uile nuance mu ghiùlan raointean pacaid ann an sruth RTP.

Ma dh'fheumas tu èisteachd ris a 'chomharra a chaidh a ghluasad leis an t-sruth RTP, feumaidh tu an dreach a chleachdadh TShark le eadar-aghaidh lèirsinneach Wireshark. Le làimhseachadh luchag sìmplidh, faodaidh tu èisteachd ri agus faic cruth tonn a’ chomharra. Ach air aon chumha - ma tha e air a chòdachadh ann an cruth u-law no a-low.

Air adhart artaigil nì sinn intercom duplex leat. Stoc suas air paidhir chluas-cinn agus aon interlocutor.

Source: www.habr.com

Cuir beachd ann