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所示。
图2.6 本地主机名sylixos
2. 查询/etc/hosts文件保存的地址映射信息如果主机名不是“sylixos”,函数__inetHostTableGetItem会打开“/etc/hosts”文件,查询本地主机域名表,如果查询到相同主机名,输出参数传出对应的IP地址,并且函数返回成功。
3. 查询hosttable命令添加的哈希表中的地址映射信息如果“/etc/hosts”文件中没有查询到相应的主机名,函数__inetHostTableGetItem随后会遍历hosttable命令添加的哈希表中的地址映射信息,如果查询到相同主机名,输出参数传出对应的IP地址,并且函数返回成功;如果没有查询到相应主机域名信息,则函数__inetHostTableGetItem返回失败。