Исследование передачи 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).