一文带你理解云原生(12)


本文插图
一文带你理解云原生
本文插图
iptables是运行在用户空间的应用软件 , 通过控制Linux 内核 netfilter , 来管理网络数据包的处理和转发 。
存在“表(tables)”、“链(chain)”和“规则(rules)”三个层面:
每个“表”指的是不同类型的数据包处理流程 , 例如 filter 表表示进行数据包过滤 , 而 NAT 表针对连接进行地址转换操作;
每个表中又可以存在多个“链” , 系统按照预订的规则将数据包通过某个内建链 , 例如将从本机发出的数据通过 OUTPUT 链;
在“链”中可以存在若干“规则” , 这些规则会被逐一进行匹配 , 如果匹配 , 可以执行相应的动作 , 例如修改数据包 , 或者跳转 。
6.2 Underlay 网络技术
一文带你理解云原生
本文插图
VLAN 虚拟局域网:是将一个物理 LAN 在逻辑上划分成多个广播域的通信技术 。 每个 VLAN 是一个广播域 , VLAN 内的主机间通信就和在一个 LAN 内一样 。
没有划分 VLAN:LAN 局域网:
优势:简单 , 静态 , IP 地址与交换机关联;
劣势:迁移域受限 , 不能机房内随意迁移 。 交换机下 IP 需要提前规划好 , 约束虚拟比 。
划分 VLAN:虚拟局域网:
优势:IP 地址与交换机无关 , 虚拟机可以在机房范围内迁移 。 VLAN 间则不能直接互通 , 这样广播报文就被限制在一个 VLAN 内 。
有人会问:交换如何区分不同 VLAN?
交换机能够分辨不同 VLAN 的报文 , 需要在报文中添加标识 VLAN 信息的字段 。 数据帧中的VID(VLAN ID)字段标识了该数据帧所属的 VLAN , 数据帧只能在其所属 VLAN 内进行传输 。
6.3 Overlay 网络技术
一文带你理解云原生
本文插图
VXLAN 虚拟扩展局域网:
是对传统 VLAN 协议的一种扩展;
是一种网络虚拟化技术 , 试图改善云计算部署的可扩展性问题 。
解决哪些问题?
vlan 的数量限制(12bit->24bit) , VLAN 报文 Header 预留长度只有 12bit , 只支持 4096 个终端;
VNI(VXLAN Network Index)标识某条指定隧道;
不改变 IP 实现服务器迁移 。
传统二三层网络架构限制了虚拟机的动态迁移范围 。
VXLAN 在两台 TOR 交换机之间建立一条隧道 , 将服务器发出的原始数据帧加以“包装” , 好让原始报文可以在承载网络(比如 IP 网络)上传输 。
当到达目的服务器所连接的 TOR 交换机后 , 离开 VXLAN 隧道 , 并将原始数据帧恢复出来 , 继续转发给目的服务器 。 VXLAN 将整个数据中心基础网络虚拟成了一台巨大的“二层交换机”