久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

為什么要用namespace封裝router

202次閱讀
沒有評論

共計 2392 個字符,預計需要花費 6 分鐘才能閱讀完成。

為什么要用 namespace 封裝 router,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面丸趣 TV 小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

今天探討為什么要用 namespace 封裝 router

我們需要討論一個深層次的問題:為什么不直接在 tape17162c5-00 和 tapd568ba1a-74 上配置 Gateway IP,而是引入一個 namespace,在 namespace 里面配置 Gateway IP 呢?

首先考慮另外一個問題:如果不用 namespace,直接 Gareway IP 配置到 tape17162c5-00 和 tapd568ba1a-74 上,能不能連通 subnet_172_16_100_0 和 subnet_172_16_101_0 呢?

答案是可以的,只要控制節點上配置了類似下面的路由。

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.100.0    *               255.255.255.0   U     0      0        0 tapd568ba1a-74
172.16.101.0    *               255.255.255.0   U     0      0        0 tape17162c5-00

既然不需要 namespace 也可以路由,為什么還要加一層 namespace 增加復雜性呢?其根本原因是:為了支持網絡重疊。

云環境下,租戶可以按照自己的規劃創建網絡,不同租戶的網絡是可能重疊的。將路由功能放到 namespace 中,就能隔離不同租戶的網絡,從而支持網絡重疊。

下面通過例子進一步解釋。

Tenant A  vlan100 subnet A-1: 10.10.1.0/24    {start : 10.10.1.1 , end : 10.10.1.254}
Tenant A  vlan101 subnet A-2: 10.10.2.0/24    {start : 10.10.2.1 , end : 10.10.2.254}

Tenant B  vlan102 subnet B-1: 10.10.1.0/24    {start : 10.10.1.1 , end : 10.10.1.254}
Tenant B  vlan103 subnet B-2: 10.10.2.0/24    {start : 10.10.2.1 , end : 10.10.2.254}

A,B 兩個租戶定義了完全相同的兩個 subnet,網絡完全重疊。

不使用 namespace 的場景

如果不使用 namespace:

其特征是網關 IP 配置在 TAP interface 上。因為沒有 namespace 隔離,router_100_101 和 router_102_103 的路由條目都只能記錄到控制節點操作系統(root namespace)的路由表中,內容如下:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface  
10.10.1.0                 *               255.255.255.0   U     0      0        0     tap1  
10.10.2.0                 *               255.255.255.0   U     0      0        0     tap2  
10.10.1.0                 *               255.255.255.0   U     0      0        0     tap3  
10.10.2.0                 *               255.255.255.0   U     0      0        0     tap4

這樣的路由表是無法工作的。按照路由表優先匹配原則,Tenant B 的數據包總是錯誤地被 Tenant A 的 router 路由。例如 vlan102 上有數據包要發到 vlan103。選擇路由時,會匹配路由表的第二個條目,結果數據被錯誤地發到了 vlan101。

使用 namespace 的場景

如果使用 namespace:

其特征是網關 IP 配置在 namespace 中的 veth interface 上。每個 namespace 擁有自己的路由表。

router_100_101 的路由表內容如下:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.1.0                 *               255.255.255.0   U     0      0        0     qr-1
10.10.2.0                 *               255.255.255.0   U     0      0        0     qr-2

router_102_103 的路由表內容如下:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.1.0                 *               255.255.255.0   U     0      0        0     qr-3
10.10.2.0                 *               255.255.255.0   U     0      0        0     qr-4

這樣的路由表是可以工作的。

例如 vlan102 上有數據包要發到 vlan103。選擇路由時,會查看 router_102_103 的路由表, 匹配第二個條目,數據通過 qr-4 被正確地發送到 vlan103。

同樣當 vlan100 上有數據包要發到 vlan101 時,會匹配 router_100_101 路由表的第二個條目,數據通過 qr-2 被正確地發送到 vlan101。

可見,namespace 使得每個 router 有自己的路由表,而且不會與其他 router 沖突,所以能很好地支持網絡重疊。

好了,目前我們已經搞清楚了 Neutron 內部 subnet 之間是如何通信的了。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注丸趣 TV 行業資訊頻道,感謝您對丸趣 TV 的支持。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計2392字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 文水县| 图木舒克市| 巧家县| 肃宁县| 大田县| 西丰县| 营口市| 南召县| 小金县| 安福县| 调兵山市| 平定县| 大竹县| 定襄县| 蓬安县| 寿阳县| 平顶山市| 肥乡县| 灵宝市| 日土县| 慈溪市| 新蔡县| 丰宁| 和龙市| 永丰县| 钦州市| 通渭县| 文安县| 武强县| 锡林浩特市| 湖南省| 凌云县| 新龙县| 东平县| 赣州市| 阜新市| 佛坪县| 奉节县| 响水县| 武清区| 崇阳县|