于网站主机,DNS,域名解析,Web服务器关系详解

时间:2023-02-19 15:07:53

/*本文将介绍网站主机,DNS,域名解析,Web服务器关系,转载请保留以下版权*/

/*启明星工作室 www.dotnetcms.org  提供会议室预定系统,请假系统,helpdesk,工作日志系统,采购系统,员工投票等系统*/

(1)域名

在理解域名和IP地址关系前,需要说明2个概念:一个域名只能绑定一个IP地址,而一个IP可以绑定多个域名。

例如启明星官网www.dotnetcms.org  绑定的是阿里云的的 120.24.86.232,所以,你ping www.dotnetcms.org 就是 120.24.86.232

于网站主机,DNS,域名解析,Web服务器关系详解

但是,对于大型网站,为了减轻负载均衡,多使用负载均衡。在理解负载均衡前,先简单说一下浏览器解析IP的过程:

例如笔者在 安徽蚌埠,使用的电信的宽带。当我们在浏览器输入 www.dotnetcms.org 时,大致的流程是:

浏览器将先查找本地的DNS, 这可以通过在cmd里输入 ipconfig/all 查询

于网站主机,DNS,域名解析,Web服务器关系详解

通过上图可以看到,笔者输入 www.dotnetcms.org 时,浏览器将先查询 IP为 61.132.163.68的域名服务器。

那么这个IP是哪里的?利用 www.ip138.com 可以大致得出,这是安徽合肥的DNS。

于网站主机,DNS,域名解析,Web服务器关系详解

换句话说,浏览器将在61.132.163.68DNS服务器里找到有没有  www.dotnetcms.org和120.24.86.232的关系。

如果找到接显示页面,如果没有则会进一步往上层查找。 例如,如果查询不到,那么此时可能就查询到北京的DNS服务器,如果北京查询不到,就再进一步网上查,一直查询到跟org为准。

目前com,net,org跟域名服务器都在美国,所以,如果查询到美国的跟域名仍查询不到,就意味着域名解析失败。

下图显示了整个解析大致示意图(实际比这里复杂,仅供参考)

1)下层的蚌埠DNS服务器往安徽DNS服务器查,查到就返回,查不到就往北京DNS服务器查,如果查询就返回结果,如果没有则往美国服务器上查,如果查询到就返回结果,如果没有没有,则解析失败

2)为了提高解析速度,下层服务器查询到结果后,会把从上层查询的的结果(也就是dotnetcms.org和120.24.86.232的关系),复制到本地存一个副本

于网站主机,DNS,域名解析,Web服务器关系详解

因为下层DNS为了性能复制了上层的解析关系并且存放到本地,这使得DNS解析并不是实时的。

所以,你在很多域名服务器里会看到DNS设置里,都会提示你:你的域名DNS因为有缓存,所以,可能需要等待2-24小时才会生效。

于网站主机,DNS,域名解析,Web服务器关系详解

 (2)网站加速(这里做了类别,方便理解负载均衡)

对于大型网站来说,首页如果不经常更新的可能会使用百度云加速。

例如启明星使用的阿里云在杭州,首页不经常更新。 北京有一个用户访问了启明星网站后,

因为使用百度云加速,所以,百度服务器会存一个副本留在百度服务器上。

同样上海的用户访问启明星网站,会在百度另外一个服务器上存另外一个副本。

目前,百度在全国有12个云加速,所以,全国各地的网友如果访问启明星网站,百度云就近选择一个缓存副本给客户。

因为百度云加速的服务器的IP是不同的,这就导致了北京的用户ping  www.dotnetcms.org 可能是 1.1.1.1 而上海用户ping www.dotnetcm.org 返回的可能是 2.2.2.2

也就是说,这些用户ping的服务器IP并不是启明星真正的服务器的IP。

这顺便解释了为什么百度云加速可以防外部攻击,因为黑客攻击的并不是真实的启明星服务器地址。

于网站主机,DNS,域名解析,Web服务器关系详解

通过上面的解析,你大致了解了公网IP,但是通过路由器,有时候,你可以把内网IP映射为公网IP,这主要通过路由器来完成。

(3)把内网机器映射为公网

在早期,既然你能上完,那就意味这你有一个公网IP,但是,随着互联网的快速发展,IP不够用了。IP地址分5类,常见的地址是A、B、C类. A类从1.0.0.0 到126.0.0.0 ,B类从128.1.0.0到191.254.0.0,C类192.0.1.0 到223.255.254.0

A类的一个IP段可以使用2的24次方也就是16777216台电脑,B类的一个IP地址段可以存放2的14次方也就是65533台电脑,而C类的一个IP段可以使用254台电脑。

你可以简单的理解为:A类给超大公司用,B给大公司用,C给中小公司用。

基本上,在公司里或者你自己的家里,不会超过254台电脑,而C类IP又是以192开始的,所以,很多路由器默认就使用 192.168.0.1作为路由地址(也算是一个约定)。

现在你明白为什么很多路由器用192.168.0.1作为默认网管了吧。

如果你家里使用的是IP-LINK,并且没更改其默认值,他默认使用的就是192.168.0.1。你的电脑,手机,ipad通过wifi连接到路由器上,都会自动获取一个 192.168.0.X的IP

于网站主机,DNS,域名解析,Web服务器关系详解

因为,你自己的电脑是通过路由器上网,路由器可能会给你win7分配的ip是 192.168.0.2,这是一个内网的IP,在其他各地是访问不了的,这意味着,如果你希望

让你的win7作为服务器并绑定域名,其实是失败的,此时,可以使用路由器的DMZ进行映射。

所谓映射,就是其他人访问你的192.168.0.2时,路由器会自动转换为公网的IP(例如转换为 120.25.85.55)。此时,如果你使用花生壳等路由解析时,设置公网

IP即可。

于网站主机,DNS,域名解析,Web服务器关系详解

不过,你可能就算设置了DMZ仍然无法访问,因为,你还需要电信供应商进行解析。理解这个还要回到IP的地址不够上。

一个小区有200户,每户家里有一台电脑,一个手机,一个iPhone,你可以想想,如果每个设备需要一个公网IP,那就是说,一个小区就需要600个公网IP

那得多少个公网IP啊,电信部门可没有那么多IP给你,怎么办?那就是整个小区电信会给你一个内网IP,通常电信部门给整个小区一个IP 192.168.1.101

换句话说,从家角度看,你家里电脑,手机,Ipad组成一个内网,而从你小区看,你小区的200户组成了一个内网。在往上一级,你用的IP才是公网的ip

通过层层分解,可以解决IP地址不足,但是可能给你设置自己的电脑作为服务器增加了麻烦。

未完待续

于网站主机,DNS,域名解析,Web服务器关系详解的更多相关文章

  1. Servlet学习之web服务器Tomcat 详解

    Web服务器是什么 Web服务器是指驻留于因特网上某种类型计算机的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文 ...

  2. 解决Ubuntu系统的每次开机重启后,resolv.conf清空的问题和DNS域名解析问题(图文详解)

    不多说,直接上干货! 问题情况描述如下: 普及知识:   /etc/resolv.conf ,其实是一个Link .它其实指向的是 /run/resolvconf/resolv.conf.  Ubun ...

  3. Web服务器项目详解 - 00 项目概述

    目录 00 项目概述 01 线程同步机制包装类 02 半同步/半反应堆线程池(上) 03 半同步/半反应堆线程池(下) 04 http连接处理(上) 05 http连接处理(中) 06 http连接处 ...

  4. Linux下DNS服务器搭建详解

    Linux下DNS服务器搭建详解 DNS  即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域名解析 ...

  5. 2-4、nginx特性及基础概念-nginx web服务配置详解

    Nginx Nginx:engine X 调用了libevent:高性能的网络库 epoll():基于事件驱动event的网络库文件 Nginx的特性: 模块化设计.较好扩展性(不支持模块动态装卸载, ...

  6. DNS技术和NAT技术详解

    DNS技术和NAT技术详解一.DNS(Domain Name System)1.什么是DNS2. 了解域名3.域名解析过程4.使用dig工具分析DNS过程5.浏览器输入URL后发生什么事?二.ICMP ...

  7. Asp.net中web.config配置文件详解(一)

    本文摘自Asp.net中web.config配置文件详解 web.config是一个XML文件,用来储存Asp.NET Web应用程序的配置信息,包括数据库连接字符.身份安全验证等,可以出现在Asp. ...

  8. 《Tomcat与Java Web开发技术详解》思维导图

    越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 ...

  9. C#中web.config文件详解

    C#中web.config文件详解 一.认识Web.config文件 Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NE ...

随机推荐

  1. <!DOCTYPE>标签的定义与用法

    <!DOCTYPE> 声明不是 HTML 标签:它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令. 在 HTML 4.01 中,<!DOCTYPE> 声明 ...

  2. poi导出word、excel

    在实际的项目开发中,经常会有一些涉及到导入导出的文档的功能.apache开源项目之一poi对此有很好的支持,对之前的使用做一些简要的总结. 1,导入jar 为了保证对格式的兼容性,在项目的pom.xm ...

  3. C&num;验证码的生成

    HTML <ul> <li>验证码:</li> <li> <img src="/Login/GetValidateCode?ID=1&q ...

  4. 利用certutil&period;exe实现在批处理(bat)中嵌入可执行文件或者各种媒体、图片之类二进制文件的简单方法!

    实际上利用certutil.exe 把二进制文件(包括各种文件,exe可执行程序,图片,声音,mp3) 经过base64编码为文本,可以实现把这些文件嵌入到批处理代码中. 有什么用?: 举个例子,批处 ...

  5. sqlserver常用调优脚本(转)

    (转)以备不时之需 最耗时的sql declare @n int set @n=500 ; with cte1 as(select a.*,t.*from sys.dm_exec_query_stat ...

  6. jQuery的选择器中的通配符&lbrack;id&Hat;&equals;&&num;39&semi;code&&num;39&semi;&rsqb; 【转】

    JQuery 1.选择器 (1)通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='cod ...

  7. 鼠标悬停移除更换class

    $("#xinl").mouseover(function()  //鼠标悬停执行函数 { $(".xl").removeClass().addClass(&q ...

  8. hosts文件原理

    hosts文件是一个用于储存计算机网络中各节点信息的计算机文件.这个文件负责将主机名映射到相应的IP地址.hosts文件通常用于补充或取代网络中DNS的功能.和DNS不同的是,计算机的用户可以直接对h ...

  9. html5开发学习 html5自学需要怎么学

    记得很多大鳄都说过一句话:只要站在风口上,猪都能飞起来.而对于如今的IT技术领域来说,无疑这只幸运的"猪"非html5莫属.html5开发技术在16年迎来了一个飞跃的发展,这也让很 ...

  10. 异常处理汇总 ~ 修正果带着你的Code飞奔吧!

    异常处理汇总-运维系列 http://www.cnblogs.com/dunitian/p/4522983.html 异常处理汇总-开发工具  http://www.cnblogs.com/dunit ...