Hyper-V 可延伸交換器埠和網路介面卡狀態
Hyper-V 可延伸交換器介面會管理下列元件的存留期:
Hyper-V 可延伸交換器埠
每個可延伸交換器的網路介面卡連線都會以埠表示。 當 Hyper-V 子分割設定為連接到可延伸交換器的實例時,就會建立埠。 根據交換器類型,也會針對外部和內部網路介面卡連線建立埠。 如需參數類型的詳細資訊,請參閱 Hyper-V 可延伸交換器概觀。
每個埠都用來保存網路介面連線的組態。 如果移除網路介面連線的組態,或停止子分割區,埠就會中斷並刪除。
如需此元件的詳細資訊,請參閱 Hyper-V 可延伸交換器埠。
Hyper-V 可延伸交換器網路介面卡
這些是連線到可延伸交換器埠的虛擬網路介面卡。 這些虛擬網路介面卡會在 Hyper-V 子分割和父分割區內公開。 這包括虛擬機器 (VM) 子分割中公開的網路介面卡,以及與基礎實體網路介面卡合作的外部網路介面卡。
每個網路介面卡連線都需要對應的可延伸交換器埠。 在網路介面卡連線啟動之前,必須先建立埠。 同樣地,必須先刪除網路介面卡連線,才能卸載和刪除埠。
注意 在某些情況下,可以建立和刪除可延伸交換器埠,而不需要網路介面卡連線。
例如,啟動 Hyper-V 子磁碟分割時,可延伸交換器介面會在客體作業系統內公開 VM 網路介面卡之前建立埠。 在 VM 網路介面卡公開和列舉之後,可延伸交換器介面會在 VM 網路介面卡與可延伸交換器埠之間建立網路連線。 如果子分割區停止,可延伸交換器介面會先刪除網路連線,然後刪除可延伸的交換器埠。
如需此元件的詳細資訊,請參閱 Hyper-V 可延伸交換器網路介面卡。
當可延伸交換器介面建立、刪除或變更這些元件的設定時,它會發出物件識別碼 (OID) 設定可延伸交換器驅動程式堆疊的要求。 這項作業會執行,讓基礎可延伸交換器延伸模組可以收到元件狀態及其組態的通知。 每個 OID 集合要求都會導致這些元件的狀態轉換。
在可延伸交換器實例上系結並啟用擴充功能時,可能會發出 OID 來探索交換器的現有埠和網路介面卡連線組態。
下圖顯示可延伸交換器埠和網路介面卡連線元件的各種狀態。 此圖也會顯示造成元件狀態轉換的 OID 集合要求。
下列清單描述可延伸交換器埠和網路介面卡連線元件的各種狀態:
未建立埠
在此狀態下,可延伸交換器埠不存在於可延伸交換器上。 在埠進入此狀態之後,無法發出以先前建立之埠為目標的 OID 要求。
已建立的埠
當可延伸交換器介面發出OID_SWITCH_PORT_CREATE的 OID 集合要求 時,埠會在可延伸交換器上建立。 在此狀態下,可延伸的交換器介面和擴充功能可以發出以埠為目標的 OID 要求。
如需透過可延伸交換器驅動程式堆疊的 OID 流量詳細資訊,請參閱 Hyper-V 可延伸交換器控制路徑。
注意 基礎延伸模組可能會讓 OID 集合要求失敗,並已建立埠。 此延伸模組會藉由使用 STATUS_DATA_NOT_ACCEPTED 完成 OID 要求來完成此作業。 如果這樣做,就不會在可延伸交換器上建立埠。 如需此程式的詳細資訊,請參閱 Hyper-V 可延伸交換器埠。
已建立網路介面卡連線
當可延伸交換器介面發出 OID_SWITCH_NIC_CREATE的 OID 集合要求時,就會在可延伸交換器上建立埠的網路介面卡連線。 在此狀態下,可延伸交換器介面可以執行下列動作:
發出以網路介面卡連線為目標的 OID 要求。
將封包流量轉送至網路介面卡連線或從中轉送。
新的介面卡也可以連線到現有的埠,而不需要通過埠終止並建立順序。
在此狀態下,延伸模組必須透過可延伸交換器擴充堆疊轉送這些封包和 OID 要求。 不過,擴充功能無法產生或重新導向封包或 OID 要求至可延伸交換器上的其他網路介面卡連線。
注意 在此狀態下,擴充功能不得發出 OID 要求或來源封包流量至網路介面卡連線。
如需透過可延伸交換器驅動程式堆疊的 OID 流量詳細資訊,請參閱 Hyper-V 可延伸交換器控制路徑。
如需透過可延伸交換器驅動程式堆疊封包流量的詳細資訊,請參閱 Hyper-V 可延伸交換器資料路徑。
注意 基礎延伸模組可能會讓 OID 集合要求失敗,並已建立網路介面卡連線。 如果是,則不會在可延伸交換器埠上建立連線。 如需此程式的詳細資訊,請參閱 Hyper-V 可延伸交換器網路介面卡。
網路介面卡已連線
當可延伸交換器介面發出 OID 集 OID_SWITCH_NIC_CONNECT要求時,網路介面卡會完全連線到可延伸交換器埠。 在此狀態下,延伸模組現在可以執行下列動作:
發出以網路介面卡連線為目標的 OID 要求。
產生封包流量至網路介面卡連線。
將封包流量重新導向至網路介面卡連線。 例如,擴充功能可以將封包從一個網路介面卡連線重新導向至可延伸交換器上的另一個連線。
注意 只有轉送延伸模組可以執行這項作業。 如需詳細資訊,請參閱 轉送延伸模組。
網路介面卡已中斷連線
當可延伸交換器介面發出 OID_SWITCH_NIC_DISCONNECT的 OID 集合要求時,網路介面卡會中斷與可延伸交換器埠的連線。 例如,當公開 VM 網路介面卡的子分割區停止或停用外部網路介面卡時,就會發出這個 OID 要求。
在此狀態下,可延伸交換器擴充功能無法再產生以連線為目標的封包或 OID 要求。 此外,轉送延伸模組無法再將封包重新導向至連線。
注意 在連線中斷連線之前,由可延伸交換器介面發出的擱置封包和 OID 要求,仍可能會傳遞至擴充功能。 不過,延伸模組必須轉送封包和 OID 要求,而不會進行任何修改。
已刪除網路介面卡連線
所有以網路介面卡連線為目標的封包流量和 OID 要求完成後,可延伸交換器介面就會發出 OID 集合要求 ,OID_SWITCH_NIC_DELETE 從可延伸交換器刪除連線。
在此狀態下,可延伸交換器介面將不再發出以連線為目標的封包或 OID 要求。
埠終止
當可延伸交換器介面發出 OID_SWITCH_PORT_TEARDOWN的 OID 集合要求時,可延伸的交換器埠正在損毀,以準備刪除。
在此狀態下,可延伸交換器擴充功能無法再產生以埠為目標的 OID 要求。
注意 在埠啟動其終止程式之前,由可延伸交換器介面發出的擱置 OID 要求,仍可能會傳遞至延伸模組。 不過,擴充功能必須轉送 OID 要求,而不會進行任何修改。
完成所有以埠為目標的擱置 OID 要求之後,可延伸交換器介面就會發出 OID_SWITCH_PORT_DELETE的 OID 集合要求。 這會導致埠轉換至 未建立的埠 狀態。
擴充功能可以呼叫可延伸交換器處理常式函式,以遞增或遞減埠或網路介面卡連線元件上的參考計數器。 雖然元件的參考計數器不是零的,但可延伸的交換器介面無法刪除元件。
擴充功能可以呼叫 ReferenceSwitchPort 或 DereferenceSwitchPort 來遞增或遞減可延伸交換器埠的參考計數器。 這些呼叫可以在埠達到埠建立狀態之後 進行 。 這些呼叫不得在埠到達 埠終止 或 埠未建立 狀態之後進行。
擴充功能可以呼叫 ReferenceSwitchNic 或 DereferenceSwitchNic 來遞增或遞減可延伸交換器網路介面卡連線的參考計數器。 這些呼叫可以在連線達到 網路介面卡連線 狀態之後進行。 連線已中斷連線或網路介面卡已刪除狀態之後,不得進行這些呼叫。
下表描述根據可延伸交換器埠或網路介面卡連線元件的狀態所允許的作業。
元件狀態 | 允許 對 ReferenceSwitchPort 或 DereferenceSwitchPort 的呼叫? | 允許 對 ReferenceSwitchNic 或 DereferenceSwitchNic 的呼叫? |
---|---|---|
未建立埠 |
No |
No |
已建立的埠 |
是 |
No |
已建立網路介面卡連線 |
是 |
No |
網路介面卡已連線 |
Yes |
Yes |
網路介面卡已中斷連線 |
是 |
No |
已刪除網路介面卡連線 |
是 |
No |
埠終止 |
No |
No |
元件狀態 | 允許埠之可延伸交換器的 OID 要求? | 允許埠之延伸模組的 OID 要求? | 允許網路介面卡連線之可延伸交換器的 OID 要求? | 允許網路介面卡連線之延伸模組的 OID 要求? | 允許透過網路介面卡連線的可延伸交換器傳送封包流量? | 透過網路介面卡連線允許的擴充功能封包流量? |
---|---|---|---|---|---|---|
未建立埠 |
No |
No |
No |
No |
No |
No |
建立的埠 |
Yes |
是 |
No |
No |
No |
No |
已建立網路介面卡連線 |
Yes |
Yes |
是 |
No |
是 |
No |
網路介面卡已連線 |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
網路介面卡已中斷連線 |
Yes |
Yes |
是 |
No |
是 |
No |
已刪除網路介面卡連線 |
Yes |
是 |
No |
No |
No |
No |
埠終止 |
是 |
No |
No |
No |
No |
否 |