成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解:Linux網絡虛擬化技術

云計算 虛擬化
Linux的網絡虛擬化是LXC項目中的一個子項目,LXC包括文件系統虛擬化,進程空間虛擬化,用戶虛擬化,網絡虛擬化,等等,這里使用LXC的網絡虛擬化來模擬多個網絡環境。

 Linux的網絡虛擬化是LXC項目中的一個子項目,LXC包括文件系統虛擬化,進程空間虛擬化,用戶虛擬化,網絡虛擬化,等等,這里使用LXC的網絡虛擬化來模擬多個網絡環境。

[[265078]]

本文從基本的網絡設備講起,到具體實驗環節,希望能對 Linux 本身的虛擬網絡環境有一個宏觀的了解。

TUN 設備

TUN 設備是一種虛擬網絡設備,通過此設備,程序可以方便得模擬網絡行為。先來看看物理設備是如何工作的:

 

詳解:Linux網絡虛擬化技術

 

所有物理網卡收到的包會交給內核的 Network Stack 處理,然后通過 Socket API 通知給用戶程序。下面看看 TUN 的工作方式:

 

詳解:Linux網絡虛擬化技術

 

普通的網卡通過網線收發數據包,但是 TUN 設備通過一個文件收發數據包。所有對這個文件的寫操作會通過 TUN 設備轉換成一個數據包送給內核;當內核發送一個包給 TUN 設備時,通過讀這個文件可以拿到包的內容。

 

詳解:Linux網絡虛擬化技術

 

數據包會通過內核網絡棧兩次。但是經過 App 的處理后,數據包可能已經加密,并且原有的 ip 頭被封裝在 udp 內部,所以第二次通過網絡棧內核看到的是截然不同的網絡包。

TAP 設備

TAP 設備與 TUN 設備工作方式完全相同,區別在于:

TUN 設備的 /dev/tunX 文件收發的是 IP 層數據包,只能工作在 IP 層,無法與物理網卡做 bridge,但是可以通過三層交換(如 ip_forward)與物理網卡連通。

TAP 設備的 /dev/tapX 文件收發的是 MAC 層數據包,擁有 MAC 層功能,可以與物理網卡做 bridge,支持 MAC 層廣播

MACVLAN

有時我們可能需要一塊物理網卡綁定多個 IP 以及多個 MAC 地址,雖然綁定多個 IP 很容易,但是這些 IP 會共享物理網卡的 MAC 地址,可能無法滿足我們的設計需求,所以有了 MACVLAN 設備,其工作方式如下:

 

詳解:Linux網絡虛擬化技術

 

MACVLAN 會根據收到包的目的 MAC 地址判斷這個包需要交給哪個虛擬網卡。單獨使用 MACVLAN 好像毫無意義,但是配合之前介紹的 network namespace 使用,我們可以構建這樣的網絡:

 

詳解:Linux網絡虛擬化技術

 

由于 macvlan 與 eth0 處于不同的 namespace,擁有不同的 network stack,這樣使用可以不需要建立 bridge 在 virtual namespace 里面使用網絡。

MACVTAP

MACVTAP 是對 MACVLAN的改進,把 MACVLAN 與 TAP 設備的特點綜合一下,使用 MACVLAN 的方式收發數據包,但是收到的包不交給 network stack 處理,而是生成一個 /dev/tapX 文件,交給這個文件:

 

詳解:Linux網絡虛擬化技術

 

由于 MACVLAN 是工作在 MAC 層的,所以 MACVTAP 也只能工作在 MAC 層,不會有 MACVTUN 這樣的設備。

創建虛擬網絡環境

使用命令

  1. $ ip netns add net0 

可以創建一個完全隔離的新網絡環境,這個環境包括一個獨立的網卡空間,路由表,ARP表,ip地址表,iptables,ebtables,等等。總之,與網絡有關的組件都是獨立的。

使用命令

  1. $ ip netns listnet0 

可以看到我們剛才創建的網絡環境

進入虛擬網絡環境

使用命令

  1. $ ip netns exec net0  
  2. `command` 

我們可以在 net0 虛擬環境中運行任何命令

 

詳解:Linux網絡虛擬化技術

 

這樣我們可以在新的網絡環境中打開一個shell,可以看到,新的網絡環境里面只有一個lo設備,并且這個lo設備與外面的lo設備是不同的,之間不能互相通訊。

連接兩個網絡環境

新的網絡環境里面沒有任何網絡設備,并且也無法和外部通訊,就是一個孤島,通過下面介紹的這個方法可以把兩個網絡環境連起來,簡單的說,就是在兩個網絡環境之間拉一根網線。

  1. $ ip netns add net1 

先創建另一個網絡環境net1,我們的目標是把net0與net1連起來。

 

詳解:Linux網絡虛擬化技術

 

這里創建連一對veth虛擬網卡,類似pipe,發給veth0的數據包veth1那邊會收到,發給veth1的數據包veth0會收到。就相當于給機器安裝了兩個網卡,并且之間用網線連接起來了。

  1. $ ip link set veth0 netns net0 
  2. $ ip link set veth1 netns net1 

這兩條命令的意思就是把veth0移動到net0環境里面,把veth1移動到net1環境里面,我們看看結果。

 

詳解:Linux網絡虛擬化技術

 

veth0 veth1已經在我們的環境里面消失了,并且分別出現在net0與net1里面。下面我們簡單測試一下net0與net1的聯通性。

 

詳解:Linux網絡虛擬化技術

 

分別配置好兩個設備,然后用ping測試一下聯通性:

 

詳解:Linux網絡虛擬化技術

 

一個稍微復雜的網絡環境

 

詳解:Linux網絡虛擬化技術

 

創建虛擬網絡環境并且連接網線。

ip netns add net0ip netns add net1ip netns add bridgeip link add type vethip link set dev veth0 name net0-bridge netns net0ip link set dev veth1 name bridge-net0 netns bridgeip link add type vethip link set dev veth0 name net1-bridge netns net1ip link set dev veth1 name bridge-net1 netns bridge

在bridge中創建并且設置br設備:

ip netns exec bridge brctl addbr brip netns exec bridge ip link set dev br upip netns exec bridge ip link set dev bridge-net0 upip netns exec bridge ip link set dev bridge-net1 upip netns exec bridge brctl addif br bridge-net0ip netns exec bridge brctl addif br bridge-net1

然后配置兩個虛擬環境的網卡:

 

詳解:Linux網絡虛擬化技術

 

測試:

 

詳解:Linux網絡虛擬化技術

 

OK,以上便是今天的內容。

NDK基礎開發流程—Linux流程大綱

 

詳解:Linux網絡虛擬化技術

 

 

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2019-07-24 10:06:15

Linux網絡虛擬化

2019-04-16 16:23:29

GPU虛擬化CPU

2015-10-10 15:46:02

融合網絡網絡虛擬化

2013-11-18 09:43:28

網絡虛擬化SDN

2019-11-12 14:48:00

Linux桌面虛擬化KVM

2011-03-28 18:25:03

ibmdwLinux

2012-03-18 21:41:40

linux虛擬化

2012-03-21 10:10:57

虛擬化網絡診斷

2009-12-25 10:05:00

Linux虛擬化Xen虛擬化

2015-10-09 17:01:08

數據中心網絡虛擬化

2011-04-21 09:20:28

IaaS網絡虛擬化

2009-12-28 21:12:05

網絡虛擬化IRF2H3C

2009-01-21 18:31:50

2018-02-28 14:29:18

2009-11-23 19:47:57

ibmdwLinux

2013-08-23 10:32:41

Linux服務器虛擬化

2015-10-15 10:06:40

網絡虛擬化虛擬化技術

2009-08-18 20:05:11

虛擬化技術虛擬交換機

2009-02-27 10:03:14

虛擬化網絡大會虛擬化技術

2009-05-26 16:53:20

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 97精品超碰一区二区三区 | 色免费在线视频 | 免费看爱爱视频 | 狠狠久久综合 | 伊人网影院 | 中文字幕啪啪 | 亚洲综合无码一区二区 | 国产成人99久久亚洲综合精品 | 日韩精品久久一区 | 精品av久久久久电影 | 看片wwwwwwwwwww| 久久久久久久久久久久91 | www国产亚洲精品久久网站 | 羞羞在线视频 | 国产精品综合久久 | 亚洲精品一区中文字幕乱码 | 久久精品国产99国产精品亚洲 | 超碰av在线 | 欧美大片一区二区 | 久久久久久亚洲精品 | 久久久久久久97 | 精品国产欧美日韩不卡在线观看 | 国产一区二区影院 | 男人的天堂久久 | 久艹av| 久久精品16| 翔田千里一区二区 | 国产精品成人一区 | 欧美一级毛片久久99精品蜜桃 | 亚洲国产精品久久久久婷婷老年 | 欧美一级高潮片免费的 | 日韩精品成人免费观看视频 | 免费视频久久久久 | 久久久久国产精品一区二区 | 欧美久久一区二区三区 | 伊色综合久久之综合久久 | 欧美一级黄视频 | 国产精品1区2区 | 日本成人在线免费视频 | 国产视频第一页 | 国产精品国产亚洲精品看不卡15 |