Исследование передачи SMS-трафика в сети связи

Автор: Ермакова Надежда Николаевна, Трофимов Александр Игоревич, Семенов Евгений Сергеевич

Журнал: НБИ технологии @nbi-technologies

Рубрика: Инновации в информатике, вычислительной технике и управлении

Статья в выпуске: 1 т.16, 2022 года.

Бесплатный доступ

В статье исследуются особенности и методы передачи SMS-трафика при помощи API-интерфейса, рассматриваются параметры и API-функции для передачи SMS-сообщений, также анализируются причины потери трафика и варианты последующего предотвращения потерь. Рассмотрена схема взаимодействия между SMS-центром и обычными абонентами. Проведен анализ захваченного трафика с помощью специального программного обеспечения - Wireshark. Рассматриваются различные виды потерь в телекоммуникационных сетях и устанавливается корреляция с факторами, воздействующими на канал связи.

Сетевой трафик, анализ данных, смс-сообщения, протоколы передачи данных, smpp протокол, потеря пакетов данных

Короткий адрес: https://sciup.org/149139760

IDR: 149139760

Текст научной статьи Исследование передачи SMS-трафика в сети связи

DOI:

Одним сообщением в SMS (Short Message Service – «служба коротких сообщений») передается 160 символов в 7-битной кодировке (арабские цифры и латинский алфавит), 140 символов в 8-битной кодировке (алфавит французского и немецкого языков) и 70 символов в 16-битной кодировке (кирилли-

ца и иероглифы). При отправке учитываются такие параметры, как:

– дата и время отправки SMS-сообщения;

– номер А (отправитель) и номер В (получатель);

– схема кодирования SMS-сообщения;

– идентификатор используемого протокола;

– статус доставки SMS-сообщения.

По данным параметрам определяется точная адресация абоненту и читабельность сообщения. Пример переданного сообщения представлен на рисунке 1.

На рисунке 2 представлена схема передачи сообщения от клиента до абонента. Пользователь отправляет данные SMS по удобному для него протоколу (http), а провайдер передает мобильным операторам по протоколу SMPP [3].

В настоящее время распространенным и недорогим методом является SMS-рассылка по API, которая позволяет передавать сообщения через Интернет. SMSC-операторы принимают данные (сообщения абонентов, рассылки, уведомления и т. д.) от SMS-провайдеров при использовании протокола SMPP [2]. SMPP (аббревиатура: Short Message Peer-to-peer Protocol) в переводе с английского означает «Короткое сообщение равноправных узлов», описывает взаимодействие между SMS-сервером и конечным клиентом, условиями его реализации являются бесперебойно работающий сервер и программное обеспечение, совместимое с SMS-шлюзом провайдера [5].

От клиента осуществляется рассылка сообщений, которые передаются посредством протоколов http или https (популярные протоколы, поддерживающие большинство языков программирования; также могут быть использованы протоколы SMTP, FTP, POP3, Telnet и DTN и т. д.), преобразовывают их в PDU-запрос и передают в SMS-центр методом GET или POST.

Использование API-функции обязывает использовать определенные параметры:

– основной адрес шлюза: ru/api/;

– название компонента;

– название функции.

Например:

, где user – компонент, balance – функция;

https://sms. sms. ru/api/message/send, где message – компонент, send – функция.

Результат запроса возвращается в формате JSON, например:

{“balance”:417.71,”status”:”success”}

Для авторизации используется связка логин + api-ключ. Логином для основного аккаунта обычно является E-mail, который был указан при регистрации, api-ключ можно задать в разделе настроек ЛК «Настройки API».

Сообщение

Дата поступления

Дата отправки

Дата доставки или последнего изменения

Статус           Имя

(Помощь)     отправителя

— 79655555555   АКЦИЯ!-80%! ТРИ ДНЯ!

2022-02-26

11:17:26

2022-02-26        2022-02-26 11:17:00 Доставлено W0.W0.W0     89.89.896.890

11:17:26

Рис. 1. Детализация успешно переданного SMS-сообщения

Рис. 2. Схема рассылки SMS-сообщений по API

Пример:

Параметры user и apikey необходимо указывать для всех функций.

Визуально get-запрос очень похож на строку в привычном браузере, чем представляет простоту своего применения http-протокола. Также get-запросы используются для получения статусов о доставке, информации о балансе.

Если происходит потеря пакетов, это означает, что сетевое соединение теряет информацию во время передачи. Соответственно, снижается надежность сетевого взаимодействия как с локальными, так и с удаленными устройствами.

Информация по сети передается пакетами данных, которые могут быть доставлены неполными, поврежденными или c иными дефектами, что делает их бесполезными. Можно использовать повторную переотправку сообщений, но если объем данных большой, но необходимо продиагностировать сеть передачи данных. Если фиксируются большие потери данных, то анализируются и учитываются следующие причины:

– перегрузка сети (возникает в пик пропускной способности, в час наибольшей нагрузки, когда пакеты, формируя очередь, игнорируются или отбрасываются и из-за долгого ожидания). При этом необходимо проверить пропускную способность канала передачи данных (например, с помощью веб-приложения speedtest, а также коммерческие условия договора с поставщиком интернета) [4];

– неправильная коммутация оборудования (маршрутизаторы, коммутаторы, брандмауэры и другие аппаратные устройства мо- гут быть недостаточно мощными, тем самым являясь наиболее уязвимыми);

– повреждения на физическом уровне (повреждение кабеля Еthernet);

– программные ошибки: ни одно программное обеспечение не является безупречным. Микропрограмма сетевого оборудования или программного обеспечения компьютера может содержать ошибки, которые могут привести к потере пакетов. В этом случае потребителю необходимо обратиться к поставщику оборудования.

Для обнаружения потери пакетов используются программные приложения, среди них популярные: ping устройств, утилита tcpdump.

Утилита tcpdump запускается с параметрами: -i eth0 для захвата основного сетевого интерфейса или с параметром: -c 10 для захвата только десяти пакетов (пример представлен на рис. 3).

Далее анализируются выходные данные с помощью специального программного обеспечения Wireshark [1; 6]:

  • 1.    Выбирается необходимый сетевой интерфейс, через который будет проводиться захват и анализ трафика (в нашем случае это интерфейс eth0).

  • 2.    При необходимости вводятся фильтры для корректного захвата трафика (чтобы не путаться в протоколах захваченного трафика, необходимо выбрать нужный протокол, в нашем случае это SMPP).

  • 3.    Указывается количество/размер дампа трафика, необходимого для анализа.

  • 4.    Наблюдается в режиме реального времени движение пакетов от источника к получателю, на основании чего можно осуществлять мониторинг сети с последующим обнаружением проблемных узлов.

Более наглядно это показано на рисунке 4.

etho Link encap:Ethernet HWaddr FO:92:1C:15:55:EO inet addr:192.168.11.4 Beast:192.168.11.255 Mask: 255. 255.255. 0

UP BROADCAST RUNNING MULTICAST mtu:15OO Metric:1

RX packets:23443187686 errors:147 dropped:0 overruns:0 frame:0

TX packets:15707958317 errors:0 dropped:0 overruns:0 carrier:0 collisions:О txqueuelen:1000

RX bytes:22272703037897 (20.2 TiB) TX bytes:2978289599431 (2.7 TiB)

ethl Link encap:Ethernet HWaddr FO:92:1C:15:55:E4

inet addr:192.168.12.4 Beast :192.168.12. 255 Mask : 255. 255.255. 0

up broadcast running multicast mtu:1500 Metric:1

RX packets:1124965784 errors:3020 dropped:0 overruns:0 frame:0

TX packets:412816539 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000

RX bytes:138316366261 (128.8 GiB) TX bytes:169085088922 (157.4 GiB)

I FermakovaSbill ~1$ ■________________________________________________________________

  • Рис. 3. Отображение интерфейсов сети с помощью команды tcpdump

    Рис. 4. Анализ захваченного трафика


Для устранения неполадок, связанных с потерей пакетов, можно использовать встроенные утилиты в ОС Windows и ОС Linux. Зачастую при наличии подробной карты сети стандартных приложений оказывается достаточно, чтобы понять, на каком из узлов сети наблюдаются неполадки. Системному администратору следует предпринять следующие шаги для устранения неисправности:

  • –    проверить соединение Ethernet между устройствами;

  • –    проверить действующее оборудование (маршрутизаторы, коммутаторы), возможно, устаревшее или неисправное, заменить;

  • –    при программной ошибке – исправить в коде программы, возможна перезагрузка, обновление или переустановка ПО;

  • –    при перегрузке сети – увеличить пропускную способность канала.

Список литературы Исследование передачи SMS-трафика в сети связи

  • Гетьман, А. И. Анализ сетевого трафика в режиме реального времени: обзор прикладных задач, подходов и решений / А. И. Гетьман, Е. Ф. Евстропов, Ю. В. Маркин / Препринт ИСП РАН. - Электрон. дан. - 28, 2015 г. - 52 с. - Режим доступа: https://www.ispras.ru/preprints/archives/prep_28_2015.php.
  • Дэвис, Д. Microsoft Windows Server 2003: протоколы и службы TCP/IP: техническое руководство / Д. Дэвис, Т. Ли. - М.: БИНОМ. Лаборатория знаний, 2005. - 749 с.
  • Олифер, В. Г. Компьютерные сети. Принципы, технологии, протоколы / В. Г. Олифер, Н. А. Олифер. - 5-е изд. - СПб.: Питер, 2016. - 992 с.
  • Таненбаум, Э. Компьютерные сети / Э. Таненбаум, Д. Уэзеролл. - 5-е изд. - СПб.: Питер, 2012. - 960 с.
  • Short Message Peer to Peer Protocol Specification v3.4 // SMPP Developers Forum. - Electronic data. - Document Version: 12-Oct-1999 Issue 1.2. - Mode of access: https://smpp.org/SMPP_v3_4_Issue1_2.pdf (date of access: 28.02.2022).
  • Wireshark: site. - 2022. - Mode of access: https://www.wireshark.org/ (date of access: 28.02.2022).
Статья научная