Обычно никаких, порты внутри сети открыты, IP-адреса статические, и разумеется "белые" изнутри сети.
Все, что нужно (я рассказываю о TCP и протоколах на его основе как о применяемых в 99.99% случаях), это чтобы был один сервер, где программно можно получить IP вида 192.168.x.x, а на других ПК был установлен "клиент", то есть программа которая как-то будет знать этот IP, и к нему подключится.
Ethernet или Wi-Fi - не важно, TCP от них абстрактен.
Правда, не все так просто, все равно остаются те же проблемы что и в интернете, нужен довольно сложный алгоритм для надежной передачи данных, чтобы если совпадет время передачи с "обрывом", то не было "вылета" и по возможности не было потери данных, но в локальной сети это гораздо реже, поэтому с определенным риском можно и пренебречь, в то время как в интернете слишком простой сервер может и суток не проработать.
Пожалуй, применение HTTP вместо TCP сильно упростит задачу, поскольку на клиентской стороне будет библиотека, абстрагирующая от TCP, а на сервере вовсе готовый Web-сервер вроде Apache или nginx.