• 一文总结 Linux 虚拟网络设备 eth, tap/tun, veth-pair


    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫。

    Linux 虚拟网络的背后都是由一个个的虚拟设备构成的。虚拟化技术没出现之前,计算机网络系统都只包含物理的网卡设备,通过网卡适配器,线缆介质,连接外部网络,构成庞大的 Internet。

    然而,随着虚拟化技术的出现,网络也随之被虚拟化,相较于单一的物理网络,虚拟网络变得非常复杂,在一个主机系统里面,需要实现诸如交换、路由、隧道、隔离、聚合等多种网络功能。

    而实现这些功能的基本元素就是虚拟的网络设备,比如 tap、tun 和 veth-pair。

    tap/tun

    tap/tun 提供了一台主机内用户空间的数据传输机制。它虚拟了一套网络接口,这套接口和物理的接口无任何区别,可以配置 IP,可以路由流量,不同的是,它的流量只在主机内流通。

    tap/tun 有些许的不同,tun 只操作三层的 IP 包,而 tap 操作二层的以太网帧。

    veth-pair

    veth-pair 是成对出现的一种虚拟网络设备,一端连接着协议栈,一端连接着彼此,数据从一端出,从另一端进。

    它的这个特性常常用来连接不同的虚拟网络组件,构建大规模的虚拟网络拓扑,比如连接 Linux Bridge、OVS、LXC 容器等。

    一个很常见的案例就是它被用于 OpenStack Neutron,构建非常复杂的网络形态。

    总结

    最后,总结一下,我们提到几种网络设备,eth0、tap、tun、veth-pair,这些都构成了如今云网络必不可少的元素。


    我的公众号 「Linux云计算网络」(id: cloud_dev) ,号内有 10T 书籍和视频资源,后台回复 「1024」 即可领取,分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、工具、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。

  • 相关阅读:
    ubuntu 14.04 如何安装nvidia显卡驱动 [转载]
    torch Tensor学习:切片操作
    Graphviz(转载)
    torch 深度学习(5)
    torch 深度学习(4)
    torch 深度学习(3)
    torch 深度学习 (2)
    C# 初识Ref和Out
    Unity发送短信
    Unity 3D 动画帧事件
  • 原文地址:https://www.cnblogs.com/bakari/p/10494773.html
Copyright © 2020-2023  润新知