Anycast功能和OSPF协议多进程在新疆铁通公司DNS系统中的应
用
【摘要】DNS域名解析系统,将域名转化为IP地址。 Anycast是网络提供的一种功能。OSPF是动态路由协议。DNS anycast:利用OSPF协议实现DNS anycast功能,更为方便有效灵活的实现DNS功能。
【关键词】DNS;anycast;OSPF
1.DNS系统介绍
1.1域名的介绍
1.1.1 域名的定义
域名,即DomainName,准确是说它是由英文字母、阿拉伯数字以及横”-”组成的一串字符,且英文不区分大小写,通常一个域名可以分为主体和后缀2部分,各部分由一个小点.隔开。以常见的163.com为例,163是这个域名的主体,而后面的.com表示这个域名属于国际域名,常见的还有.net、.cn 等等。这两部分构成了是一个完整的域名。
1.1.2 域名结构
通常 Internet 主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名。 Internet 的顶级域名由 Internet网络协会域名注册查询负责网络地址分配的委员会进行登记和管理,它还为 Internet的每一台主机分配唯一的 IP 地址。全世界现有三个大的网络信息中心: 位于美国的 Inter-NIC,负责美国及其他地区; 位于荷兰的RIPE-NIC,负责欧洲地区;位于日本的APNIC ,负责亚太地区。在整个INTERNET网络中,域名占据着极其重要的地位,因为它有着一个很严谨的金字塔似的层级结构模式,通常又被称为命名空间。
1.2 DNS的介绍
1.2.1 DNS的定义
DNS是域名系统 (Domain Name System) 的缩写,是由解析器以及域名服务器组成的,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。DNS使用TCP与UDP端口号都是53,主要使用UDP。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。
1.2.2 DNS的功能
没有什么人在访问的时候会直接输入IP地址,取而代之的是输入一串简单,容易记忆的字符,有数字的,如www.163.com;也有纯字母的,如www.qq.com ,只要网络连接没问题,就可以直接访问对应的网站。但在理论上访问网址依然需要用到IP地址的,只是字符转换为IP地址这部分工作由DNS服务器代劳了而已,而这个转换过程对于客户端来讲是完全透明的。DNS的主要功能就非常有意义的体现了出来,主要是用于记录网络中的主机名称和IP地址的对应关系,并且接受来自客户端的询问,将主机名称解析为对应的IP地址,或由IP地址反向解析出主机名称。
2.Anycast介绍
2.1 Anycasy的定义
Anycast指IPV6协议中一个发送方同最近的一组接收方之间的通信。Anycast的定义是:当一个单播地址被分配到多于一个的接口上时,发到该接口的报文被网络路由到由路由协议度量的“最近”的目标接口上。
2.2 Anycasy的原理
Anycast是网络提供的一种功能,即在IP网络上通过一个Anycast地址标识一组提供特定服务的主机,同时服务访问方并不关心提供服务的具体是哪一台主机,访问该地址的报文可以被IP网络路由到这一组目标中的任何一台主机上,它提供的是一种无状态的、尽力而为的服务。它允许服务器申请者,访问共享同一个Anycast地址的接收者中最近的一个。
2.3 Anycasy的优点
(1)分布的服务共享相同的IP地址,比如应用在DNS系统中,在网络中它可以共享几个熟知的IP地址,用户使用哪个DNS都可以,不用关心访问的是哪一台DNS服务器;(2)路由系统选择了“最近”的服务,缩短了服务响应的时间,同时减轻了网络负担;(3)相同的服务在网络上冗余分布,路由系统可以提供机制选择负载相对轻的带宽相对高的路径来转发报文,更有安全性,更好的提高了网络质量。
3.OSPF协议介绍
3.1 OSPF的定义
SPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(IGP),用于在单一自治系统(AS)内决策路由,是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),运作于自治系统内部。
3.2 OSPF的多进程
OSPF进程号的意义在于表示不同的路由协议进程,比如进进程2跟进程3就属于不同的路由进程,虽然他们同属于OSPF ,又或许运行于同一台路由器上,但他们之间是不会交换信息的,他们所维护着自己的数据库,之间完全没有联系。OSPF多进程,即在同一台路由器上可以运行多个不同的OSPF 进程,它们之间互不影响,彼此独立,不同OSPF 进程之间的路由交互相当于不同路由协议之间的路由交互。不同的OSPF进程仅对本地路由器有意义,它是仅将本地路由器划分成多个虚拟网络。把各路由器接口划分到不同的路由进程后,对应接口只与相连路由器接口所在的OSPF路由进程中的各路由接口交换路由信息,相连的两个路由器接口的路由进程号可以不一样,也可以一样。
3.3 OSPF多进程的作用
OSPF多进程的主要作用就是隔离路由信息。可以简单地把多个不同OSPF进程理解为多个不同的动态路由协议的进程,不同路由协议下的路由信息是不能直接进行交换的,最终也造成通过不同路由协议学习到的动态路由都是不通的。OSPF上的多进程也是如此,不同进程各自有不同的LSDB(链路状态数据库),彼此之间是不交换路由信息的,当然彼此之间的网络也就不会直接相通了,这就是相当于把一个物理网络划分成多个虚拟网络。4.Anycast功能和OSPF协议多进程在新疆铁通公司DNS系统中的应用
4.1新疆铁通公司DNS系统的组网
4.1.1 新疆铁通公司DNS系统的设备组成
(1)省干核心路由器:BR1和BR2。(2)两台城域网核心三层交换机:核心交换机S9306,NDC交换机S9306。(3)2台DNS服务器。
4.1.2 新疆铁通公司DNS系统的组网
(1)城域网核心交换机s9306和NDC-s9306分别下挂在省干核心路由器BR1和BR2下,负荷分担。(2)DNS服务器1和DNS服务器2分别下挂在城域网核心交换机s9306和NDC-s9306下,负荷分担。 (3)两台DNS服务器对外统一宣告IP地址为211.98.127.101和211.98.127.102。
4.2.2 新疆铁通公司DNS系统的路由组织
4.2.2.1最初的路由组织
BR1和BR2与核心交换机S9306、NDC-S9306之间本身就启用着OSPF动态路由协议,且只有1个进程OSPF1。在核心交换机S9306、NDC-S9306与DNS服务器1和DNS服务器2之间也启用OSPF动态路由协议,进程为OSPF1。所有属于不同网络层次的互联接口的IP地址均在OSPF1的area 1里宣告。
4.2.2.2存在问题
在DNS系统中测试Anycast功能时,发现该功能失效。即当DNS1服务器工作,DNS2服务器故障,同时DNS1服务器的上行链路有一条中断时,或者核心交换机S9306故障,导致DNS1和DNS2至核心交换机S9306的上行链路均中断时,路由无法切换至从NDC-S9306到DNS1和DNS2的径路,对外宣告的DNS地址无法正常使用。 经测试发现是由于在核心交换机s9306和NDC-s9306上将DNS系统也配置在与BR之间的ospf1的area1区域中,造成核心交换机s9306和NDC-s9306将所有接收到的路由全部发给两台DNS服务器,而DNS1和DNS2服务器接收的路由太多,导致Anycast功能失效,路由无法自动切换。
4.2.2.3处理方法
利用OSPF多进程的功能来解决上述存在的问题, OSPF多个进程间的路由信息是不互相发布的。在核心交换机s9306和NDC-s9306上新开ospf进程,即ospf2,配置区域area2,在不同的进程下的区域中发布属于不同网络层次的互联接口地址。这样就通过两个进程两个区域隔离了路由发布,DNS1和DNS2服务器就不会接收到核心交换机s9306和NDC-s9306上发布过来的大量路由,再通过将ospf2的路由引入到ospf1实现DNS系统路由的对外发布。
4.2.2.4最终的路由组织
BR1和BR2与核心交换机S9306、NDC-S9306之间启用OSPF动态路由协议,且只有1个进程OSPF1。在核心交换机S9306、NDC-S9306与DNS服务器1和DNS服务器2之间启用OSPF动态路由协议,进程为OSPF2。在核心交换机S9306、NDC-S9306上,属于核心层的互联接口的IP地址在OSPF1的area 1里宣告,属于DNS系统的互联接口的IP地址在OSPF2的area 2里宣告。
5.结束语
以往老的DNS系统对外宣告的DNS地址,分别属于不同的两台DNS服务器,即DNS1使用IP地址为211.98.127.101,DNS2使用IP地址为211.98.127.102,而且为了不让其中一台DNS服务器超负荷,电信运营商会按区域划分不同的地市分公司使用不同的DNS地址,就会造成,如果其中一台DNS服务器故障,那么使用该DNS服务器地址的地市分公司互联网业务就会受到影响,必须启动应急预案进行恢复处理,影响比较大,恢复时间较长。但通过使用ospf协议多进程来实现Anycast功能的DNS系统,就不会存在老DNS服务器的问题,两台DNS服务器同时使用,负荷分担,其中一台DNS服务器或者上行链路中断后,路由自动切换至另一台DNS服务器,另一边上行链路,起到了很好的保护作用。使用OSPF多进程和Anycast功能的DNS系统还可根据通道情况自动调整路由,选择质量好的通道,不会存在拥塞情况,保障了用户的上网质量,更加安全稳定和可靠,维护更方便。
参考文献:
[1]《深入理解OSPF路由进程》王达 中国水利水电出版社
[2]《基于DNS的Anycast实现》张建华 南京邮电学院网络中心