日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux虚拟网络设备之,Linux虚拟网络设备

發布時間:2024/9/27 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux虚拟网络设备之,Linux虚拟网络设备 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

8種機械鍵盤軸體對比

本人程序員,要買一個寫代碼的鍵盤,請問紅軸和茶軸怎么選?

tap/tun常用于隧道通訊,通過一個字符設備來實現用戶態和內核態的通訊,字符設備一端連接著用戶空間,一端連接著內核空間。

對應的字符設備文件位置:tap: /dev/tap0

tun: /dev/net/tun

當應用程序打開字符設備文件時,驅動程序會創建并注冊相應的虛擬設備接口,以tunX或tapX命名。應用程序關閉設備文件時,驅動程序會刪除tunX和tapX網絡虛擬設備,并刪除建立起來的路由信息。

兩個設備的不同點:tap是一個二層網絡設備,只能處理二層的以太網幀

tun是一個點對點的三層網絡設備,只能處理處理三層的IP數據包1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26┌──────────────┐

│ │

│ APP │

│ │

└───────┬──────┘

┌────────────▼──────────┐

│ │

─ ─ ─ ─ ─ ─│ /dev/net/tun ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─

│ │

└────────────┬──────────┘

┌───────▼──────┐ ┌──────────────┐

│ │ │ │

│ tunX ├────────────────?│Network Stack │

│ │ │ │

└──────────────┘ └──────────────┘

tun設備應用舉例1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33┌──────────────┐ ┌──────────────┐

│ │ │ │

│ APP A │ │ APP B │?┐

│ │ │ │ │

└───────┬──────┘ └───────┬──────┘ │

│ │ │

│ │ │

1│ │ │

│ 5│ │

│ │ │

─ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ┼ ─ ─ ─ ─ ─

│ │ │

│ │ 4│

│ │ │

┌────────────▼────────────────────────▼─────┐ │

│ │ │

│ Network Stack │ │

│ │ │

└────────────┬───────────────────────┬──────┘ │

│ │ │

6│ 3│ │

│ │ │

┌───────▼──────┐ ┌─▼─────────┴──┐

│ │ │ │

10.1.1.11 │ eth0 │ │ tun0 │ 192.168.1.11

│ │ │ │

└───────┬──────┘ └──────────────┘

7│

10.1.1.100 / 192.168.1.100

應用程序A要發送數據到其他物理機192.168.1.100,由于物理網絡環境下只有10.1.1.11和10.1.1.100是相互連通的,192.168.1.11和192.168.1.100是不通的,為了192.168.1.11和192.168.1.100能夠進行通訊,需要將數據包進行一次封裝。

應用程序B是通過打開字符設備文件/dev/net/tun0的方式來打開網絡設備

流程如下:A構造數據包,目的ip為192.168.1.100,并發送給協議棧

協議棧根據數據包中的ip地址,匹配路由規則,要從tun0出去

內核協議棧將數據包發送給tun0網絡設備

tun0發送應用程序B打開,于是將數據發送給應用程序B

B收到數據包后,在用戶態構造一個新的數據包,源IP為eth0的IP 10.1.1.11,目的IP為配置的對端10.1.1.100,并封裝原來的數據包

協議棧根據當前數據包的IP地址選擇路由,將數據包發送給eth0

reference

總結

以上是生活随笔為你收集整理的linux虚拟网络设备之,Linux虚拟网络设备的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。