2. 动态主机配置协议(DHCP)

2.1 静态地址和动态地址的应用场景

(1)静态地址应用场景

  ①IP地址不经常更改的设备(如服务器地址)

  ②使用有规律的IP地址以便于管理(如学校机房为方便教师管理学生)

(2)动态地址应用场景

  ①网络中的计算机不固定(如学生在不同教室上课,如果让学生自己指定IP很可能发生地址冲突)

  ②无线设备最好使用动态IP(这样,移动到哪里都无需进行网络设置,只要输入无线连接密码即可)

  ③ADSL拨号上网通常也使用自动获得IP。ISP运营商为拨号上网的用户自动分配上网使用的公网IP地址、网关和DNS设置。客户不知道ISP使用哪些网段的地址,也不知道哪些地址没有被其他用户使用。

2.2 DHCP地址租约

(1)地址租约:DHCP服务器为网络中的计算机分配IP并记录下来,以保证这些地址不再分配给其他计算机使用。如果租约到期客户端仍不续约,则服务器会单方面废除将分配的地址回收。

(2)租约生成过程(DHCP协议的4种数据包

  ①DHCPDISCOVER数据包:DHCP客户端会先发送DHCPDISCOVER的广播信息到网络,以便寻找一台能够提供IP地址的DHCP服务器。

  ②DHCPOFFER数据包:当DHCP服务器收到信息后,就会从IP地址池选择一个可用的IP地址,然后利用广播方式传送给DHCP客户端。之所以用广播方式,是因为此时客户端还没有IP地址。如果网络中有多台DHCP服务器收到客户端的DHCPDISCOVER信息,并且也都响应给DHCP客户端(表示它们都可以提供IP地址给此客户端),则DHCP客户端会从中挑选第一个收到的DHCPOFFER信息。

  ③DHCPREQUEST数据包:当DHCP客户端挑选好第一个收到的DHCPOFFER信息后,就利用广播方式,响应一个DHCPREQUEST信息给服务器。之后以利用广播方式,是因为它不但要通知所和挑所的DHCP服务器,还必须通知没有被选上的其他DHCP服务器,以便这些DHCP服务器能够将原本欲分配的IP地址收回。

  ④DHCPACK数据包:DHCP服务器收到DHCPREQUEST信息后,就会利用广播的方式发送DHCPACK信息给DHCP客户端。之所以利用广播方式,是因为此时DHCP客户端还没有IP地址。客户端收到DHCPACK后完成了获取IP地址的步骤。

2.3 DHCP地址租约的更新

(1)更新过程

  ①当租约时间过去一半时,客户端向DHCP服务器发出一个续约请求(最多可重发三次,分别在4、8和16s时)。如果找到DHCP服务器,它会向客户端发送一个DHCPOFFER信息以更新当前租约。如果找不到原DHCP服务器,则进入第2步。

  ②当租约时间过去87.5%时,客户端会进入重绑定状态,它向任何可用的DHCP服务器广播(最多重复三次,分别在4、8和16s时)一个DHCPDISCOVER消息来续约该IP(注意不是申请新的IP。如果IP无效或存在冲突则会被服务器拒绝,强迫客户端释放其IP并获得一个新的IP)。如果仍得不到响应,则进入第3步。

  ③当租约终止而且没连接服务器,客户端立即停止使用其租约IP,并执行与它初始启动期间相同的过程来获得新的IP地址。如果仍然无法得到一个新的IP,则会自己产生一个临时地址(169.254.0.0/16网段)

(2)租约更新的方法

  ①自动更新:按以上过程自动产生

  ②手动更新:ipconfig /renew

2.4 实战:安装和配置DHCP服务

(1)网络拓扑图

(2)搭建测试环境

  ①DHCP服务由Win2003服务器提供,该服务器必须设置成静态IP(地址如上图)。XP虚拟机的IP地址和DNS均设置为“自动获取”。

  ②WinXP和Win2003主机都放在同一个网络(VMNet8)

  ③开始实验之前,要先关闭物理机上的DHCP服务:打开服务管理工具(运行services.msc)→将VMwareDHCP服务设置为禁用状态,停止该服务。

(3)DHCP服务设置

  ①新建作用域:“新建作用域”(一个作用域对应一个网段)→在“IP地址范围”中输入起始和结束IP,指定子网掩码→…→在“租约期限”中设置为2小时…→在“配置DHCP选项”中选择“否”

  ②配置选项:右击“作用域选项”→“配置选项”→勾选“003 路由器”,并输入192.168.80.2(网关地址)→然后勾选“006 DNS服务器”,输入8.8.8.8。

(4)查看、刷新和释放租约(在XP虚拟机上测试)

  ①查看租约:在xp上运行ipconfig /all可查看其IP和DNS设置情况。同时在DNS服务器上右击“地址租约”→“刷新”即能看到为xp分配IP地址的信息。

  ②更新租约ipconfir /renew

  ③释放租约ipconfig /release

(5)抓包分析

  ①DHCP服务会产生4个数据包:DHCPDISCOVER、DHCPOFFER、DHCPREQUEST和DHCPACK。这四个数据包均以广播方式发送给对方。

  ②XP的源地址都是0.0.0.0。数据包的目标MAC地址是广播地址(ff-ff-ff-ff-ff-ff),目标地址是广播地址(255.255.255.255)

2.5 实战:跨网段分配IP地址

(1)网络拓扑

(2)搭建测试环境

  ①DHCP服务器部置于单独的网段(192.168.10.0/24)。并在DHCP服务器中新建两个作用域(用来为两个网段的客户机提供DHCP服务,注意一定要为每个网段配置网关)

  ②在R1路由器上启用DHCP中继代理

//为VMnet8和VMnet6启用DHCP中继代理
R1(config)#interface fastEthernet /0 //注意,中继的接口是这个!
R1(config-if)#ip helper-address 192.168.10.20 //告诉该接口收到DHCPDISCOVER广播,就产生
//一个DHCP请求包,目标地址192.168.10.20,
//源地址是该接口地址(如192.168.80.1)
//DHCP服务器收到这个请求包,就知道是来自
//哪个网段的请求,于是从相应的作用域选择
//一个地址提供出来
R1(config-if)#exit
R1(config)#interface fastEthernet /
R1(config-if)#ip helper-address 192.168.10.20 //转发DHCP请求的广播包
R1(config-if)#exit
R1(config)#exit

  ③客户端设置为自动获取IP:PC1> ip dhcp  //动态获取DHCP

第9章 应用层(2)_动态主机配置协议(DHCP)的更多相关文章

  1. 计算机网络之动态主机配置协议DHCP

    为了将软件协议做成通用的和便于移植,协议软件的编写者不会把所有细节都固定在源代码中,而是把协议软件参数化,这就使得在很多台计算机上使用同一个经过编译的二进制代码成为可能. 一台计算机和另一台计算机的区 ...

  2. 【网络协议】动态主机配置协议DHCP

    动态主机配置协议DHCP 当某组织获得一块地址后,就可以为本组织内的主机或者路由器分配IP地址.这个分配工作可以由系统管理员手动通过网络管理工具来完成.也可以由动态主机配置协议(Dynamic Hos ...

  3. 动态主机配置协议DHCP

    一.什么是DHCP DHCP,动态主机配置协议,提供一种称为“即插即用连网”的机制,允许一台计算机加入新的网络和获取IP地址而不用手工配置. 二.DHCP工作原理和工作流程 DHCP服务器被动打开UD ...

  4. 动态主机配置协议-DHCP

    一.DHCP 概述 当局域网中有大量的PC时.如果我们逐个为每台PC去手动配置IP.那这就是一个吃力也未必讨好的办法 累死你 而DHCP 刚好可以解决这个问题.DHCP全称(动态主机配置协议).使用的 ...

  5. 【RL-TCPnet网络教程】第25章 DHCP动态主机配置协议基础知识

    第25章      DHCP动态主机配置协议基础知识 本章节为大家讲解DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),通过前面章节对TCP和UDP ...

  6. <TCP/IP>DHCP动态主机配置协议

    坚持是一种好习惯 大家都知道,为了上网我们是需要提交一些配置信息的,如IP地址,子网掩码,DNS服务器等,这些是一个主机能够在Internet上运行并给用户提供常用服务(比如web和Email)的基本 ...

  7. DHCP:动态主机配置协议

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP ...

  8. DHCP(动态主机配置协议)工作流程

    一.DHCP的作用 我们先来看一下什么是DHCP,DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)它可以为客户机自动分配IP地址.子网掩码以及缺省网 ...

  9. DHCP动态主机配置协议

    1.DHCP简述 某组织一旦获得了一个地址,它就可以为本组织内的主机与路由器接口逐个分配IP地址.系统管理通常可以手工配置路由器中的IP地址(静态分配).但这项任务目前通常更多是使用动态主机配置协议( ...

随机推荐

  1. 数学沉思录:古今数学思想的发展与演变 (Mario Livio 著)

    第1章 神秘的数学 (已看) 发现还是发明 第2章 神秘学:命理学家和哲学家 (已看) 毕达哥拉斯 进入柏拉图的洞穴 第3章 魔法师:大师和异端 (已看) 给我一个支点:我将撬起地球 阿基米德重写稿 ...

  2. java_生态环境

    Which Java package do I need? Software Developers: JDK (Java SE Development Kit). For Java Developer ...

  3. VS 中的几种注释方法

    在代码的后面添加形如下面注释: //TODO: (未实现)…… //UNDONE:(没有做完)…… //HACK:(修改)…… 等到再次打开VS的时候,找到 :视图>任务列表 即可显示所有带有T ...

  4. Java之SimpleDateFormat日期格式转换(Date 和 String 类型之间的转换)

    SimpleDateFormat : 可以选择任何用户定义的日期-时间格式的模式    "yyyy-MM-dd HH:mm:ss:SSS"1.格式化:Date -->Stri ...

  5. Linux yum仓库配置

    yum仓库配置 10.1 概述 YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包 ...

  6. 12c R2 RAC Oracle Linux 7.3 ESXI6.5

    环境:ESXI6.5虚拟化 主机配置:操作系统 Oracle Linux 7.3 CPU:8个VCPU 内存:16G 本地磁盘:50G 全程默认最小化安装Oracle Linux 7.3操作系统 每个 ...

  7. Android的路径信息[转]

    Delphi早就把IO相关的都提取到System.IoUtils单元中了. 路径操作就使用TPath的方法都很方便.usesSystem.IoUtilsTPath.GetTempPath//临时目录T ...

  8. Mysql 基准测试mysqlslap,sysbench

     基准测试基本步骤 设计尽可能简单,明确测试方式哪一种,使用什么样的数据 例如:反映实际情况,用生产环境的数据的备份,可以通过日志,进行访问量的回放 如果测试性能,可以用测试工具生成数据. 执行一次和 ...

  9. adb调试android设备 说的比较清楚的一篇文章

    ADB支持两种连接Android系统的方式,USB方式及网络方式.一般手机及平板默认会设置为USB方式.android系统底层运行着一个服务(adbd),用于相应和管理大家在电脑端的adb命令连接,这 ...

  10. 【Graphite】Graphite常用函数使用

    使用Graphite进行sort排名 限制返回条数 aliasByNode(limit(sortByMaxima(summarize(EPIC.bm.00*.memory.memory.buffere ...