当前位置: 首页 > news >正文

江门网站制作案例王占军

江门网站制作案例,王占军,北京会所网站推广,网站404网页界面psd源文件模板VXLAN#xff08;Virtual eXtensible Local Area Network#xff0c;虚拟可扩展局域网#xff09;#xff0c;是一种虚拟化隧道通信技术。它是一种Overlay#xff08;覆盖网络#xff09;技术#xff0c;通过三层的网络来搭建虚拟的二层网络。 VXLAN介绍 VXLAN是在底层…VXLANVirtual eXtensible Local Area Network虚拟可扩展局域网是一种虚拟化隧道通信技术。它是一种Overlay覆盖网络技术通过三层的网络来搭建虚拟的二层网络。 VXLAN介绍 VXLAN是在底层物理网络underlay之上使用隧道技术借助UDP层构建的Overlay的逻辑网络使逻辑网络与物理网络解耦实现灵活的组网需求。它对原有的网络架构几乎没有影响不需要对原网络做任何改动即可架设一层新的网络。也正是因为这个特性很多容器的网络才会选择VXLAN作为通信网络。 VXLAN不仅支持一对一也支持一对多一个VXLAN设备能通过像网桥一样的学习方式学习到其他对端的IP地址还可以直接配置静态转发表。 VXLAN基本概念 VNIVXLAN Network IdentifierVXLAN网络标识符VXLAN通过VXLAN ID来标识其长度为24比特。一般每个VNI对应一个租户也就是说使用VXLAN理论上可以支撑千万级别的租户。 VTEPVXLAN Tunnel End PointVXLAN隧道端点VXLAN网络的边缘设备用来进行VXLAN报文的处理封包和解包。VXLAN的相关处理都在VTEP上进行例如识别以太网数据帧所属的VXLAN、基于VXLAN对数据帧进行二层转发、封装/解封装报文等。VTEP可以是一台独立的物理设备也可以是虚拟机所在服务器的虚拟交换机。 VXLAN Tunnel两个VTEP之间点到点的逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头、IP头后通过VXLAN隧道将封装后的报文转发给远端VTEP远端VTEP对其进行解封装。隧道是一个逻辑上的概念在VXLAN模型中并没有具体的物理实体向对应。隧道可以看做是一种虚拟通道VXLAN通信双方认为自己是在直接通信并不知道底层网络的存在。从整体来说每个VXLAN网络像是为通信的虚拟机搭建了一个单独的通信通道也就是隧道。 上图所示为VXLAN的工作模型它创建在原来的IP网络三层上只要是三层可达能够通过IP相互通信的网络就能部署 VXLAN。在VXLAN网络的每个端点都有一个VTEP设备负责VXLAN协议报文的解包和封包也就是在虚拟报文上封装VTEP通信的报文头部。 物理网络上可以创建多个VXLAN网络可以将这些VXLAN网络看成一个隧道不同节点上的虚拟机/容器能够通过隧道直连。通过VNI标识不同的VXLAN网络使得不同的VXLAN可以相互隔离。 VXLAN的报文格式 VXLAN Header在原始二层帧的前面增加8字节的VXLAN的头部其中最主要的是VNID占用3个字节即24bit类似VLAN ID可以具有2^24个网段。 UDP Header在VXLAN和原始二层帧的前面使用8字节UDP头部进行封装MAC IN UDP目的端口号缺省使用4789源端口按流随机分配通过MACIP四层端口号进行hash操作这样可以更好的做ECMP。 在上面添加的二层封装之后再添加底层网络的IP头部20 字节和MAC头部14 字节这里的IP和MAC是宿主机的IP地址和 MAC地址。 VXLAN通讯过程 总的来说VXLAN报文的转发过程就是原始报文经过VTEP被VTEP添加上VXLAN头部以及外层的UDP头部再发送出去对端 VTEP接收到VXLAN报文后拆除外层UDP头部并根据VXLAN头部的VNI把原始报文发送到目的服务器。但这里有一个问题第一次通信前双方如何知道所有的通信信息这些信息包括 哪些VTEP需要加到一个相同的VNI组发送方虚拟机怎么知道对方的MAC地址VTEP怎么知道目的虚拟机在哪一台宿主机上 这三个问题可以归结为同一个问题VXLAN网络怎么感知彼此的存在并选择正确的路径传输报文 第一个问题简单VTEP通常由网络管理员来配置。要回答后面两个问题还得回到VXLAN协议的报文上看看一个完整的VXLAN报文需要哪些信息 内层报文通信双方的IP地址已经明确只需要VXLAN填充对方的MAC地址因此需要一个机制来实现ARP功能。VXLAN头部只需要知道VNI。一般直接配置在VTEP上要么提前规划要么根据内层报文自动生成。UDP头部需要知道源端口和目的端口源端口由系统自动生成目的端口默认是4789。IP头部需要知道对端VTEP的IP地址这个是最关键的部分。 实际上VTEP也会有自己的转发表转发表通过泛洪和学习机制来维护对于目标MAC地址在转发表中不存在的未知单播广播流量都会被泛洪给除源VTEP外所有的VTEP目标VTEP响应数据包后源VTEP会从数据包中学习到MACVNI和VTEP的映射关系并添加到转发表中后续当再有数据包转发到这个MAC地址时VTEP会从转发表中直接获取到目标VTEP地址从而发送单播数据到目标VTEP。 点对点的VXLAN通信 点对点的VXLAN通信在这个实验中使用两台虚拟机构成一个VXLAN网络每台机器的网卡作为vtep通过设置的ip互相通信。 主机规划 node1172.20.160.13/20node2172.20.161.221/20 实验结构图如下图所示。 对于两台主机的网卡之间的通信如果不使用vxlan就需要设置路由表此时两个网卡的ip不能是同一个网段。接下来进行点对点的vxlan的通信。 在node1上创建一个名字为vxlan-ethd类型为vxlan的网卡后面是vxlan-ethd网卡需要的参数 id 1指定VNI的值这个值可以在1到2^24之间dstportvtep通信的端口remote 172.20.161.221对方vtep的地址类似于点对点协议local 172.20.160.13当前节点vtep要使用的IP地址 $ sudo ip link add vxlan-ethd type vxlan id 1 dstport 4789 remote 172.20.161.221 local 172.20.160.13启动vxlan-ethd网卡并为其分配IP $ sudo ip link set vxlan-ethd up $ sudo ip addr add 10.0.1.1/24 dev vxlan-ethd在node2上也进行同样的操作 $ sudo ip link add vxlan-ethd type vxlan id 1 dstport 4789 remote 172.20.160.13 local 172.20.161.221 $ sudo ip link set vxlan-ethd up $ sudo ip addr add 10.0.1.2/24 dev vxlan-ethd接下来这两个位于不同虚拟机上的网卡就可以通过vxlan隧道进行通信了在node1中尝试访问node2的10.0.1.2 $ ping -I 10.0.1.1 10.0.1.2 -c 3 PING 10.0.1.2 (10.0.1.2) from 10.0.1.1 : 56(84) bytes of data. 64 bytes from 10.0.1.2: icmp_seq1 ttl64 time0.899 ms 64 bytes from 10.0.1.2: icmp_seq2 ttl64 time0.934 ms 64 bytes from 10.0.1.2: icmp_seq3 ttl64 time1.53 ms--- 10.0.1.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2022ms rtt min/avg/max/mdev 0.899/1.124/1.539/0.293 ms跨主机的容器通信 上面最简单的点对点VXLAN实验只是个简单的演示没有太多实际工程意义本节用容器通信来演示一个更加完整的场景。 场景描述在node1和node2上各部署一个docker容器默认情况下一个容器宿主机上的容器能够直接用私网IP地址通信因为它们利用一个网桥接在一起。而不同宿主机上的容器无法直接用私网IP地址通信。使用自建的vxlan网络接口来打通不同宿主机上容器让它们可以直接利用内网IP通信。 准备容器 在node1上创建app1容器指定IP为172.18.0.2 $ sudo docker network create --subnet 172.18.0.0/16 my-network 04a3be456f01099cb18818fa50804cc69a359ee77ba8d8d3e3bb12cf06e52434$ sudo docker container run -d --rm --name app1 --network my-network --ip 172.18.0.2 busybox ping 8.8.8.8 c7fbfe06fb871d88d3fc9224636c25da78d61cf8aaa98b87df65403e771437be在node2上创建app2容器指定IP为172.18.0.3 $ sudo docker network create --subnet 172.18.0.0/16 my-network 09fb688212d956ebbb5e775f8d8847d9cf2705c7ed96127dc411648383ba839f$ sudo docker container run -d --rm --name app2 --network my-network --ip 172.18.0.3 busybox ping 8.8.8.8 745c98439680ecc9ef97b02aabda3dcc8fb19bd76f73b2e79d9134f858b17fbd在node1中的容器app1上访问node2中的容器app2和预期一致是无法ping通的 $ sudo docker container exec -it app1 ping -c 3 172.18.0.3 PING 172.18.0.3 (172.18.0.3): 56 data bytes--- 172.18.0.3 ping statistics --- 3 packets transmitted, 0 packets received, 100% packet loss创建VXLAN接口接入docker网桥 在两个容器宿主机上各创建一个VXLAN接口并且将VXLAN接口接入docker网桥的端口上如下图 有了VXLAN接口的连接后从node1上容器app1发出的包到达docker网桥后可以从网桥的VXLAN接口出去从而报文在VETP(VXLAN接口)处被封装成VXLAN报文再从物理网络上到达对端VETP所在的主机node2。对端VTEP能正确解包VXLAN报文的话随后即可将报文通过node2上的docker网桥送到上层的docker容器app2中。 在node1上配置如下 $ sudo ip link add vxlan_docker type vxlan id 200 remote 172.20.161.221 dstport 4789 dev eth0$ sudo ip link set vxlan_docker up$ sudo brctl addif br-04a3be456f01 vxlan_docker在node2上配置如下 $ sudo ip link add vxlan_docker type vxlan id 200 remote 172.20.160.13 dstport 4789 dev eth0$ sudo ip link set vxlan_docker up$ sudo brctl addif br-09fb688212d9 vxlan_docker此时再在node1中的容器app1上访问node2中的容器app2结果如下ping可以通。 $ sudo docker container exec -it app1 ping -c 3 172.18.0.3 PING 172.18.0.3 (172.18.0.3): 56 data bytes 64 bytes from 172.18.0.3: seq0 ttl64 time1.841 ms 64 bytes from 172.18.0.3: seq1 ttl64 time0.562 ms 64 bytes from 172.18.0.3: seq2 ttl64 time1.615 ms--- 172.18.0.3 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max 0.562/1.339/1.841 msFDB表 FDBForwarding Database entry即转发表是Linux网桥维护的一个二层转发表用于保存远端虚拟机/容器的MAC地址远端VTEP IP以及VNI的映射关系可以通过bridge fdb命令来对FDB表进行操作 $ sudo bridge fdb 02:42:ac:12:00:03 dev vxlan_docker master br-e4fbde69f952 ca:d7:ea:37:0a:b2 dev vxlan_docker vlan 1 master br-e4fbde69f952 permanent ca:d7:ea:37:0a:b2 dev vxlan_docker master br-e4fbde69f952 permanent 00:00:00:00:00:00 dev vxlan_docker dst 172.20.161.221 via eth0 self permanent 02:42:ac:12:00:03 dev vxlan_docker dst 172.20.161.221 self 33:33:00:00:00:01 dev br-e4fbde69f952 self permanent 01:00:5e:00:00:01 dev br-e4fbde69f952 self permanent 02:42:f7:03:fb:17 dev br-e4fbde69f952 vlan 1 master br-e4fbde69f952 permanent 02:42:f7:03:fb:17 dev br-e4fbde69f952 master br-e4fbde69f952 permanent
http://www.hkea.cn/news/14294121/

相关文章:

  • dede医院网站模板下载网站 分站
  • 利用网站制作网页百度健康
  • 建站公司用哪家服务器wordpress 底部模板
  • 一个虚拟空间可以放几个网站网站开发人员的短中长期目标
  • 百度网站搜索量提高wordpress免插件增强
  • 山东建设银行招聘网站建站平台 绑定域名
  • 如何做国外网站wordpress数据输出
  • 常德市住房和城市建设局网站linux本地wordpress
  • 诸暨网站制作公司 网页seo优化关键词排名优化
  • 请别人做网站如何交付高端设计参考网站
  • dw做网站链接数据库万维网络(临沂网站建设)
  • 东莞企业推广网站网站网站建设平台
  • 安徽省建设厅网站备案电脑前端主要做什么
  • 必应搜索引擎网站网易163邮箱登录入口
  • 做网站的图片一般放哪wordpress 开源 小程序
  • 东风多利卡道路清障车做网站北京icp网站备案
  • 网站建设一般做什么上海交通大学毕业设计网站
  • 怎么做安居客网站怎么网上推广自己的门店
  • wordpress整站密码做信息采集的网站
  • 佛山seo整站优化建设银行网站会员用户名格式
  • 专业营销型网站惠州h5网站建设
  • 淮北网站建设求职简历南宁网站建设多少钱
  • 临海市网站建设服务好 售后好的网站建设
  • 国内服务器做网站要备案wordpress datediff
  • 在哪个网站做视频赚钱西安响应式网站建设哪家强
  • asp网站管理系统石家庄网站制作报价
  • 网站开发的常用软件重庆网络学院官网
  • 宁波网站设计价格网站如何上传到主机
  • 北京模板建站设计青浦做网站
  • 公司门户网站建设费计入什么科目新乡外贸网站建设