医学研究生非全日制:dhcp与dns有区别?

来源:百度文库 编辑:杭州交通信息网 时间:2024/03/29 21:14:19
如题,请各位大侠指教!

DHCP 是 Dynamic Host Configuration Protocol(动态主机分配协议)缩写,它的前身是 BOOTP。BOOTP 原本是用于无磁盘主机连接的网络上面的:网络主机使用 BOOT ROM 而不是磁盘起动并连接上网络,BOOTP 则可以自动地为那些主机设定 TCP/IP 环境。但 BOOTP 有一个缺点:您在设定前须事先获得客户端的硬件地址,而且,与 IP 的对应是静态的。换而言之,BOOTP 非常缺乏 "动态性" ,若在有限的 IP 资源环境中,BOOTP 的一对一对应会造成非常可观的浪费。

DHCP 可以说是 BOOTP 的增强版本,它分为两个部份:一个是服务器端,而另一个是客户端。所有的 IP 网络设定数据都由 DHCP 服务器集中管理,并负责处理客户端的 DHCP 要求;而客户端则会使用从服务器分配下来的IP环境数据。比较起 BOOTP ,DHCP 透过 "租约" 的概念,有效且动态的分配客户端的 TCP/IP 设定,而且,作为兼容考虑,DHCP 也完全照顾了 BOOTP Client 的需求。

DHCP 的分配形式

首先,必须至少有一台 DHCP 工作在网络上面,它会监听网络的 DHCP 请求,并与客户端搓商 TCP/IP 的设定环境。它提供两种 IP 定位方式:

Automatic Allocation
自动分配,其情形是:一旦 DHCP 客户端第一次成功的从 DHCP 服务器端租用到 IP 地址之后,就永远使用这个地址。

Dynamic Allocation
动态分配,当 DHCP 第一次从 HDCP 服务器端租用到 IP 地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放(release)这个 IP 地址,以给其它工作站使用。当然,客户端可以比其它主机更优先的更新(renew)租约,或是租用其它的 IP 地址。

动态分配显然比自动分配更加灵活,尤其是当您的实际 IP 地址不足的时候,例如:您是一家 ISP ,只能提供 200 个IP地址用来给拨接客户,但并不意味着您的客户最多只能有 200 个。因为要知道,您的客户们不可能全部同一时间上网的,除了他们各自的行为习惯的不同,也有可能是电话线路的限制。这样,您就可以将这 200 个地址,轮流的租用给拨接上来的客户使用了。这也是为什么当您查看 IP 地址的时候,会因每次拨接而不同的原因了(除非您申请的是一个固定 IP ,通常的 ISP 都可以满足这样的要求,这或许要另外收费)。当然,ISP 不一定使用 DHCP 来分配地址,但这个概念和使用 IP Pool 的原理是一样的。

DHCP 除了能动态的设定 IP 地址之外,还可以将一些 IP 保留下来给一些特殊用途的机器使用,它可以按照硬件地址来固定的分配 IP 地址,这样可以给您更大的设计空间。同时,DHCP 还可以帮客户端指定 router、netmask、DNS Server、WINS Server、等等项目,您在客户端上面,除了将 DHCP 选项打勾之外,几乎无需做任何的 IP 环境设定。

DHCP 的工作原理

根据客户端是否第一次登录网络,DHCP 的工作形式会有所不同。

第一次登录的时候:

寻找 Server。当 DHCP 客户端第一次登录网络的时候,也就是客户发现本机上没有任何 IP 数据设定,它会向网络发出一个 DHCP DISCOVER 封包。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为 0.0.0.0 ,而目的地址则为 255.255.255.255 ,然后再附上 DHCP discover 的信息,向网络进行广播。

在 Windows 的预设情形下,DHCP discover 的等待时间预设为 1 秒,也就是当客户端将第一个 DHCP discover 封包送出去之后,在 1 秒之内没有得到响应的话,就会进行第二次 DHCP discover 广播。若一直得不到响应的情况下,客户端一共会有四次 DHCP discover 广播(包括第一次在内),除了第一次会等待 1 秒之外,其余三次的等待时间分别是 9、13、16 秒。如果都没有得到 DHCP 服务器的响应,客户端则会显示错误信息,宣告 DHCP discover 的失败。之后,基于使用者的选择,系统会继续在 5 分钟之后再重复一次 DHCP discover 的过程。

提供 IP 租用地址。当 DHCP 服务器监听到客户端发出的 DHCP discover 广播后,它会从那些还没有租出的地址范围内,选择最前面的空置 IP ,连同其它 TCP/IP 设定,响应给客户端一个 DHCP OFFER 封包。

由于客户端在开始的时候还没有 IP 地址,所以在其 DHCP discover 封包内会带有其 MAC 地址信息,并且有一个 XID 编号来辨别该封包,DHCP 服务器响应的 DHCP offer 封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定,DHCP offer 封包会包含一个租约期限的信息。

接受 IP 租约。如果客户端收到网络上多台 DHCP 服务器的响应,只会挑选其中一个 DHCP offer 而已(通常是最先抵达的那个),并且会向网络发送一个DHCP request广播封包,告诉所有 DHCP 服务器它将指定接受哪一台服务器提供的 IP 地址。

同时,客户端还会向网络发送一个 ARP 封包,查询网络上面有没有其它机器使用该 IP 地址;如果发现该 IP 已经被占用,客户端则会送出一个 DHCPDECLINE 封包给 DHCP 服务器,拒绝接受其 DHCP offer ,并重新发送 DHCP discover 信息。

DNS,Domain Name System或者Domain Name Service(域名系统或者余名服务)。域名系统为Internet上的主机分配域名地址和IP地址。用户使用域名地址,该系统就会自动把域名地址转为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器,通过DNS服务器来应答域名服务的查询。

1、DNS就是域名服务器,他的任务就是确定域名的解析,比如A记录MX记录等等。

2、任何域名都至少有一个DNS,一般是2个。但为什么要2个以上呢?因为DNS可以轮回处理,第一个解析失败可以找第二个。这样只要有一个DNS解析正常,就不会影响域名的正常使用。

3、如何确定域名的DNS

很简单到www.internic.net/whois.html输入你要查询的域名就可以看到了。这个是国际域名管理中心。唯一的权威。只要这里能查到某个域名,就表示域名是生效的。它说你什么时候到期,就是什么时候到期。

4、有效的DNS表示当前正在起作用的DNS服务器是谁,比如查询结果是NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)就表示当前域名是由NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)负责解析。其他DNS的设置,都是无效的。

5、DNS是可以修改的。修改以后需要24-72小时以后,全世界才能刷新过来。internic的信息一般在24小时以后可以看到。另外,修改的过程,并不表示域名会停止解析,只要你在2边都做好了解析。如果生效了就是新的DNS在起作用。如果没生效。就是旧的DNS在起作用。要么生效,要么不生效。不存在2个都不起作用的时间。所以域名解析,不会中断。前提是两边都做了解析。

6、DNS是有缓存的。

1)访问者的电脑;2)你的ISP接入商。

简单举例:比如你访问www.askbaidu.com,你的电脑首先查询本机上有没有缓存www.askbaidu.com的记录。如果有就直接调用不再去查寻。就是说如果你前面刚访问过www.askbaidu.com,这个时候就算电信的DNS和NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)都不能解析。也是能够正常解析出域名的。

清除本机DNS缓存方法很简单。关闭IE然后清除历史记录,或者重启电脑。

然后还有一个就是isp接入商的DNS的缓存。

isp就是当地网络接入商。比如我们这里的福建电信;福州网通、南平铁通等等。每个地方都是不一样的。isp的DNS和NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)这样的DNS是不同的。NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)只负责具体的解析,不负责缓存。isp的DNS只负责查询和缓存,不负责解析。

简单描述下刚才访问www.askbaidu.com的情况。如果本机上不存在www.askbaidu.com的记录。你的电脑就会去查询当地ISP的DNS。isp的DNS只有缓存。就是说他会检查有没有www.askbaidu.com的缓存。如果有,他就直接把www.askbaidu.com 的记录发送给用户。用户也就能访问了。如果ISP的缓存里面也没有www.askbaidu.com 的记录,那么他进一步去查询askbaidu.com的DNS是什么?然后再到对应的DNS上直接去取得数据,并返回给用户。当第一个用户访问了www.askbaidu.com以后,isp的dns上也就开始缓存了www.askbaidu.com 的记录。以后他就不必再去 NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)去找了。除非有新的域名,他才会去查。比如访问bbs.askbaidu.com的时候,他就要重新去查了。

7、isp的DNS缓存是有时间限制的。一般是1个小时。前后2次间隔1个小时的话,他就去域名的DNS上重新取得数据。这里说的是最前面一次和当前的比较。也就是说如果时间差距较大,就重新去域名的DNS服务器上找。所以刷新就变的很有必要,否则缓存了一次以后。域名记录改了以后。ISP就永远不去找新的记录了。知道了这个原理以后,大家就会明白,为什么原来没有的记录注册并生效会很快。修改的话生效会很慢。就是因为缓存的原因。但如果没有缓存,访问的效率会很低,因为任何一次输入www.askbaidu.com都得跑到NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)去查询记录。

备注:很多域名商的域名解析系统也不是实时刷新的。一般会设置下时间,比如10分钟.就是说,你设置了一个新的A记录以后,域名服务器会在10分钟内为你添加。目的就是为了节约服务器资源。怕客户的DNS不断的刷新记录。刷新记录肯定需要消耗一定的资源。而且刷新过程中是不能解析的。另外刷新过程大概5秒。就是说这个5秒内域名商的的DNS是不能用的