IPsec туннелээр нэг G.729 пакетыг тоолох
Боловсруулсан G.729 жишээ нь ачаа, RTP, ESP болон Ethernet хүрээлэлт хэрхэн нэмэгдэж, яагаад ижил дуудлага хил бүрт өөр зурвасын өргөн зарцуулдгийг харуулна.
IPsec дээгүүр дуу хоолойг кодекийн битрейтийн хэлбэрээр дурддаг бөгөөд энэ тоо нь кодекийн өөрийн хилээс бусад бүх хил дээр буруу. Аудио нь 8 kbit/s, түүнийг зөөвөрлөх пакет илүү том, ESP бүрхүүл бүр ч том, Ethernet хүрээ нь туннель дээрх ямар ч бичлэгт харагдахгүй хүрээлэлтийг нэмдэг. Өгөгдсөн форматоос нэг пакетыг тоолох нь физик холбоос яг юу зөөх ёстойг мэдэх цорын ганц арга юм. Доорх шинжилгээ үүнийг зөвхөн нэг чиглэлд хийдэг бөгөөд энд байгаа тоо бүр арифметик, хэмжилт биш.
Кодекийн тооноос биш, пакетжуулалтын сонголтоос эхэл
Кодекийн хүснэгт нь ачааны хурдыг л өгдөг, өөр юу ч үгүй: G.729 нь 8 kbit/s гаргадаг бөгөөд энэ нь 30 ms тутамд 30 байт аудио. Энэ нь толгой, хамгаалалт эсвэл хүрээлэлтийн тухай юу ч хэлэхгүй бөгөөд үр дүнг эдгээр гурав л тодорхойлно. Завсарлага нь хоёр тал тохиролцох ёстой бодлогын сонголт тул эхлээд үүнийг сонгож зарла, учир нь дараагийн тоо бүр тэр нэг шийдвэрээс хамаарна.
Энэ жишээ 30 ms ашигладаг тул пакетын хурд секундэд 33.3 байна. Энэ нь 12 байтын RTP толгой, 8 байтын UDP толгой, сонголтгүй 20 байтын дотоод IPv4 толгойг, мөн SRTP, толгой шахах эсвэл трафикийн урсгалын нууцлалын дүүргэлт байхгүй гэж үзнэ; аливаа өөрчлөлт төсвийг хамт зөөнө, тиймээс таамаглалууд хариултын дэргэд байх ёстой.
Дотоод толгойнуудыг нэм, дараа нь ESP бүрхүүл
Програм нь ачаа дээр нэмээд RTP нэмээд UDP нэмээд IP илгээдэг бөгөөд энэ пакетжуулалтад 70 байт болно. Тэр дотоод урсгал 18.7 kbit/s гарч, кодекийн хурдаас хоёр дахин их болсон байна, учир нь пакетын ихэнх хэсгийг аудио бус, толгойнууд бүрдүүлдэг. Тэдгээр байтуудын нэг ч дуу биш; тэдгээр нь хаяг болон дараалал өгөх үнэ. Туннелийн дээр авсан бичлэг яг энэ тоог харуулдаг бөгөөд хүмүүс дуудлага бага гэж хэлэхдээ энэ тоог иш татдаг.
Энэ нь хэзээ ч утсанд хүрдэггүй тоо юм. ESP туннелийн горим нь 8 байтын SPI болон дарааллын дугаар, AES-GCM-д зориулсан 8 байтын ил IV, 2 байтын сүүл, 16 байтын баталгаажуулалтын шошго нэмдэг. 70 байтын ачаа сүүлтэйгээ 72 болдог бөгөөд энэ нь дөрвөн байтын зэрэгцүүлэлтийг аль хэдийн хангаж байгаа тул энд нэмэлт дүүргэлт шаардлагагүй.RFC 4106 нь GCM-ийн IV болон шошгын хэмжээг тодорхойлдог бөгөөд хоёулаа арифметикт хамаарах бөгөөд зүүлт тайлбарт биш:
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 packetNAT-аар гарахад шаардлагатай гадаад толгойнуудыг нэм
ESP бүрхүүлийн гадна 20 байтын гадаад IPv4 толгой болон NAT-аар гарах 8 байтын UDP толгой байдаг тул пакет 132 байт болно. UDP капсулчлал нь пакет хоёр талын хоорондох орчуулагч төхөөрөмжөөр гарах ёстойгоос үүдэлтэй бөгөөд хамгаалагдсан ачаанд хүрэхгүйгээр гадаад хэлбэрийг өөрчилдөг. Секундэд 33.3 пакет үед 132 байт нь ойролцоогоор 35.2 kbit/s, өөрөөр хэлбэл кодекийн нэрлэсэн хурдаас ойролцоогоор дөрөв дахин их.
Шошго ч, IV ч хэмжээг багасгахын тулд үнэлгээнээс хасагдахгүй, учир нь хоёулаа холбоосын бодитоор зөөх зүйлийн хэсэг. Тэдгээрийг орхигдуулсан үнэлгээ нь хүлээн авагчийн татгалзах пакетыг дүрсэлдэг. Хамгаалагдсан бүс дотор ачааны хил болон дараагийн толгойг тэмдэглэх сүүлд мөн адил хамаарна.
Тоог иш татахын өмнө хилээ нэрлэ
Гадаад IP-ийн тоо Ethernet хүрээлэлтийг одоо ч оруулахгүй байна. Шошготой эсвэл шошгогүй хандалтын холбоос нь 14 байтын MAC толгой, 4 байтын хүрээний шалгалтын дараалал нэмж, хүрээг 150 байт болгодог бөгөөд энэ нь свич портын тоолдог хэмжээ. Ижил пакетын хурдад энэ нь 40 kbit/s, кодекийн хурдаас тав дахин их бөгөөд ялгаа нь үрэгдэл биш, тээврийн үнэ юм.
| 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 гэсэн тоо нь преамбул, хүрээ хоорондын завсар, VLAN шошго, үйлчилгээ үзүүлэгчийн капсулчлал, RTCP, дохиолол, нөгөө чиглэлд явж буй аудиог одоо ч оруулахгүй байна. Энэ нь чиглэл тус бүрийн үнэлгээ, холбоосын захиалга биш бөгөөд үүнийг захиалга гэж иш татах нь холбоос нэг дор хэдийг захиалах ёстойг хэтрүүлж, өөр газар дутуу харуулна. Хост дээрх бичлэг холбоосын нэмдэг хүрээлэлтийг ч алдаж болно, тиймээс хилийг тооны дэргэд нэрлэх ёстой, тиймээс хилийн хүснэгт нэг гарчгийн тооноос илүү хэрэгтэй. Та тоолоогүй чиглэлд тусдаа захиал.
Арифметикийг интерфейстэй тулгаж шалга
Үнэлгээнд итгэхээс өмнө мэдэгдэж буй пакетын тоонд интерфейсийн мэдээлдэгтэй харьцуул. Туннелийн төхөөрөмж дээр биш, физик интерфейс дээр бичлэг хий, ингэснээр таны тооцох хүрээлэлт орно, мөн төгс тохирол биш бага зөрүүг хүлээ.
sudo tcpdump -ni eth0 -c 50 'udp port 4500'
ip -s link show eth0Бичлэг нь гадаад пакетын хэмжээг баталж, интерфейсийн тоолуурууд хүрээлэлтийг оролцуулан хурдыг харуулна. Хэрэв хоёулаа ойролцоогоор Ethernet-ийн зөвшөөрлийн хэмжээгээр ялгаатай бол арифметик зөв бөгөөд зөвхөн хил буруу нэрлэгдсэн байна. Нэг хүрээний толгойноос хамаагүй том ялгаа нь холбоос дээрх өөр зүйл рүү, жишээлбэл дахин дамжуулалт эсвэл интерфейсийг хуваалцаж буй өөр урсгал руу заана. Пакетжуулалтын завсарлага, хамгаалалтын багц, хилиийг тооны дэргэд бич, учир нь эдгээр гурвыгүй үнэлгээг дараагийн уншигч хэмжилт гэж иш татдаг.