زیرساخت ملی سوئیچ پیامک و تجمیعکنندگان مخابراتی
۸ مهر ۱۴۰۵
این سند معماری مسیریابی پیامک در ایران را بررسی میکند. موضوعات شامل اتصال مستقیم به اپراتور شبکه سیار (MNO)، سلسلهمراتب تجمیعکنندگان عمدهفروش تحت الزام حاکمیتی، مدیریت چرخه عمر نشست SMPP 3.4، کنترل جریان با پنجره لغزان و سربار معماری ناشی از مسدودسازی خدمات ارتباطی غنی (RCS) و پیام چندرسانهای (MMS) است.
شاخصهای اصلی عملیات
- اوج نرخ پردازش ملی: بیش از ۵۰٬۰۰۰ TPS ظرفیت تجمیعی جهش ترافیک اپراتورها
- اندازه پنجره SMPP: بین ۱۶ تا ۶۴ PDU ارسالشده و تأییدنشده
- محدودیت فارسی در UCS-2: بهترتیب ۷۰ و ۶۷ نویسه برای پیام تکبخشی و هر بخش پیام چندبخشی
- دسترسپذیری RCS / MMS: برابر با ۰٫۰ ٪؛ انتقال ۱۰۰٪ ترافیک به SMS
۰۱. توپولوژی کلان: مدل تجمیع داخلی
شبکه مخابرات ایران از سلسلهمراتب تجمیع مشخص تحت نظارت حاکمیتی پیروی میکند. در بازارهای غربی، ارائهدهندگان پلتفرم ارتباطات بهعنوان سرویس (CPaaS)، مانند Twilio، از APIهای بومی ابر استفاده میکنند. در ایران، ترافیک سازمانی از تجمیعکنندگان عمدهفروش دارای مجوز و تحت نظارت مخابراتی حاکمیت عبور میکند.
اپراتورهای اصلی زیرساخت:
- همراه اول (MCI): بیشترین سهم مشترک، با حدود ۶۵ میلیون اتصال، و بزرگترین مجموعه داخلی SMSC.
- ایرانسل (MTN Irancell): زیرساخت نوسازیشده مبتنی بر IP و تأمینکننده اصلی رمز یکبارمصرف بانکی با زمان تحویل زیر ۱۰ ثانیه.
- رایتل: اپراتور سوم تلفن همراه که زیرساخت آن از ابتدا برای داده بستهای پرسرعت بهینه شده است.
واقعیت معماری:
تحریمهای ساختاری و الزامات حکمرانی سایبری ملی، مسیریابی ارائهدهندگان جهانی CPaaS را در محدوده IP ایران محدود کردهاند. پلتفرمهای ترافیک بالا باید با اتصال مستقیم سوکت TCP و پروتکل SMPP 3.4 روی زیرساخت فیزیکی، به تجمیعکنندگان داخلی دارای مجوز متصل شوند.
۰۲. سلسلهمراتب شبکه و تفکیک سرشمارهها
هر پیامک ارسالی از طریق نرمافزار در ایران، از پیششماره عددی مشخص عبور میکند. این پیششماره، تجمیعکننده عمدهفروش، مسیر اتصال فیزیکی به SMSC، تعهد SLA تأخیر تحویل و قواعد فیلتر را تعیین میکند:
| بازه پیششماره | اپراتور / تجمیعکننده اصلی | رابط پروتکل | سقف نرخ پردازش هر نشست متصل | کاربرد متداول |
|---|---|---|---|---|
| سری ۱۰۰۰ | رهیاب رایانه گستر، اتصال مستقیم همراه اول | SMPP 3.4 / REST SOAP | ۱۵۰ - ۳۰۰ TPS | ارسال انبوه تجاری، بازاریابی سطح دوم و اعلان CRM خردهفروشی |
| سری ۲۰۰۰ | عصر دانشافزار / دانستان | SMPP 3.4 / HTTP اختصاصی | ۱۰۰ - ۲۵۰ TPS | درگاههای سازمانی و کمپینهای بازاریابی با تعداد ارسال بالا |
| سری ۳۰۰۰ | مگفا، تجمیعکننده دولتی | سوکت SMPP 3.4 | ۳۰۰ - ۸۰۰ TPS | زیرساخت بانکی، اعلان دولتی و رمز یکبارمصرف سازمانی |
| سری ۵۰۰۰ | آسانک / رایگان | REST API / SMPP 3.4 | ۱۰۰ - ۴۰۰ TPS | اعلان کسبوکار کوچک و متوسط، ارسال پیامک از وب و درگاه تبلیغاتی |
| سری ۰۲۱ / ۰۲۶ | درگاه خط ثابت آسانک | HTTP / SMPP | ۵۰ - ۱۵۰ TPS | استعلام کسبوکار محلی و پیامرسانی دوطرفه مختص شعبه |
تفکیک خطوط تبلیغاتی و خدماتی
- خطوط تبلیغاتی: مشمول فهرست ملی عدم دریافت تبلیغات (*۸۰۰#) هستند. اگر کاربر با شمارهگیری *۸۰۰# تبلیغات پیامکی را غیرفعال کند، اپراتور پیام تبلیغاتی را در SMSC حذف میکند و هزینه ارسال را برنمیگرداند.
- خطوط خدماتی: از فهرست عدم دریافت تبلیغات *۸۰۰# مستثنا هستند. استفاده از آنها فقط برای رسید تراکنش، رمز یکبارمصرف احراز هویت و هشدار فوری خدمت مجاز است. ارسال تبلیغ غیرمجاز از خط خدماتی، لغو فوری مجوز و جریمه مالی سنگین در پی دارد.
۰۳. مهندسی سطح پایین پروتکل: سازوکار SMPP 3.4
سامانههای بینالمللی، ارسال را پشت APIهای REST روی HTTP/2 یا HTTP/3 پنهان میکنند. درگاههای سازمانی با ترافیک بالا برای اتصال به تجمیعکننده داخلی باید اتصال سوکت TCP پایدار و دوطرفه را با پروتکل SMPP 3.4 نگه دارند.
توپولوژی نشست اتصال
کلاینت سازمانی در نقش موجودیت خارجی پیام کوتاه (ESME)، با سه حالت مجزا متصل میشود:
- فرستنده (TX): فقط برای ارسال PDUهای
submit_sm. - گیرنده (RX): فقط برای دریافت رسید تحویل، یعنی PDUهای
deliver_sm، و پاسخ کاربران. - فرستندهگیرنده (TRX): نشست تمامدوطرفه که ارسال و تأیید دریافت را همزمان مدیریت میکند.
پنجره لغزان و پسفشار
درگاه برای جلوگیری از سرریز بافر سوکت و اشباع صف SMSC تجمیعکننده، الگوریتم کنترل جریان پنجره لغزان را اجرا میکند:
- موجودیت ESME، صف درونحافظهای PDUهای
submit_smارسالشده را نگه میدارد که هنوز پاسخ متناظرsubmit_sm_respنگرفتهاند. - اندازه پنجره لغزان بین ۱۶ تا ۶۴ درخواست تأییدنشده محدود میشود.
- اگر صف تأییدنشده پر شود، درگاه ارسال را تا دریافت تأیید قدیمیترین PDU متوقف میکند.
- عبور از سقف نرخ تجمیعکننده، خطای فوری
ESME_RTHROTTLEDبا کد0x00000058برمیگرداند.
پیام زندهبودن و سلامت نشست
برای جلوگیری از قطع سوکت TCP بیکار توسط دیواره آتش وضعیتمند میانی، درگاه هر ۳۰ تا ۶۰ ثانیه یک PDU از نوع enquire_link میفرستد. اگر ظرف ۱۰ ثانیه پاسخ enquire_link_resp نرسد، سامانه بلافاصله سوکت را بازنشانی میکند و به نشستهای پشتیبان سوییچ میکند.
معماری CPaaS: پشته بینالمللی و داخلی
| لایه معماری | CPaaS جهانی (Twilio / Sinch / Infobip) | مدل داخلی، مگفا / رهیاب / اتصال مستقیم اپراتور |
|---|---|---|
| رابط اصلی ورودی | APIهای JSON REST توزیعشده در لبه، جریان WebSocket و لایه SDK. | سوکت TCP وضعیتمند با SMPP 3.4 و پراکسی قدیمی SOAP XML. |
| زنجیره بازگشت رسید تحویل | Webhook ناهمگام HTTPS با سرآیند امضاشده HMAC. | PDUهای deliver_sm در SMPP یا استعلام دستهای HTTP با پرسوجوی دورهای. |
| افزونگی مسیر | مسیریابی پویای خودکار کمهزینهترین مسیر (LCR) میان بیش از ۸۰۰ اپراتور مخابراتی سطح اول. | تنظیم دستی پیششماره؛ انتقال به مسیر پشتیبان به مدارشکن در لایه برنامه نیاز دارد. |
| کانالهای ترافیک | چندکاناله: SMS، WhatsApp Business API، RCS Business Messaging و Viber. | فقط SMS روی GSM؛ کانالهای دادهمحور مسدود یا محدود شدهاند. |
۰۴. کدگذاری پروتکل: GSM-7 در برابر UCS-2
مسدودسازی RCS و MMS در درگاههای شبکه ملی، ارتباط سازمانی را به کانال متنی SMS محدود میکند. این وضعیت محدودیتهای کدگذاری نویسه را به مسئله ظرفیت و هزینه تبدیل میکند:
| روش کدگذاری | سقف پیام تکبخشی | سقف هر بخش در پیام چندبخشی | کاربرد |
|---|---|---|---|
| GSM-7، لاتین / انگلیسی | ۱۶۰ نویسه | ۱۵۳ نویسه در هر بخش | اعلان فنی انگلیسی و کد ساده حرفیعددی |
| UCS-2، فارسی / UTF-16 | ۷۰ نویسه | ۶۷ نویسه در هر بخش | متن تراکنشی فارسی و رسید پشتیبانی مشتری |
اثر بر هزینه و ظرفیت:
پیام فارسی ۱۴۰نویسهای از سقف ۷۰نویسهای پیام تکبخشی عبور میکند و به سه بخش قابلصورتحساب، شامل ۶۷ + ۶۷ + ۶ نویسه، تقسیم میشود. این تقسیم، هزینه زیرساخت را سه برابر میکند و احتمال شکست تحویل در عبور میان اپراتورها را ۳۰۰٪ افزایش میدهد.
۰۵. تلهمتری تحویل: ماشین حالت DLR و فیلتر LBS
وقتی سامانه سازمانی یک PDU از نوع submit_sm میفرستد، تجمیعکننده یک message_id در پاسخ همگام submit_sm_resp برمیگرداند. این پاسخ فقط ورود پیام به بافر تجمیعکننده را تأیید میکند؛ تحویل به دستگاه را تأیید نمیکند. وضعیت نهایی تحویل، ناهمگام با PDUهای deliver_sm میرسد.
| کد وضعیت DLR | وضعیت تحویل | شرح و نحوه رسیدگی |
|---|---|---|
DELIVRD |
تحویل به دستگاه مقصد | پیام به تلفن همراه مقصد رسیده و ثبت هزینه تأیید شده است. |
EXPIRED |
انقضا در مسیر | پیش از اتصال مجدد گوشی مقصد به شبکه، مهلت اعتبار پیام تمام شده است. |
DELETED |
حذف در شبکه | سیاست مسیریابی اپراتور یا سرریز بافر SMSC پاییندست، پیام را حذف کرده است. |
UNDELIV |
غیرقابلتحویل | دستگاه مقصد در دسترس نیست، MSISDN نامعتبر است یا اشتراک تعلیق شده است. |
ACCEPTD |
پذیرش در بافر | گره میانی تجمیعکننده، PDU را پذیرفته و تحویل نهایی به گوشی هنوز انجام نشده است. |
UNKNOWN |
وضعیت نامشخص | وضعیت مسیریابی در مرز اتصالهای مخابراتی بالادست مشخص نیست. |
REJECTD |
رد توسط تجمیعکننده | تجمیعکننده بهعلت فهرست عدم دریافت تبلیغات *۸۰۰# یا تخلف محتوایی، پیام را حذف کرده است. |
۰۶. موازنههای معماری: تأخیر، تابآوری و محدودسازی نرخ
- انتقال به تجمیعکننده پشتیبان در برابر حذف پیام تکراری: اگر تجمیعکننده بالادست، مانند مگفا با سرشماره ۳۰۰۰، در جهش ترافیک ملی قطع شود یا سوکت TCP آن متوقف بماند، سامانه سازمانی باید درباره ارسال رمزهای یکبارمصرف معلق از تجمیعکننده دوم تصمیم بگیرد. اگر تجمیعکننده اول بعداً صف را تخلیه و پیام دیررس را ارسال کند، مشترک رمز تکراری میگیرد و هش نشست فعال بیاعتبار میشود. سامانه باید میان سرعت انتقال به مسیر پشتیبان و سردرگمی کاربر موازنه برقرار کند.
- پذیرش همگام در برابر بافر پسفشار: ریزخدمتهای سازمانی در فروش لحظهای یا جهش احراز هویت، بیش از ۱۰٬۰۰۰ درخواست در ثانیه تولید میکنند. ظرفیت پذیرش هر نشست تجمیعکننده داخلی به ۱۰۰ تا ۳۰۰ TPS محدود است. درگاه باید صف توزیعشده پایدار، مانند Kafka یا RabbitMQ، و تنظیم نرخ با الگوریتم سطل نشتی پیاده کند. اگر ماندگاری در صف ناشی از پسفشار از ۵ دقیقه بگذرد، رمز یکبارمصرف پس از پایان زمانسنج رابط کاربر میرسد و نرخ تکمیل فرایند افت میکند.
۰۷. محاسبه تقسیم پیام و نرخ پردازش
| شاخص | فارسی UCS-2، پیام ۱۴۵نویسهای | لاتین GSM-7، پیام ۱۴۵نویسهای | اختلاف و پیامد |
|---|---|---|---|
| تعداد بخش برای هر گیرنده | ۳ بخش، با UDH اتصال بخشها | ۱ بخش، با ارسال مستقیم یک پیام | ۲۰۰٪ افزایش سربار PDU |
| واحد صورتحساب برای دسته ۵۰هزارتایی | مجموعاً ۱۵۰٬۰۰۰ PDU قابلصورتحساب | مجموعاً ۵۰٬۰۰۰ PDU قابلصورتحساب | هزینه مالی ۳٫۰ برابر |
| زمان ارسال با نرخ ۲۰۰ TPS | ۱۲٫۵ دقیقه، بدون محدودسازی اضافی سوکت | ۴٫۲ دقیقه، بدون محدودسازی اضافی سوکت | تأخیر تحویل ۳٫۰ برابر |