Для начала надо хорошо знать, как устроена модель сетевого взаимодействия OSI и определить на каких уровнях этой модели будет работать ваш сервис. Затем определиться с архитектурой (клиент-серверная, веб-приложение), нарисовать компоненты системы, и описать их взаимодействие. Выбрать среду разработки и язык, на которых будут написаны компоненты системы, и уже только после этого приступать к программированию. Для этого этапа желательно иметь хотя бы базовый уровень владения одним из языков программирования. А дальше - продолжать изучение и языка, и сетевых протоколов можно уже в процессе создания продукта.