1.3 Overview
A queue manager can be run in one of two roles—either running the MSMQ Directory Service or not running the MSMQ Directory Service. A queue manager that is not running the MSMQ Directory Service uses the Message Queuing (MSMQ): Directory Service Discovery Protocol (MQSD) to obtain a current list of network-accessible queue managers running the MSMQ Directory Service.<1> After an MSMQ Directory Service has been located, other protocols are used to obtain MSMQ configuration information such as queues and machine names containing MSMQ installations.
MQSD clients obtain a list of queue managers that provide the MSMQ Directory Service by broadcasting (via a connectionless transport) a TopologyClientRequest (section 2.2.2) packet and by receiving TopologyServerReply (section 2.2.3) packets. A TopologyClientRequest packet contains a unique identifier of the enterprise site of which the MQSD client is a member,<2> a unique correlation identifier for the request, and an identifier of the current MSMQ site (if any) of which the client is a member.<3> A TopologyServerReply packet contains the unique request correlation identifier assigned by the MQSD client and a list of known queue managers that provide the MSMQ Directory Service. In the case in which the MQSD client is already a member of the same MSMQ site as the responding MQSD server, the TopologyServerReply packet does not contain a list of queue managers that provide the MSMQ Directory Service.