Virtualization

TUN/TAP 使用的使用者空間在哪裡?

  • February 13, 2013

當我將數據放在 qemu 中的線路上時,我可以傳輸的數據速率的上限是什麼?情況是我設置了兩台機器A和B

創建兩個tap介面

openvpn --mktun --dev tap0 --user `id -un`
openvpn --mktun --dev tap1 --user `id -un`

他們之間的橋樑

/usr/sbin/brctl addbr br0
/usr/sbin/brctl addif br0 tap1
/usr/sbin/brctl addif br0 tap0

架起橋樑

/sbin/ifconfig br0 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255

我用水龍頭設備啟動它們

qemu -m 256 -hda diskA.img -net nic -net tap,ifname=tap0,script=no
qemu -m 256 -hda diskB.img -net nic -net tap,ifname=tap1,script=no

Tap 設備將數據寫入使用者空間,但是該使用者空間在哪裡,它的約束是什麼,我該如何控制它?

在您的情況下,使用者空間應用程序是 qemu。TUN/TAP 設備是核心空間虛擬設備。使用 ifconfig、ip、brctl 等來控制 tap 介面。

傳輸數據的上限由 CPU 決定。如果要控制限制,則應使用 tcng(流量控制語言解釋器)。

此外,如果您只想在它們之間連接 qemu,您可以只使用 1 tap 界面並在 qemu 之間共享它。

引用自:https://serverfault.com/questions/478303