4.2 Client Probe with Probe-Match Replies

A host named \\client1 is a member of the Active Directory domain MyDomain. The host is connected to a single network, holding both an IPv4 address and an IPv6 address.

When the BITS Peer-Caching: Peer Discovery Protocol client initiates a discovery, the host sends the following message. Line 21 indicates that the search is for Peer Discovery servers, and line 25 indicates the scope to match (here, an Active Directory domain).

 (1) <?xml version="1.0" encoding="utf-8"?>
 (2) <soap:Envelope 
 (3)  xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
 (4)  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
 (5)  xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery"
 (6)  xmlns:msbits="http://schemas.microsoft.com/windows/2005/05/BITS/cache">
 (7)  <soap:Header>
 (8)    <wsa:To>
 (9)     urn:schemas-xmlsoap-org:ws:2005:04:discovery
 (10)   </wsa:To>
 (11)   <wsa:Action>
 (12)    http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe
 (13)   </wsa:Action>
 (14)   <wsa:MessageID>
 (15)    urn:uuid:7895122d-f9d6-4cb9-b819-872f24c271b9
 (16)   </wsa:MessageID>
 (17)  </soap:Header>
 (18)  <soap:Body>
 (19)   <wsd:Probe>
 (20)    <wsd:Types>
 (21)     msbits:PeerServer
 (22)    </wsd:Types>
 (23)    <wsd:Scopes 
 (24)     MatchBy="http://schemas.xmlsoap.org/ws/2005/04/discovery/rfc2396">
 (25)     http://mydomain.com
 (26)    </wsd:Scopes>
 (27)   </wsd:Probe>
 (28)  </soap:Body>
 (29) </soap:Envelope> 

The message is sent four times: twice to the IPv4 address 239.255.255.250 port 3702, and twice to the IPv6 address FF02::C port 3702. This follows the algorithm in Appendix I of [SOAP-UDP].

Two Peer Discovery servers in the same Active Directory domain and one in a different domain receive the Probe.

The host \\peer1 is a member of the MyDomain domain; after 150 milliseconds it replies with the following message:

 (1) <?xml version="1.0" encoding="utf-8"?>
 (2) <soap:Envelope 
 (3) xmlns:soap="http://www.w3.org/2003/05/soap-envelope" 
 (4) xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" 
 (5) xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery"
 (6) xmlns:msbits="http://schemas.microsoft.com/windows/2005/05/BITS/cache">
 (7)  <soap:Header>
 (8)   <wsa:To>
 (9)    http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
 (10)  </wsa:To>
 (11)  <wsa:Action>
 (12)  http://schemas.xmlsoap.org/ws/2005/04/discovery/ProbeMatches
 (13)  </wsa:Action>
 (14)  <wsa:MessageID>
 (15)   urn:uuid:769dfff7-e778-4506-a764-0cbb26cb0f60
 (16)  </wsa:MessageID>
 (17)   <wsa:RelatesTo>
 (18)    urn:uuid:7895122d-f9d6-4cb9-b819-872f24c271b9
 (19)   </wsa:RelatesTo>
 (20)   <wsd:AppSequence
 (21)    InstanceId="1168888181" 
 (22)    MessageNumber="434">
 (23)   </wsd:AppSequence>
 (24)  </soap:Header>
 (25) <soap:Body>
 (26)  <wsd:ProbeMatches>
 (27)   <wsd:ProbeMatch>
 (28)    <wsa:EndpointReference>
 (29)     <wsa:Address>
 (30)      uuid:FDEFC35B-3B18-4E1C-B970-09F811D00304
 (31)     </wsa:Address>
 (32)     <msbits:Fqdn>
 (33)      peer1.mydomain.com
 (34)     </msbits:Fqdn>
 (35)     <msbits:version>
 (36)      1
 (37)     </msbits:version>
 (38)    </wsa:EndpointReference>
 (39)    <wsd:Types>
 (40)     msbits:PeerServer
 (41)    </wsd:Types>
 (42)    <wsd:Scopes>
 (43)     http://mydomain.com
 (44)    </wsd:Scopes>
 (45)    <wsd:XAddrs>
 (46)     https://[2001:4898:2c:2:dc2c:a67c:68ed:4c0b]
 (47)     https://192.168.1.20
 (48)    </wsd:XAddrs>
 (49)    <wsd:MetadataVersion>
 (50)     1
 (51)    </wsd:MetadataVersion>
 (52)   </wsd:ProbeMatch>
 (53)  </wsd:ProbeMatches>
 (54) </soap:Body>
 (55) </soap:Envelope> 

The UUID in line 18 matches the one in line 15 of the Probe. Line 33 reflects the host's FQDN, line 43 reflects the host's Active Directory domain, and lines 46-47 contain the host's IP addresses.

The host \\peer2 is a member of the MyDomain domain; after 800 milliseconds it replies with the following message:

 (1) <?xml version="1.0" encoding="utf-8"?>
 (2) <soap:Envelope 
 (3)  xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
 (4)  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
 (5)  xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery" 
 (6)  xmlns:msbits="http://schemas.microsoft.com/windows/2005/05/BITS/cache">
 (7)  <soap:Header>
 (8)   <wsa:To>
 (9)    http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
 (10)  </wsa:To>
 (11)  <wsa:Action>
 (12)   http://schemas.xmlsoap.org/ws/2005/04/discovery/ProbeMatches
 (13)  </wsa:Action>
 (14)  <wsa:MessageID>
 (15)   urn:uuid:a7eb1f92-cc38-434a-a619-bcb0f6a85de4
 (16)  </wsa:MessageID>
 (17)  <wsa:RelatesTo>
 (18)   urn:uuid:7895122d-f9d6-4cb9-b819-872f24c271b9
 (19)  </wsa:RelatesTo>
 (20)  <wsd:AppSequence 
 (21)   InstanceId="1168539790" 
 (22)   MessageNumber="666">
 (23)  </wsd:AppSequence>
 (24)  </soap:Header>
 (25)  <soap:Body>
 (26)   <wsd:ProbeMatches>
 (27)    <wsd:ProbeMatch>
 (28)     <wsa:EndpointReference>
 (29)      <wsa:Address>
 (30)       uuid:80991AC9-6A0F-440D-9ACB-45D48F1A2D7F
 (31)      </wsa:Address>
 (32)      <msbits:Fqdn>
 (33)       peer2.mydomain.com
 (34)      </msbits:Fqdn>
 (35)      <msbits:version>
 (36)       1
 (37)      </msbits:version>
 (38)     </wsa:EndpointReference>
 (39)     <wsd:Types>
 (40)      msbits:PeerServer
 (41)     </wsd:Types>
 (42)     <wsd:Scopes>
 (43)      http://mydomain.com
 (44)     </wsd:Scopes>
 (45)     <wsd:XAddrs>
 (46)      https://[2001:4898:2c:2:2cc8:dae1:1bfb:4aea]
 (47)      https://192.168.1.21
 (48)     </wsd:XAddrs>
 (49)     <wsd:MetadataVersion>
 (50)      1
 (51)     </wsd:MetadataVersion>
 (52)    </wsd:ProbeMatch>
 (53)   </wsd:ProbeMatches>
 (54)  </soap:Body>
 (55) </soap:Envelope>

The host \\products is a member of a different Active Directory domain. Line 25 of the Probe message fails to match the host's own WS-Discovery scope, and so the Probe is discarded without response.