While GIOP is defined to meet general-purpose needs of most CORBA implementations, an ESIOP attempts to address special requirements.
For example, an ESIOP might use an alternative protocol encoding to improve efficiency over networks with limited bandwidth or high latency.
ESIOPs can also be used to layer CORBA on top of some non-CORBA technology stack, such as Distributed Computing Environment (DCE).
IIOP is a mapping of GIOP messages to the TCP/IP layer for use over the Internet, while SSLIOP provides encryption and authentication.
An ESIOP can use an alternative protocol encoding to improve efficiency over networks with limited bandwidth or high latency, or can be used to layer CORBA on top of non-CORBA technologies such as DCE.