zoukankan      html  css  js  c++  java
  • 虚拟网络设备介绍:Bridge 和 VETH

    前言

    网络设备是使多台计算机互联互通的硬件。常见的物理网络设备有:集线器、交换机、网桥、路由器、网关、网卡(又称网络接口控制器 Network Interface Controller;网络适配器 Network adapter)。对于 Linux 用户,想要使用网络功能,并不是直接操作硬件设备,而是需要操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来完成。以物理网卡为例,Linux 会为其生成一个网络设备实例,如 eth0,用户需要对 eth0 发出命令以配置或使用它。像 eth0 这样连接软件和网络硬件、抽象出来的网络设备称为网络接口

    随着网络技术,虚拟化技术的发展,更多的高级网络设备被加入了到了 Linux 中,并广泛运用在容器、云环境中。本文介绍两种虚拟网络设备的工作原理:Bridge 和 VETH。

    Bridge

    网桥是工作在 TCP/IP 二层协议 的虚拟网络设备,与现实世界中的交换机功能相似。与其他虚拟网络设备一样,可以配置 IP、MAC。Bridge 的主要功能是在多个接入 Bridge 的网络接口间转发数据包。如下图,Bridge (设备名 br0) 充当主设备,连接了四个从设备,分别是 tap1,tap2,veth1,eth0。

    VETH

    VETH (virtual Ethernet) 设备总是成对出现,彼此相连。 一个设备从协议栈读取数据后,会将数据发送到另一个设备上去。VETH 可以用于两个 namespace 间的网络通信。如果 VETH 设备对中有一个设备不可用,则整个链路也不可用。

    延伸阅读

    [1] 理解 Linux 网络栈:Linux 网络协议栈简单总结
    [2] Introduction to Linux interfaces for virtual networking

  • 相关阅读:
    习题解答chapter-01
    Java-chapter-01 菜鸟初见Java
    ijkdemo
    1027
    avformat_seek_file
    pla
    android1010横屏等
    文件浏览对话框
    智能指针处理---bo
    Js为Dom元素绑定事件须知
  • 原文地址:https://www.cnblogs.com/huanggze/p/12445285.html
Copyright © 2011-2022 走看看