TCP IP Illustrated

3 pmapprocgetport called by an rpc client on startup

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: d UDP, the name of the port mapper in systems using TI-RPC (SVR4 and Solaris 2.2, for example) has become rpcbind. We'll continue to use the more familiar name of port mapper. Naturally, the port mapper itself must have a well-known port: UDP port 111 and TCP port 111. The port mapper is also just an RPC server program. It has a program number (100000), a version number (2), a TCP port of 111, and a UDP port of 111. Servers register themselves with the port mapper using RPC calls, and clients query the port mapper using RPC calls. The port mapper provides four server procedures: 1. PMAPPROC_SET. Called by an RPC server on startup to register a program number, version number, and protocol with a port number. 2. PMAPPROCJJNSET. Called by server to remove a previously registered mapping. 3. PMAPPROC_GETPORT. Called by an RPC client on startup to obtain the port number for a given program number, version number, and protocol. 4. PMAPPROC_DUMP. Returns all entries (program number, version number, protocol, and port number) in the port mapper database. When an RPC server program starts, and is later called by an RPC client program, the file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/nfs_netw.htm (5 of 23) [12/09/2001 14.47.56] Chapter 29. NFS: Network File System following steps take place. 1. The port mapper must be started first, normally when the system is bootstrapped. It creates a TCP end point and does a passive open on TCP port 111. It also creates a UDP end point and waits for a UDP datagram to arrive for UDP port 111. 2. When the RPC server program starts, it creates a TCP end point and a UDP end point for each version of the program that it supports. (A given RPC program can support multiple versions. The client specifies which version it wants when it calls a server procedure.) An ephemeral port number is bound to both end points. (It doesn't matter whether the TCP port number is the same or different from the UDP port number.) T...
View Full Document

Ask a homework question - tutors are online