Я бы начал изучение разработки для сети с изучения C/C++ в качестве языка. Rust, на мой взгляд, для людей, которые уже попробовали это на других языках. Да и уровень входа, для освоения какого нибудь tokio способен напрочь убить и желание вести разработку для сети, и интерес к самому языку, если адепт сильно начинающий. Познакомится с Go можно, но много чего в нем реализованно из коробки, и мотивации лезть под капот не всем хватает.
Далее стоит посмотреть на устройство tcp/ip в часности, и модель OSI в целом. На практике освоить api для работы с tcp соединениями и udp датаграммами. Здесь замечательная книжка Стивенса "Unix: разработка сетевых приложений" вам в помощ.
Далее можно, в качестве тренировки, реализовать собственный протокол взаимодействия, используя tcp или udp в качестве транспорта. Protobuf можно попробовать, но после полноценной попытки запилить свой прикладной протокол руками, правда это чисто мое мнение, которого вы придерживаться совсем не обязаны. :)
Далее можно пристальнее посмотреть на тему специфики выбранной вами платформы и инструментов.
И только теперь можно взглянуть на другие языки. :)
Примерно такой план изучения данной темы я бы вам посоветовал. :)