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. 编写灵活、稳定、高质量的 HTML 和 CSS 代码的规范。

      引用地址http://codeguide.bootcss.com/#html-ie-compatibility-mode <!DOCTYPE html> <html lang=& ...

  2. angularjs ng-repeat倒叙

    <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng ...

  3. C++模板(二)【转】

    本文转自:http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.html C++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类 ...

  4. cookie VS sessionstorge VS localstorge

    虽然cookie , localstorge , sessionstorge三者都有存储的功能,但是还是有区别, git上地址:https://github.com/lily1010/cookie-s ...

  5. Codeforces Beta Round #96 (Div. 1) C. Logo Turtle —— DP

    题目链接:http://codeforces.com/contest/132/problem/C C. Logo Turtle time limit per test 2 seconds memory ...

  6. html5--4-2 video元素的属性

    html5--4-2 video元素的属性 学习要点 掌握video元素的基本用法 直到现在,在网页中的大多数视频是通过插件(比如 Flash)来显示的.然而,并非所有浏览器都拥有同样的插件.HTML ...

  7. Git基本用法1

    二.git的初始化 在使用git进行代码管理之前,我们首先要对git进行初始化. 1.Git 配置 使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名,每次提交记录 ...

  8. RightScale发布2017年度云调查报告

    RightScale最近发布了他们的年度云报告(RightScale 2017云现状报告,RightScale 2017 State of the Cloud Report),这份报告包括了云计算在采 ...

  9. 【C/C++】产生随机数

    #include<iostream> #include<Ctime> #include<Cstdlib> using namespace std; //产生n个st ...

  10. python获取系统信息psutil

    python获取系统信息psutil:psutil获取系统cpu使用率的方法是cpu_percent(),其有两个参数,分别是interval和percpu,interval指定的是计算cpu使用率的 ...