This is a registry of the Rx service ID codes used for various Rx-based application services. These codes are used to differentiate requests for different Rx services operating on the same UDP endpoint, and it is common for the same service ID to be reused for several services running on different UDP ports. As a result, both the UDP port number and Rx service ID must be used to identify a particular service.
This registry includes three lists, intended to serve different purposes. The first is a list of reserved service ID's and "universal" service ID's in the range 32768 - 49151, which are reserved on all ports. The second is an authoritative list of Rx protocols used in AFS, and the third list is a non-authoritative index of other Rx-based application protocols.
To facilitiate protocols like the Ubik distributed database protocol which are designed to coexist on the same UDP port with another RX-based application, service ID's in the range 32768 - 49151 and certain other ID's are reserved on all ports. Below is an authoritative registry of such "universal" services and reserved service ID's.
Port | Svc | Package | Description |
---|---|---|---|
ALL | 0 | Reserved | |
ALL | 50 | VOTE_ | Ubik vote/quorum |
ALL | 51 | DISK_ | Ubik disk I/O |
ALL | 52 | Ubik application | |
ALL | 409 | RXSTATS_ | rx statistics |
ALL | 34567 | rxgk security negotiation | |
ALL | 32768 - 49151 | Reserved - universal services | |
ALL | 64512 - 65535 | Reserved - site local use |
The following is an authoritative list of all Rx services used in the AFS protocols. It serves to provide an index to rx protocols for AFS implementors, and to avoid conflicts between services running on UDP ports used by AFS.
Port | Svc | Package | Description |
---|---|---|---|
7000 | 1 | RXAFS_ | fileserver |
7001 | 1 | RXAFSCB_ | cache manager callback |
7002 | 73 | PR_ | pts database |
7003 | 52 | VL_ | volume location |
7004 | 731 | KAA_ | kaserver auth |
7004 | 732 | KAT_ | kaserver tgs |
7004 | 733 | KAM_ | kaserver admin |
7005 | 4 | AFSVol | volume management |
7007 | 1 | BOZO_ | Basic OverSeer |
7008 | 4 | UPDATE_ | software update |
7009 | 4 | RMTSYS_ | remote syscall |
7021 | 22314 | BUDB_ | backup database |
7025 | 1 | TC_ | tape controller (7025+offset) |
7100 | 60289 | RXKST_ | rxkad stress test |
? | 1 | RXAFSCB_ | callback on all fs client ports |
The following is an index of other known Rx services; it is provided for reference only, and is not an authoritative list. Authors of Rx-using application protocols are encouraged to obtain a UDP port assignment from the Internet Assigned Numbers Authority (IANA), and to provide details to the AFS assigned numbers registrar for inclusion in this list.
Port | Svc | Package | Description |
---|---|---|---|
5001 | 1 | TDB_ | Stage tape database |
6197 | 23 | tt_ | Stage remote control (tos) |
7000 | 99 | HAFS_ | hostafs control |
Service ID 0 is reserved and must not be used.
Service ID's 32768 through 49151, inclusive, are reserved for future "universal" services which may be present on any port. An ID in this range may be obtained via the AFS assigned numbers registrar.
Service ID's 64512 through 65535, inclusive, are reserved for private and local use within a site.
New AFS application services will be allocated in cases where it is the concensus of the AFS development community that it is necessary to extend the protocol suite by adding a new service whose definition and procedure number allocations are coordinated by a central authority.
New universal service ID's will be allocated when there is a demonstrated need for a service ID which will not conflict with other services on any port. Such services need not necessarily be related to the AFS protocols.
Any request for registration of a universal or AFS application service must be accompanied by a description of the interface to be provided by the new service, including procedure numbers, arguments, and any structure definitions, constants, or other information needed to implement the interface. It is requested that this documentation include an rx interface specification file (.xg file) which may be freely modified and published as the basis for the procedure registry for the new service.
Other application service ID's will be registered on request. While the registrar will not assign ID's or insure their uniqueness, advice may be provided on the choice of a service ID.
The Rx protocol is layered on top of UDP, and thus any Rx service must listen on some UDP port. While service ID's may be used to multiplex more than one service on the same port (normally when multiple services are provided by the same process), they do not serve as a substitute for proper registration of the UDP ports used. Developers of new Rx-based protocols are encouraged to register the UDP ports they use with the Internet Assigned Numbers Authority, which maintains a list of known UDP port assignments.