一起学DHCP系列(二)三种途径

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/162176

《一起学DHCP》系列第二节。

     和WINS服务类似,DHCP大体上也由两部分组成,DHCP服务器和DHCP客户端。那么相对的,也会有非DHCP客户端。今天这几节先着重讨论在没有DHCP环境下,客户端是如何获取IP地址的。

     说到获取IP地址,我们就有必要先到网络连接的属性里去看一下,那里看是IP地址是根据地哦!  打开一个网络连接的属性,  如下图:

1.jpg

在【常规】选项中,当我们勾选“自动获得…”也就是图中标记为蓝色的选项,那么系统就会认为用户会通过一个外部程序获取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服务器地址】。如下图:

2.jpg

因为我们已经有自动获取转为手动,同时为了满足客户端的解析请求,就需要设置一个DNS地址。因为DNS会随着IP地址一起被指派的,如果关闭了自动获取IP,显然客户端无法自动获取到DNS地址,只能手工指定。但反之,我们再选择【自动获得IP地址】时,DNS并没有随之变为【自动获得DNS服务器地址】,而还是停留在刚才的状态,此时我们也可以选择【自动获得DNS服务器地址】。如下图:

3.jpg

为什么会这样???到此有人估计要说我无聊了。。。 但我觉得微软这样设计一定有他的道理。

个人觉得可能的原因如下:

1、早期dhcp服务器无支持分配DNS的功能,为了保证最大兼容,在自动获取IP的同时,客户还可以手工设置DNS地址。

2、是为APIPA而准备的

第一个好理解写,第二个等讲到APIPA的时候就好理解了。

什么是APIPA??我们先看网络属性的【备用配置】选项卡。如下图:

4.jpg

在这里有一个【自动专用IP地址】,我感觉写成【自动获取专用IP地址】这样似乎更容易理解些。

这些就是自动获取IP的三种情况,DHCP、PPP和APIPA。

那到底何为APIPA呢?

转自:http://jeffyyko.blog.51cto.com/28563/162176

原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/1561

赞 (0)
s19930811s19930811
上一篇 2015-03-25 11:05
下一篇 2015-03-25 11:09

相关推荐

  • shell的基本使用

    小知识: 在bash环境中变量有各自的范围,有些的变量无法超出自己本身的范围,也无法更改自己, 或提升自己的能力范围 用source命令执行脚本,会对里面的变量发生改变包括范围 例:命令行中写name=wang 脚本中写name=xdg  先命令行,再脚本,最后命令行的顺序依次执行 1.正常的执行脚本 ./file.sh  输出的结果: …

    Linux干货 2017-08-05
  • 数据的游戏:冰与火

    我对数据挖掘和机器学习是新手,从去年7月份在Amazon才开始接触,而且还是因为工作需要被动接触的,以前都没有接触过,做的是需求预测机器学习相关的。后来,到了淘宝后,自己凭兴趣主动地做了几个月的和用户地址相关数据挖掘上的工作,有一些浅薄的心得。下面这篇文章主要是我做为一个新人仅从事数据方面技术不到10个月的一些心得,也许对你有用,也许很傻,不管怎么样,欢迎指…

    Linux干货 2016-08-15
  • 文件查找

        Linux上的所有资源都以文件的形式存在,如果是手工查找的话,势必会浪费太多的时间,这里推荐俩款大家用于查找的工具。 文件查找    文件查找经常用到的俩款软件,locate和find    二者区别 locate:1) 非实时查找;    &nbsp…

    Linux干货 2016-08-18
  • linux常用网络配置

    网卡名称:  网络接口识别并命名相关的udev配置文件:    /etc/udev/rules.d/70-persistent-net.rules  卸载网卡驱动:    modprobe  -r e1000  装载网卡驱动:    modprobe &nbs…

    Linux干货 2016-09-06
  • RAID[Redundant Array of Independent Disks | 独立硬盘冗余阵列 ]

    前言 一个技术要知其然还要知其所以然 RAID 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列 RAID的基本思想 其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到…

    Linux干货 2016-05-20
  • Ansible+Corosync+Pacemaker+nfs实现http高可用

    目录: (一)实验环境 (二)准备工作 (三)为node1和node2配置基础配置 (四)使用ansible部署nfs (五)使用ansible部署corosync和pacemaker (六)使用ansible安装crmsh工具 (七)使用crmsh配置http高可用 (八)验证 (九)需要注意的地方 (一)实验环境 1.1、环境拓扑 1.2、所需系统 4台…

    Linux干货 2016-04-29