每日杂学之VXLAN网络传输原理

因为工作需要,每天需要学习一点通信的知识,在这儿记录下每日学习的内容

  • 本人属于通信领域菜鸟专利代理工程师一枚,由于日常工作需要不停学习通信相关知识,秉承无纸化学习宗旨,于是把每日所学知识点记录在这个版块,一来记录自己的所学所得,二来同各专业人群相互学习,三来有啥欠缺之处希望能够获得各位专业大神的指导!
  • 初初入行,需要学的东西还很多,仅求stay hungry,stay foolish~

2021.2.24之所学

今天学习的内容是:VXLAN可扩展虚拟局域网知识

  • 首先,介绍什么是局域网;
  • 第二,介绍什么是虚拟局域网;
  • 第三,介绍为什么需要对虚拟局域网进行扩展;
  • 第四,介绍可扩展虚拟局域网实现的方式;
  • 最后,介绍可扩展虚拟局域网的通信原理。

什么是局域网?

局域网:Local Area Network(简称:LAN),如果将网络以区域进行划分单位,跨度地理区域范围较大的称为广域网,如跨度一整个国家,或几个国家的网络。而跨度地理区域范围较小的称为局域网,如校园网,一座医院内的网络,一个工业园中的网络等等。

什么是虚拟局域网?

  1. 虚拟局域网:Virtual Local Area Network(简称:VLAN)。如果说局域网是通过设备网关在物理层面将网络划分成一个个小房间,小房间里面的人可以相互交流。主要使用Hub,网桥,或交换机等网络设备连接同一网段内的所有节点。同处一个局域网之内的网络节点之间可以不通过网络路由器直接进行通信;而处于不同局域网段内的设备之间的通信则必须经过网络路由器。
  2. 此时局域网的缺陷便凸显了出来:随着网络中路由器数量的增多,网络时延逐渐加长,从而导致网络数据传输速度的下降。这主要是因为数据在从一处局域网传递到另一处局域网时,必须经过路由器的路由操作,路由器根据数据包中的相应信息确定数据包的目标地址,然后再选择合适的路径转发出去。
  3. 那么虚拟局域网则是通过设备在逻辑层面将网络划分成一个个小房间,小房间里面的人可以相互交流。但是通常一个以太网络下最多可以划分4096个小房间,房间不是可以无限划分的。由位于不同物理局域网段的设备组成。虽然VLAN所连接的设备来自不同的网段,但是相互之间可以进行直接通信,好像处于同一网段中一样,由此得名虚拟局域网。
  4. 从上面的介绍我们可以看出,局域网是物理层面的划分,而虚拟局域网是逻辑层面的划分。虚拟局域网参照802.1Q协议进行划分,虚拟局域网可以减少路由器路由操作,从而提升网络传输效率。

为什么需要对虚拟局域网进行扩展?

上面我们提到一个以太网下,虚拟局域网最多可以划分成4096个小房间,即最多可以划分的虚拟局域网络数量是有限的。但是随着大数据技术、虚拟技术、云计算等技术的出现,大量的数据量传输需要更强大的网络支撑。而虚拟局域网技术在这时候略显捉襟见肘,并且大量的数据会使得交换机需要处理的日常工作量增加,从而导致负荷增加。于是为了适应快速且数据量大的传输要求,对原虚拟局域网进行“改革”显得无比重要。

可扩展虚拟局域网实现的方式是什么?

  • 改革的核心是如何既保证物理层面设备不需要更新换代,又能保证虚拟局域网数量增加。。因为终端往往感知不到物理的存在,只能感受到逻辑的存在,故下刀处便是借助原始VLAN的通信逻辑,在传输报文上下功夫:
  • 基于物理网络拓扑的基础上通过一定的技术来构建虚拟的、不同于物理网络拓扑的逻辑网络说人话就是:在原有报文上开刀,添加逻辑信息,使原有网络可使用的范围更广。
  • 如何进行开刀?
    在原是传输数据帧上添加VXLAN头部后封装进UDP报文中,通过正常传输UDP报文即可将携带有VXLAN头部的数据帧传输给对端,而对端接收到UDP报文后进行解封,得到标识VXLAN网络端点信息的VXLAN头部,经过VXLAN信息分析得到目的端点信息,可直接将数据帧传输给目的端点信息。

可扩展虚拟局域网的通信原理是什么?

发送端A向接收端B发送数据帧,这个数据帧中包含了A和B的虚拟的MAC地址:

  • 1、发送端A连接的虚拟节点VTEP_A接收到该数据帧,VTEP_A查找发送方所 在的VXLAN是哪一个,还有与接收端B直接相连的VTEP_B在哪儿;
  • 2、VTEP_A将将发送端A想要发送的报文添加VXLAN首部、外部UDP首部、 外部IP首部;
  • 3、VTEP_A给VTEP_B发送添加好新的UDP报文;
  • 4、UDP报文通过物理网络传输到VTEP_B;
  • 5、VTEP_B接收到该UDP报文,拆除报文的UDP首部、IP首部得到发送端A发送的数据帧,识别首部中包含的MAC地址,确定接收方B与VTEP_B相连接后,将剩余报文数据拆除VXLAN首部,把内部的数据帧发给接收端B。
  • 6、接收端B接收到该数据帧。

总结

局域网、虚拟局域网、可扩展虚拟局域网均是常见局域网技术,由于技术层面知识欠缺,目前只能从是什么,怎么做,为什么这么做的思路来理解,知识停留在表面,但是一天进步一点,总会越来越强!

附言

今天所学内容概括完毕,所学内容均为本人阅读相关内容后的个人概述,存在技术漏洞在所难免,毕竟我就是个小菜鸡,如果漏洞很大,还请各位看官及时协助补正,在此感激不尽!

嗨!很高兴回答你关于Python的NumPy库的问题。NumPy是一个强大的科学计算库,提供了高性能的数组对象和各种功能丰富的数学函数。 首先,你可以使用以下命令安装NumPy库: ```python pip install numpy ``` 一旦安装完成,你可以在Python脚本中导入NumPy库: ```python import numpy as np ``` 现在让我们来看一些NumPy的常用功能。 1. 创建NumPy数组: - 使用`np.array()`函数从Python列表或元组创建数组。 - 使用`np.zeros()`创建一个元素全为0的数组。 - 使用`np.ones()`创建一个元素全为1的数组。 - 使用`np.random`模块生成随机数组。 2. 数组操作: - 通过索引访问和修改数组的元素。 - 使用切片操作提取子数组。 - 使用数组的形状、大小和维度等属性。 3. 数学函数: - NumPy提供了丰富的数学函数,例如平方根(`np.sqrt()`)、指数函数(`np.exp()`)、对数函数(`np.log()`)等。 - 通过在数组上应用这些函数,可以进行元素级别的数学操作。 4. 数组运算: - NumPy支持基本的数组运算,如加法、减法、乘法和除法。 - 这些运算可以在两个数组之间进行,也可以在数组和标量之间进行。 5. 线性代数: - NumPy提供了许多线性代数操作的函数,如矩阵乘法(`np.dot()`)、矩阵求逆(`np.linalg.inv()`)、特征值和特征向量(`np.linalg.eig()`)等。 这只是NumPy库的一小部分功能,但对于进行科学计算和数据分析来说非常重要。你可以参考NumPy官方文档以了解更多详细信息:https://numpy.org/doc/ 希望这些信息能帮助你开始学习NumPy库!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值