0
点赞
收藏
分享

微信扫一扫

高性能内网DNS系统介绍



作者:天翼云  郭爱杰

本文关键词:DPDK,多租户,DNS,私有域

一 概述

高性能内网DNS是基于DPDK的多租户私有域解析装置,涉及计算机域名解析领域技术,该系统包括控制面和数据面通信。控制面通信主要是用于同步租户配置信息到DNS网元节点,数据面通信是满足租户ECS的域名解析功能。 在DNS网元节点,底层采用DPDK收发报文,保证性能优势,同时协议栈处理会话时,将租户信息透传至业务进程用于数据隔离。租户的域名空间采用目录层次结构便于维护和部署。在驱动和协议栈对接时,严格区分数据和控制分流,大大降低了后期上线排查问题的难度,也不依赖于其它服务组件,部署方便,支持ARP学习,在复杂的云环网环境中,灵活部署。下面展开介绍高性能内网DNS。

二 系统组成

2.1 数据通信

2.1.1 网络拓扑

ECS 通过宿主机OVS 建立vxlan 隧道,直接达到内网DNS网元节点,在DNS侧利用VXLAN的携带的隧道信息即租户信息直接查找对应租户域名信息,将结果返回给ECS。

高性能内网DNS系统介绍_缓存

2.1.2 访问流程

高性能内网DNS系统介绍_协议栈_02

域名访问流程依次是访问租户域名,共享域名,缓存模块,转发模块,只要查询命中即返回。共享域名是对所有租户共享的内部域名,同时缓存模块仅缓存转发获取的结果,在缓存未过期时,直接命中缓存返回结果,用于提高性能,节省系统资源。


2.2 控制通信

控制平台接受用户的配置信息后,通过IP通信直接发送至DNS 网元节点的agent进程。 Agent进程对配置信息进行增删改处理后,通知数据面的主进程加载变化的配置信息。同时控制器负责把多台DNS的节点选择性的分配到租户的ECS侧,且满足每台ECS具备2个DNS节点,起到容灾机制和负载均衡的目的。

高性能内网DNS系统介绍_缓存_03

2.3 域名空间

采用有层次的目录结构来隔离租户的私有域,同时VXLAN通信的唯一VNI和租户关联的VPC对应上,加载数据结构采用哈希桶和二叉树来实现高效查询服务。

ZONE

conf/{tenant_id}/zone/{zone_id}/{zone_name}

共享域名即天翼云内网域名对应的zone_id 是全0

缓存模块是域名树方式存储


VPC  

conf/{tenant_id}/vpc/{vni}

第一行    100.125.200.1           #VTEP IP

第二行 192.168.0.0/16          #VPC  私网

第三行 8a106a4e7859c01801793fa5d84e01c2   #关联的zone id

第四行 ba106a4e7859c01801793fa5d84e01ab  #关联的zone id


三 系统架构

DPDK收发报文,经驱动处理后,进行业务分流;数据面的VXLAN 4789和 DNS 53报文经freeBSD协议栈处理,业务进程处理查询业务;控制面的HTTP 80 经KNI,linux协议栈处理,agent进程处理增删改业务,最终通知业务进程加载变化的配置,实现热数据更新。

高性能内网DNS系统介绍_数据_04

如上图,

1. DPDK收发报文,经驱动处理后,进行业务分流

2. VXLAN 4789和 DNS 53报文送至freeBSD协议栈处理

3. Agent北向接口服务的报文经KNI送至linux内核协议栈;

4. Agent南向接口服务的报文通知DNS主进程重新加载配置

5. DNS转发业务经freeBSD协议栈路由至外网口 获取结果,同时DNS 缓存模块会保存查询结果


四 系统性能

4.1 性能极限

在相同的物理系统资源配置下,本产品可达到百万级甚至千万级别QPS, 远高于其它同类产品的性能,同时流量均衡的情况下,实现性能随系统资源的增长而呈现线性上升。

在相同的虚拟系统资源配置下,已经实测:虚机单核 5W QPS 两核10W QPS  四核 20W QPS  8核 40W QPS。 远高于相同配置的虚机性能。


五 总结

简单总结一下,也可说明写作目的、应用场景、或经验分享等。

将来可能的应用场景

1. 天翼云网络产品线,作为云服务厂商的标配服务组件内网DNS上线后,满足客户的私有域解析,天翼云共享域名解析同时兼顾公网域名解析服务。

2. 作为公网DNS服务时,支持授权子域,同时在安全方面支持DNS Over TLS;将大大增加DNS细化产品线和迎合市场需求,扩大客户群体。

可能价值

1. 资源池内的系统资源是有限的,在固定的硬件配置下,采用此产品能够满足高性能的业务场景。

2.  资源池内的网络环境,拓扑结构复杂多变,采用此产品部署内网DNS, 大大降低了运维工程师部署上线的难度和维护成本。

举报

相关推荐

0 条评论