→ بازگشت به نقشه‌های معماری
SPEC ۰۲ · مشخصات فنی سامانه

زیرساخت ملی سوئیچ پیامک و تجمیع‌کنندگان مخابراتی

۸ مهر ۱۴۰۵

[معماری سیستم][مقاله فنی][مخابرات][SMPP 3.4][زیرساخت]
ظرفیت جهش ترافیک پیامک ملی: بیش از ۵۰٬۰۰۰ TPS

این سند معماری مسیریابی پیامک در ایران را بررسی می‌کند. موضوعات شامل اتصال مستقیم به اپراتور شبکه سیار (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 ۱۲٫۵ دقیقه، بدون محدودسازی اضافی سوکت ۴٫۲ دقیقه، بدون محدودسازی اضافی سوکت تأخیر تحویل ۳٫۰ برابر