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 packet

NAT عبور کے لیے ضروری بیرونی ہیڈر شامل کریں

ESP غلاف کے باہر 20 بائٹ کا بیرونی IPv4 ہیڈر اور NAT عبور کے لیے 8 بائٹ کا UDP ہیڈر ہے، اس لیے پیکٹ 132 بائٹ ہو جاتا ہے۔ UDP encapsulation اس لیے ہے کہ پیکٹ کو دونوں فریقوں کے درمیان مترجم آلے سے گزرنا ہے، اور یہ محفوظ پے لوڈ کو چھوئے بغیر بیرونی شکل بدلتا ہے۔ فی سیکنڈ 33.3 پیکٹ پر، 132 بائٹ تقریباً 35.2 kbit/s ہے، یعنی کوڈیک کی نامی شرح سے تقریباً چار گنا۔

ٹیگ یا IV میں سے کوئی بھی چھوٹا کرنے کے لیے اندازے سے خارج نہیں کیا جا سکتا، کیونکہ دونوں اس کا حصہ ہیں جو لنک واقعی لے جائے گا۔ جو اندازہ انہیں چھوڑ دے وہ ایسا پیکٹ بیان کرتا ہے جسے وصول کنندہ مسترد کرے گا۔ یہی بات ٹریلر پر بھی لاگو ہے، جو محفوظ علاقے کے اندر پے لوڈ کی حد اور اگلا ہیڈر دکھانے کے لیے ہے۔

عدد نقل کرنے سے پہلے حد کا نام دیں

بیرونی IP کا عدد اب بھی Ethernet فریمنگ کو خارج کرتا ہے۔ ٹیگ والا یا بغیر ٹیگ والا رسائی لنک 14 بائٹ کا MAC ہیڈر اور 4 بائٹ کا فریم جانچ تسلسل جوڑتا ہے، فریم کو 150 بائٹ بناتا ہے، جو سوئچ پورٹ گنتا ہے۔ اسی پیکٹ شرح پر یہ 40 kbit/s ہے، کوڈیک کی شرح سے پانچ گنا، اور فرق بربادی نہیں بلکہ ڈھلائی کی قیمت ہے۔

BoundaryPacket sizeRate at 33.3 packets/sWhat it counts
Codec payload30 bytes8.0 kbit/sThe audio alone
Inner IP packet70 bytes18.7 kbit/sApplication headers included
Outer IP packet132 bytes35.2 kbit/sESP and NAT-T included
Ethernet frame150 bytes40.0 kbit/sLink framing included

40 kbit/s کا عدد اب بھی پیش خیمہ، فریموں کے درمیان وقفہ، VLAN ٹیگ، فراہم کنندہ کی encapsulation، RTCP، سگنلنگ اور دوسری سمت جانے والی آواز کو خارج کرتا ہے۔ یہ فی سمت اندازہ ہے، لنک کی بکنگ نہیں، اور اسے بکنگ کے طور پر نقل کرنا ایک جگہ لنک کو جتنا مخصوص کرنا ہے اسے بڑھا کر بتاتا ہے اور دوسری جگہ کم۔ میزبان پر لی گئی گرفت لنک کی شامل کردہ فریمنگ بھی چوک سکتی ہے، اس لیے عدد کے ساتھ حد کا نام دینا ضروری ہے، اور اسی لیے حدوں کا جدول ایک ہی سرخی والے عدد سے زیادہ مفید ہے۔ جس سمت آپ نے نہیں گنا اس کے لیے الگ مخصوص کریں۔

حساب کو انٹرفیس کے سامنے جانچیں

اندازے پر بھروسہ کرنے سے پہلے، معلوم پیکٹ تعداد کے لیے انٹرفیس جو بتاتا ہے اس سے موازنہ کریں۔ سرنگ کے آلے پر نہیں، طبعی انٹرفیس پر گرفت کریں، تاکہ جس فریمنگ کا حساب آپ لینا چاہتے ہیں وہ شامل ہو، اور مکمل مطابقت کے بجائے تھوڑا فرق توقع رکھیں۔

sudo tcpdump -ni eth0 -c 50 'udp port 4500'
ip -s link show eth0

گرفت بیرونی پیکٹ کا حجم تصدیق کرتی ہے، جبکہ انٹرفیس کاؤنٹر فریمنگ سمیت شرح دکھاتے ہیں۔ اگر دونوں تقریباً Ethernet بھتہ کے برابر مختلف ہوں، حساب درست ہے اور صرف حد کا نام غلط رکھا گیا تھا۔ ایک فریم ہیڈر سے کہیں بڑا فرق لنک پر کسی اور چیز کی طرف اشارہ کرتا ہے، جیسے دوبارہ ترسیل یا انٹرفیس بانٹنے والا دوسرا بہاؤ۔ پیکٹ بندی کا وقفہ، تحفظ سوٹ اور حد عدد کے ساتھ لکھیں، کیونکہ ان تین کے بغیر اندازہ اگلا قاری پیمائش کے طور پر نقل کرتا ہے۔

متعلقہ مضامین