NACK-Oriented Proxy (NORP)
NORP is open source software created by the NRL PROTocol Engineering Advanced Networking (PROTEAN) Research Group. NORP includes software for an RFC 1928 SOCKS5-compatible proxy server daemon that is able to use the RFC 5740 NACK-Oriented Reliable Multicast (NORM) transport protocol (specifically the NRL NORM implementation) for efficient and robust data transfer between NORP proxy instances. NORP automatically supports conventional SOCKS TCP proxy operation when a remote NORP peer is unavailable.
NORM includes a flexible API allowing developers to implement it in their applications. For the end user, however, adding protocols like NORM (even unicast mode) into existing applications is costly, time-consuming, and sometimes impossible. NORP is designed to avoid this by proxying existing TCP-based (and potentially UDP-based) applications without modifying them. NORP uses the SOCKS5 protocol to intercept TCP connections and mediate them to remote destinations using the NORM protocol.
The SOCKS5 capability is available on a large set of end host systems and requires no modification to the actual end system software applications (software such as Dante can be used to direct the application's traffic to a specified server/port). The NORP software daemon allows for multiple deployment models including, in its simplest form, a small software installation on the client and server platforms for which NORM transport enhancement is desired. An example of a traditional SOCKS-enhanced deployment across a network to support NORM-enabled end system connection proxying is shown below.
The NORP source code is available on GitHub (norp subdirectory). Older releases are available from: here.