The best advice I can give is to use sockets....., try a component set dedicated to TCP/UDP.

Delphi Fundamentals comes to mind, however I don't know what or if it has anything available concerning routers and such.