IPsec tunneli orqali bitta G.729 paketini sanash
Ishlangan G.729 misoli yuk, RTP, ESP va Ethernet ramkalash qanday qo‘shilishini va o‘sha qo‘ng‘iroq har bir chegarada nega boshqacha o‘tkazuvchanlik sarflashini ko‘rsatadi.
IPsec ustidagi ovoz kodek bitreyti sifatida tilga olinadi va bu raqam kodekning o‘z chegarasidan boshqa har bir chegarada noto‘g‘ri. Audio 8 kbit/s, uni tashuvchi paket kattaroq, ESP qobig‘i yana kattaroq, Ethernet ramkasi esa tunnelda olingan hech bir ushlashda ko‘rinmaydigan ramkalashni qo‘shadi. Bitta paketni berilgan formatdan sanash jismoniy bog‘lanish aslida nimani tashishi kerakligini bilishning yagona yo‘li. Quyidagi tahlil buni faqat bitta yo‘nalish uchun qiladi va bu yerdagi har bir raqam arifmetika, o‘lchov emas.
Kodek raqamidan emas, paketlash tanlovidan boshlang
Kodek jadvali yuk tezligini beradi va boshqa hech narsani: G.729 8 kbit/s chiqaradi, bu har 30 ms da 30 bayt audio. U sarlavhalar, himoya yoki ramkalash haqida hech narsa demaydi va natijani aynan shu uchtasi belgilaydi. Interval ikki tomon kelishishi kerak bo‘lgan siyosat tanlovi, shuning uchun uni birinchi tanlang va e’lon qiling, chunki har bir keyingi raqam shu bitta qarorga bog‘liq.
Bu misol 30 ms ishlatadi, shuning uchun paket tezligi soniyasiga 33.3. U 12 baytli RTP sarlavhasi, 8 baytli UDP sarlavhasi va variantlarsiz 20 baytli ichki IPv4 sarlavhasini, shuningdek SRTP, sarlavha siqish yoki trafik oqimi maxfiyligi to‘ldirish yo‘qligini nazarda tutadi; har qanday o‘zgarish byudjetni ham suradi, shuning uchun taxminlar javobning yonida turadi.
Ichki sarlavhalarni, so‘ngra ESP qobig‘ini qo‘shing
Dastur yukni ustiga RTP ustiga UDP ustiga IP yuboradi, bu ushbu paketlashda 70 bayt. Bu ichki oqim 18.7 kbit/s chiqadi, allaqachon kodek tezligidan ikki baravar ko‘p, chunki paketning katta qismini audio emas, sarlavhalar tashkil qiladi. O‘sha baytlarning hech biri ovoz emas; ular manzil va tartib berish narxi. Tunnel ustida olingan ushlash aynan shu raqamni ko‘rsatadi va odamlar qo‘ng‘iroq kichik deb aytganda shu raqamni keltiradilar.
Bu simga hech qachon yetib bormaydigan raqam ham. ESP tunnel rejimi 8 baytli SPI va tartib raqamini, AES-GCM uchun 8 baytli ochiq IVni, 2 baytli dum va 16 baytli autentifikatsiya tegini qo‘shadi. 70 baytli yuk dum bilan birga 72 ga yetadi, bu to‘rt baytli tekislashni allaqachon qanoatlantiradi, shuning uchun bu yerda qo‘shimcha to‘ldirish kerak emas.RFC 4106 GCM IV va teg o‘lchamlarini belgilaydi va ikkisi ham arifmetikaga tegishli, izohga emas:
30 payload, G.729 at 30 ms
12 RTP
8 UDP
20 inner IPv4
--
70 inner IP packet
8 ESP SPI and sequence
8 explicit IV
2 pad length and next header
16 authentication tag
--
104 ESP packetNATdan o‘tish talab qiladigan tashqi sarlavhalarni qo‘shing
ESP qobig‘idan tashqarida 20 baytli tashqi IPv4 sarlavhasi va NATdan o‘tish uchun 8 baytli UDP sarlavhasi bor, shuning uchun paket 132 bayt bo‘ladi. UDP inkapsulyatsiyasi paket tomonlar orasidagi tarjimon qurilmadan o‘tishi kerakligi uchun mavjud va u himoyalangan yukka tegmasdan tashqi shaklni o‘zgartiradi. Soniyasiga 33.3 paketda 132 bayt taxminan 35.2 kbit/s, ya’ni kodekning nominal tezligidan qariyb to‘rt baravar ko‘p.
Na teg, na IV kichraytirish uchun baholashdan chiqarib tashlanmaydi, chunki ikkisi ham bog‘lanish aslida tashiydigan narsaning qismi. Ularni tashlab ketadigan baho qabul qiluvchi rad etadigan paketni tasvirlaydi. Xuddi shu narsa himoyalangan hudud ichidagi yuk chegarasi va keyingi sarlavhani belgilash uchun mavjud dumga ham tegishli.
Raqamni keltirishdan oldin chegarani nomlang
Tashqi IP raqami hali ham Ethernet ramkalashni istisno qiladi. Tegli yoki tegsiz kirish bog‘lanishi 14 baytli MAC sarlavhasi va 4 baytli ramka tekshiruv ketma-ketligini qo‘shadi, ramkani 150 baytga yetkazadi, bu kommutator porti sanaydigan o‘lcham. Xuddi shu paket tezligida bu 40 kbit/s, kodek tezligidan besh baravar, va farq isrof emas, tashish narxi.
| Boundary | Packet size | Rate at 33.3 packets/s | What it counts |
|---|---|---|---|
| Codec payload | 30 bytes | 8.0 kbit/s | The audio alone |
| Inner IP packet | 70 bytes | 18.7 kbit/s | Application headers included |
| Outer IP packet | 132 bytes | 35.2 kbit/s | ESP and NAT-T included |
| Ethernet frame | 150 bytes | 40.0 kbit/s | Link framing included |
40 kbit/s raqami hali ham preambula, ramkalar orasidagi bo‘shliq, VLAN teglari, provayder inkapsulyatsiyasi, RTCP, signalizatsiya va qarama-qarshi yo‘nalishda ketayotgan audioni istisno qiladi. Bu har bir yo‘nalish uchun baho, bog‘lanish rezervi emas, va uni rezerv sifatida keltirish bog‘lanish bir joyda qancha ajratishi kerakligini oshirib, boshqa joyda kamaytiradi. Xostdagi ushlash bog‘lanish qo‘shadigan ramkalashni ham o‘tkazib yuborishi mumkin, shuning uchun chegara raqamning yonida nomlanishi kerak, va shuning uchun chegaralar jadvali bitta sarlavha raqamidan foydaliroq. Siz sanamagan yo‘nalish uchun alohida rezerv qiling.
Arifmetikani interfeys bilan tekshiring
Bahoga ishonishdan oldin uni interfeys ma’lum paket soni uchun xabar qiladigan narsa bilan solishtiring. Tunnel qurilmasida emas, jismoniy interfeysda ushlang, shunda siz hisobga olmoqchi bo‘lgan ramkalash qamrab olinadi, va mukammal moslik emas, kichik farqni kuting.
sudo tcpdump -ni eth0 -c 50 'udp port 4500'
ip -s link show eth0Ushlash tashqi paket hajmini tasdiqlaydi, interfeys hisoblagichlari esa tezlikni ramkalash bilan ko‘rsatadi. Agar ikkisi taxminan Ethernet ulushi miqdorida farq qilsa, arifmetika to‘g‘ri va faqat chegara noto‘g‘ri nomlangan. Bitta ramka sarlavhasidan ancha katta farq bog‘lanishdagi boshqa narsaga ishora qiladi, masalan, qayta yuborishlar yoki interfeysni bo‘lishadigan boshqa oqim. Paketlash oralig‘ini, himoya to‘plamini va chegarani raqamning yoniga yozing, chunki bu uchtasisiz bahoni keyingi o‘quvchi o‘lchov sifatida keltiradi.