Сетевое оборудование является важной частью торговой системы. Через сеть ваша торговая система связывается с биржей для передачи ордеров и получает рыночные данные, связывается по сети с другими компонентами. Разумеется, сетевое оборудование вносит свою лепту в общее время задержек. Поэтому важно знать, как работает сетевое оборудование, какие параметры влияют на величину задержек и как надо писать программы, чтобы сетевые задержки были минимальными.
В данной заметке я перечислю несколько очень полезных книг, которые помогут восполнить пробелы и дадут важную информацию о сетях вообще, Ethernet-сетях в частности, TCP/UPD и IP протоколах и о том, как писать сетевые приложения в Java наиболее оптимальным способом.
Что надо знать о сетях
В торговых приложениях сетевые компоненты соединяются друг с другом по Ethernet-сетям. Для минимизации задержек при передаче данных специалисты выбирают самый быстрый доступный сейчас протокол: 10 Гб/c. Эта скорость Ethernet-подключения — максимальное, что сейчас биржи предлагают на колокейшн. Есть уже планы перехода на 40 Гб/с, но пока сетевое оборудование с такими скоростями дорогое, и не оправдывает вложений.
Поверх Ethernet данные передаются по протоколу TCP/IP. UDP/IP используется чаще для передачи данных уже между компонентами торговой системы, чтобы компоненты не тратили время на ожидание подтверждения пакетов данных. Например, это делается при передаче рыночных данных от Market-data сервера торговому серверу.
Итак, список технологий, с которыми вам надо ознакомиться:
- ISO-уровни сетевых протоколов
- Протокол Ethernet и как он работает. Сетевое оборудование: коммутаторы, роутеры, чем они отличаются друг от друга, как работают коммутаторы и как они поддерживают протокол Ethernet
- протокол IP
- протоколы TCP и UDP
- реализация стека TCP/UDP и /IP в операционной системе Linux; реализация TCP-offload и kernel-bypass технологий для снижения сетевых задержек внутри операционной системы
- поддержка работы с сетью в Java
Книги
Ethernet Switches
Ethernet: The Definitive Guide, 2nd Edition
Эти две книги — замечательное введение в тему Ethernet-коммутации.
Arista Warrior: A Real-World Guide to Understanding Arista Switches and EOS

Отличная книга, которая рассказывает, как работают Ethernet-коммутаторы, от производителя коммутаторов Arista. Эти коммутаторы стараются конкурировать с коммутаторами Cisco, и потому в книге объясняется почему Arista лучше, чем Cisco, и в чем именно.
В июле 2019 года вышло второе издание этой книги.
TCP/IP Illustrated, Vol. 1: The Protocols

Классическая классика. Все, что вам хотелось (и не хотелось) знать о TCP/IP протоколе. Знатоки советуют читать именно первое издание этого двухтомника, так как по их утверждениям, второе издание перемудрило с текстом.
TCP/IP Sockets in Java: Practical Guide for Programmers, 2nd Edition

Сетевое программирование уже с точки зрения Java. Фундаментальная книга, где очень подробно рассказывается про протокол TCP/IP и про реализацию сетевого соединения в Java, как в старом стиле I/O, так и в новом стиле: NIO. Еще более подробно на эту тему — бессмертная книга Java NIO.