@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/windows-name-resolution-order-hosts-dns-cache-llmnr-mdns-doh/#article>
    schema:about <https://comcomponent.com/knowledge/windows-dns-client-service/>, <https://comcomponent.com/knowledge/dns-resolver-cache/>, <https://comcomponent.com/knowledge/single-label-name/>, <https://comcomponent.com/knowledge/llmnr/>, <https://comcomponent.com/knowledge/doh-windows-dns-client/> ;
    schema:mentions <https://comcomponent.com/knowledge/hosts-file/>, <https://comcomponent.com/knowledge/negative-dns-cache/>, <https://comcomponent.com/knowledge/dns-suffix-search-list/>, <https://comcomponent.com/knowledge/dns-client-retry-timeout/>, <https://comcomponent.com/knowledge/smart-multihomed-name-resolution/>, <https://comcomponent.com/knowledge/nrpt/>, <https://comcomponent.com/knowledge/mdns/>, <https://comcomponent.com/knowledge/netbios-over-tcpip/>, <https://comcomponent.com/knowledge/turn-off-multicast-name-resolution-policy/>, <https://comcomponent.com/knowledge/known-doh-server-list/>, <https://comcomponent.com/knowledge/require-doh-policy/>, <https://comcomponent.com/knowledge/edge-built-in-dns-client/>, <https://comcomponent.com/knowledge/browser-secure-dns/>, <https://comcomponent.com/knowledge/nslookup/>, <https://comcomponent.com/knowledge/resolve-dnsname/>, <https://comcomponent.com/knowledge/getaddrinfo/>, <https://comcomponent.com/knowledge/dns-gethostaddresses/>, <https://comcomponent.com/knowledge/ipv6-address-preference/>, <https://comcomponent.com/knowledge/disabledcomponents-prefer-ipv4/>, <https://comcomponent.com/knowledge/fqdn-destination/>, <https://comcomponent.com/knowledge/name-resolution-config-dump/>, <https://comcomponent.com/knowledge/name-resolution-logging/>, <https://comcomponent.com/knowledge/partial-pc-name-resolution-failure/>, <https://comcomponent.com/knowledge/name-resolution-delay/>, <https://comcomponent.com/knowledge/ipconfig-flushdns/>, <https://comcomponent.com/knowledge/get-dnsclientcache/>, <https://comcomponent.com/knowledge/browser-app-name-resolution-mismatch/>, <https://comcomponent.com/knowledge/wins/>, <https://comcomponent.com/knowledge/business-app-destination-config/>, <https://comcomponent.com/knowledge/wireshark/>, <https://comcomponent.com/knowledge/group-policy/>, <https://comcomponent.com/knowledge/microsoft-edge/>, <https://comcomponent.com/knowledge/active-directory/> .

<https://comcomponent.com/knowledge/windows-dns-client-service/> a skos:Concept ;
    skos:prefLabel "DNSクライアントサービス"@ja ;
    skos:definition "getaddrinfoなどWindows DNS APIの下で名前解決を担うサービス。キャッシュ(hostsを含む)→DNSサーバー→単一ラベル名のときだけLLMNR・NetBIOSの優先順位で解決し(既定ではDNSとリンクローカルは並行に問い合わせる。.local名には設定済みDNSに加えてmDNSの経路も加わる)、肯定・否定どちらの応答もキャッシュする。"@ja ;
    skos:altLabel "Dnscache" ;
    skos:altLabel "DNS Client service" ;
    skos:altLabel "Windowsのリゾルバー"@ja ;
    ks:uses <https://comcomponent.com/knowledge/dns-resolver-cache/> ;
    ks:uses <https://comcomponent.com/knowledge/dns-client-retry-timeout/> ;
    ks:verifiedBy <https://comcomponent.com/knowledge/wireshark/> .

<https://comcomponent.com/knowledge/dns-resolver-cache/> a skos:Concept ;
    skos:prefLabel "DNSリゾルバーキャッシュ"@ja ;
    skos:definition "DNSクライアントサービスが保持するローカルのキャッシュ。サービス起動時にhostsファイルの内容が読み込まれ、DNS応答はTTLのあいだ保持される。ipconfig /displaydnsやGet-DnsClientCacheで表示できる。"@ja ;
    skos:altLabel "DNSクライアントキャッシュ"@ja ;
    skos:altLabel "DNSキャッシュ"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/get-dnsclientcache/> ;
    ks:verifiedBy <https://comcomponent.com/knowledge/resolve-dnsname/> .

<https://comcomponent.com/knowledge/single-label-name/> a skos:Concept ;
    skos:prefLabel "単一ラベル名"@ja ;
    skos:definition "server01のように点を含まない名前。DNSサフィックスで補完されてからDNSに送られ、既定ではDNSと並行に(最適化無効時はDNS失敗後に)LLMNRやNetBIOSブロードキャストといった同一サブネット限定の手段も試される(WINSが構成されていればNetBIOSはサブネットを越えられる)ため、PCの設定とネットワークで結果が変わる。"@ja ;
    skos:altLabel "フラット名"@ja ;
    skos:altLabel "flat name" ;
    skos:altLabel "点を含まない名前"@ja ;
    ks:uses <https://comcomponent.com/knowledge/dns-suffix-search-list/> .

<https://comcomponent.com/knowledge/llmnr/> a skos:Concept ;
    skos:prefLabel "LLMNR"@ja ;
    skos:definition "DNSサーバーもDNSクライアントの構成も要らず、単一サブネット上のリンクにUDP 5355のマルチキャストで問い合わせる二次的な名前解決プロトコル(TCP 5355は切り詰められた応答などのユニキャストのやり取りに使う)。単一ラベル名の問い合わせに、既定ではDNSと並行して使われる。"@ja ;
    skos:altLabel "Link-Local Multicast Name Resolution" ;
    skos:altLabel "リンクローカルマルチキャスト名前解決"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/resolve-dnsname/> .

<https://comcomponent.com/knowledge/doh-windows-dns-client/> a skos:Concept ;
    skos:prefLabel "Windows DNSクライアントのDoH"@ja ;
    skos:definition "Windows 11 / Windows Server 2022以降のDNSクライアントが、設定済みDNSサーバーへの問い合わせをHTTPSで送る機能。hosts・NRPT・アダプターごとのリゾルバー指定といった既存の構成と統合され、順序は変えない。"@ja ;
    skos:altLabel "DNS over HTTPS" ;
    skos:altLabel "DoH" ;
    skos:altLabel "暗号化DNS"@ja ;
    ks:uses <https://comcomponent.com/knowledge/hosts-file/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/group-policy/> .

<https://comcomponent.com/knowledge/dns-gethostaddresses/> a skos:Concept ;
    skos:prefLabel "Dns.GetHostAddresses"@ja ;
    skos:definition ".NETの名前解決API。基盤となるOSの名前解決API(Windowsではgetaddrinfo)で実装され、hostsファイルに記述されたホストはDNSサーバーに問い合わせずそのアドレスが返る。HttpClientもこの上で動く。"@ja ;
    skos:altLabel "System.Net.Dns" ;
    skos:altLabel "HttpClientの名前解決"@ja ;
    ks:uses <https://comcomponent.com/knowledge/getaddrinfo/> .

<https://comcomponent.com/knowledge/getaddrinfo/> a skos:Concept ;
    skos:prefLabel "getaddrinfo"@ja ;
    skos:definition "Winsockのホスト名からアドレスへの変換関数。NS_DNS名前空間に対してDNS・ローカルのhostsファイル・その他の仕組みで解決し、複数の名前空間プロバイダーの応答を集約して返す。"@ja ;
    skos:altLabel "GetAddrInfoW" ;
    skos:altLabel "Winsockの名前解決API"@ja ;
    ks:uses <https://comcomponent.com/knowledge/windows-dns-client-service/> ;
    ks:uses <https://comcomponent.com/knowledge/ipv6-address-preference/> .

<https://comcomponent.com/knowledge/hosts-file/> a skos:Concept ;
    skos:prefLabel "hostsファイル"@ja ;
    skos:definition "名前とIPアドレスの対応を手書きするテキストファイル。Windowsではサービス起動時にDNSリゾルバーキャッシュへ読み込まれ、該当する名前はDNSサーバーに問い合わせずに解決される。"@ja ;
    skos:altLabel "hosts" ;
    skos:altLabel "%SystemRoot%\\System32\\drivers\\etc\\hosts" ;
    ks:storedIn <https://comcomponent.com/knowledge/dns-resolver-cache/> ;
    ks:verifiedBy <https://comcomponent.com/knowledge/resolve-dnsname/> .

<https://comcomponent.com/knowledge/negative-dns-cache/> a skos:Concept ;
    skos:prefLabel "否定応答のキャッシュ"@ja ;
    skos:definition "DNSサーバーが「名前が存在しない」と答えた否定応答をクライアントがキャッシュに保持する仕組み。既定の保持時間は5秒(MaxNegativeCacheTtl)で、ipconfig /displaydnsには「Name does not exist」と表示される。"@ja ;
    skos:altLabel "ネガティブキャッシュ"@ja ;
    skos:altLabel "MaxNegativeCacheTtl" ;
    skos:altLabel "Name does not exist" ;
    ks:storedIn <https://comcomponent.com/knowledge/dns-resolver-cache/> .

<https://comcomponent.com/knowledge/ipconfig-flushdns/> a skos:Concept ;
    skos:prefLabel "ipconfig /flushdns / Clear-DnsClientCache"@ja ;
    skos:definition "DNSクライアントリゾルバーキャッシュの内容を、否定応答の項目も含めてすべて破棄するコマンド。Clear-DnsClientCacheはipconfig /flushdnsと同等。"@ja ;
    skos:altLabel "Clear-DnsClientCache" ;
    skos:altLabel "キャッシュのクリア"@ja ;
    ks:mitigates <https://comcomponent.com/knowledge/negative-dns-cache/> .

<https://comcomponent.com/knowledge/get-dnsclientcache/> a skos:Concept ;
    skos:prefLabel "Get-DnsClientCache / ipconfig /displaydns"@ja ;
    skos:definition "DNSクライアントリゾルバーキャッシュの内容(hostsから読み込んだ項目と最近解決したレコード)を表示するコマンド。Get-DnsClientCacheは名前やレコード種別で絞り、残りTTLを見られる。"@ja ;
    skos:altLabel "ipconfig /displaydns" ;
    skos:altLabel "キャッシュの表示"@ja .

<https://comcomponent.com/knowledge/resolve-dnsname/> a skos:Concept ;
    skos:prefLabel "Resolve-DnsName"@ja ;
    skos:definition "DnsClientモジュールのコマンドレットで、Windows DNS APIを通して名前を解決する。-CacheOnly・-NoHostsFile・-DnsOnly・-LlmnrOnly・-NetbiosFallback・-Server・-Typeで、どの層を使うかを選べる。"@ja ;
    skos:altLabel "Resolve-DnsNameコマンドレット"@ja .

<https://comcomponent.com/knowledge/nslookup/> a skos:Concept ;
    skos:prefLabel "nslookup"@ja ;
    skos:definition "DNSサーバーに直接問い合わせる診断ツール。OSのリゾルバーライブラリを使わず、ローカルのDNSキャッシュ・hostsファイル・NRPTを迂回し、設定の先頭のDNSサーバーにしか問い合わせない。"@ja ;
    ks:incompatibleWith <https://comcomponent.com/knowledge/dns-resolver-cache/> ;
    ks:incompatibleWith <https://comcomponent.com/knowledge/nrpt/> .

<https://comcomponent.com/knowledge/nrpt/> a skos:Concept ;
    skos:prefLabel "名前解決ポリシーテーブル(NRPT)"@ja ;
    skos:definition "名前空間ごとに使うDNSサーバーやDirectAccess・DNSSECの設定を指定する表。Windows DNS APIを使うアプリだけが利用でき、nslookupなど独自のDNS実装は迂回する。Get-DnsClientNrptPolicy -Effectiveで実効ポリシーを確認する。"@ja ;
    skos:altLabel "NRPT" ;
    skos:altLabel "Name Resolution Policy Table" ;
    ks:verifiedBy <https://comcomponent.com/knowledge/resolve-dnsname/> .

<https://comcomponent.com/knowledge/dns-suffix-search-list/> a skos:Concept ;
    skos:prefLabel "DNSサフィックス検索リスト"@ja ;
    skos:definition "点を含まない単一ラベル名にDNSサフィックスを付けてFQDNにする仕組み。検索リストがあればその順に、無ければプライマリDNSサフィックスと切り詰め、接続固有サフィックスが使われる。"@ja ;
    skos:altLabel "サフィックス検索リスト"@ja ;
    skos:altLabel "プライマリDNSサフィックス"@ja ;
    skos:altLabel "接続固有のDNSサフィックス"@ja ;
    skos:altLabel "名前の切り詰め(devolution)"@ja .

<https://comcomponent.com/knowledge/name-resolution-delay/> a skos:Concept ;
    skos:prefLabel "名前解決の遅延"@ja ;
    skos:definition "名前解決が失敗はしないが数秒かかる症状。無応答のDNSサーバーへの再送、4番目以降のサーバーへの4秒後の到達、長いサフィックス検索リストの順次展開で生じる。"@ja ;
    skos:altLabel "失敗ではなく遅い"@ja ;
    skos:altLabel "数秒待たされる"@ja .

<https://comcomponent.com/knowledge/dns-client-retry-timeout/> a skos:Concept ;
    skos:prefLabel "DNSクライアントの再送とタイムアウト"@ja ;
    skos:definition "DNSサーバーが無応答のときにWindowsのDNSクライアントが、問い合わせる名前1つあたり、開始から1秒・2秒・4秒・8秒の時点で再送し10秒で打ち切る規則。否定応答が返れば止まり、次のサーバーを試すのは無応答のときだけで、4番目以降のサーバーには4秒後まで届かない。サフィックス検索リストで候補が複数あれば全体の所要時間はこれを超える。"@ja ;
    skos:altLabel "DNSクライアントのタイムアウト"@ja ;
    skos:altLabel "1・2・4・8秒時点の再送"@ja .

<https://comcomponent.com/knowledge/smart-multihomed-name-resolution/> a skos:Concept ;
    skos:prefLabel "スマートマルチホーム名前解決"@ja ;
    skos:definition "複数のネットワークを持つPCで、DNS・LLMNR・NetBTの問い合わせを全ネットワークへ並行して出し、複数の肯定応答があればバインド順で採用する既定の動作。グループポリシー「スマート マルチホーム名前解決を無効にする」で直列にできる。"@ja ;
    skos:altLabel "Smart Multi-Homed Name Resolution" ;
    skos:altLabel "DisableSmartNameResolution" ;
    ks:configuredBy <https://comcomponent.com/knowledge/group-policy/> .

<https://comcomponent.com/knowledge/group-policy/> a skos:Concept ;
    skos:prefLabel "グループポリシー"@ja ;
    skos:definition "Active Directoryドメイン環境でWindowsの設定を集中構成する仕組み。"@ja ;
    skos:altLabel "GPO" ;
    skos:altLabel "Group Policy" .

<https://comcomponent.com/knowledge/partial-pc-name-resolution-failure/> a skos:Concept ;
    skos:prefLabel "一部のPCだけ名前解決できない"@ja ;
    skos:definition "同じ名前が一部のPCでだけ解決できない、または遅い症状。名前解決のどの層が答えたか(キャッシュ・hosts・サフィックス補完・LLMNR/NetBIOS・NRPT・DoH)がPCごとに違うことで生じる。"@ja ;
    skos:altLabel "一部のPCだけ繋がらない"@ja ;
    skos:altLabel "このPCだけ繋がらない"@ja .

<https://comcomponent.com/knowledge/netbios-over-tcpip/> a skos:Concept ;
    skos:prefLabel "NetBIOS over TCP/IP(NetBT)"@ja ;
    skos:definition "NetBIOS名をブロードキャスト(UDP 137)またはWINSサーバーで解決するレガシーな仕組み。ノードタイプ(B/P/M/H)で方式が決まり、WINSが未構成ならB-node、構成済みならH-nodeが既定。"@ja ;
    skos:altLabel "NetBT" ;
    skos:altLabel "NetBIOS名前解決"@ja ;
    skos:altLabel "NBT-NS" .

<https://comcomponent.com/knowledge/wins/> a skos:Concept ;
    skos:prefLabel "WINS"@ja ;
    skos:definition "NetBIOS名をIPアドレスに対応づけるレガシーな名前登録・解決サービス。新規展開せずDNSを使い、展開済みならDNSへ移行して廃止することが推奨される。"@ja ;
    skos:altLabel "Windows Internet Name Service" .

<https://comcomponent.com/knowledge/turn-off-multicast-name-resolution-policy/> a skos:Concept ;
    skos:prefLabel "「マルチキャスト名前解決を無効にする」ポリシー"@ja ;
    skos:definition "DNSクライアントの全アダプターでLLMNRを無効にするグループポリシー。LLMNRの脆弱性の回避策として案内され、副作用としてそのPCが他のPCから見えなくなることがある。"@ja ;
    skos:altLabel "Turn off multicast name resolution" ;
    skos:altLabel "EnableMulticast" ;
    ks:prevents <https://comcomponent.com/knowledge/llmnr/> .

<https://comcomponent.com/knowledge/mdns/> a skos:Concept ;
    skos:prefLabel "mDNS"@ja ;
    skos:definition "UDP 5353のマルチキャストで.local名をローカルネットワーク内で解決するプロトコル。.local名は設定済みのDNSやNRPTでも解決されるため、それを置き換えるのではなく加わる経路である。MicrosoftがNetBIOS名前解決とLLMNRを縮退させて揃える軸として2022年に示した。"@ja ;
    skos:altLabel "Multicast DNS" ;
    skos:altLabel "マルチキャストDNS"@ja ;
    skos:altLabel ".local名"@ja ;
    ks:succeeds <https://comcomponent.com/knowledge/llmnr/> ;
    ks:succeeds <https://comcomponent.com/knowledge/netbios-over-tcpip/> .

<https://comcomponent.com/knowledge/fqdn-destination/> a skos:Concept ;
    skos:prefLabel "宛先のFQDN指定"@ja ;
    skos:definition "業務アプリの設定ファイル・ショートカット・UNCパスの宛先を、単一ラベル名ではなく完全修飾ドメイン名で持つこと。末尾に点を付けた絶対名ならサフィックス補完を受けず、点を含むが末尾に点が無い名前も既定ではそのまま送られる(複数ラベル名へのサフィックス付加を許可するポリシーが有効な場合だけ補完される)。単一ラベル名と違い、LLMNR・NetBIOSに依存しない。"@ja ;
    skos:altLabel "FQDN化"@ja ;
    skos:altLabel "完全修飾ドメイン名で指定"@ja ;
    ks:recommendedFor <https://comcomponent.com/knowledge/business-app-destination-config/> .

<https://comcomponent.com/knowledge/business-app-destination-config/> a skos:Concept ;
    skos:prefLabel "業務アプリの宛先設定"@ja ;
    skos:definition "業務アプリが接続するサーバーを指定する設定ファイル・ショートカット・UNCパスなどの宛先。書き方によって名前解決のどの層に依存するかが決まる。"@ja ;
    skos:altLabel "設定ファイルの接続先"@ja ;
    skos:altLabel "ショートカットやUNCパスの宛先"@ja .

<https://comcomponent.com/knowledge/known-doh-server-list/> a skos:Concept ;
    skos:prefLabel "既知のDoHサーバー一覧"@ja ;
    skos:definition "WindowsがDoHを使えるDNSサーバーの一覧。既定でCloudflare・Google・Quad9が入っており、社内DNSなどはAdd-DnsClientDohServerAddressやnetsh dnsclient add encryptionでDoHテンプレートとフォールバック可否を指定して登録する。DDR(Discovery of Designated Resolvers)を有効にしたシステムでは、平文で設定したリゾルバーが暗号化DNSのエンドポイントを自ら通知できるため、この一覧への静的登録が暗号化の唯一の入口ではなくなる。"@ja ;
    skos:altLabel "Get-DnsClientDohServerAddress" ;
    skos:altLabel "Add-DnsClientDohServerAddress" ;
    skos:altLabel "DDR" .

<https://comcomponent.com/knowledge/require-doh-policy/> a skos:Concept ;
    skos:prefLabel "「DoHを要求する」設定"@ja ;
    skos:definition "グループポリシー「DNS over HTTPS (DoH) 名前解決の構成」でDoHを必須にする設定。DoH非対応のDNSサーバーでは名前解決が失敗し、Windows Server標準のDNSサーバーサービスがDoHに対応していないためドメイン参加PCでは有効にしないようMicrosoftが明記している。"@ja ;
    skos:altLabel "Require DoH" ;
    skos:altLabel "DNS over HTTPS (DoH) 名前解決の構成"@ja ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/active-directory/> .

<https://comcomponent.com/knowledge/active-directory/> a skos:Concept ;
    skos:prefLabel "Active Directory(AD DS)"@ja ;
    skos:definition "オンプレミスのWindowsドメインを構成するディレクトリサービス。"@ja ;
    skos:altLabel "AD DS" ;
    skos:altLabel "Active Directory Domain Services" ;
    skos:altLabel "オンプレAD"@ja .

<https://comcomponent.com/knowledge/microsoft-edge/> a skos:Concept ;
    skos:prefLabel "Microsoft Edge"@ja ;
    skos:definition "Chromiumベースのマイクロソフト製ブラウザー。本体はActiveXをサポートしない。"@ja ;
    skos:altLabel "Edge" ;
    ks:uses <https://comcomponent.com/knowledge/edge-built-in-dns-client/> .

<https://comcomponent.com/knowledge/edge-built-in-dns-client/> a skos:Concept ;
    skos:prefLabel "Edgeの内蔵DNSクライアント"@ja ;
    skos:definition "Microsoft EdgeがOSのDNSクライアントの代わりに既定で使う、DNSサーバーと通信するソフトウェアスタック。どのDNSサーバーを使うかは変えないが、DoHの問い合わせは常にこの内蔵リゾルバーで行われる。"@ja ;
    skos:altLabel "BuiltInDnsClientEnabled" ;
    skos:altLabel "ブラウザーの内蔵リゾルバー"@ja .

<https://comcomponent.com/knowledge/browser-secure-dns/> a skos:Concept ;
    skos:prefLabel "ブラウザーのセキュアDNS"@ja ;
    skos:definition "Microsoft Edgeなどのブラウザーが、OSとは別にHTTPSでDNSプロバイダーに問い合わせる機能。既定では現在のプロバイダーをDoHに格上げして失敗時は平文へ戻り、別のプロバイダーを選んだときだけ外部のリゾルバーへ行く。組織管理下のPCでは既定で無効で、DnsOverHttpsModeポリシー(off/automatic/secure)で構成する。"@ja ;
    skos:altLabel "Secure DNS" ;
    skos:altLabel "DnsOverHttpsMode" ;
    skos:altLabel "DnsOverHttpsTemplates" ;
    ks:uses <https://comcomponent.com/knowledge/edge-built-in-dns-client/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/group-policy/> .

<https://comcomponent.com/knowledge/browser-app-name-resolution-mismatch/> a skos:Concept ;
    skos:prefLabel "ブラウザーとアプリの名前解決結果の食い違い"@ja ;
    skos:definition "ブラウザーが内蔵リゾルバーやセキュアDNSで解決し、アプリがOSのDNSクライアントで解決するために、同じ名前で別の答えや別の成否になる状態。"@ja ;
    skos:altLabel "ブラウザーでは開けるのにアプリでは失敗"@ja .

<https://comcomponent.com/knowledge/ipv6-address-preference/> a skos:Concept ;
    skos:prefLabel "IPv6優先のプレフィックスポリシー"@ja ;
    skos:definition "AとAAAAの両方が返ったとき、Windows Vista以降がRFC 3484のプレフィックステーブルで使うアドレスを決める仕組み。送信元アドレスや経路の無い使えない宛先を先に外し、使える候補の中では既定でIPv6グローバルユニキャストをIPv4より優先する。"@ja ;
    skos:altLabel "RFC 3484プレフィックステーブル"@ja ;
    skos:altLabel "AとAAAAの選択"@ja .

<https://comcomponent.com/knowledge/disabledcomponents-prefer-ipv4/> a skos:Concept ;
    skos:prefLabel "DisabledComponentsによるIPv4優先"@ja ;
    skos:definition "Tcpip6\\ParametersのDisabledComponentsに0x20を設定してプレフィックスポリシーでIPv4を優先させる方法。MicrosoftはIPv6の無効化ではなくこちらを推奨している。"@ja ;
    skos:altLabel "DisabledComponents 0x20" ;
    skos:altLabel "Prefer IPv4 over IPv6" ;
    ks:mitigates <https://comcomponent.com/knowledge/ipv6-address-preference/> .

<https://comcomponent.com/knowledge/wireshark/> a skos:Concept ;
    skos:prefLabel "Wireshark"@ja ;
    skos:definition "キャプチャしたパケットをパケット詳細ペインとバイト列ペインで対応づけて表示できる、パケット解析ツール。"@ja .

<https://comcomponent.com/knowledge/name-resolution-config-dump/> a skos:Concept ;
    skos:prefLabel "名前解決設定のダンプと差分比較"@ja ;
    skos:definition "Get-DnsClientServerAddress・Get-DnsClientGlobalSetting・Get-DnsClient・Get-DnsClientNrptPolicy -Effective・Get-DnsClientDohServerAddress・ポリシーのレジストリ値を同じスクリプトで採り、繋がるPCと繋がらないPCで差分を取る切り分け手法。"@ja ;
    skos:altLabel "設定ダンプの差分"@ja ;
    skos:altLabel "繋がるPCと繋がらないPCの比較"@ja .

<https://comcomponent.com/knowledge/name-resolution-logging/> a skos:Concept ;
    skos:prefLabel "名前解決結果のログ"@ja ;
    skos:definition "アプリが起動時などに主要な宛先について解決したアドレス(IPv4とIPv6)・所要時間・失敗時のエラーコードをログに残し、フォールバックで黙って切り替えない設計。"@ja ;
    skos:altLabel "解決したアドレスの記録"@ja ;
    skos:altLabel "起動時の名前解決ログ"@ja ;
    ks:uses <https://comcomponent.com/knowledge/dns-gethostaddresses/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/business-app-destination-config/> .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dns-gethostaddresses/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/getaddrinfo/> ;
    schema:description "Dns.GetHostAddressesは基盤となるOSの名前解決API(Windowsではgetaddrinfo)で実装されており、hostsファイルに記述されたホストはDNSサーバーに問い合わせずそのアドレスが返る。HttpClientもこのDnsクラスの上で動くため、宛先に直接接続する.NETの業務アプリはWindowsの名前解決の順序をそのまま引き継ぐ。HTTPプロキシ経由の要求ではローカルで解決するのはプロキシの名前で、宛先の名前はプロキシ側で解決される。"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.net.dns.gethostaddresses> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/getaddrinfo/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/windows-dns-client-service/> ;
    schema:description "getaddrinfoはNS_DNS名前空間に対してDNS・ローカルのhostsファイル・その他の仕組みで名前を解決するが、その下で実際に順序を決めて働くのがDNSクライアントサービスで、アプリにはアドレスかエラーしか返らない。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/api/ws2tcpip/nf-ws2tcpip-getaddrinfo>, <https://learn.microsoft.com/windows-server/networking/dns/queries-lookups> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/windows-dns-client-service/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/dns-resolver-cache/> ;
    schema:description "DNSクライアントはキャッシュ→hostsファイル→DNSサーバーの順で名前を解決し、キャッシュで答えが出た名前はDNSサーバーに問い合わせない。応答は肯定でも否定でもキャッシュに保存される。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-client/networking/troubleshoot-dns-client-resolution-issues>, <https://learn.microsoft.com/windows-server/networking/dns/queries-lookups> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/hosts-file/> ;
    rdf:predicate ks:storedIn ;
    rdf:object <https://comcomponent.com/knowledge/dns-resolver-cache/> ;
    schema:description "hostsファイルの名前とアドレスの対応は、DNSクライアントサービスの起動時にローカルのリゾルバーキャッシュへすべて読み込まれる。ipconfig /displaydnsにはhostsから読み込んだ項目と最近解決したレコードの両方が出る。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/networking/dns/queries-lookups>, <https://learn.microsoft.com/windows-server/administration/windows-commands/ipconfig> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/negative-dns-cache/> ;
    rdf:predicate ks:storedIn ;
    rdf:object <https://comcomponent.com/knowledge/dns-resolver-cache/> ;
    schema:description "DNSサーバーからの否定応答もクライアントのキャッシュに保存され、ipconfig /displaydnsで「Name does not exist」と表示される。既定の保持時間はMaxNegativeCacheTtlの5秒。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/networking/dns/queries-lookups>, <https://learn.microsoft.com/windows-server/networking/dns/troubleshoot/troubleshoot-dns-client>, <https://learn.microsoft.com/troubleshoot/windows-client/networking/firewall-profile-not-switch-to-domain> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ipconfig-flushdns/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/negative-dns-cache/> ;
    schema:description "ipconfig /flushdns(Clear-DnsClientCache)は否定キャッシュの項目を含むリゾルバーキャッシュの内容を破棄する。失敗する名前に「Name does not exist」が出ているときの対処として案内されている。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/administration/windows-commands/ipconfig>, <https://learn.microsoft.com/windows-server/networking/dns/troubleshoot/troubleshoot-dns-client>, <https://learn.microsoft.com/powershell/module/dnsclient/clear-dnsclientcache> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dns-resolver-cache/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/get-dnsclientcache/> ;
    schema:description "ipconfig /displaydnsとGet-DnsClientCacheでリゾルバーキャッシュの中身を確認でき、Get-DnsClientCacheなら名前やレコード種別で絞って残りTTLを見られる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/administration/windows-commands/ipconfig>, <https://learn.microsoft.com/powershell/module/dnsclient/get-dnsclientcache> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dns-resolver-cache/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/resolve-dnsname/> ;
    schema:description "Resolve-DnsName -CacheOnlyはローカルキャッシュだけで解決を試みるので、キャッシュ(hostsを含む)が答えているかを他の層と切り離して確かめられる。"@ja ;
    ks:evidence <https://learn.microsoft.com/powershell/module/dnsclient/resolve-dnsname> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/hosts-file/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/resolve-dnsname/> ;
    schema:description "Resolve-DnsName -NoHostsFileはhostsファイルを飛ばして解決するので、hostsの記述が答えを変えているかを確かめられる。"@ja ;
    ks:evidence <https://learn.microsoft.com/powershell/module/dnsclient/resolve-dnsname> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/nslookup/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/dns-resolver-cache/> ;
    schema:description "nslookupはOSのリゾルバーライブラリを使わず、ローカルのDNSキャッシュとhostsファイルを迂回してDNSサーバーに直接問い合わせる。また設定の先頭のDNSサーバーにしか問い合わせない。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/azure/dns/troubleshoot-dns>, <https://learn.microsoft.com/troubleshoot/windows-client/networking/troubleshoot-dns-client-resolution-issues>, <https://learn.microsoft.com/windows-server/networking/dns/troubleshoot/troubleshoot-dns-client> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/nslookup/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/nrpt/> ;
    schema:description "nslookupは独自のDNS実装を持ちWindows DNS APIを迂回するため、NRPTの規則が効かない。NRPTの動作確認にはResolve-DnsNameを使う必要がある。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/client-management/mdm/vpnv2-csp>, <https://learn.microsoft.com/troubleshoot/azure/dns/troubleshoot-dns> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/nrpt/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/resolve-dnsname/> ;
    schema:description "Windows DNS APIを使うアプリだけがNRPTを利用できるため、NRPTの機能確認には必ずResolve-DnsNameを使うようMicrosoftが求めている。Get-DnsClientNrptPolicy -Effectiveで実効ポリシーも確認できる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/client-management/mdm/vpnv2-csp>, <https://learn.microsoft.com/powershell/module/dnsclient/get-dnsclientnrptpolicy> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/single-label-name/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/dns-suffix-search-list/> ;
    schema:description "点を含まない単一ラベル名は、サフィックス検索リストがあればその順に、無ければプライマリDNSサフィックスと切り詰め、接続固有サフィックスを付けてFQDNにしてからDNSサーバーへ送られる。検索リストが構成されるとそれだけが使われる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/networking/dns/queries-lookups>, <https://learn.microsoft.com/windows/client-management/mdm/policy-csp-admx-dnsclient>, <https://learn.microsoft.com/troubleshoot/windows-client/networking/configure-domain-suffix-search-list-domain-name-system-clients> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dns-suffix-search-list/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/name-resolution-delay/> ;
    schema:description "長いDNSサフィックス検索リストでは、正しいサフィックスがリストの後ろにあるほど、クライアントがサフィックスを順に付けて問い合わせるぶんだけ遅延が積み上がる。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-client/networking/troubleshoot-dns-client-resolution-issues> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/windows-dns-client-service/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/dns-client-retry-timeout/> ;
    schema:description "DNSサーバーが無応答のとき、DNSクライアントは開始から1秒・2秒・4秒・8秒の時点で再送し、10秒で打ち切る。否定応答が返れば処理は止まり、次のサーバーを試すのは前のサーバーが無応答のときだけ。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-server/networking/dns-client-resolution-timeouts> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dns-client-retry-timeout/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/name-resolution-delay/> ;
    schema:description "応答できるDNSサーバーがリストの4番目以降にあると、最初の問い合わせから最低4秒後にしかそのサーバーに届かない。アプリの名前解決タイムアウトがそれより短ければ失敗する。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-server/networking/dns-client-resolution-timeouts> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/smart-multihomed-name-resolution/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/group-policy/> ;
    schema:description "グループポリシー「スマート マルチホーム名前解決を無効にする」を有効にすると、全ネットワークへの並行問い合わせをやめ、DNSを全ネットワークへ、失敗したらLLMNR、それも失敗したらNetBTの直列になる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/client-management/mdm/policy-csp-admx-dnsclient> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/smart-multihomed-name-resolution/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/partial-pc-name-resolution-failure/> ;
    schema:description "既定では全ネットワークへ並行して問い合わせ、複数の肯定応答があればバインド順で採用する。VPN接続中に社内名を聞くとVPNのDNSと自宅側のDNSがそれぞれ別の肯定応答を返すことがあり、採用される答えがバインド順で決まるため、PCごとに結果が違う。自宅側が否定応答を返した場合はそのアダプターが候補から外れ、VPN側の答えが使われる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/client-management/mdm/policy-csp-admx-dnsclient>, <https://learn.microsoft.com/windows-server/networking/dns/queries-lookups> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/single-label-name/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/llmnr/> ;
    schema:description "単一ラベル名の問い合わせには、単一サブネット上のリンクにマルチキャストで問い合わせるLLMNRも使われる。既定のスマートマルチホーム名前解決ではDNSと並行に問い合わせが出され、非ドメインネットワークではDNSが肯定応答を返してもリンクローカル応答が優先される。「DNSが失敗してからLLMNR」の直列になるのは、最適化をポリシーで無効にしたときだけ。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/client-management/mdm/policy-csp-admx-dnsclient> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/single-label-name/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/netbios-over-tcpip/> ;
    schema:description "単一ラベル名の問い合わせには、NetBIOS over TCP/IP(ブロードキャストまたはWINS)も使われる。既定ではDNS・LLMNRと並行に問い合わせが出され、最適化を無効にしたときだけDNSとLLMNRの失敗後に試される。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/client-management/mdm/policy-csp-admx-dnsclient>, <https://learn.microsoft.com/azure/governance/policy/samples/guest-configuration-baseline-windows> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/netbios-over-tcpip/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/wins/> ;
    schema:description "NetBTのノードタイプがP・M・HのときはWINSサーバーに問い合わせる。WINSサーバーが構成されていればH-nodeが既定になる。WINS自体はレガシーで、DNSへの移行が推奨されている。"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/governance/policy/samples/guest-configuration-baseline-windows>, <https://learn.microsoft.com/windows-server/networking/technologies/wins/wins-top> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/single-label-name/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/partial-pc-name-resolution-failure/> ;
    schema:description "単一ラベル名はドメイン参加PCではサフィックス補完で解決できても、VPN経由や別サブネットのPC、LLMNRとNetBTを無効化したPCでは補完されず、LLMNRもNetBTのブロードキャストもサブネットを越えないため解決できない(WINSが構成されていればNetBTはユニキャストで越えられることがある)。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/networking/dns/queries-lookups>, <https://learn.microsoft.com/windows/client-management/mdm/policy-csp-admx-dnsclient> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/turn-off-multicast-name-resolution-policy/> ;
    rdf:predicate ks:prevents ;
    rdf:object <https://comcomponent.com/knowledge/llmnr/> ;
    schema:description "グループポリシー「マルチキャスト名前解決を無効にする」を有効にすると、DNSクライアントの全アダプターでLLMNRが無効になる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/client-management/mdm/policy-csp-admx-dnsclient>, <https://learn.microsoft.com/security-updates/securitybulletins/2011/ms11-030> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/turn-off-multicast-name-resolution-policy/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/partial-pc-name-resolution-failure/> ;
    schema:description "LLMNRを無効化すると、DNSに登録されていない機器の単一ラベル名はLLMNRの経路で解決できなくなり、NetBTも無効なら引けなくなる。Microsoftの回避策の説明も、そのコンピューターが他のコンピューターから見えなくなることがあると明記している。"@ja ;
    ks:evidence <https://learn.microsoft.com/security-updates/securitybulletins/2011/ms11-030>, <https://learn.microsoft.com/windows/client-management/mdm/policy-csp-admx-dnsclient> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/llmnr/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/resolve-dnsname/> ;
    schema:description "Resolve-DnsName -LlmnrOnlyはLLMNRだけで、-LlmnrNetbiosOnlyはLLMNRかNetBIOSだけで解決を試みるスイッチで、その層で解決できるかを確かめられる。ただしプロトコルを限定して試すだけで普段の解決でどの層が採用されたかは示さないため、スイッチ無しの結果と比べ、食い違えばキャプチャで採用された応答を確かめる。"@ja ;
    ks:evidence <https://learn.microsoft.com/powershell/module/dnsclient/resolve-dnsname> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/mdns/> ;
    rdf:predicate ks:succeeds ;
    rdf:object <https://comcomponent.com/knowledge/llmnr/> ;
    schema:description "Microsoftは2022年4月に、mDNSに揃えてNetBIOS名前解決とLLMNRを段階的に縮退させる方針を公表した。"@ja ;
    ks:evidence <https://techcommunity.microsoft.com/blog/networkingblog/aligning-on-mdns-ramping-down-netbios-name-resolution-and-llmnr/3290816> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/mdns/> ;
    rdf:predicate ks:succeeds ;
    rdf:object <https://comcomponent.com/knowledge/netbios-over-tcpip/> ;
    schema:description "Microsoftは2022年4月に、mDNSに揃えてNetBIOS名前解決とLLMNRを段階的に縮退させる方針を公表した。"@ja ;
    ks:evidence <https://techcommunity.microsoft.com/blog/networkingblog/aligning-on-mdns-ramping-down-netbios-name-resolution-and-llmnr/3290816> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/fqdn-destination/> ;
    rdf:predicate ks:prevents ;
    rdf:object <https://comcomponent.com/knowledge/partial-pc-name-resolution-failure/> ;
    schema:description "末尾に点があるFQDNはサフィックス補完を経ずにそのままDNSサーバーへ送られる(点を含むが末尾に点が無い名前も既定ではそのまま送られるが、複数ラベル名へのサフィックス付加を許可するポリシーが有効ならサフィックスも試される)ため、設定ファイル・ショートカット・UNCパスの宛先をFQDNにしておけばサフィックスやLLMNR・NetBTといったPCごとに違う仕組みに依存しない(ただし.localで終わる名前は設定済みDNSに加えてmDNSも併用され得る)。SMB2以降がTCP 445で直接接続するのは輸送路の話で、単一ラベル名のUNCホストの解決はLLMNRやNetBTで行われ得るため、.localで終わらないFQDNで書いて初めて名前解決がDNSに固定される。ただし無条件に固定されるのは末尾に点を付けた絶対名で、末尾に点が無いFQDNは複数ラベル名へのサフィックス付加ポリシーが有効ならサフィックスも試され、.local名はFQDNでもmDNSが併用され得る。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/networking/dns/queries-lookups>, <https://learn.microsoft.com/troubleshoot/windows-server/networking/direct-hosting-of-smb-over-tcpip>, <https://learn.microsoft.com/windows/client-management/mdm/policy-csp-admx-dnsclient> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/fqdn-destination/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/business-app-destination-config/> ;
    schema:description "業務アプリの設定ファイルの既定値・ショートカット・UNCパスはFQDNで持つ。単一ラベル名はサフィックスとリンクローカルプロトコルというPCごとに違う仕組みに依存する。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/networking/dns/queries-lookups>, <https://learn.microsoft.com/troubleshoot/windows-server/networking/direct-hosting-of-smb-over-tcpip> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/hosts-file/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/business-app-destination-config/> ;
    schema:description "hostsの編集には管理者権限と手作業が要り、配布と変更履歴を管理できず、hostsを見るかどうかは相手のリゾルバー次第(nslookupは見ない)であるため、業務アプリの運用でhostsに依存する設計は避け、宛先の切り替えは設定ファイルで行う。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-client/networking/troubleshoot-dns-client-resolution-issues>, <https://learn.microsoft.com/troubleshoot/azure/dns/troubleshoot-dns> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/doh-windows-dns-client/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/known-doh-server-list/> ;
    schema:description "DDR(Discovery of Designated Resolvers)を有効にしていないWindowsのDNSクライアントがDoHを使えるのは、優先または代替DNSサーバーが既知のDoHサーバー一覧に載っている場合だけ。DDRを有効にしたシステムでは平文で設定したリゾルバーが暗号化エンドポイントを自ら通知できるため、一覧への静的登録は唯一の入口ではなくなる(netsh dnsclient set global ddr=yes|no)。既定はCloudflare・Google・Quad9で、社内DNSはAdd-DnsClientDohServerAddressかnetsh dnsclient add encryptionで登録する。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/networking/dns/doh-client-support>, <https://learn.microsoft.com/powershell/module/dnsclient/add-dnsclientdohserveraddress>, <https://learn.microsoft.com/windows-server/administration/windows-commands/netsh-dnsclient> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/doh-windows-dns-client/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/hosts-file/> ;
    schema:description "Windows 11の暗号化DNSのサポートは、NRPT・システムのhostsファイル・アダプターやプロファイルごとのリゾルバー指定といった既存のDNS構成と統合される。DoHは輸送路を替えるだけで、hosts・キャッシュの順序は変えない。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/security/book/operating-system-security-network-security> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/doh-windows-dns-client/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/nrpt/> ;
    schema:description "NRPTで特定の名前空間に特定のDNSサーバーを割り当て、そのサーバーがDoH対応として既知で、かつ自動格上げ(AutoUpgrade)かアダプターの暗号化設定か全体設定(netsh dnsclient set global doh=auto)のいずれかが有効なら、その名前空間の問い合わせはDoHで行われる。既知なだけで、格上げも暗号化設定も無効で全体設定もautoでなければ平文のまま。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/networking/dns/doh-client-support>, <https://learn.microsoft.com/windows/security/book/operating-system-security-network-security> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/doh-windows-dns-client/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/group-policy/> ;
    schema:description "グループポリシー「DNS over HTTPS (DoH) 名前解決の構成」でDoHを許可・禁止・要求のいずれかにでき、設定アプリの「優先DNS暗号化」やnetsh dnsclient set globalでも切り替えられる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/networking/dns/doh-client-support>, <https://learn.microsoft.com/windows-server/administration/windows-commands/netsh-dnsclient> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/require-doh-policy/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/active-directory/> ;
    schema:description "Active Directory Domain ServicesはDNSに強く依存し、Windows Server標準のDNSサーバーサービスがDoHの問い合わせに対応していないため、ドメイン参加PCで「DoHを要求する」を有効にしないようMicrosoftが明記している。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/networking/dns/doh-client-support> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/require-doh-policy/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/partial-pc-name-resolution-failure/> ;
    schema:description "「DoHを要求する」にすると、設定済みのDNSサーバーがDoH非対応の場合は名前解決そのものが失敗する。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/networking/dns/doh-client-support> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/microsoft-edge/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/edge-built-in-dns-client/> ;
    schema:description "Microsoft Edgeは既定で、DNSサーバーと通信するソフトウェアスタックとしてOSのDNSクライアントではなく内蔵DNSクライアントを使う。ポリシーBuiltInDnsClientEnabledで制御でき、どのDNSサーバーを使うかには影響しない。"@ja ;
    ks:evidence <https://learn.microsoft.com/deployedge/microsoft-edge-policies/builtindnsclientenabled> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/browser-secure-dns/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/edge-built-in-dns-client/> ;
    schema:description "EdgeのDoHの問い合わせは常に内蔵リゾルバーで行われる。BuiltInDnsClientEnabledを無効にしても、DoH使用時は内蔵DNSクライアントが使われる。"@ja ;
    ks:evidence <https://learn.microsoft.com/deployedge/microsoft-edge-policies/builtindnsclientenabled> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/browser-secure-dns/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/group-policy/> ;
    schema:description "EdgeのセキュアDNSは組織管理下のPCでは既定で無効で、ポリシーDnsOverHttpsMode(off・automatic・secure)とDnsOverHttpsTemplatesで構成する。"@ja ;
    ks:evidence <https://learn.microsoft.com/legal/microsoft-edge/privacy>, <https://learn.microsoft.com/deployedge/microsoft-edge-policies/dnsoverhttpsmode> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/browser-secure-dns/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/browser-app-name-resolution-mismatch/> ;
    schema:description "セキュアDNSで別のプロバイダーを選んだEdgeは外部のDoHリゾルバーで社外サイトを引けるが社内DNSしか知らない名前は引けず、逆にOSのDNSが不調でもEdgeだけは開ける。現在のプロバイダーのままなら問い合わせ先は変わらず、暗号化に失敗すれば平文へ戻る。ブラウザーの結果とアプリの結果を同じ経路の証拠として扱ってはいけない。"@ja ;
    ks:evidence <https://learn.microsoft.com/legal/microsoft-edge/privacy>, <https://learn.microsoft.com/deployedge/microsoft-edge-policies/builtindnsclientenabled> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/edge-built-in-dns-client/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/browser-app-name-resolution-mismatch/> ;
    schema:description "Edgeの内蔵DNSクライアントは設定済みDNSサーバーに自分で問い合わせ、.NETアプリはgetaddrinfoを通ってOSのDNSクライアントサービスの順序に従うため、同じ名前でも別の答えになり得る。"@ja ;
    ks:evidence <https://learn.microsoft.com/deployedge/microsoft-edge-policies/builtindnsclientenabled>, <https://learn.microsoft.com/dotnet/api/system.net.dns.gethostaddresses> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/getaddrinfo/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/ipv6-address-preference/> ;
    schema:description "DNSクライアントはAとAAAAの両方を問い合わせて答えを返し、両方返ったときに使うアドレスを決めるのは答えを受け取ったgetaddrinfoと接続側のスタックで、RFC 3484のプレフィックステーブルに従う。この規則は送信元アドレスや経路の無い使えない宛先を先に外してから候補を並べるもので、使える候補の中では既定でIPv6グローバルユニキャストをIPv4より優先する。AAAAが返っただけで必ずIPv6が試されるわけではない。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-client/networking/troubleshoot-dns-client-resolution-issues>, <https://learn.microsoft.com/troubleshoot/windows-server/networking/configure-ipv6-in-windows>, <https://www.rfc-editor.org/rfc/rfc3484> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/disabledcomponents-prefer-ipv4/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/ipv6-address-preference/> ;
    schema:description "MicrosoftはIPv6の無効化を推奨せず、DisabledComponentsに0x20を設定してプレフィックスポリシーでIPv4を優先する方法を案内している。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-server/networking/configure-ipv6-in-windows> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/windows-dns-client-service/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/wireshark/> ;
    schema:description "DNSサーバーへの問い合わせが線に出ているかはキャプチャでしか確かめられない。Wiresharkのdns.qry.nameフィルターでどのサーバーへ何が飛び応答があったかが並び、UDP 53を塞がれていれば問い合わせが一切出ない。hostsで答えた名前もキャプチャに現れない。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-client/networking/troubleshoot-dns-client-resolution-issues>, <https://learn.microsoft.com/windows-server/networking/dns/troubleshoot/troubleshoot-dns-data-collection> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/partial-pc-name-resolution-failure/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/name-resolution-config-dump/> ;
    schema:description "繋がるPCと繋がらないPCで同じスクリプトを実行し、DNSサーバーの並び・サフィックス検索リスト・接続固有サフィックス・NRPT・DoH・アダプター順・ポリシーのレジストリ値の差分を取ると、答えた層の違いが見える。"@ja ;
    ks:evidence <https://learn.microsoft.com/powershell/module/dnsclient/get-dnsclientglobalsetting>, <https://learn.microsoft.com/powershell/module/dnsclient/get-dnsclientnrptpolicy>, <https://learn.microsoft.com/windows/client-management/mdm/policy-csp-admx-dnsclient> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/name-resolution-logging/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/dns-gethostaddresses/> ;
    schema:description "Dns.GetHostAddressesはgetaddrinfoと同じ結果を返すので、アプリが起動時に主要な宛先について解決したアドレス(IPv4とIPv6)と所要時間を記録しておけば、どのPCでいつから何に解決されていたかを後から追える。"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.net.dns.gethostaddresses> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/name-resolution-logging/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/business-app-destination-config/> ;
    schema:description "名前解決に失敗した事実とエラーコードと所要時間が残っていれば、情シスは切り分けをどの手順から始めればよいかが分かる。フォールバックで別の名前や固定IPに黙って切り替えると切り分けが成り立たない。"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.net.dns.gethostaddresses> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/business-app-destination-config/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/dns-client-retry-timeout/> ;
    schema:description "業務アプリの宛先設定とタイムアウト設計は、DNSクライアントが無応答のサーバーに対して問い合わせる名前1つあたり最大10秒を使い(サフィックス検索リストで候補が複数あれば全体はそれを超える)、2台目には1秒後、3台目には2秒後、4台目以降には4秒後にしか問い合わせが届かないことを前提にする必要がある。接続タイムアウトを2〜3秒に詰めた設計は、期限までに使える応答が届かない構成で名前解決の段階から失敗する。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-server/networking/dns-client-resolution-timeouts> ;
    ks:verifiedAt "2026-09-04" ;
    ks:certainty "context-dependent" .
