您好,登錄后才能下訂單哦!
Neutron網絡的基本概念是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
今天我們學習 Neutron 模塊幾個重要的概念。
Neutron 管理的網絡資源包括 Network,subnet 和 port,下面依次介紹。
network 是一個隔離的二層廣播域。Neutron 支持多種類型的 network,包括 local, flat, VLAN, VxLAN 和 GRE。
local
local 網絡與其他網絡和節點隔離。local 網絡中的 instance 只能與位于同一節點上同一網絡的 instance 通信,local 網絡主要用于單機測試。
flat
flat 網絡是無 vlan tagging 的網絡。flat 網絡中的 instance 能與位于同一網絡的 instance 通信,并且可以跨多個節點。
vlan
vlan 網絡是具有 802.1q tagging 的網絡。vlan 是一個二層的廣播域,同一 vlan 中的 instance 可以通信,不同 vlan 只能通過 router 通信。vlan 網絡可以跨節點,是應用最廣泛的網絡類型。
vxlan
vxlan 是基于隧道技術的 overlay 網絡。vxlan 網絡通過唯一的 segmentation ID(也叫 VNI)與其他 vxlan 網絡區分。vxlan 中數據包會通過 VNI 封裝成 UPD 包進行傳輸。因為二層的包通過封裝在三層傳輸,能夠克服 vlan 和物理網絡基礎設施的限制。
gre
gre 是與 vxlan 類似的一種 overlay 網絡。主要區別在于使用 IP 包而非 UDP 進行封裝。
不同 network 之間在二層上是隔離的。
以 vlan 網絡為例,network A 和 network B 會分配不同的 VLAN ID,這樣就保證了 network A 中的廣播包不會跑到 network B 中。當然,這里的隔離是指二層上的隔離,借助路由器不同 network 是可能在三層上通信的。
network 必須屬于某個 Project( Tenant 租戶),Project 中可以創建多個 network。 network 與 Project 之間是 1對多 關系。
subnet 是一個 IPv4 或者 IPv6 地址段。instance 的 IP 從 subnet 中分配。每個 subnet 需要定義 IP 地址的范圍和掩碼。
subnet 與 network 是 1對多 關系。一個 subnet 只能屬于某個 network;一個 network 可以有多個 subnet,這些 subnet 可以是不同的 IP 段,但不能重疊。下面的配置是有效的:
network A subnet A-a: 10.10.1.0/24 {"start": "10.10.1.1", "end": "10.10.1.50"} subnet A-b: 10.10.2.0/24 {"start": "10.10.2.1", "end": "10.10.2.50"}
但下面的配置則無效,因為 subnet 有重疊
networkA subnet A-a: 10.10.1.0/24 {"start": "10.10.1.1", "end": "10.10.1.50"} subnet A-b: 10.10.1.0/24 {"start": "10.10.1.51", "end": "10.10.1.100"}
這里不是判斷 IP 是否有重疊,而是 subnet 的 CIDR 重疊(都是 10.10.1.0/24)
但是,如果 subnet 在不同的 network 中,CIDR 和 IP 都是可以重疊的,比如
network A subnet A-a: 10.10.1.0/24 {"start": "10.10.1.1", "end": "10.10.1.50"} networkB subnet B-a: 10.10.1.0/24 {"start": "10.10.1.1", "end": "10.10.1.50"}
這里大家不免會疑惑: 如果上面的IP地址是可以重疊的,那么就可能存在具有相同 IP 的兩個 instance,這樣會不會沖突? 簡單的回答是:不會!
具體原因: 因為 Neutron 的 router 是通過 Linux network namespace 實現的。network namespace 是一種網絡的隔離機制。通過它,每個 router 有自己獨立的路由表。
上面的配置有兩種結果:
如果兩個 subnet 是通過同一個 router 路由,根據 router 的配置,只有指定的一個 subnet 可被路由。
如果上面的兩個 subnet 是通過不同 router 路由,因為 router 的路由表是獨立的,所以兩個 subnet 都可以被路由。
這里只是先簡單做個說明,我們會在后面三層路由的章節詳細分析這種場景。
port 可以看做虛擬交換機上的一個端口。port 上定義了 MAC 地址和 IP 地址,當 instance 的虛擬網卡 VIF(Virtual Interface) 綁定到 port 時,port 會將 MAC 和 IP 分配給 VIF。
port 與 subnet 是 1對多 關系。一個 port 必須屬于某個 subnet;一個 subnet 可以有多個 port。
下面總結了 Project,Network,Subnet,Port 和 VIF 之間關系。
Project 1 : m Network 1 : m Subnet 1 : m Port 1 : 1 VIF m : 1 Instance
關于Neutron網絡的基本概念是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。