Understanding Sun RPC ALGs
Sun Microsystems Remote Procedure Call (Sun RPC)—also known as Open Network Computing Remote Procedure Call (ONC RPC)—provides a way for a program running on one host to call procedures in a program running on another host. Because of the large number of RPC services and the need to broadcast, the transport address of an RPC service is dynamically negotiated based on the service's program number and version number. Several binding protocols are defined for mapping the RPC program number and version number to a transport address.
Junos OS supports the Sun RPC as a predefined service and allows and denies traffic based on a security policy you configure. The Application Layer Gateway (ALG) provides the functionality for Juniper Networks devices to handle the dynamic transport address negotiation mechanism of the Sun RPC and to ensure program number-based security policy enforcement. You can define a security policy to permit or deny all RPC requests, or to permit or deny by specific program number. The ALG also supports route mode and Network Address Translation (NAT) mode for incoming and outgoing requests.
When an application or a PC client calls a remote service, it needs to find the transport address of the service. In the case of TCP/UDP, the address is a port number. A typical procedure for this case is as follows:
- The client sends the GETPORT message to the RPCBIND service on the remote machine. The GETPORT message contains the program number, and version and procedure number of the remote service it is attempting to call.
- The RPCBIND service replies with a port number.
- The client calls the remote service using the port number returned.
- The remote service replies to the client.
A client also can use the CALLIT message to call the remote service directly, without determining the port number of the service. In this case, the procedure is as follows:
- The client sends a CALLIT message to the RPCBIND service on the remote machine. The CALLIT message contains the program number and the version and procedure number of the remote service it attempting to call.
- RPCBIND calls the service for the client.
- RCPBIND replies to the client if the call has been successful. The reply contains the call result and the services's port number.
Related Topics
- Junos OS Feature Support Reference for SRX Series and J Series Devices
- Understanding RPC ALGs
- Enabling Sun RPC ALGs (J-Web Procedure)
- Enabling Sun RPC ALGs (CLI Procedure)
- Understanding Sun RPC Services
- Understanding Microsoft RPC ALGs
Hide Navigation Pane
Show Navigation Pane
Download
SHA1