免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1096 | 回复: 0
打印 上一主题 下一主题

DHCP协议详解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-27 21:13 |只看该作者 |倒序浏览

[/url]
在常见的小型网络中(例如家庭网络和学生宿舍网),网络管理员都是采用手工分配IP地址的方法,而到了中、大型网络,这种方法就不太适用了。在中、大型网络,特别是大型网络中,往往有超过100台的客户机,手动分配IP地址的方法就不太合适了。因此,我们必须引入一种高效的IP地址分配方法,幸好,
[url=http://www.itzero.net/Article/xieyi/2005_09/455.html]DHCP

(Dynamic Host Configuration Protocol)为我们解决了这一难题。
  
DHCP
的优缺点
  
DHCP
服务优点不少:网络管理员可以验证IP地址和其它配置参数,而不用去检查每个主机;
DHCP
不会同时租借相同的IP地址给两台主机;
DHCP
管理员可以约束特定的计算机使用特定的IP地址;可以为每个
DHCP
作用域设置很多选项;客户机在不同子网间移动时不需要重新设置IP地址。
  但同时也存在不少缺点:
DHCP
不能发现网络上非
DHCP
客户机已经在使用的IP地址;当网络上存在多个
DHCP
服务器时,一个
DHCP
服务器不能查出已被其它服务器租出去的IP地址;
DHCP
服务器不能跨
路由器
与客户机通信,除非
路由器
允许BOOTP转发。
  工作流程
  
DHCP
服务的工作过程是这样的:
  1.发现阶段,即
DHCP
客户机寻找
DHCP
服务器的阶段。
DHCP
客户机以广播方式(因为
DHCP
服务器的IP地址对于客户机来说是未知的)发送
DHCP
discover发现信息来寻找
DHCP
服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了
TCP
/IP协议的主机都会接收到这种广播信息,但只有
DHCP
服务器才会做出响应(如图1)。

2.提供阶段,即
DHCP
服务器提供IP地址的阶段。在网络中接收到
DHCP
discover发现信息的
DHCP
服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给
DHCP
客户机,向
DHCP
客户机发送一个包含出租的IP地址和其他设置的
DHCP
offer提供信息(如图2)。

3.选择阶段,即
DHCP
客户机选择某台
DHCP
服务器提供的IP地址的阶段。如果有多台
DHCP
服务器向
DHCP
客户机发来的
DHCP
offer提供信息,则
DHCP
客户机只接受第一个收到的
DHCP
offer提供信息,然后它就以广播方式回答一个
DHCP
request请求信息,该信息中包含向它所选定的
DHCP
服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的
DHCP
服务器,他将选择某台
DHCP
服务器所提供的IP地址(如图3)。

4.确认阶段,即
DHCP
服务器确认所提供的IP地址的阶段。当
DHCP
服务器收到
DHCP
客户机回答的
DHCP
request请求信息之后,它便向
DHCP
客户机发送一个包含它所提供的IP地址和其他设置的
DHCP
ack确认信息,告诉
DHCP
客户机可以使用它所提供的IP地址。然后
DHCP
客户机便将其
TCP
/IP协议与网卡绑定,另外,除
DHCP
客户机选中的服务器外,其他的
DHCP
服务器都将收回曾提供的IP地址(如图4)。

5.重新登录。以后
DHCP
客户机每次重新登录网络时,就不需要再发送
DHCP
discover发现信息了,而是直接发送包含前一次所分配的IP地址的
DHCP
request请求信息。当
DHCP
服务器收到这一信息后,它会尝试让
DHCP
客户机继续使用原来的IP地址,并回答一个
DHCP
ack确认信息。如果此IP地址已无法再分配给原来的
DHCP
客户机使用时(比如此IP地址已分配给其它
DHCP
客户机使用),则
DHCP
服务器给
DHCP
客户机回答一个
DHCP
nack否认信息。当原来的
DHCP
客户机收到此
DHCP
nack否认信息后,它就必须重新发送
DHCP
discover发现信息来请求新的IP地址。
  6.更新租约。
DHCP
服务器向
DHCP
客户机出租的IP地址一般都有一个租借期限,期满后
DHCP
服务器便会收回出租的IP地址。如果
DHCP
客户机要延长其IP租约,则必须更新其IP租约。
DHCP
客户机启动时和IP租约期限过一半时,
DHCP
客户机都会自动向
DHCP
服务器发送更新其IP租约的信息。
  为了便于理解,我们把
DHCP
客户机比做餐馆里的客人,
DHCP
服务器比做服务员(一个餐馆里也可以有多个服务员),IP地址比做客户需要的食物。那么可以这样描述整个过程:客人走进餐馆,问:“有没有服务员啊?”(
DHCP
discover),多个服务员同时回答:“有,我这有鸡翅”“有,我这有汉堡”(
DHCP
offer)。客人说:“好吧,我要一份汉堡”(
DHCP
request,这个客人比较死板,总是选择第一次听到的食物),端着汉堡的服务员回应了一声:“来啦”(
DHCP
ack),并把食物端到客人面前,供其享用(将网卡和IP地址绑定)。客人下次来的时候,就直接找上次那个服务员点自己喜欢的汉堡了(
DHCP
request),如果还有汉堡,服务员会再次确认并上菜(
DHCP
ack),而如果已经卖完了,服务员则会告诉客人:“不好意思,已经卖完了”(
DHCP
nack)。当然,服务员隔一段时间会来收拾一次桌子,除非客人特别说明这菜还要继续吃的,服务员会将剩菜端走。
我们就向大家说明如何在服务器上配置
DHCP
服务,我们选取了两种最为常见的服务器操作系统 Windows 2000 Server和Linux作为讲解实例,另外我们还会介绍如何在常见的网络设备上配置
DHCP

  Windows 2000 Server
  Windows 2000 Server在
DHCP
上下了很大的功夫,不仅解决了NT 4.0中的种种问题,而且还增加了许多新的特性。例如和DNS的集成,加强的
DHCP
监视和管理,
DHCP
集群服务器,
DHCP
目录授权等等。
  下面是在Windows2000中配置
DHCP
服务的实例
  1.安装
DHCP
服务。用管理员账号登录,在控制面板中双击“添加/删除程序”,选择“添加/删除Windows组件”,启动Windows组件向导,选中“网络服务”,单击“详细信息”,选中“动态主机分配协议”,单击“确定”,即可在该服务器上安装
DHCP
服务。
  2.要想使刚安装的
DHCP
服务器能为客户机分配IP地址,必须首先在域中为该服务器授权。使用管理员账号登录计算机,在“管理工具”菜单中打开
DHCP
控制台;在控制树中,右键单击想要授权的服务器,在弹出菜单中,单击“授权”,即可完成对该服务器的授权。
  小知识:授权(Authorize),这个功能非常实用和必要,因为在旧版本的
DHCP
服务器中任何用户都可以创建一台
DHCP
服务器,该服务器也可以为用户分配IP地址,这样就可能造成地址冲突,在Windows 2000 Server中这个问题得到了有效的解决:任何
DHCP
服务器只有在目录服务中被授权之后才能为客户分配IP地址,否则即使该服务器收到租用请求,也不能为客户机分配IP地址。

   3. 创建并配置作用域。在控制树中,右键单击要用来分配地址的服务器,选中“新建作用域”,在接下来的向导中,依次设置作用域名、作用域的起始地址、输入子网掩码、排除的地址或地址范围、
DHCP
租约期限信息。名称项只是作提示用,可填任意内容。IP地址范围中有起始地址、结束地址和子网掩码的选项,我们可以分别填入10.0.0.1,10.255.255.254,255.0.0.0(如图1)。如果有必要,可在后面的选项中输入要保留的IP地址或IP地址范围。租约期限选项可设定
DHCP
服务器所分配的IP地址的有效期,比如设8天。最后,分配好DNS、WINS服务器,并激活作用域。

设置IP地址范围
  RedHat Linux
  在Linux上配置
DHCP
需要的文件有/etc/dhcpd.conf,/var/state/dhcp/
  dhcpd.leases,相关工具有/etc/rc.d/init.d/dhcpd。下面是在RedHat Linux上配置
DHCP
的实例:
  1.设置
DHCP
服务器的FQDN名
  option domain-name "clinet.com"
  2.设置DNS的服务器地址
  option domain-name-servers 10.1.1.1;
  3.设置子网掩码
  option subnet-mask 255.255.0.0;
  4.设置租约时间
  如果客户端不能请求一个指定的租用期,就使用该参数来定义该地址租用的时间长度default-lease-time 1200;
如果客户端可以请求一个制订的租用期,就使用该命令来定义最长的租用时间 max-lease-time 87600
  5.设置子网的网段及相关范围配置
  subnet 10.0.0.0 netmask 255.0.0.0;
  {
  range 10.0.0.2 10.10.10.10 ;//指定子网的IP范围
  option broadcast-address 10.0.0.255;//指定子网的广播地址
  option routers 10.0.0.1;//指定网关的IP
  }
  6.给客户绑定静态IP
  host clinet{
  hardware ethernet 00:50:BA:CA:2E:02;
  fixed-address 10.10.10.10;
  }
  网络设备
  有时候,在一些中高端的网络设备(
路由器
、交换机)上已经集成了
DHCP
服务,我们便可以在网络设备上实现
DHCP
服务,不使用专门的主机做
DHCP
服务器,以节省成本。
  下面是在cisco
路由器
上配置
DHCP
的实例
  1. 指定不自动分配的IP地址范围
  ip dhcp excluded-address 10.1.1.1 10.1.1.19 //指定从10.1.1.1到10.1.1.19的IP地址是手工分配的
  2. 设置
DHCP
地址池
  ip dhcp pool global //这条命令指定了
DHCP
地址池的名称
network 10.1.0.0 255.255.0.0//动态分配的IP地址范围,这里是10.1.0.0网段所有的IP地址(前面指定的非自动分配地址除外)
  3. 设置
DHCP
附加信息
  domain-name client.com//为客户机配置域后缀
  dns-server 10.1.1.1 10.1.1.2//为客户机配置DNS服务器的地址,这里是10.1.1.1和10.1.1.2
  netbios-name-server 10.1.1.5 10.1.1.6//为客户机配置WINS服务器地址,这里是10.1.1.5和10.1.1.6
  netbios-node-type h-node//为客户机配置节点模式(影响名称解释的顺利?如h-node是先通过wins服务器解释)
  default-router 10.1.0.100 10.1.0.101//为客户机配置默认网关
  4. 设置租约期限
  lease 8//设置租约时间为8天
  5.有时候我们需要为
DHCP
服务器设置子地址池,例如我们希望10.1.1.0/24这个网段的客户机的网关为10.1.1.100,我们这样设置:
  ip dhcp pool subglobal
  network 10.1.1.0 255.255.255.0// global的子地址池,将从global继承域名等选项
  default-router 10.1.1.100 10.1.1.101 //为客户机配置默认网关
  6. 相关的
DHCP
调试命令
  no service dhcp //停止
DHCP
服务
  show ip dhcp binding//显示地址分配情况
  show ip dhcp conflict //显示地址冲突情况。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/40403/showart_329839.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP