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. uva 1471 Defense Lines

    题意: 给一个长度为n(n <= 200000) 的序列,你删除一段连续的子序列,使得剩下的序列拼接起来,有一个最长的连续递增子序列 分析: 就是最长上升子序列的变形.需要加一个类似二分搜索就好 ...

  2. SQL常用日期函数

    原文:http://www.cnblogs.com/coconut_zhang/archive/2009/02/02/1382598.html 1. 当前系统日期.时间 select getdate( ...

  3. Ubuntu package managerment tools

    Visual demostration References Understanding differences between dpkg and apt-get/aptitude tools. A ...

  4. 编译php时,出错bad interpreter

    安装php,参数有--with-apxs2.出现错误bad interpreter,原因是apache的apxs的文件需要perl的支持,首先要安装perl,然后修改apxs第一行,把第一行的#!/r ...

  5. Python之路第五天,基础(5)-序列化和字符串格式化

    序列化 Python中用于序列化的两个模块 json 用于『字符串』和『python基本数据类型』间进行转换 pickle 用于『python特有的类型』和『python基本数据类型』间进行转换 js ...

  6. python基础教程第2章——列表与元组笔记

    1.序列是Python中最基本的数据结构.序列中的每个元素被分配一个序列号——元素的位置,也称索引,第1个索引是0,第2为1,以此类推.序列中的最后1个元素为-1,倒数第2个位-2. python中有 ...

  7. Android设置全屏

    全屏显示 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLA ...

  8. DenyHosts安装及配置

    一.DenyHost简介 DenyHosts是Python语言写的一个程序软件,运行于Linux上预防SSH暴力破解的,它会分析sshd的日志文件(/var/log/secure),当发现重复的攻击时 ...

  9. Method "setAge" failed for object action.RegistAction@1f05562b [java.lang.No....

    大家好,如果大家看到了这篇文字.我觉得大家应该是遇到了该类问题. 首先,NullPointerException 空指针异常. 其次,大家应该是是在使用struts2和hibernate的使用遇到的这 ...

  10. 用 Python脚本生成 Android SALT 扰码

    发布Android 有偿应用时需要随机生成 SALT 扰码夹在文件中,以下是 Python脚本(当然你选择 C/Java/SHELL/Perl 或别的都行) #!/usr/bin/python # F ...