searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

高性能内网DNS系统介绍

2022-12-29 10:18:52
32
0

 

 

数据通信

1.1 网络拓扑

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

 

 

1.2 访问流程

 

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

 

控制通信

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

域名空间

     采用有层次的目录结构来隔离租户的私有域,同时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进程处理增删改业务,最终通知业务进程加载变化的配置,实现热数据更新。

 

 

如上图,

  1. DPDK收发报文,经驱动处理后,进行业务分流
  2. VXLAN 4789和 DNS 53报文送至freeBSD协议栈处理
  3. Agent北向接口服务的报文经KNI送至linux内核协议栈;
  4. Agent南向接口服务的报文通知DNS主进程重新加载配置
  5. DNS转发业务经freeBSD协议栈路由至外网口 获取结果,同时DNS 缓存模块会保存查询结果

 

 

4.1 性能极限

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

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

已经实测:虚机单核 5W QPS 两核10W QPS  四核 20W QPS  8核 40W QPS

0条评论
0 / 1000
郭****杰
3文章数
0粉丝数
郭****杰
3 文章 | 0 粉丝
郭****杰
3文章数
0粉丝数
郭****杰
3 文章 | 0 粉丝
原创

高性能内网DNS系统介绍

2022-12-29 10:18:52
32
0

 

 

数据通信

1.1 网络拓扑

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

 

 

1.2 访问流程

 

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

 

控制通信

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

域名空间

     采用有层次的目录结构来隔离租户的私有域,同时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进程处理增删改业务,最终通知业务进程加载变化的配置,实现热数据更新。

 

 

如上图,

  1. DPDK收发报文,经驱动处理后,进行业务分流
  2. VXLAN 4789和 DNS 53报文送至freeBSD协议栈处理
  3. Agent北向接口服务的报文经KNI送至linux内核协议栈;
  4. Agent南向接口服务的报文通知DNS主进程重新加载配置
  5. DNS转发业务经freeBSD协议栈路由至外网口 获取结果,同时DNS 缓存模块会保存查询结果

 

 

4.1 性能极限

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

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

已经实测:虚机单核 5W QPS 两核10W QPS  四核 20W QPS  8核 40W QPS

文章来自个人专栏
云解析DNS
3 文章 | 2 订阅
0条评论
0 / 1000
请输入你的评论
1
0