MIB_IPINTERFACE_ROW 結構
MIB_IPINTERFACE_ROW 結構會儲存網路介面上特定 IP 位址系列的介面管理資訊。
語法
typedef struct _MIB_IPINTERFACE_ROW {
ADDRESS_FAMILY Family;
NET_LUID InterfaceLuid;
NET_IFINDEX InterfaceIndex;
ULONG MaxReassemblySize;
ULONG64 InterfaceIdentifier;
ULONG MinRouterAdvertisementInterval;
ULONG MaxRouterAdvertisementInterval;
BOOLEAN AdvertisingEnabled;
BOOLEAN ForwardingEnabled;
BOOLEAN WeakHostSend;
BOOLEAN WeakHostReceive;
BOOLEAN UseAutomaticMetric;
BOOLEAN UseNeighborUnreachabilityDetection;
BOOLEAN ManagedAddressConfigurationSupported;
BOOLEAN OtherStatefulConfigurationSupported;
BOOLEAN AdvertiseDefaultRoute;
NL_ROUTER_DISCOVERY_BEHAVIOR RouterDiscoveryBehavior;
ULONG DadTransmits;
ULONG BaseReachableTime;
ULONG RetransmitTime;
ULONG PathMtuDiscoveryTimeout;
NL_LINK_LOCAL_ADDRESS_BEHAVIOR LinkLocalAddressBehavior;
ULONG LinkLocalAddressTimeout;
ULONG ZoneIndices[ScopeLevelCount];
ULONG SitePrefixLength;
ULONG Metric;
ULONG NlMtu;
BOOLEAN Connected;
BOOLEAN SupportsWakeUpPatterns;
BOOLEAN SupportsNeighborDiscovery;
BOOLEAN SupportsRouterDiscovery;
ULONG ReachableTime;
NL_INTERFACE_OFFLOAD_ROD TransmitOffload;
NL_INTERFACE_OFFLOAD_ROD ReceiveOffload;
BOOLEAN DisableDefaultRoutes;
} MIB_IPINTERFACE_ROW, *PMIB_IPINTERFACE_ROW;
成員
系列
位址系列。 位址系列的可能值列在 Winsock2.h 標頭檔中。 請注意,AF_位址系列和PF_通訊協定系列常數的值 (相同,例如AF_INET和PF_INET) ,因此您可以使用任一常數。在 Windows Vista 和更新版本的 Windows 作業系統上,此成員的可能值定義在 Ws2def.h 標頭檔中。 請注意,Ws2def.h 標頭檔會自動包含在 Netioapi.h 中,您不應該直接使用 Ws2def.h。
目前支援下列值:
AF_INET
IPv4 位址系列。AF_INET6
IPv6 位址系列。AF_UNSPEC
未指定位址系列。
InterfaceLuid
網路介面的本機唯一識別碼 (LUID) 。InterfaceIndex
網路介面的本機索引值。 當網路介面卡停用後啟用或在其他情況下,此索引值可能會變更,且不應視為持續性。MaxReassemblySize
片段 IP 封包的最大重新組譯大小,以位元組為單位。 此成員目前設定為零,並保留供日後使用。InterfaceIdentifier
保留供未來使用。 此成員目前設定為零。MinRouterAdvertisementInterval
此 IP 介面上的最小路由器公告間隔,以毫秒為單位。 此成員預設為 IPv6 的 200。 只有當 AdvertisingEnabled 成員設定為 TRUE時,此成員才適用。MaxRouterAdvertisementInterval
此 IP 介面上的路由器公告間隔上限,以毫秒為單位。 此成員預設為 IPv6 的 600。 只有當 AdvertisingEnabled 成員設定為 TRUE時,此成員才適用。AdvertisingEnabled
值,指出是否在此 IP 介面上啟用路由器廣告。 IPv6 的預設值是只有在介面設定為做為路由器時,才會啟用路由器公告。 IPv4 的預設值是已停用路由器公告。ForwardingEnabled
值,指出是否在此 IP 介面上啟用 IP 轉送。WeakHostSend
值,指出此 IP 介面上是否啟用弱式主機傳送模式。WeakHostReceive
值,指出此 IP 介面上是否啟用弱式主機接收模式。UseAutomaticMetric
值,指出 IP 介面是否使用自動計量。UseNeighborUnreachabilityDetection
值,指出是否在此 IP 介面上啟用鄰近無法連線偵測。ManagedAddressConfigurationSupported
值,指出 IP 介面是否支援使用 DHCP 的受控位址組態。OtherStatefulConfigurationSupported
值,指出 IP 介面是否支援其他具狀態設定 (,例如路由組態) 。AdvertiseDefaultRoute
值,指出 IP 介面是否公告預設路由。 只有當 AdvertisingEnabled 成員設定為 TRUE時,此成員才適用。RouterDiscoveryBehavior
NL_ROUTER_DISCOVERY_BEHAVIOR路由器探索行為類型。DadTransmits
驅動程式在暫訂 IP 單播位址上執行重複位址偵測時所傳送的連續訊息數目。 值為零表示未在暫訂 IP 位址上執行重複的位址偵測。 一個 值表示沒有後續轉送的單一傳輸。 針對 IPv4,此成員的預設值為 3。 針對 IPv6,此成員的預設值為 1。 針對 IPv6,這些訊息會以 IPv6 芳鄰要求的形式傳送 (NS) 要求。 此成員定義為 RFC 2462 中的 DupAddrDetectTransmits。 如需詳細資訊,請參閱 IPv6 「無狀態位址自動設定」。BaseReachableTime
隨機連線時間的基底,以毫秒為單位。 成員會在 RFC 2461 中描述。 For more information, see "Neighbor Discovery for IP Version 6 (IPv6)".RetransmitTime
IPv6 芳鄰要求 (NS) 逾時,以毫秒為單位。 成員會在 RFC 2461 中描述。 For more information, see "Neighbor Discovery for IP Version 6 (IPv6)".PathMtuDiscoveryTimeout
路徑 MTU 探索逾時,以毫秒為單位。LinkLocalAddressBehavior
NL_LINK_LOCAL_ADDRESS_BEHAVIOR連結本機位址行為類型。LinkLocalAddressTimeout
連結本機 IP 位址逾時,以毫秒為單位。ZoneIndices
陣列,指定範圍識別碼的區域部分。SitePrefixLength
IP 介面位址的月臺前置詞長度,以位為單位。 IP 介面位址的月臺前置詞或網路部分的長度,以位為單位。 對於 IPv4 位址,大於 32 的任何值都是不合法的值。 對於 IPv6 位址,大於 128 的任何值都是不合法的值。 值 255 通常用來表示不合法的值。計量
介面計量。 請注意,用來計算路由喜好設定的實際路由計量是路由計量位移的總和,該位移是在MIB_IPFORWARD_ROW2結構的計量成員中指定,以及在此成員中指定的介面計量。NlMtu
網路層 MTU 大小,以位元組為單位。已連接
值,指出介面是否已連線到網路存取點。SupportsWakeUpPatterns
值,指定網路介面是否支援網路喚醒。SupportsNeighborDiscovery
值,指定 IP 介面是否支援鄰近探索。SupportsRouterDiscovery
值,指定 IP 介面是否支援鄰近探索。ReachableTime
隨機連線時間的基底,以毫秒為單位。 成員會在 RFC 2461 中描述。 如需詳細資訊,請參閱 IP 第 6 版的鄰近探索 (IPv6) 。TransmitOffload
一組旗標,指出 IP 介面的傳輸卸載功能。 NL_INTERFACE_OFFLOAD_ROD 結構定義于 Nldef.h 標頭檔中。ReceiveOffload
一組旗標,指出 IP 介面的接收卸載功能。 NL_INTERFACE_OFFLOAD_ROD 結構定義于 Nldef.h 標頭檔中。DisableDefaultRoutes
值,指出是否應該停用介面上的預設路由。 VPN 用戶端可以使用這個成員來限制分割通道。
備註
Family、InterfaceLuid和InterfaceIndex成員可唯一識別MIB_IPINTERFACE_ROW專案。
當單播封包抵達主機時,IP 必須判斷封包是否以本機為目標, (其目的地符合指派給主機介面的位址) 。 遵循弱式主機模型的 IP 實作會接受任何本機目的地封包,不論封包接收的介面為何。 如果封包中的目的地位址符合指派給已接收封包之介面的位址,則遵循強主機模型的 IP 實作只會接受本機目的地封包。 弱式主機模型提供更好的網路連線能力。 不過,它也會讓主機容易遭受多家式網路攻擊。
Windows Server 2003 和 Windows XP 作業系統中的目前 IPv4 實作會使用弱式主機模型。 Windows Vista 和更新版本的 Windows 作業系統上的 TCP/IP 堆疊同時支援 IPv4 和 IPv6 的強主機模型,而且預設會設定為使用強主機模式, (WeakHostReceive 和 WeakHostSend 成員設為 FALSE) 。 您可以在 Windows Vista 和更新版本上設定 TCP/IP 堆疊,以使用弱式主機模型。
計量是指派給特定網路介面 IP 路由的值,可識別使用該路由相關聯的成本。 例如,計量可以根據連結速度、躍點計數或時間延遲來值。 自動計量是 Windows XP 和更新版本的功能,可自動設定以連結速度為基礎的本機路由計量。 根據預設, (UseAutomaticMetric 在 Windows XP 和更新版本上設定為 TRUE) ,就會啟用自動計量功能。 您也可以手動設定這項功能,以將特定計量指派給 IP 路由。
當路由表包含相同目的地的多個路由時,自動計量功能會很有用。 例如,具有 10 MB 網路介面且 100 MB 網路介面的電腦具有兩個網路介面上設定的預設閘道。 當 UseAutomaticMetric 為 TRUE時,此功能可以強制所有目的地為網際網路的流量,例如,使用可用的最快網路介面。
計量 成員中指定的 介面計量只代表介面的計量。 完整的路由計量是這個介面計量的組合,這個計量會新增至路由計量位移,該度量位移是在此介面上指定之路由專案之MIB_IPFORWARD_ROW2結構的 計量 成員中所指定。
不同安全性需求之多個網路的不特殊許可權同時存取會建立安全性漏洞,並讓不特殊許可權的驅動程式不小心在兩個網路之間轉寄資料。 典型的範例是同時存取虛擬私人網路 (VPN) 和網際網路。 Windows Server 2003 和 Windows XP 使用弱式主機模型,其中遠端存取服務 (RAS) 藉由透過其他介面增加所有預設路由的路由計量來防止這類同時存取。 因此,所有流量都會透過 VPN 介面路由傳送,因而中斷其他網路連線。
根據預設,Windows Vista 和更新版本會使用強主機模型。 如果使用 GetBestRoute2 函式在路由查閱中指定來源 IP 位址,路由查閱會限制為來源 IP 位址的介面。 RAS 修改路由計量沒有任何作用,因為潛在路由清單甚至沒有 VPN 介面的路由,這可讓流量流向網際網路。 您的驅動程式可以使用 MIB_IPINTERFACE_ROW 結構的 DisableDefaultRoutes 成員,在介面上使用預設路由來停用。 VPN 用戶端可以使用此成員作為安全性措施,以限制 VPN 用戶端不需要分割通道時分割通道。 VPN 用戶端可以在需要時呼叫 SetIpInterfaceEntry 函式,將 DisableDefaultRoutes 成員設定為 TRUE 。 VPN 用戶端可以藉由呼叫GetIpInterfaceEntry函式來查詢DisableDefaultRoutes成員的目前狀態。
規格需求
版本 |
可在 Windows Vista 和更新版本的 Windows 作業系統中使用。 |
標頭 |
Netioapi.h (包括 Netioapi.h) |