다중 홈 WSD 디바이스 구현

WS-Discovery 및 DPWS( 웹 서비스용 디바이스 프로필 )는 다중 홈 디바이스의 구현을 설명하지 않습니다. 이 항목에서는 WSDAPI의 다중 홈 디바이스 지원에 대해 설명하고 클라이언트 및 디바이스 개발자에게 구현 권장 사항을 제공합니다. 이 항목에서는 검색 메시지가 동일한 메시지 ID 및 애플리케이션 시퀀싱 정보를 사용하여 IPv4 및 IPv6(사용 가능한 경우)를 통해 전송되는 것으로 가정합니다.

다중 홈 환경에서 검색

추가 WS-Discovery 기능HelloXAddrs 섹션에서 설명한 대로 WSDAPI는 Hello 메시지에 XAddrs를 제공하지 않습니다. 즉, 동일한 메시지 ID 및 애플리케이션 시퀀싱 정보를 사용하여 모든 네트워크 인터페이스에서 동일한 Hello 메시지를 보낼 수 있습니다. 이렇게 하면 클라이언트와 디바이스가 둘 이상의 서브넷을 공유할 때 클라이언트 충돌 감지가 동일한 디바이스에서 여러 Hello 메시지를 더 쉽게 삭제할 수 있습니다.

XAddrsHello 메시지에서 전송되지 않으므로 클라이언트 구현에서 Resolve 메시지를 보내 관련 디바이스 주소를 가져와야 합니다. 확인은 동일한 메시지 ID를 가진 모든 클라이언트 인터페이스에서 전송되어야 하며 디바이스는 필요에 따라 중복 메시지를 필터링해야 합니다. 확인 메시지에 동일한 메시지 ID를 사용하면 디바이스가 필요한 경우 클라이언트와 통신하기 위한 기본 인터페이스를 선택할 수 있습니다.

ResolveMatch 메시지를 보낼 때 디바이스는 메시지를 유니캐스팅하는 네트워크 인터페이스와 관련된 XAddrs를 제공해야 합니다. 이 방법은 여러 클라이언트 연결 시도 및 복잡한 재시도 논리를 방지하는 데 도움이 됩니다.

다중 홈 환경에서 메타데이터 교환

다중 홈 환경에서 메타데이터 교환을 구현하는 것은 메타데이터 버전 관리로 인해 검색을 구현하는 것보다 더 어렵습니다. 클라이언트가 여러 인터페이스를 통해 메타데이터를 요청하는 경우 클라이언트는 다른 인터페이스를 통해 여러 GetResponse 메시지를 받을 수 있습니다. 이러한 GetResponse 메시지에는 동일한 메타데이터 버전이 있는 서로 다른 관계 메타데이터 섹션이 포함될 수 있습니다. 이렇게 하면 메타데이터 버전 번호의 값이 줄어듭니다.

서비스에 대한 모든 주소로 응답하여 단일 GetResponse 메시지를 보내는 대체 방법이 있습니다. 이 방법의 단점은 간접적으로 액세스 가능한 네트워크의 토폴로지와 같은 개인 정보가 공개될 수 있다는 것입니다.

Windows Vista에서 WSDAPI에서 제공하는 메타데이터에는 메타데이터 요청이 수신된 인터페이스에 유효한 주소만 포함됩니다.