Linux 在網絡棧中引入了命名空間(Network Namespace),這些獨立的協議棧被隔離到不一樣的命名空間中。處於不一樣命名空間的網絡棧是徹底隔離的,彼此之間沒法通訊,就好像兩個 「平行宇宙」。經過這種對網絡資源的隔離,就能在一個宿主機上虛擬多個不一樣的網絡環境。 網絡
Docker 也正是利用了網絡的命名空間特性,實現了不一樣容器之間網絡的隔離。spa
在 Linux 的網絡命名空間內能夠有本身獨立的路由表及獨立的 iptables/Netfilter 設置來提供包轉發、NAT 及 IP 包過濾等功能。.net