1. 网络基础
.note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif;}

.note-content h2 {line-height: 1.6; color: #0AA89E;}
.note-content {background: #FFFFFF;}
.note-content h1 {color: #7AB3A7;}
.note-content h3 {color: #147A67;}

1. 网络基础

1.6 DNS作用

○ DNS是什么?

我们把DNS称为Domain Name System的缩写,也就是域名系统,同样称为名称解析。

  • 在互联网中,通过IP地址来通信
  • IP地址用数字表示,记忆起来太困难(如116.213.120.232)
  • 人对域名(英文单词,字符串)更加敏感,如:http://www.qq.com

○ hosts文件

在系统中都存在一个文件:hosts

Windows下:C:\Windows\System32\drivers\etc\hosts

Linux下:/etc/hosts

1.127.0.0.1               localhost.localdomain 
2.(IP) (域名)

现在我们把文件改一下

1.127.0.0.1               localhost.localdomain localhost
2.::1 localhost6.localdomain6 localhost6
3.192.168.4.156 www.sina.com



发现新浪的假IP192.168.4.156其实是ping不通的。

PING www.sina.com (192.168.4.156) 56(84) bytes of data.它ping的并不是真正的新浪,这是我写的IP地址

所以,hosts是做静态测试IP和域名对应的。

只要我们把IP和域名写入hosts文件里面,它就会认为这个192.168.4.156IP的域名是www.sina.com,它优先于DNS,也就是说它优先于我们访问公网域名解析,只要你hosts文件填写了就不会去公网域名解析



而对于www.sina.com.cn的连接是没问题的,因为hosts文件并没有www.sina.com.cn这个域名主机

hosts文件的优先级是高于DNS解析的

○ 从Hosts文件到DNS

  • 早期Hosts文件解析域名

    • 名称解析效能下降(如果把全部的IP和域名写入一个文件,这个文件得有好几十GB,打开太慢)
    • 主机维护困难(要是某个人把其中一个IP改掉,可能出现错误)
  • DNS服务
    • 层次性
    • 分布式

○ DNS服务的作用

  • 将域名解析为IP地址

    • 客户机向DNS服务器发送域名查询请求
    • DNS服务器告知客户机Web服务器的IP地址
    • 客户机与Web服务器通信

举个栗子:如果我要访问qq

首先回向DNS发起一个请求,说:我要访问qq——>客户机会问DNS:你知道这个网站的IP吗?———->DNS会把IP地址告诉客户机————>客户机拿到IP之后就会去访问qq

○ 域名空间结构

域名空间结构又叫做完全合格域名

域名用”.“进行分割便于分级管理

  • 根域 —–”.“表示根域名,根域名的服务器只有13台,中国大陆是没有的
  • 顶级域(一级域)—-顶级域名是由域名分配组织ISO决定的
    • 组织域—-gov(政府部门)、com(商业部门)、edu(教育部门)、org(民间团体组织)、net(网络服务机构)、mil(军事部门)
    • 国家或地区域—-cn(中国)、jp(日本)、uk(英国)、au(澳大利亚)、hk(香港)
  • 二级域—-比如说:baidu、qq、microsoft,是个人或者企业向域名分配组织购买的
  • 主机名—-三级域名是申请完二级域名后自己规定的,一般用www表示网页服务

三级域名+二级域名+顶级域名组成完整域名空间,并且域名全球唯一的

○ DNS查询过程

DNS客户机———->本地域名服务器:

①如果本地域名服务器不知道该网站,那么会向根DNS服务器发起查询————->根DNS服务器把一级DNS服务器的IP地址给本地域名服务器————>本地域名服务器向一级DNS服务器发起请求——————>一级域名DNS服务器把二级DNS服务器的IP地址给本地域名服务器————>本地域名服务器向二级DNS服务器发起请求————–>二级DNS服务器返回网站IP地址给本地域名服务器—————>本地域名服务器把IP地址告诉DNS客户机

②如果本地域名服务器曾经向请求根DNS服务器解析过,知道该网站,那么会在本地域名服务器有该网站IP地址的缓存,一段时间后又去根服务器查询

○ DNS查询类型

  • 从查询方式分

    本地域名服务器——–>根DNS服务器:迭代查询(迭代查询允许返回一个类似值或者最优化值)

    客户机———->本地域名服务器:递归查询(递归查询是必须提供一个准确值或者是没有)

  • 从查询内容分

    • 正向查询:由域名查找IP
    • 反向查询:由IP查找域名

Linux网络管理——DNS作用的更多相关文章

  1. Linux网络管理——端口作用

    1. 网络基础 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB",&q ...

  2. Linux网络管理——网关作用

    1. 网络基础 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB",&q ...

  3. Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析(1-4)

    Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析 大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配 ...

  4. 学习笔记:CentOS7学习之十九:Linux网络管理技术

    目录 学习笔记:CentOS7学习之十九:Linux网络管理技术 本文用于记录学习体会.心得,兼做笔记使用,方便以后复习总结.内容基本完全参考学神教育教材,图片大多取材自学神教育资料,在此非常感谢MK ...

  5. Linux网络管理(一)之配置主机名与域名

    Linux网络管理(一)之配置主机名与域名参考自:[1]修改主机名(/etc/hostname和/etc/hosts区别) https://blog.csdn.net/shmily_lsl/artic ...

  6. Linux网络管理命令

    Linux网络管理命令 ifconfig 用于配置网卡ip地址信息等网络参数或显示网络接口状态,类似于windows的ipconfig命令. 可以用这个工具来临时性的配置网卡的IP地址.掩码.广播地址 ...

  7. linux网络管理----网络基础

    1.1 ISO/OSI 七层模型 笔记: 打入ipconfig: mac地址:Media Access Control 也是物理地址,这是由网卡决定的.负责的是内网,也就是局域网通信. IPv4地址: ...

  8. Linux学习笔记(11)linux网络管理与配置之一——配置路由与默认网关,双网卡绑定(5-6)

    Linux学习笔记(11)linux网络管理与配置之一——配置路由与默认网关,双网卡绑定(5-6) 大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配置DNS ...

  9. Linux:DNS主、从、缓存服务器配置、DNS同步加密TSIG配置、DNS分离解析配置

    DNS主服务器配置(正向解析.反向解析) 正向解析:根据主机名查找对应的IP地址.当用户访问一个域名时(不考虑hosts文件等因素),正常情况会向指定的DNS主机发送递归查询请求反向解析:根据IP地址 ...

随机推荐

  1. golang基础数据结构

    一.概述: 这里主要讨论四种类型---数组.slice.map和结构体 数组和结构体是聚合类型:它们的值都是由很多个元素或者成员字段的值组成.数组是有同构元素组成--每个数组的元素的类型相同:结构体为 ...

  2. HTML5新特性学习-2

    本文在于巩固基础 HTML5绘图基础 <canvas>画布元素的使用 <div> <canvas id="can" width="200px ...

  3. jQuery基础---Ajax基础教程(二)

    jQuery基础---Ajax进阶 内容提纲: 1.加载请求 2.错误处理 3.请求全局事件 4.JSON 和 JSONP 5.jqXHR 对象 发文不易,转载请注明出处! 在 Ajax 基础一篇中, ...

  4. 02js高级Function

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  5. 使用 hibernate 根据映射文件生成数据库表

    为了更好的显示效果,可以在hibernate.cfg.xml配置文件的<session-factory>标签里加入以下内容: 显示sql语句和格式化显示sql语句: <propert ...

  6. 【11.2noip冲刺赛】 循环整数 (分段打表)

    [问题描述]moreD在学习完循环小数之后发现循环是个很美好的性质.自己只需要记住短短的循环节以及循环次数(次数大于1,且是整数)就可以记住整个数字了.因为背诵数字变得方便了,moreD决定背诵[L, ...

  7. mysql 建立索引的原则

    建索引的几大原则 1. 最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>.<.between.like)就停止匹配,比如a 1="" an ...

  8. C# process 使用方法

    public static string ExecuteAaptCommand(string appName, string command) { string result = string.Emp ...

  9. SQL Server 数据库的自动选项

    自动选项影响SQL Server 可能会自动进行的操作,所有的这些都是bool值,值为on 或off 1. auto_close: 当这个为on 时.数据库在最后一个用户退出后完全关闭,这样数据库就不 ...

  10. SQL Server 改变数据库的名字

    方法 1: alter database modiry name = new_database_name; ---------------------------------------------- ...