一文總結 Linux 虛擬網絡設備 eth, tap/tun, veth-pair

本文首發於個人公衆號 Linux雲計算網絡(id: cloud_dev),專一於乾貨分享,號內有 10T 書籍和視頻資源,後臺回覆**「1024」**便可領取,歡迎你們關注,二維碼文末能夠掃。編程

Linux 虛擬網絡的背後都是由一個個的虛擬設備構成的。虛擬化技術沒出現以前,計算機網絡系統都只包含物理的網卡設備,經過網卡適配器,線纜介質,鏈接外部網絡,構成龐大的 Internet。網絡

然而,隨着虛擬化技術的出現,網絡也隨之被虛擬化,相較於單一的物理網絡,虛擬網絡變得很是複雜,在一個主機系統裏面,須要實現諸如交換、路由、隧道、隔離、聚合等多種網絡功能。工具

而實現這些功能的基本元素就是虛擬的網絡設備,好比 tap、tun 和 veth-pair。雲計算

tap/tun

tap/tun 提供了一臺主機內用戶空間的數據傳輸機制。它虛擬了一套網絡接口,這套接口和物理的接口無任何區別,能夠配置 IP,能夠路由流量,不一樣的是,它的流量只在主機內流通。spa

tap/tun 有些許的不一樣,tun 只操做三層的 IP 包,而 tap 操做二層的以太網幀。計算機網絡

veth-pair

veth-pair 是成對出現的一種虛擬網絡設備,一端鏈接着協議棧,一端鏈接着彼此,數據從一端出,從另外一端進。3d

它的這個特性經常用來鏈接不一樣的虛擬網絡組件,構建大規模的虛擬網絡拓撲,好比鏈接 Linux Bridge、OVS、LXC 容器等。視頻

一個很常見的案例就是它被用於 OpenStack Neutron,構建很是複雜的網絡形態。blog

總結

最後,總結一下,咱們提到幾種網絡設備,eth0、tap、tun、veth-pair,這些都構成了現在雲網絡必不可少的元素。接口


個人公衆號 「Linux雲計算網絡」(id: cloud_dev) ,號內有 10T 書籍和視頻資源,後臺回覆 「1024」 便可領取,分享的內容包括但不限於 Linux、網絡、雲計算虛擬化、容器Docker、OpenStack、Kubernetes、工具、SDN、OVS、DPDK、Go、Python、C/C++編程技術等內容,歡迎你們關注。

相關文章
相關標籤/搜索