Bilangin ang isang G.729 packet sa isang IPsec tunnel
Ipinapakita ng isang lutas na halimbawa ng G.729 kung paano nagsasama ang payload, RTP, ESP at Ethernet framing, at bakit ang parehong tawag ay may ibang bandwidth sa bawat hangganan.
Ang boses sa IPsec ay binabanggit bilang bitrate ng codec, at ang bilang na iyon ay mali sa bawat hangganan maliban sa hangganan ng codec mismo. Ang audio ay 8 kbit/s, mas malaki ang packet na nagdadala nito, mas malaki pa ang ESP envelope, at ang Ethernet frame ay nagdaragdag ng framing na hindi kailanman ipinapakita ng anumang capture sa tunnel. Ang pagbilang ng isang packet mula sa isang nakasaad na format ang tanging paraan upang malaman kung ano talaga ang dapat dalhin ng pisikal na link. Ang paglalakad sa ibaba ay ginagawa iyon para sa isang direksyon lamang, at bawat bilang dito ay aritmetika, hindi pagsukat.
Magsimula sa pagpili ng packetization, hindi sa bilang ng codec
Ang talahanayan ng codec ay nagbibigay ng rate ng payload at wala nang iba: ang G.729 ay naglalabas ng 8 kbit/s, na 30 byte ng audio bawat 30 ms. Wala itong sinasabi tungkol sa mga header, proteksyon o framing, at ang tatlong iyon ang nangingibabaw sa resulta. Ang pagitan ay isang pagpiling patakaran na dapat pagkasunduan ng dalawang dulo, kaya piliin ito muna at sabihin, dahil ang bawat susunod na bilang ay nakasalalay sa isang desisyong iyon.
Gumagamit ang halimbawang ito ng 30 ms, kaya ang rate ng packet ay 33.3 bawat segundo. Ipinapalagay nito ang RTP header na 12 byte, UDP header na 8 byte at panloob na IPv4 header na 20 byte na walang opsyon, at walang SRTP, compression ng header o padding ng pagiging lihim ng daloy ng trapiko; anumang pagbabago ay naglilipat din ng budget, kaya ang mga palagay ay dapat nasa tabi ng sagot.
Idagdag ang panloob na mga header, pagkatapos ang ESP envelope
Ang aplikasyon ay nagpapadala ng payload plus RTP plus UDP plus IP, na sa packetization na ito ay 70 byte. Ang panloob na daloy ay umabot sa 18.7 kbit/s, mahigit doble na sa rate ng codec, dahil mga header at hindi audio ang bumubuo sa malaking bahagi ng packet. Wala sa mga byte na iyon ang boses; sila ang presyo ng pag-address at pagsekwenya. Ang capture na kinuha sa itaas ng tunnel ay nagpapakita ng eksaktong bilang na ito, at iyon ang binabanggit ng mga tao kapag sinasabi nilang maliit ang tawag.
Ito rin ang bilang na hindi kailanman umabot sa kawad. Ang ESP tunnel mode ay nagdaragdag ng SPI at sequence number na 8 byte, tahasang IV na 8 byte para sa AES-GCM, trailer na 2 byte at authentication tag na 16 byte. Ang payload na 70 byte kasama ang trailer ay umabot sa 72, na tumutugon na sa pagkakahanay sa apat na byte, kaya walang karagdagang padding na kailangan dito.RFC 4106 ang nagtatakda ng laki ng IV at tag ng GCM, at pareho silang kabilang sa aritmetika, hindi sa talababa:
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 packetIdagdag ang mga panlabas na header na kailangan ng pagdaan sa NAT
Sa labas ng ESP envelope ay may panlabas na IPv4 header na 20 byte at UDP header na 8 byte para sa pagdaan sa NAT, kaya ang packet ay nagiging 132 byte. Umiiral ang UDP encapsulation dahil kailangang makalampas ang packet sa isang kagamitang tagasalin sa pagitan ng mga kapares, at binabago nito ang panlabas na hugis nang hindi hinahawakan ang protektadong payload. Sa 33.3 packet bawat segundo, ang 132 byte ay mga 35.2 kbit/s, o halos apat na beses ang nominal na rate ng codec.
Ni ang tag ni ang IV ay hindi maaaring alisin sa pagtatantiya upang gawin itong mas maliit, dahil pareho silang bahagi ng aktwal na dadalhin ng link. Ang pagtatantiyang nag-aalis sa kanila ay naglalarawan ng packet na tatanggihan ng tagatanggap. Ganoon din sa trailer, na umiiral upang markahan ang hangganan ng payload at ang susunod na header sa loob ng protektadong rehiyon.
Pangalanan ang hangganan bago banggitin ang bilang
Ang panlabas na bilang ng IP ay hindi pa rin kasama ang Ethernet framing. Ang access link na may tag o walang tag ay nagdaragdag ng MAC header na 14 byte at frame check sequence na 4 byte, ginagawang 150 byte ang frame, na siyang sukat na binibilang ng isang switch port. Sa parehong rate ng packet, iyon ay 40 kbit/s, limang beses ang rate ng codec, at ang pagkakaiba ay hindi pag-aaksaya kundi ang halaga ng paghahatid.
| 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 |
Ang bilang na 40 kbit/s ay hindi pa rin kasama ang preamble, ang agwat sa pagitan ng mga frame, mga tag ng VLAN, encapsulation ng provider, RTCP, signaling at ang audio na papunta sa kabilang direksyon. Ito ay tantiyang bawat direksyon, hindi reserbasyon ng link, at ang pagbanggit dito bilang reserbasyon ay nagpapalabis sa dapat ilaan ng link sa isang lugar habang binabawasan ito sa iba. Ang capture sa host ay maaari ring makaligtaan ang framing na idinaragdag ng link, kaya kailangang pangalanan ang hangganan sa tabi ng bilang, at kaya mas kapaki-pakinabang ang talahanayan ng mga hangganan kaysa isang bilang ng headline. Magreserba nang hiwalay para sa direksyong hindi mo binilang.
Suriin ang aritmetika laban sa interface
Bago magtiwala sa tantiyang, ihambing ito sa iniuulat ng interface para sa kilalang bilang ng packet. Kunan ng capture sa pisikal na interface at hindi sa aparato ng tunnel, upang maisama ang framing na sinusubukan mong isaalang-alang, at asahan ang maliit na pagkakaiba sa halip na perpektong tugma.
sudo tcpdump -ni eth0 -c 50 'udp port 4500'
ip -s link show eth0Kinukumpirma ng capture ang panlabas na sukat ng packet, habang ang mga counter ng interface ay nagpapakita ng rate kasama ang framing. Kung ang dalawa ay nagkakaiba ng halos allowance ng Ethernet, tama ang aritmetika at ang hangganan lamang ang mali ang pangalan. Ang pagkakaibang mas malaki kaysa isang header ng frame ay tumutukoy sa iba pang bagay sa link, tulad ng mga retransmission o ibang daloy na nakikibahagi sa interface. Isulat ang pagitan ng packetization, ang suite ng proteksyon at ang hangganan sa tabi ng bilang, dahil ang tantiyang walang tatlong iyon ay binabanggit bilang pagsukat ng susunod na mambabasa.