Generic Connection Brokering (GCB) is a firewall/NAT traversal solution that enables communications over firewall/NAT. It consists of daemon processes and a communication library that is supposed to be linked with applications. GCB enables connections into networks behind firewall/NAT by reversing the direction of the connections. Read Basic idea and/or How GCB works for detail.
GCB is an application layer approach that requires no change to the Internet(Basic idea explains this further). Therefore, it can be used without any change to the kernel, router, name server, firewall/NAT, etc. It supports both TCP and UDP communications. Working in between the application and socket system, GCB provides the same syntax and almost same semantics of Berkeley socket calls. See GCBnize for the semantics that are slightly changed. It is very easy to write (or change) your software to use GCB. Most cases, applications don't even need to be changed. You can make your legacy application without rewriting or relinking through an interpositon mechanism. GCBnize explains how to make your application GCB-enabled
Organizations have different network settings and require different levels of security. Furthermore, there are so many different types of firewalls/NATs and they are configured in different ways. Therefore, a single system can't support communications for all organizations and over all firewalls/NATs deployed today. Please read System Requirements and make sure that GCB supports your system and network setting without breaking any security requirement. If GCB is not a right system to use, then please check out our site that lists all the mechanisms we provide and see if you can find another system/solution that fits better to your situation and requirements.
It is essential to discuss the security impact of GCB because it enables communications that would be blocked otherwise and therefore may introduce new vulnerabilities to machines behind a firewall/NAT. You can find how secure GCB is at Security considerations