zoukankan      html  css  js  c++  java
  • Xen bridge network and Xen Networking(转)

    http://www.801314.net/article.asp?id=463

    本文介绍了Xen桥接网络及出故障时可采用的工具和方法:

    Xen桥接网络非常灵活,然而逻辑和管理方面也还算简单

    桥接设备

    • bridge, 网桥;一般起名为:xenbr0, xenbr1, etc.
    • vif, 虚拟网络接口;一般起名为:vif0.0,vif0.1, etc.
    • veth/eth, 虚拟网络设备;一般起名为:eth0, etc.

    桥接工具

    • /etc/xen/script/network-bridge, 网桥操作脚本
    • /etc/xen/script/vif-bridge, 虚拟接口操作脚本
    • brctl 工具,事实上以上两个脚本均调用了它

    排查步骤

    • brctl show; 再看桥接是否OK。 
    • ethtool peth; 先看物理网卡通不通。
    • ifconfig vif; 看各虚拟接口是否正常。
    • ifconfig eth/veth; 看看虚拟网络设备是否正常。

    链接

    Xen网络联接方式

            Xen 提供了 3 种虚拟网络模型来供客户机访问物理设备——桥接、路由和 NAT。在桥接模式中,虚拟网络接口(vif)在外部局域网是可见的,在路由模型中,vif 在外部局域网是不可见的,但是 IP 是可见的。在 NAT 模型中,vif 在外部局域网不可见,它也没有一个外部可见的 IP 地址。

            在桥接模式下, brctl 工具被用来创建软件方式的桥接接口,一个物理网络接口然后附加到桥上。Xen 客户机域的后端 vif 能被附加到这个桥上。当桥接口接收到来自物理接口的包时,物理网络接口将依据各域的虚拟网卡的 MAC 地址转发它们到不同的域上。

            在路由模型下将使用 iptables 机制来进行路由。由物理接口所收到的所有的包将被驱动域的网络 IP 层所处理。驱动域(dom0)查找路由表条目并将包转发到不同的客户机 IP 地址。在路由模式下,驱动域连接 2 个不同的网段:内部由客户机使用的网段和连接外部网络的网段。

           在驱动域作为一个 NAT 网关时,驱动域仍然作为一个路由器,但是更进一步映射一个它自己的 IP 地址和端口到一个客户机的 IP 地址和端口。客户机的 IP 地址隐藏在驱动域后面对外部网络不可见。

            Linux 防火墙提供了 iptables ,而 bridge-utils 则提供了 etables 来进行基本的 MAC 地址过滤。也可以指定一个物理网卡给一个域使用。
                    

         Xen网络结构相当灵活,适当配置可以“轻松”实现dom0/domU与物理网络三者之间的复杂拓扑。

    桥接模式


     

                                                                              图一、Xen 桥接模式示意图

    下图是个桥接的例子。
       

             veth0、vif0.0 是 dom0 的网络接口veth0 被重命名为 eth0xenbr0 接口是软桥接接口vif1.0 是运行的客户机的后端网络接口

            peth0、xenbr0、vif0.0、vif1.0 都共享同样的 MAC 地址 FE:FF:FF:FF:FF:FF,它是以太网的广播地址。这意味着实际的网络接口、dom0 的回环接口、客户机的后端接口都向 xenbr0 广播。当物理网卡接收到包时,它直接发送到桥接接口 xenbr0,这个桥接接口通过包的 MAC 地址决定将包转发到哪个域的后端接口。因此 peth0 不需要 IP,只需要 MAC 地址。物理接口的原先 IP 已经被告知给 eth0——驱动域的虚拟前端接口。    

            xenbr0 通过 MAC 地址是 00:11:25:F6:15:22 或者是 00:16:3e:45:e7:12 来决定包转发到 eth0 或者 vif1.0。客户域相应的前端接口被命名为 eth0。从 dom0 的角度看,客户机中 eth0 实际是 vif1.0。
    brctl 命令的显示:

    1. [user@Dom0]# brctl show
    2. bridge name     bridge id               STP enabled    interfaces
    3. xenbr0          8000.feffffffffff       no             vif1.0
    4.                                                        peth0
    5.                                                        vif0.0

    参考链接

  • 相关阅读:
    leetcode701. Insert into a Binary Search Tree
    leetcode 958. Check Completeness of a Binary Tree 判断是否是完全二叉树 、222. Count Complete Tree Nodes
    leetcode 110. Balanced Binary Tree
    leetcode 104. Maximum Depth of Binary Tree 111. Minimum Depth of Binary Tree
    二叉树
    leetcode 124. Binary Tree Maximum Path Sum 、543. Diameter of Binary Tree(直径)
    5. Longest Palindromic Substring
    128. Longest Consecutive Sequence
    Mac OS下Android Studio的Java not found问题,androidfound
    安卓 AsyncHttpClient
  • 原文地址:https://www.cnblogs.com/BloodAndBone/p/1839356.html
Copyright © 2011-2022 走看看