TCP/IP сокеты
1 2 Липатов В. С. , Рукосуев А. С.
1Липатов Валентин Сергеевич /Lipatov Valentin Sergeevich - студент; 2Рукосуев Андрей Сергеевич /Rukosuev Andrew Sergeevich - студент, кафедра физики и прикладной математики, колледж инновационных технологий и предпринимательства, Владимирский государственный университет, г. Владимир
Аннотация: в статье рассматриваются средства межпроцессного взаимодействия, такие как TCP/IP сокеты. Кроме того статья содержит информацию по повышению безопасности при передаче данных и эффективности работы в современных условиях.
Ключевые слова: ЭВМ, IPC, socket, TCP/IP, процесс, безопасность, взаимодействие, улучшение, эффективность.
Межпроцессное взаимодействие используется для установления соединения сеансового уровня для выполнения транзакций или передачи данных между множеством потоков в одном или более процессах, запущенных на одном или более компьютерах, связанных между собой сетью. Для взаимодействия между машинами с помощью стека протоколов TCP/IP (Transmission Control Protocol / Internet Protocol) сокеты используют комбинацию IP-адреса (Internet Protocol) или DNS-адреса (Domain Name System) с номером порта (например, 127.0.0.1:2095) [3, c. 210].
SERVER CLIENT
socket()
n:
bind ()
n:
listen ()
in
accept()
I
Рис. 1. Организация TCP/IP соединения
На текущий момент TCP/IP сокеты являются самыми популярными средствами межпроцессного взаимодействия архитектуры клиент-сервер (рисунок 1) по причине большого количества API, обеспечивающих их поддержку во многих языках программирования, однако они не гарантируют безопасность при передаче данных и их применение ограничено определенными платформами.
Сущность данной проблемы состоит в том, что разработчики программного обеспечения при реализации межпроцессного взаимодействия через TCP/IP сокеты зачастую не уделяют должного внимания безопасности при передаче данных и подвергают опасности конфиденциальную информацию своих пользователей.
Однако работу TCP/IP сокетов можно улучшить, обеспечив дополнительную защиту при передаче конфиденциальных данных, таких как идентифицируемая личная информация, защищаемая медицинская информация, данные о владельце банковской карты, платежная, банковская или брокерская информация и т.д. Для этого следует использовать технологию HTTPS (HTTP over SSL) в сочетании с технологией SSL/TLS (Secure Sockets Layer/Transport Layer Security), реализованной посредством инфраструктуры с открытыми ключами доступа (PKI) (рисунок 2). Это гарантирует целостность транзакции и обеспечивает конфиденциальность информации [3, c. 187].
Рис. 2. Организация TCP/IP защищенного соединения с использованием SSL/TLS
Шифрование помогает организовать защиту данных, однако одновременно оно вносит дополнительные издержки, способные негативно повлиять на предоставляемое пользователю качество обслуживания. Кроме того, TCP/IP сокеты могут создавать трудности при разработке и конфигурировании, поэтому сотрудники группы разработки в организации должны обладать достаточным опытом и квалификацией.
Если помимо обеспечения дополнительной защиты при передаче конфиденциальных данных, улучшить характеристики серверных ЭВМ, можно увеличить передачу данных и обеспечить более быстрый отклик клиентский программы [4, c. 30].
Тем самым, если взять TCP/IP сокеты и доработать их с помощью технологий HTTPS и SSL/TLS, а также увеличить характеристики серверных ЭВМ, мы не только повысим надёжность передаваемых данных, но и обеспечим более удобную работу пользователей с приложением, что приведёт к оптимизации работы сервиса и увеличению числа пользователей.
Литература
1. Фейт Сидни. TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security). М.: Лори, 2000. 478 с.
2. Снейдер Йон. Эффективное программирование TCP/IP. М.: Питер, 2002. 320 с.
3. Стивенс Вильям. UNIX: взаимодействие процессов. М.: Питер, 2003. 520 с.
4. Холл Брайн. Руководство по Unix IPC, 2015. 53 с.