原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/162176
《一起学DHCP》系列第二节。
和WINS服务类似,DHCP大体上也由两部分组成,DHCP服务器和DHCP客户端。那么相对的,也会有非DHCP客户端。今天这几节先着重讨论在没有DHCP环境下,客户端是如何获取IP地址的。
说到获取IP地址,我们就有必要先到网络连接的属性里去看一下,那里看是IP地址是根据地哦! 打开一个网络连接的属性, 如下图:
在【常规】选项中,当我们勾选“自动获得…”也就是图中标记为蓝色的选项,那么系统就会认为用户会通过一个外部程序获取IP地址、子网掩码以及DNS等网络信息。如果此时您就一口咬定这里所说的“外部程序”就是DHCP服务器的话,不能说错,但至少不完全。勾选这两项后,意为着客户机获取IP的来源有2个,第一个来源是大家熟知的DHCP服务器,第二个来源是PPP点对点协议。第一个不用怎么解释,可以很容易想到是DHCP,后面还会详细讲解。第二个呢?不急,先说点别的。我们现在家庭普遍使用的网络接入方式,当然肯定不是古老的56k小猫拨号了,而是DSL专线,这其中又以ADSL占大多数。这种网络接入方式以普通电话线路做为传输介质,只要在线路两端加装ADSL设备,通过一定的连接方式就可以上网了。
OK,问题来了。我们知道,要想上网,必须要有一个IP地址,那么类似这样的电话拨号上网,IP地址从何而来?就是通过自动获取得到的,如何获取??客户端会创建一个拨号程序,然后输入合法有效的用户名和密码然后拨号,服务端接收到拨号请求并初始化连接后,就开始验证用户的身份,一旦身份验证成功,就会从IP地址池中分配一个IP给用户,这样我们就可以上网了。这么一系列的通讯过程就是建立在PPP协议之上,但并非原生的PPP协议,而是经过一些修改的PPPOE协议,即PPP Over Ethernet。回到这个话题上来,当我们选中【自动获得IP地址和DNS服务器地址】后,就会从电信端的拨号访问服务器中获取一个IP地址,严格来说是电信端分配给用户的。显然,大家可以知道这里并非由DHCP服务器分配的地址,只是分配的机制类似而已。但如果客户端并非直接拨号上网,而是通过路由器代为拨号,此时客户端的IP还是来源于DHCP服务器,只是这个服务器内建在路由器内而已。原理都是一样的。
说了那么一通,是不是有点晕了。。不要紧,稍后我会做个小节,其实非常简单。我们继续看2个红色的框框,我们可以在其中手工设置IP地址和DNS服务器。但,有个很蹊跷的地方,不知道大家注意没有。就是IP地址和DNS并不是成对的。怎么讲呢?我们来做个小测试。当我们选中【使用下面的IP地址】时,在DNS设置区域会自动勾选【使用下面的DNS服务器地址】。如下图:
因为我们已经有自动获取转为手动,同时为了满足客户端的解析请求,就需要设置一个DNS地址。因为DNS会随着IP地址一起被指派的,如果关闭了自动获取IP,显然客户端无法自动获取到DNS地址,只能手工指定。但反之,我们再选择【自动获得IP地址】时,DNS并没有随之变为【自动获得DNS服务器地址】,而还是停留在刚才的状态,此时我们也可以选择【自动获得DNS服务器地址】。如下图:
为什么会这样???到此有人估计要说我无聊了。。。 但我觉得微软这样设计一定有他的道理。
个人觉得可能的原因如下:
1、早期dhcp服务器无支持分配DNS的功能,为了保证最大兼容,在自动获取IP的同时,客户还可以手工设置DNS地址。
2、是为APIPA而准备的
第一个好理解写,第二个等讲到APIPA的时候就好理解了。
什么是APIPA??我们先看网络属性的【备用配置】选项卡。如下图:
在这里有一个【自动专用IP地址】,我感觉写成【自动获取专用IP地址】这样似乎更容易理解些。
这些就是自动获取IP的三种情况,DHCP、PPP和APIPA。
那到底何为APIPA呢?
转自:http://jeffyyko.blog.51cto.com/28563/162176
原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/1561