DHCP代表了动态IP地址分配的下一阶段。DHCP建立在BOOTP协议格式的基础上,专注于动态分配多种信息,以及为未来的扩展提供灵活的消息结构,并且无需预先定义每个客户端的MAC地址。DHCP提供的功能中还包括临时租用IP地址,这样做可以实现IP地址的回收、使用IP地址池,以及最新的动态客户端DNS(域名系统)FQDN(完全合格域名)注册
 
DHCP服务器通常部署在中心位置,远端路由器需要将LAN广播DHCP请求转发到DHCP服务器,要想实现转发,路由器需要将请求中的目的地址改成DHCP服务器的地址。这个特性称为DHCP中继代理。举例来说,在图中,如果Fred和Barney想使用DHCP,而DHCP服务器的IP地址是10.1.2.202,R1将会把Fred的DHCP请求中的目的地址从255.255.255.255改为10.1.2.202。R1还会把它自己的IP地址写在这个消息中,也就是写在网关IP地址(giaddr)字段中,以这种方式告诉DHCP服务器应该向哪里发送响应消息。在收到了服务器返回的下一个DHCP消息后,R1会把目的IP地址改为LAN广播,然后将数据包转发到客户端LAN。工程师需要在路由器上做出的唯一配置就是:在E1接口上配置接口命令iphelper-address 10.1.2.202。
 
此外,R1自己就可以被配置为一台DHCP服务器——在生产网络中并不常使用这个特性,但在CCIE笔试和实验考试中还是可以使用的。把路由器配置为DHCP服务器需要以下几个步骤。
步骤1  配置DHCP地址池。
步骤2  配置路由器将自己的IP地址排除在DHCP地址池之外。
步骤3  禁用DHCP冲突日志,或配置DHCP数据库代理。
 
DHCP地址池的配置中包括一些重要参数,比如子网(在DHCP地址池配置中使用network命令)、默认网关(default-router)、有效的DHCP租期(lease)。DHCP地址池中还可以配置一些其他可选参数,比如DNS域名和其他DHCP选项。
尽管在DHCP的配置中并不强制这样做,但这种做法显然是最佳做法所推荐的:配置路由器,使它不会将自己使用的DHCP地址池中的IP地址再通过DHCP服务分配出去。同时还要注意排除DHCP地址池范围中其他静态配置的IP地址,比如其他服务器和其他路由器所使用的IP地址。工程师可以使用命令ipdhcpexcluded-address,从DHCP进程中排除主机IP地址。
Cisco IOS DHCP服务器还提供了一个机制,在一台称为DHCP数据库代理的中心服务器上记录DHCP地址冲突。IOS要求工程师选做以下两件事之一:使用命令no ip dhcp cnofilict-logging禁用地址冲突日志记录,或者使用命令ip dhcp database配置一台服务器上的DHCP数据库代理。
 
下边是R1上的配置
来自E1的UDP广播将被以单播转发到10.1.2.202,源ip将被改为10.1.1.255,所以回复包将被广播回E1
 
下边是R1作为DHCP服务器的配置,R1分配ip地址除了子网中的第一个0-20段ip。通告客户端他们的ip地址,掩码,DNS,默认网关,租期为0天0小时20分
 
下表为RARP,BOOTP和DHCP的比较
 
 
 
 
 
 
 
 

IP服务-3-DHCP的更多相关文章

  1. (四)跟我一起玩Linux网络服务:DHCP服务配置之中继代理

    继第三部分的DHCP服务器的设置成功,我们来做一个中继代理服务器的配置吧. 我们的虚拟机结构如图: 具体参考: (一)跟我一起玩Linux网络服务:DNS服务——BIND(/etc/named.con ...

  2. NFS服务和DHCP服务讲解(week3_day2)--技术流ken

    NFS服务端概述 NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS: NFS允许一个系统在网络上与他人共享目录 ...

  3. 末学者笔记--NFS服务和DHCP服务讲解

    NFS服务端概述 一.概念: NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS:NFS允许一个系统在网络上与他 ...

  4. 编写脚本实现DHCP服务与DHCP中继自动化执行

    编写脚本实现DHCP服务与DHCP中继自动化执行 本脚本是在liunx搭建DHCP服务器以及DHCP中继服务器实验环境下实现的https://www.cnblogs.com/yuzly/p/10539 ...

  5. 服务管理-DHCP、NTP、SSH

    DHCP协议的作用及原理 1.寻找server 当DHCP客户端第一次登陆网络的时候,也就是客户发现本机上没有任何ip资料设定,他会向网路发送一个dhcpdiscover封包.因为客户端还不知道自己属 ...

  6. NFS服务和DHCP服务讲解

    1.NFS服务端概述 NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS: NFS允许一个系统在网络上与他人共享 ...

  7. Linux服务之DHCP服务篇(scp)

    一.概念 名称:DHCP----Dynamic Host Configuration Protocol 动态主机配置协议 功能:DHCP是一个局域网的网络协议,使用UDP协议工作 主要用途:给内部网络 ...

  8. 多路由器环境下路由器的入口IP地址及DHCP设置探讨

    多路由器环境下路由器的入口IP地址及DHCP设置探讨 这里把路由器的LAN口管理IP地址称为路由器的入口地址,把直接接入互联网的路由器称为主路由器,其他路由器称为从路由器.在多路由器环境下路由器的设置 ...

  9. 安装Oracle11g时,检测到系统的主 IP 地址是 DHCP 分配的地址

    检查完成.此次检查的总体结果为: 失败 <<<< 问题: 安装检测到系统的主 IP 地址是 DHCP 分配的地址. 建议案: Oracle 支持在具有 DHCP 分配的 IP ...

  10. 简单 TCP/IP 服务功能

    本主题使用每台 Windows 计算机上提供的 Echo 和 Quote of the Day 服务.在所有 Windows 版本中都提供了简单 TCP/IP 服务功能.该功能会提供了以下服务:Cha ...

随机推荐

  1. Boost智能指针——scoped_ptr

    boost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放. 上一段代码,以及其输出: #include <string ...

  2. Struts页面跳转问题

    只有在web-INF中的jsp才可以不用加namespace名 <s:a action="systemIndexAction_turn" >跳转</s:a> ...

  3. NSDate的具体使用(转载)

    NSDate的具体使用 时间与日期处理 主要有以下类: NSDate -- 表示一个绝对的时间点 NSTimeZone -- 时区信息 NSLocale -- 本地化信息 NSDateComponen ...

  4. Algorithm: Euler function

    欧拉函数. phi(n)表示比n小的与n互质的数的个数,比如 phi(1) = 1; phi(2) = 1; phi(3) = 2; phi(4) = 2; phi(5) = 4; 性质: 1. 如果 ...

  5. 操作Zookeeper

    可以通过图形化界面进行操作使用的工具是 zookeeper-dev-ZooInspector.jar 连接到我的zk之后: 1.Java操作zk 依赖: <dependency> < ...

  6. 如何查看ffmpeg支持的编码器和封装格式

    查看支持的编码器(也就是-vcodec后面可以接的参数):ffmpeg -codecs 查看支持的封装格式(也就是-f后面可以接的参数):ffmpeg -formats 查看支持的滤镜(也就是-vf后 ...

  7. jmeter中的响应断言

    断言就类似LoadRunner中的检查点.对上一个请求返回的信息,做字符串.数据包大小.HTML.XML.图片等做判断,确保返回的信息的准确性. jmeter的断言有好多,下面是一个响应断言 新建一个 ...

  8. 如何修改Windows的默认安装路径

    运行中输入regedit打开注册表编辑器 展开注册表“HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\ CurrentVersion”分支, 在窗口的右侧 ...

  9. 记录一个读pcap数据包的软件:Fiddler

    Fiddler.大神推荐的.名字老忘. 用wireshark在wifi共享精灵共享出来的无线网上抓包,发现一个SSDP(简单服务发现协议)一直在尝试找连上这个网络上的设备. 连上NEXUS4后出现了I ...

  10. C++模板之typename和class关键字的区别

    我们都知道,在STL中基本上都使用了模板类的声明,即template.在模板类的声明中,我们有两种方式: template <class T> template <typename ...