云计算中的网络基础知识

虚拟化中的网络流量

1

南北向流量和东西向流量,以路由器为界,经过路由器的流量为南北流量,不经过路由器的流量为东西向流量

网络基本概念

IP地址和MAC地址

IP地址(Intelnet Protocol Address):互联网协议地址,为计算机网络相互连接进行通信而设计的

MAC地址(Media Access Control Address):物理地址、硬件地址,是用来确认网络设备位置的地址

广播和单播

广播:数据包在广播域内泛洪,同域内的所有网络设备都会接受该广播包,同时会检查广播包中的数据,如果目的端为自己,则回复一个单播的消息,如果目的端不是自己则丢弃

单播:网络设备之间进行一对一的通信

路由和默认网关

路由:广播域之间通过路由表找到其它广播域的方式就叫做路由

默认网关:路由的一种特殊形式,它是路由转发时的最后选择,没有其他的路由条目可以进行转发,则使用默认网关进行转发

VLAN

VLAN(Virtual Local Area Network,虚拟局域网):是一个将物理的LAN在逻辑上划分成多个广播域的通信技术,VLAN内的主机间可以直接通信,而VLAN间不能直接互通,从而将广播报文限制在一个VLAN内

作用

限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力
增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其他VLAN内的用户直接通信
提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作
灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更加灵活

Access接口:仅仅允许唯一的 VLAN ID 通过本接口,这个 VLAN ID 与接口的缺省 VLAN ID 相同,Access 接口发往对端设备的以太网帧永远是不带标签的帧
Trunk接口:允许多个 VLAN 的帧(带 tag 标记)通过

每种类型的接口都可以配置一个缺省 VLAN ,对应的 VLAN ID 为 PVID (Port Default VLAN ID)。接口类型不同,缺省 VLAN 的含义也有所不同,几乎所有交换机出厂时的默认 VLAN 都为1。

物理网络介绍

OSI 参考模型

2

TCP/IP 四层模型

3

物理设备

  • 网卡:一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件,拥有 MAC 地址,工作于OSI模型的第二层。
  • 二层交换机:工作于OSI模型的第二层,所以叫二层交换机,识别数据帧中的MAC地址信息,根据MAC地址进行转发,并将MAC地址与对应的端口记录在内部地址表中。
  • 三层交换机:具有部分路由器功能的交换机,工作在OSI模型的第三层,所以叫三层交换机,主要功能是加快大型局域网内部数据的交换,能够做到一次路由,多次转发。
  • 路由器:提供路由和转发两种重要机制,可以决定数据包从来源到目的端所经过的路由路径,这个过程成为路由;将路由器输入端的数据包转移至适当的路由器输出端,这个过程成为转转发,工作与OSI模型的第三层。

服务器接入网络的方式

ToR(Top of Rack, 柜顶接入):将服务器接入网络的交换机放在机柜顶部,如果机柜中的服务器密度较高且流量较大时,会在每一个机柜都放一个 ToR 交换机,如果密度和流量都一般的话,会考虑几个机柜共用一个 ToR 交换机,上联汇聚或核心交换机,下联服务器网口。

EoR(End of Row, 列头接入):在一列机柜中单独放一个机柜用来做服务器接入网络的交换机 。

链路聚合

定义:通过将多个物理接口捆绑为一个逻辑接口,达到增加链路带宽的目的。在实现增大带宽目的的同时,链路聚合采用备份链路的机制,可以有效的提高设备之间链路的可靠性。

优势:增加带宽,最大带宽为所有成员接口的和;提高可靠性,当某条活动链路出现问题可以自动切换到成员链路上;负载分担,可以实现子啊各个成员活动链路上的负载分担。

虚拟网络介绍

4

网桥

定义:在链路层实现中继,用于连接两个或多个局域网的互联设备,将两个相似的网络连接起来,并对网络数据的流通进行管理。

功能:MAC 学习:学习 MAC 地址,建立地址-端口的对照表(CAM表);报文转发:网桥提取目的 MAC 地址,从自己的地址-端口对照表(CAM表)中查找由哪个端口把数据包发送出去。

桥接

网桥相当于交换机,虚拟网卡和网桥使用广播通信,使用相同的IP地址配置

NAT

地址转换,网桥相当于一个路由器,虚拟机网络和网络的IP属于不同的网络,虚拟网络和其他网络通过路由转发通信,并且在网桥上实现地址转换。

优势:弥补网络地址不足;隐藏源地址,外部网络无法之间查看内部网络IP地址,一定程度上保护内部虚拟机安全;负载均衡,NAT具有重定向的作用,多个相同应用的虚拟机主备部署后可以通过NAT转换成同一个地址与外部通信,通过负载均衡的软件进行业务访问的负载均衡。

虚拟交换机

Open vSwitch(OVS)是一款开源的、高质量的、支持多层协议的虚拟交换机,使用开源 Apache2.0 许可协议,旨在通过程序拓展实现大规模网络自动化,同时支持标准接口和协议(例如:NetFlow,sFlow,IPFIX,RSPAN,CLI,802.1ag),支持多种 Linux 虚拟化技术,比如 Xen 和 KVM 等。

为什么需要 OVS

  • 状态可移植:虚拟机在不同的主机上时,与其相关联的所有网络状态应当能被识别和迁移,(软状态(二层缓存表)、三层转发状态、路由策略、ACL、QoS规则和监控相关的配置(NetFlow/IPFIX/sFLOW)),OVS支持跨示例配置和迁移网络状态。
  • 相应动态网络:高频率的变化是虚拟化的特征之一,经常会发生众多虚拟机同时迁移,每次迁移都会改变逻辑网络环境。当网络发生改变时,OVS的特性支持通过网络管理工具自动的控制和适应。
  • 支持逻辑标签维护:分布式虚拟机交换机通常通过在网络数据包中附加或操作标记来维护网络中的逻辑上下文。
  • 支持硬件集成:Open vSwitch的转发路径(内核中的数据路径)旨在适应将数据包处理“分流”到硬件芯片组上,无论是将其存储在经典硬件交换机机箱中还是在最终主机NIC中。这样,Open vSwitch控制路径就可以控制纯软件实现或硬件开关。

主要组件

ovs-vswitchd,OVS的主要模块,实现 switch 的 daemon,包括一个支持流交换的 Linux 内核模块;

ovsdb-server,一款轻量级数据库服务器,提供给 ovs-vswitchd 获取配置信息;

ovs-dpctl,用来配置 switch 内核模块;

ovs-vsctl,用于查询和更新ovs-vswitchd的配置的实用程序;

ovs-appctl,一个用于将命令发送到正在运行的Open vSwitch守护程序的实用程序;

用于为Citrix XenServer和Red Hat Enterprise Linux构建RPM的脚本和规范。XenServer RPM允许将Open vSwitch安装在Citrix XenServer主机上,以替代其交换机,并具有其他功能。

常用工具

ovs-ofctl,用于查询和控制OpenFlow交换机和控制器的实用程序。

ovs-pki,一个用于创建和管理OpenFlow交换机的公共密钥基础结构的实用程序。

ovs-testcontroller,一个简单的OpenFlow控制器,可能对测试有用(尽管不适用于生产)。

tcpdump的补丁程序,使它能够解析OpenFlow消息。

OpenFlow

一种网络通信协议,属于数据链路层,能够控制网络交换机或路由器的转发平面,借此改变网络数据包所走的网络路径。

分布式虚拟交换机:

分布在不同的物理主机上,通过虚拟化管理工具,可以对分布式虚拟交换机进行统一的配置,虚拟机进行热迁移的条件之一就是需要有分布式虚拟交换机。


THE END