在数据中心网络中网络部署过程中服务器之间需要通过交换机之间实现互联,数据中心中服务器相关部署方案大家可以参考下尚文网络楠哥的相关文章。我们本次主要了解一下数据中心中的基本数据交换原理。

vswitch和switch

在数据中心网络中不仅存在物理的交换机,还在服务器内存在一种vswitch虚拟交换机,服务器内部的多台虚拟机之间通过vswitch之间进行互联,总体而言虚拟交换机vswitch和物理交换机转发特点上是一样的,但是也有自己的一些特点。
与传统物理交换机相比,虚拟交换机具备的优点:1.配置灵活、扩展性强。一台普通的服务器可以配置几十台甚至上百台虚拟交换机,且端口数目可以灵活选择,例如VMware的ESX主机,一台服务器可以仿真出248台虚拟交换机,且每台交换机预设虚拟端口可达56个。2.成本低、性能高。通过虚拟交换往往可以获得昂贵的物理交换机才能达到的性能,例如微软的Hyper-V虚拟化平台,虚拟机与虚拟交换机之间的联机速度轻易可达10 Gbps
下面我们以物理交换机为例对于服务器流量如何进出网络进行一个分析。

二层交换机转发原理

二层交换机工作在数据链路层,它对数据帧的转发是建立在MAC地址基础之上的。交换机不同的接口发送和接收数据是独立的,各接口属于不同的冲突域,因此有效地隔离了网络中的冲突域。
二层交换设备通过学习以太网数据帧的源MAC地址来维护MAC地址与接口的对应关系(保存MAC与接口对应关系的表称为MAC地址表),通过其目的MAC地址来查找MAC地址表决定向哪个接口转发。
MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系。交换机在转发数据帧时,根据数据帧的目的MAC地址查询MAC地址表。如果MAC地址表中包含与该帧目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;如果MAC地址表中没有包含该帧目的MAC地址对应的表项时,交换机将采取泛洪方式在除接收接口外的所有接口发送该报文。

交换机会通过传输介质进入其端口的每一个帧都进行转发操作,交换机的基本作用就是用来转发数据帧。

交换机对帧的处理行为一共有三种:
泛洪(Flooding),转发(Forwarding),丢弃(Discarding)。
泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其它 的端口”是指除了这个帧进入交换机的那个端口以外的所有端口)。
转发:交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口”不能是这个帧进入交换机的那个端口)。
丢弃:交换机把从某一端口进来的帧直接丢弃。

也就是说交换机会根据数据包封装的源、目的MAC地址进行数据转发,这个是交换机的最根本的转发原理。但是交换机运作的过程中还有一个重要的概念那就是vlan。比如说过我们在一套云计算环境中一台服务器存在多个类型的接口如:管理、存储、业务…等等,那么这些流量如何进行区分呢?
下面我们来看下vlan的概念

VLAN基本原理

为了解决广播域带来的问题,人们引入了VLAN (Virtual Local Area Network),即虚拟局域网技术:
通过在交换机上部署VLAN,可以将一个规模较大的广播域在逻辑上划分成若干个不同的、规模较小的广播域,由此可以有效地提升网络的安全性,同时减少垃圾流量,节约网络资源。

VLAN的特点:
一个VLAN就是一个广播域,所以在同一个VLAN内部,计算机可以直接进行二层通信;而不同VLAN内的计算机,无法直接进行二层通信,只能进行三层通信来传递信息,即广播报文被限制在一个VLAN内。
VLAN的划分不受地域的限制。
VLAN的好处:
灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。

Access接口
Access接口接收数据帧:
当Access接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后对得到的Tagged帧进行转发操作(泛洪、转发、丢弃)。
当Access接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否与PVID相同。如果相同,则对这个Tagged帧进行转发操作;如果不同,则直接丢弃这个Tagged帧。
Access接口发送数据帧:
当一个Tagged帧从本交换机的其他接口到达一个Access接口后,交换机会检查这个帧的Tag中的VID是否与PVID相同:
如果相同,则将这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去;
如果不同,则直接丢弃这个Tagged帧。

Trunk接口
Trunk接口接收数据帧:
当Trunk接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在允许通过的VLAN ID列表中。如果在,则对得到的Tagged帧进行转发操作;如果不在,则直接丢弃得到的Tagged帧。
当Trunk接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否在允许通过的VLAN ID列表中。如果在,则对这个Tagged帧进行转发操作;如果不在,则直接丢弃这个Tagged帧。
Trunk接口发送数据帧:
当一个Tagged帧从本交换机的其他接口到达一个Trunk接口后,如果这个帧的Tag中的VID不在允许通过的VLAN ID列表中,则该Tagged帧会被直接丢弃。
当一个Tagged帧从本交换机的其他接口到达一个Trunk接口后,如果这个帧的Tag中的VID在允许通过的VLAN ID列表中,则会比较该Tag中的VID是否与接口的PVID相同:
如果相同,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去;
如果不同,则交换机不会对这个Tagged帧的Tag进行剥离,而是直接将它从链路上发送出去。

也就是我们在接入服务器时,需要看下对接的服务器的接口传输的流量是否存在多种流量,(比如接口复用场景,接口服用可以使一个物理接口传输业务流量和管理流量,可以用于服务器物理接口数量不足的情况),那么可以使用trunk,如果只是传输一种流量,那么就可以使用access接口划分相应vlan即可。
关注并加群,一起聊技术。有啥问题可以留言,也可以看下尚文网络楠哥的相关文章,后期会有更多资料发布。
-----尚文网络奎哥原创

数据中心中交换机的转发原理 ---尚文网络奎哥相关推荐

  1. 网工进阶之路之华为VRRP配置实验详解 ----尚文网络奎哥

    这些年来,我们越来越关注网络的可靠性,一个高效的网络一定不是会频繁断网,或者断网一次需要长时间才可以恢复的,那么今天我们就来了解下网络高可靠性的一个相关技术VRRP的配置. 另外管理系统相关可靠性可以 ...

  2. 锐捷GRE over ipsec vxn配置 ----尚文网络奎哥

    IPsec vxn作为目前网络中较为常见的VxN技术,存在着不能传递组播流量的缺点,致使使用ipsec vxn不能使用ospf实现网段的动态添加,有内部网段信息改变配置比较麻烦. GRE vpn可以传 ...

  3. 小白入门之路之OSPF基础配置实验----尚文网络奎哥

    实验拓扑: 实验需求: 1:使用ospf完成全网通信 2:掌握router-id的配置和选举方式 3:熟悉DR和BDR及邻接关系的建立 4:掌握ospf邻居表和路由表的查看及各内容的作用 实验步骤: ...

  4. 在数据中心中使用光缆颜色代码的重要性

    在数据中心中使用光缆颜色代码可以有效地帮助技术人员更好地管理光缆,并减少人为错误.工作人员可以通过查看光缆颜色代码轻松获取设备的信息,可以简化冗余的检查过程.而充分利用光缆彩色编码系统,可以节省大量的 ...

  5. 交换机的转发原理 |VLAN详解·图解 |VLAN间通信 |华为,思科配置

    目录 交换机的转发原理 一.HUB 二.交换机 1.MAC地址表: 2.转发数据: 3.三层交换机 VLAN 1.VLAN(Virtual Local Area Network,虚拟局域网) 2.任何 ...

  6. (文献研读)ContainerCloudSim:云数据中心中容器建模和仿真的环境

    (文献研读)ContainerCloudSim:云数据中心中容器建模和仿真的环境 ContainerCloudSim是在CloudSim的基础上进行改进的产品,也称为CloudSim 5.0,其在Cl ...

  7. 数据中心中出现极性问题怎么办?

    对于数据中心高密度综合布线,经常会碰到极性问题,尤其是对于新手.本文为您介绍几款可转换极性产品,方便您在数据中心碰到极性问题的时候,可以快速的解决因此问题所带来的不便. 01 可换极性双芯LC Uni ...

  8. srm安全擦除Linux敏感文件,你受得了吗?-尚文网络xUP楠哥

    进Q群11372462领取专属报名福利! #说在前面 当你刚接触 Linux 时,你会经常遇到这样的建议:永远不要运行 sudo rm -rf /.在 Linux 世界里,更是围绕着 sudo rm ...

  9. 一次初始化Kubernetes集群遇到的磕磕绊绊-尚文网络xUP楠哥

    #说在前面 Kubernetes,IT江湖上又被称为K8s,是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes是为了让部署容器化的应用简单并且高效:Kubernetes提供了 ...

最新文章

  1. mysql cte 语法,mysql8 公用表表达式CTE的使用方法实例分析
  2. JUnit+EclEmma进行覆盖测试
  3. mysql 字符集测试_MySQL多字符集备份恢复测试
  4. Android学习笔记——Handler(二)
  5. 作者:刘诗凯(1983-),男,华为大数据分析产品部主任工程师。
  6. vue中parameterObject:{}使用
  7. IIS日志分析[资源]
  8. 疑似三星Galaxy S11入网:搭载骁龙865处理器+支持25W快充
  9. 【nexus】nexus : mac 安装 nexus
  10. 动手写个数字输入框2:起手式——拦截非法字符
  11. 网络服务器是硬盘吗,云盘与网络服务器硬盘是什么?它们一样吗?
  12. 将Table数据记录生成表格图片
  13. “死神”百草枯:每年超万人中毒 没有解药
  14. 用降水、比湿和温度计算相对湿度(nc版、python)
  15. php解析psd文件,PSD解析工具实现(二)
  16. swing html 字体颜色,swing sister
  17. python批量合并mp4视频
  18. js实现oss批量下载文件_远程URL文件批量下载打包的方法
  19. nginx缓存以及清除缓存
  20. multiprocessing.Pool(pool.map pool.apply pool.apply_async poo.map_async)

热门文章

  1. 328个计算机毕业设计题目
  2. VPS融合怪测评脚本(主体已完善,历史遗留问题解决时间未知)(VPS fusion monster evaluation script)
  3. python 读取excel表格数据,然后写入word模板,批量生成
  4. 异常解决:在实体引用中, 实体名称必须紧跟在 ‘‘ 后面
  5. python3 windows下的几乎万能爬虫方法
  6. 一小时学会使用Springboot整合沙箱环境支付宝支付(附源码)
  7. 通信工程师出差生存指南
  8. 用 Python 统计字数
  9. 【20190405】算法-输入一个字符串,按字典序打印出该字符串中字符的所有排列
  10. 除了通信业 制造业也在关注5G