SylixOS中DNS静态映射简介
admin
2023-03-16 08:01:22
0次

1. DNS功能简介

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,用户能够通过域名访问互联网,而不用去记住IP地址。通过域名得到其对应的IP地址的过程叫做域名解析。每个域名都对应一个IP地址,但一个IP地址可以对应多个域名。

2. SylixOS中DNS静态映射

主机名到IP地址的映射有两种方式:

1) 静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;

2) 动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置域名到IP地址的映射。网络上需要使用域名的设备,首先需要到DNS服务器查询域名所对应的IP地址。SylixOS中提供了两种主机名到IP地址的静态映射的实现方式。一种是在“/etc/hosts”文件中记录静态地址映射表;一种是以tshell命令的形式,在系统维护的哈希表中存放静态地址映射信息。

2.1 /etc/hosts文件

网络组件初始化函数halNetInit中,会调用到函数API_NetInit初始化网络系统。在向操作系统内核注册网络组件的过程中,系统会调用函数__netCfgFileInit初始化“/etc/hosts”文件。“/etc/hosts”文件中默认保存的信息为“127.0.0.1  localhost”,如图 2.1所示。

SylixOS中DNS静态映射简介

图 2.1 /etc/hosts文件内容

在“/etc/hosts”文件中增加地址映射信息“192.168.2.55  testip”,然后使用“ping testip”命令测试地址静态解析,发现成功地将testip地址解析为IP地址192.168.2.55,如图 2.2所示。

SylixOS中DNS静态映射简介

图 2.2 静态地址解析成功

在“/etc/hosts”文件中删除testip的地址映射信息,再次使用“ping testip”命令测试地址静态解析,发现地址解析失败,如图 2.3所示。

SylixOS中DNS静态映射简介

图 2.3 地址解析失败

2.2 hosttable命令

在向操作系统内核注册网络组件的过程中,系统会调用函数__inetHostTableInit初始化本地地址转换表,同时添加名为“hosttable”的tshell命令。使用hosttable命令可以查看本地动态主机域名表中保存的地址映射信息,使用“-s”选项可以增加一个地址映射信息,然后使用ping命令测试地址静态解析的结果,如图 2.4所示。

SylixOS中DNS静态映射简介

图 2.4 hosttable命令添加信息

使用“-d”选项可以删除一个地址映射信息,同时使用ping命令测试地址静态解析的结果,发现此时地址解析失败,如图 2.5所示。

SylixOS中DNS静态映射简介

图2.5 hosttable命令添加信息

3. SylixOS中DNS静态地址解析过程分析

SylixOS网络协议栈中会调用函数__inetHostTableGetItem查询本地动态主机域名表。函数__inetHostTableGetItem查询本地动态主机域名表的过程可以分为三个部分。


1. 查询本地主机地址SylixOS中定义了本地主机地址“sylixos”,如果查询的主机名为“sylixos”,输出参数传出解析完成的的IP地址,即127.0.0.1,同时函数返回成功。使用“ping sylixos”命令测试,结果如图 3.1所示。

SylixOS中DNS静态映射简介

图2.6 本地主机名sylixos

2. 查询/etc/hosts文件保存的地址映射信息如果主机名不是“sylixos”,函数__inetHostTableGetItem会打开“/etc/hosts”文件,查询本地主机域名表,如果查询到相同主机名,输出参数传出对应的IP地址,并且函数返回成功。

3. 查询hosttable命令添加的哈希表中的地址映射信息如果“/etc/hosts”文件中没有查询到相应的主机名,函数__inetHostTableGetItem随后会遍历hosttable命令添加的哈希表中的地址映射信息,如果查询到相同主机名,输出参数传出对应的IP地址,并且函数返回成功;如果没有查询到相应主机域名信息,则函数__inetHostTableGetItem返回失败。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...