• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

SNA架构与实现分享

 

 

1       引言

网络作为数字化转型的基础设施中举足轻重的核心角色,过去10年在以“转控分离”、“控制平面松耦合”等理念倡导的SDN浪潮下,不断发展与演变,充分释放了信息技术的生产力。如今5GAI、大数据等新基建元素给网络带来了新的挑战与机遇。

2       智能网络未来,SNA架构先行

AI网络成为近年来网络发展趋势,新华三顺势而为面向AI发布下一代网络架构先知网络架构(SeerNetwork Architecture)简称SNA(如图1所示)。

1 下一代网络架构SeerNetwork Architecture

SNA网络融入网络分析器SeerAnalyzer、统一网络控制器SeerEngine、统一网络编排SNA Center平台以及全部网络节点设备。

SNA网络架构构建了包括网络数据采集、数据分析、AI决策与保障、自动化部署和配置发放的闭环网络系统,同时纳入深度纵向安全。SNA在业务模型上一方面实现了数据中心组件SeerEngine-DC、园区组件SeerEngine-Campus、广域网组件SeerEngine-WAN的统一融合,还能完成跨场景编排融合、AI网络端到端运维保障;另一方面实现传统网络与SDN网络的融合,能够向用户提供一种设计、仿真、部署、保障整链路、全流程的下一代网络架构。

了解SNA网络架构需要从架构基础和通信实现两个方面进行。

3       SNA架构基础,SNA CenterSNA Installer结合

SNA整个闭环网络架构,实现的第一步是构建统一平台(容器、微服务),由SNA Center配合SNA Installer产品共同实现,以SNA三机单场景控制器举例(如图2所示)。

2 SNA CenterSNA Installer

简单类比硬件产品的硬件,Comware,产品软件包(路由、交换产品)三层设计,SNA基础架构分为物理服务器,SNA InstallerSNA Center+组件三层。

SNA Installer包含H3Linux操作系统以及相关容器化的基础软件包组合。安装在物理服务器上,由多台Master+Work节点组成(此处仅描述三台Master节点)SNA集群,提供容器化平台部署能力与集群能力。

SNA CenterSNA Installer集群上进行部署与安装,提供数据持久、统一认证、UI、业务组件部署、消息队列、日志、授权、备份恢复基础功能。

控制器、先知分析器等以热插拔组件形式安装在SNA集群上,同时共享SNA Center提供的公共基础组件功能。

SNA CenterE1108软件版本开始取消SNA Center产品的MQ子产品。

4       SNA Center架构,松耦合微服务实现

SNA Center产品作为SNA网络架构的核心产品,其自身依托容器技术,在kubernetes的编排下形成典型松耦合微服务架构。对整个SNA网络架构以及组件提供相关基础功能(如图3所示)。

3 SNA Center内部服务结构

SNA架构包含:DC组件服务,提供数据中心控制器组件服务。Campus组件服务,提供园区网控制器组件服务。WAN组件服务,提供广域网控制器组件服务。Analyzer服务,提供分析器服务。SNA Center产品包含WEB服务,提供页面访问服务,组件部署服务,以及UI业务配置服务、业务编排服务。Log分析服务提供日志的检索与备份功能。Log服务提供业务组件日志存储与备份功能。DB服务提供数据库存储服务和一致性服务。消息服务注 提供消息同步和事件服务。负载均衡服务,提供L4L7层负载均衡,满足集群内各组件间的可靠性和并发性要求。认证服务,提供统一的用户认证,用户授权,以及License服务。整个SNA Center北向提供统一API接口与云平台对接完成云平台Neutron功能实现。

单台SNA服务器上产品,工作负载,POD的关系(如图4所示)。

4 单台SNA服务器上产品,工作负载POD关系图

SNA三机单场景控制器中第一台服务器为例,一台SNA服务器上,包含是三个产品分别是SNA CenterDCvDHCP。其中SNA Center产品包含7个子产品(如表1所示)。

产品名称

产品组

产品组件

功能描述

SNA  Center

Pxc

Pxc

提供数据持久化服务

Iam

Ambassador

提供统一网关功能

Redis

提供缓存数据功能,支持数据的高效读取和HA处理

cas-server

提供认证服务功能

Iam

提供用户管理及认证客户端功能

snacenter

snac-be

提供后台基础服务

snac-ui

提供UI图形化操作界面服务

snac-deploy

提供组件部署功能

mq

Mq

提供高效的微服务间通信功能

log-center

Es

提供日志存储功能

Log

提供日志服务

logstash

提供日志过滤功能

log-globaltask

提供日志清理功能

filebeat

提供日志收集功能

licc

Licc

提供license功能

backuprecovery

backuprecovery

提供备份恢复功能

        1 单台SNA服务器上SNA Center与子产品表

SNA Center平行产品还包含harbor容器镜像管理产品,和kubernetes内部组件产品,以及DC控制器组件产品,vDHCP产品(三台主机中仅2台存在vDHCP组件),vBGP产品(SNA Center后续支持混合Overlay方案时增加的新组件)。

SNA Center产品不断优化微服务结构,不同版本的工作负载和POD数目可能存在细微差别,以当前版本为准。

log-center子产品从E1108开始新增log-globaltask子组件,提供日志清理功能。

5       SNA网络架构,组件通信原理

SNA网络架构中不同产品之间,POD之间,SNA组件与网络节点设备,用户与SNA Center均存在通信过程,SNA络架构针对不同产品通信特点采用不同的通信方式,确保组件间通信最优,组网适应性最强。

标准Kubernetes POD之间通信,分为单主机容器与跨主机容器网络通信两种。单主机容器通信包含host类型,bridge类型。跨主机容器网络通信包含macvlan类型, calico类型。详细对比如图5所示。其他类型SNA Center不涉及,故不作详细介绍。

5 kubernetes四种典型网络通信方式对比

SNA Center及其组件采用了不同的网络通信方式,参考举例说明如图6所示

6 SNA Center四种通信方式与组件情况

6中包含四种通信方式。

Ÿ   ambassadorcalico方式。容器启动时,分配一个eth0网卡,与服务器cali xxxx为随机命名)的网卡,两张网卡通过veth pair进行连接。cali xx网卡连接内核网络协议栈。容器内默认路由与网关ARP情况如图7所示。

 [root@sna01 ~]# docker exec -it 7162b7bfe5dc "route"  

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

default         169.254.1.1     0.0.0.0         UG    0      0        0 eth0

169.254.1.1     *             255.255.255.255   UH    0      0        0 eth0

[root@sna01 ~]# docker exec -it 7162b7bfe5dc "arp" 

? (169.254.1.1) at ee:ee:ee:ee:ee:ee [ether]  on eth0

7 容器内默认路由与网关ARP情况

Ÿ   容器通信时,IP地址为自己网卡IP,目的MAC为全eMAC,源MAC为网卡真实MAC

Ÿ   发往cali xx网卡后,执行三层转发查询物理服务器默认路由从主机网关发送报文,目的MAC地址封装成对应网关的MAC地址。从物理服务器eth0发送。

Ÿ   回程报文进入物理服务器eth0之后,查询主机路由与cali xx网卡接口进行转发。并进行一次源MAC替换成全e的动作将报文发送到容器内。

SNA Center7个子产品全部采用Calico方式与外界通信。

Ÿ   redishost直通。容器直接监听物理服务器物理网卡对应端口共享主机网络空间。

Ÿ   harborbridge直通,无bridge上行口。Harbor仅作为本地服务器镜像仓库管理,无需与外界通信,故直接采用bridge方式实现。

Ÿ   DC组件以及vDHCP组件:macvlan+calico方式。由于业务需要DC组件以及vDHCP需要同时与设备以及SNACenter内部容器通信,所以相关容器分配了2张网卡。通常我们将组件与设备通信的网卡称为南向网卡与IP,将DC组件与SNA Center交互通信,WEB配置的网卡称为北向网卡与IPDC组件南向网卡通信方式与ambassador一致采用calico方式。南向网卡通信采用macvlan方式,通过veth pair进行直接连接到物理服务器的对应网卡中,并与物理服务器命令空间隔离。vDHCPDC通信模型一致。

SNA网络架构中通信过程需要区分出北向通信与南向通信。南向通信方式较单一,即采用macvlan方式直接与网络设备进行通信。北向通信时通信过程涉及到iptables NAT表的多链之间转换,以ambassador为例描述详细过程,如图8所示。

8 SNA Center四种通信方式与组件情况

Ambassador微服务Service IP类型为Node Port类型,全部PODambassador采用此类型,其他微服务采用ClusterIP类型。直接访问实现步骤如下:

1.       用户向SNA集群IP发起http类型端口为10080的网页访问。

2.       请求到达物理服务器网卡之后匹配iptables NAT表的KUBE_NODEPORTS链(tcp,目的端口10080),执行动作送往KUBE-XLB-UYY6KTZNRO3IRC2X链继续处理,以及通过KUBE-MARK-MASQ标记为0x4000

3.       KUBE-XLB-UYY6KTZNRO3IRC2X两个匹配条件分别是:

Ÿ   匹配源IP为任意IP执行一个跳转到KUBE-SEP-YROBRDH6U3VXB2OC链动作

Ÿ   匹配源IPIP177.177.0.0/160 IP执行跳转到KUBE-SVC-UYY6KTZNRO3IRC2X动作

用户访问一般源IP为客户的IP地址,故命中第一个条件。前往KUBE-SEP-YROBRDH6U3VXB2OC继续转发。

KUBE-SEP-YROBRDH6U3VXB2OC匹配条件为匹配任意IP执行一个DNAT177.177.52.82:80完成单向通信。

回程时步骤:

1.       ambassador容器发出对应目的IP为用户IP的回程报文。

2.       匹配KUBE-SEP-YROBRDH6U3VXB2OC链,并设置标记0x4000

3.       KUBE-POSTROUTING中抓取对应0x4000标记报文,执行SNAT动作回程经过上述一个来回完成一次通信过程。

整个通信过程与Linux iptables NAT表以及相关链密切结合,动作为kubernetes自动下发,无需人工干预自动完成通信与地址转换,标记工作。

POD间另外一种通信方式是通过PODCluster IP类型的Service IP通信,改方式与ambassador通信类似,区别在于链表设计了负载均衡过程,通过链表实现内部流量负载。

6       SNA网络架构,典型组网规划

SNA网络架构与上一代控制器产品仅需要几个地址存在差异,进行组网时需要进行细致规划。

SNA网络架构中涉及到的IP地址类型如表2所示。

类型

数目

SNA Center主机

3+NN=work节点数目)

集群内部虚IP

132位)

北向业务虚IP

132位)

Service IP地址池

一段16位子网

默认10.96.0.0/16

容器IP地址池

一段16位子网

默认177.177.0.0/16

组件南向网络

DCCampusvDHCPvBGP

网络及其子网网段

推荐32个地址池

2 SNA网络架构中涉及到的IP

Ÿ   SNA Center主机:服务器物理口/Bond口地址,数目等于3+NN=Worker节点数目。

Ÿ   集群内部虚IP1个(32位掩码),通常与SNA Center主机地址同一网段。

Ÿ   北向业务虚IP1个(32位掩码),通常与SNA Center主机地址同一网段。

Ÿ   Service IP地址池: 通常一段16位掩码子网, 默认10.96.0.0/16。地址内部使用,仅跟管理网地址冲突才需要更换。

Ÿ   容器IP地址池:通常一段16位掩码子网,默认177.177.0.0/16。地址内部使用,仅跟管理网地址冲突才需要更换。

Ÿ   组件南向网络(DCCampusvDHCPvBGP):用户创建的网络中占用IP地址。可选与SNA Center主机同一网段,组件地址从“组件>组件>网络配置”从分配。如图9中的网络:

9 SNA Center组件>组件>网络配置 网络配置情况

地址规划时通常采用如下方案:

方案一不区分南北向:172.16.0.0/27IP地址富足分配127位掩码地址用户组件南向网络,IP地址紧缺,后续组件扩容需要考虑IP地址数目问题。

类型

数目

SNA Center主机

172.16.0.1-3

集群内部虚IP

172.16.0.4

北向业务虚IP

172.16.0.5

Service IP地址池

一段16位子网

默认10.96.0.0/16

容器IP地址池

一段16位子网

默认177.177.0.0/16

组件南向网络

DCCampusvDHCPvBGP

子网配置172.16.0.0/27,地址池将1-5地址剔除

推荐32个地址池

3 SNA网络架构方案一IP地址规划

方案二区分南北向共用网卡:172.16.0.0/2710.10.10.0/24(南向组件,结合南向网络配置VLAN进行区分)。

方案三区分南北向不共用网卡:172.16.0.0/2710.10.10.0/24(南向组件,结合不同物理网口可以实现物理隔离)。

上述三种方案为常见三种SNA Center组网规划,示意图如图10所示。

10 SNA Center组网规划示意

7       总结

数字化转型过程不能一蹴而就,整体架构演进过程中SNA网络架构凭借其灵活弹性,稳定可靠的特征,满足了各个组件的敏捷迭代。它是打开智能网络未来的一把钥匙。

感谢您对本刊物的关注,如果您在阅读时有何感想,请点击反馈。
新华三官网
联系我们