第9章 DHCP协议 任课教师 卢豫开.

Slides:



Advertisements
Similar presentations
网络管理员考证辅导 —— 真题解析 广东水利电力职业技术学院 计算机系 温海燕
Advertisements

NAT与ICMP交互.
第七章 Internet网络应用.
第9章 DNS和DHCP.
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
计算机网络(第 6 版) 第 6 章 应用层 青岛理工大学通信与电子工程学院.
第 12 章 UDP 與 TCP.
计算机网络 指导教师:杨建国 二零一零年三月.
第四章 网络层 网络层 网络层 网络层 网络层 网络层.
淄博信息工程学校 ZIBOIT&ENGINEERING VOCATONAL SHCOOL 03 交换机干道技术 计算机网络技术专业.
Lesson 23 Deploy dhcp --部署DHCP服务器
第9周 DHCP的安装与配置 计算机网络基础.
DP DHCP原理 ISSUE 1.0.
实验八 配置动态路由-OSPF协议.
网络实用技术基础 Internet技术及应用.
第17章 实现路由器.
项目四 组建跨地区网络 授课教师:肖颖.
第 9 章: 对 IP 网络划分子网 网络简介 第 9 章:对 IP 网络划分子网 Cisco Networking Academy 计划
在PHP和MYSQL中实现完美的中文显示
教师:陈有为 TCP/IP与Internet(A) 教师:陈有为
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
项目4 DHCP服务器配置与管理 项目描述:在一个计算机比较多的网络中,如果要为整个企业每个部门的上百台机器逐一进行IP地址的配置绝不是一件轻松的工作。为了更方便、简捷地完成这些工作,很多时候会采用动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)来自动为客户端配置IP地址、默认网关等信息。
HL-009 DHCP协议 ISSUE 1.1 江西陶瓷工艺美术职业技术学院.
IPv6 地址空间.
TCP/IP基本原理 第十二章 其他服务.
第二讲 搭建Java Web开发环境 主讲人:孙娜
Chapter 14 DHCP.
大学计算机基础 典型案例之一 构建FPT服务器.
管理信息结构SMI.
矢量距离路由.
CH10 Windows 2000 XP注册表 Windows 2000/XP网络组建与系统管理 李燕 中南分校.
网络常用常用命令 课件制作人:谢希仁.
实用组网技术 第一章 网络基础知识.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
DHCP 详解及在 AP 中的使用 韦宇轩 SA
AC500 调试总结 以太网通讯配置 lizhenfei.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第3章 IP寻址与地址解析.
逆向工程-汇编语言
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
第一章:使用动态主机配置协议(DHCP)分配IP地址
中文域名系统简介 CNNIC.
任务1-3 使用Dreamweaver创建ASP网页
IDSentrie™ DHCP Management
第四章 团队音乐会序幕: 团队协作平台的快速创建
DQMClientDim.cxx及双光子练习
實驗目的: 明瞭DHCP運作原理 建置DHCP伺服器
VisComposer 2019/4/17.
主要内容: 无线局域网的定义 无线传输介质 无线传输的技术 WLAN的架构 无线网络搭建与配置 无线网络加密配置
姚金宇 MIT SCHEME 使用说明 姚金宇
Speaker : Chang Kai-Jia Date : 2010/04/26
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
第 14 章 DHCP 著作權所有 © 旗標出版股份有限公司.
第4章 Excel电子表格制作软件 4.4 函数(一).
数据报分片.
Chapter 18 使用GRASP的对象设计示例.
谢聪.
郑 昀 应用开发事业部 神州泰岳 SIP多方会话消息 之实例讲解 郑 昀 应用开发事业部 神州泰岳
基于列存储的RDF数据管理 朱敏
網際網路原理 網際網路源起與發展歷史 1968 ARPANET 1973 TCP/IP協定 1976 乙太網路,促成LAN的發展 … DNS
实验六静态路由.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
JUDDI安装手册.
Presentation transcript:

第9章 DHCP协议 任课教师 卢豫开

第9章 DHCP协议 学 习 要 点 BOOTP协议 DHCP系统 DHCP报文分析(重点) DHCP选项 DHCP运行机制(重点)

9.1 DHCP概述(P190) DHCP(Dynamic Host Configuration Protocol)是TCP/IP协议的应用层协议,用来实现IP地址自动分配和TCP/IP参数自动配置。 DHCP主要在RFC2131“Dynamic Host Configuration Protocol”1997中定义,并在RFC2939“Procedures and IANA Guidelines for Definition of New DHCP Options and Message Types ”2000中更新。 DHCP是从早期的BOOTP(Bootstrap Protocol,引导协议)发展而来。 RFC3315“Dynamic Host Configuration Protocol for IPv6”2003用于IPv6网络。

9.1.1 BOOTP协议(P190) DHCP的前身是早期为无盘工作站设计的BOOTP,由RFC951“BOOTSTRAP Protocol”1985定义。 BOOTP突破RARP的客户端和服务器必须在同一物理网络的局限性,除了提供IP地址外,还能提供子网掩码、默认网关(路由器)IP地址、DNS服务器的IP地址。 BOOTP是一种基于客户端/服务器模式的应用层协议,客户端和服务器可位于不同网段。 BOOTP客户端和服务器基于UDP协议进行进程间通信。

BOOTP协议 BOOTP工作过程: (1)BOOTP服务器在UDP端口67发出被动打开命令,等待客户端请求。 (2)BOOTP客户端在UDP端口68发出主动打开命令。将请求报文封装成UDP数据报,其目的端口是67而源端口是68。由于客户端此时没有IP地址,使用的是IP广播。 (3)BOOTP服务器将应答报文回送给客户端,其目的端口号68而源端口是67。

BOOTP协议 BOOTP不足: BOOTP是一种静态配置协议。BOOTP服务器需要提前获取客户端的物理地址,手动建立IP地址与物理地址映射表。 当主机调整到其他网络,需要手工调整。 IP地址分配缺乏动态性,对于有限的地址空间会造成地址浪费。 不提供检测、防止或者补救IP地址冲突的措施。 现在BOOTP已经被DHCP取代了。

9.1.2 DHCP的主要功能(P191) 1. IP地址分配的3种方式 手动分配:与BOOTP相同,根据客户端物理地址预先配置对应的IP地址和其他设置,对应DHCP客户端请求传递给相匹配的客户端主机。 自动分配:无需进行任何的IP地址手动分配,当DHCP客户端首次向DHCP服务器租用到IP地址后,该地址就永久地分配给该DHCP客户端,不会再分配给其他客户端。 动态分配:DHCP客户端首次向DHCP服务器租用到IP地址后,并非永久性地使用该地址,只要租约到期,客户端就得释放这个地址,以供其他主机使用。

DHCP的主要功能 2. DHCP配置TCP/IP参数 DHCP能够为客户端配置多种TCP/IP相关设置参数,主要包括子网掩码、默认网关(路由器)、DNS服务器、域名等 客户端除了启用DHCP功能之外,几乎无需做任何的TCP/IP环境设置。

9.1.3 DHCP系统组成(P191) 服务器用UDP端口67 客户端用UDP端口68 服务器上的DHCP数据库中有: 网络上所有客户端的有效配置参数。 为客户端定义的地址池中维护的有效IP地址,以及用于手动分配的保留地址。 服务器提供的租约持续时间(租期)。

DHCP系统组成----DHCP中继代理 当DHCP服务器与客户端位于不同网段,路由器隔断了广播,就要用DHCP中继代理,将DCHP请求从一个网段传到另一个网段。DHCP中继代理会像DHCP服务器一样接收广播,并向另一网段发出单播请求,进而获得IP地址。

9.2 DHCP报文分析(P192) DHCP客户机与服务器位于应用层,它们之间传输的数据包称为DHCP报文(DHCP message)。 DHCP报文封装在UDP数据报,然后封装在IP数据报中,最后封装成数据链路层中的帧。

9.1.2 DHCP报文格式(P193)

DHCP报文格式 1. 操作码(Opcode)1byte,又称报文类型(Message type),0x01表示DHCP请求,0x02表示DHCP应答。 2. 硬件类型(Hardware address type) 1byte,标识硬件地址类型,与ARP报文硬件地址类型相同,见P73表3-5。 3. 硬件地址长度( Hardware address length) 1byte,如以太网硬件地址长度为6字节。 4. 跳数(HOPS) 1byte ,DHCP报文的最大路由器跳数。 5. 事务(Transaction ID) 4bytes,由客户端选择的随机数,用于匹配客户端与服务器之间的请求和应答。 6. 秒数(Seconds) 2bytes,指明客户端请求新地址或更新地址以来已经过去的时间。 7. 标志(Flags) 2bytes,第1位置1时,客户端只接受服务器广播应答。

DHCP报文格式 8. 客户端IP地址(Client IP address) 4bytes,客户端首次引导时其值为0.0.0.0 9. 你的IP地址(your IP address ) 4bytes,服务器拟提供给客户端的IP地址。 10. 服务器IP地址(Server IP address)4bytes。 11. 网关IP地址(Gateway IP address)4bytes,如果跨网段使用DHCP中级代理,此字段放中级代理的IP地址。 12. 客户端硬件地址(Client hardware address) 16bytes 13. 服务器主机名称(Server host name ) 64bytes 14. 引导文件名(Boot file name)128bytes 15. 选项(Option) 长度可变,最多312bytes

9.2.2 验证分析DHCP报文格式(P194) 用ipconfig/renew强制更新,用Wireshark抓取DHCP客户端与服务器之间的数据包。 由于DHCP源自于BOOTP, Wireshark在解码窗口中仍沿用术语Bootstrap Protocol来表示DHCP协议,在封装的UDP数据报中使用Bootpc和Bootps分别表示DHCP客户端和服务器。 封装的UDP首部包含了源端口68和目的端口67。 “Transaction ID”是客户端随机产生的一个32位数,用于关联DHCP相关报文,交互过程中的DHCP的 “Transaction ID”相同。

验证分析DHCP报文格式

9.2.3 DHCP选项分析(P194) 除了分配IP地址,还可通过DHCP选项提供更多的TCP/IP参数,如默认网关、DNS服务器。DHCP选项主要由RFC2132“DHCP Options and BOOTP Vendor Extendion”定义。 1. DHCP选项格式 选项可以是固定长度或可变长度,都以1个8bit代码标记开始,这个标记唯一识别该选项。 不带数据的固定长度选项就只由一个标记构成,而且只有选项0和255是固定长度

DHCP选项分析 填充(Pad)选项标记为0,长度是1字节,用来保证后续字段按边界对其。结束(End)是最后1个选项,标记为255,标志DHCP选项的结束。 其他选项都是可变长度的,包括3个部分:标记(1字节)、长度(1字节)和选项值(可变长度) 示例(子网掩码选项)

DHCP选项分析 2. DHCP选项列表 DHCP的选项非常多,完整的列表可以在IANA的网站 http://wwww.iana.org/assignments/bootp-dhcp-parameters 查看。 P195的表9-1列出了其中主要的DHCP选项。 3. DHCP选项53(DHCP报文类型) 各种DHCP请求和应道报文的类型定义在DHCP选项53,选项标记53,数据长度8bit。 RFC2132规定了常见的8种报文类型。

DHCP选项53(8种报文类型) 选项值 报文类型 说明 1 客户端广播以定位可用的DHCP服务器 2 DHCPDISCOVER 客户端广播以定位可用的DHCP服务器 2 DHCPOFFER 服务器发送给客户端,提供配置参数以应答DHCPDISCOVER 3 DHCPREQUEST 客户端发送给服务器,可能的用途有:① 请求由一个服务器提供的参数,拒绝其他服务器提供参数;② 确认原来分配IP地址的正当性(例如系统重新启动之后);③ 对一个特定IP地址的租约延期 4 DHCPDECLINE 客户端发送给服务器指明IP已经被占用 5 DHCPACK 服务器发送给客户端,带有配置参数,包括所请求的IP地址 6 DHCPNAK 服务器发送给客户端,指明客户端的IP地址不正确(如客户端已经移到新的子网)或者租约已过期 7 DHCPRELEASE 客户端发送给服务器让出IP地址并取消该地址相应的租约 8 DHCPINFORM 客户端发送给服务器,仅请求局域网配置参数,客户端已经配置有IP地址

DHCP选项分析 4. 验证分析DHCP选项 DHCP报文中的选项

DHCP选项分析 4. 验证分析DHCP选项 DHCP报文解码分析

9.3 DHCP运行机制(P199) DHCP基于客户/服务器模式,客户端与服务器之间需要不断的进行交互,获取新的租约,更新租约或延长现有租约。 DHCP客户端请求并获得租约要经历一个与DHCP服务器的协商过程,包括发现、提供、选择、确认4个阶段。 请求租约的过程

9.3.1 客户端与服务器交互以分配IP地址(P199) 1. 分配IP地址的客户端与服务器交互过程 符合下列情形之一,DHCP客户端就要向DHCP服务器请求新的IP地址租约: 首次以DHCP客户端身份启动。 从静态IP地址配置转向使用DHCP。 租用的IP地址已被DHCP服务器收回,并提供给其他客户端使用。 自行释放已租用的IP地址,要求使用一个新地址。

客户端与服务器交互以分配IP地址 发现阶段----客户端在本地子网中广播DHCPDISCOVER,寻找网络中的DHCP服务器。 提供阶段----网络中所有收到DHCPDISCOVER的DHCP服务器都会以DHCPOFFER响应客户端, DHCPOFFER提供可用的IP地址(Your IP address),及相关的TCP/IP配置参数。 选择阶段----客户端从多个DHCP服务器中选择一个,再向这台服务器广播DHCPREQUEST,包含想要接受的IP地址及TCP/IP配置参数。 确认阶段----未被选中的DHCP服务器通过DHCPREQUEST确认被拒绝,只有那台被选中的服务器确认客户端绑定信息,然后回应一个DHCPACK。 客户端做最后检查,以确认没有地址冲突。

客户端与服务器交互以分配IP地址 分配IP地址的客户端与服务器交互的过程(分配新IP地址的4个过程) 客户端也可以通过DHCP服务器发送DHCPRELEASE来取消租约,让出IP地址。

2. 验证分析IP地址获取过程 DHCP数据包列表(获取租约),可以看到涉及两台DHCP服务器,一台IP地址192.168.0.10,另一台IP地址192.168.0.1,都有相同的Transaction ID,是同一个租约请求。

验证分析IP地址获取过程 DHCPDISCOVER报文(发现阶段)

验证分析IP地址获取过程 DHCPOFFER报文(提供阶段)

验证分析IP地址获取过程 DHCPREQUEST报文(选择阶段)

验证分析IP地址获取过程 DHCPACK报文(确认阶段)

验证分析IP地址获取过程 用于检查地址重复的ARP报文 客户端收到DHCPACK报文,启用IP地址之前还要执行最后一次检查,发送ARP请求报文检测网络中是否已有其它节点使用了这个IP地址。

验证分析IP地址获取过程 DHCPOFFER报文(另一服务器提供)

验证分析IP地址获取过程 DHCPNAK报文(另一服务器确认)

9.3.2客户端与服务器交互以重用原来分配的地址(P205) 请求重用IP地址的客户端与服务器交互过程 已经获得IP地址的客户端每次启动直接发送包含原有IP地址的DHCPREQUEST,请求续租原来的IP地址。

客户端与服务器交互以重用原来分配的地址 (1)客户端广播DHCPREQUEST,在“请求的IP地址”选项中包括原来的IP地址。 (2)DHCP服务器确认客户端信息后,回应一个DHCPACK,如果此地址无效,服务器回应一个DHCPNAK。 (3)客户端收到带有配置参数的DHCPACK后,对参数进行检查。如果客户端收到DHCPNAK,就不能再使用此IP地址了。如果客户端检测到地址冲突,则发送DHCPDECLINE通知服务器,并从新开始申请IP地址的四个阶段。 (4)客户端可以用DHCPRELEASE取消IP地址租约。注意:客户端正常关机不会让出租用的IP地址。

2. 验证分析请求重用IP地址过程 DHCP数据包列表(重用原来的IP地址)

DHCPREQUEST报文(客户端请求重用原来的IP地址)

DHCPACK报文(服务器同意重用原来的IP地址)

9.3.3 DHCP租约更新(P207) 1. 租约期限与更新时间 当租用时间达到租约期限的一半时,DHCP客户端将向DHCP服务器发送一条DHCPREQUEST报文自动尝试续订租约。如果服务器没有任何回应,则客户端还可继续使用当前的租约。 当租用时间达到租约期限的87.5%时,DHCP客户端再次广播DHCPREQUEST,向网络中的服务器请求租约。此时DHCP客户端会接受由任何DHCP服务器提供的租约。 租约期限与更新时间

2. 租约更新过程 当到达T1(更新时间)时,客户端转入更新状态(RENEWING),通过单播方式给服务器发送一个DHCPREQUEST报文以延长租约。 如果DHCPACK报文中的事务ID与客户端的DHCPREQUEST报文中的事务ID不匹配,该DHCPACK报文将被放弃。客户端收到来自服务器的DHCPACK时,计算租约过期时间,合计客户端发送DHCPREQUEST的时间和DHCPACK报文中租约过期时间。已成功获得IP地址的客户端进入绑定状态,继续网络处理。 在到达T2(重新绑定)时间之前如果没有收到DHCPACK报文,客户端转入重新绑定状态(REBINDING),通过广播方式发送DHCPREQUEST报文以延长租约。

租约更新过程 客户端可以在到达T1之前更新或延长租约。服务器可根据管理员的设置延长租期。服务器应当返回T1和T2,它们的值应当从原始值调整,以计算租期剩下的时间。 在更新或重新绑定状态下,如果客户端未收到对于其DHCPREQUEST报文的应答,应当等候当时到T2之前剩余时间的一半(在更新状态)和剩余租期的一半(在重新绑定状态),最少60秒之后再重发DHCPREQUEST报文。 客户端收到DHCPACK之前租约过期,则进入初始化状态(INIT),必须立即停止任何网络处理,像客户端未初始化一样请求网络初始化参数。

3. 验证分析租约更新过程 DHCP选项配置租约期限与T1、T2时间

验证分析租约更新过程 DHCP数据包列表(更新租约)

DHCPREQUEST报文(更新租约)

DHCPACK报文(更新租约)

9.3.5 DHCP租约释放 如果客户端不再需要使用已分配的IP地址,可以向服务器发送一个DHCPRELEASE报文。 可以用命令ipconfig/release 强制DHCP客户端释放由服务器分配的IP地址。

验证分析DHCRELEASE报文(释放租约)

9.3.6 DHCP客户端状态及其转换

9.3.7 构造和发送DHCP报文(P212) DHCP客户端和服务器都通过向报文中固定格式部分填充字段,并在选项区域附加带有标记的数据项来构造DHCP报文 “服务器标识符”字段用在DHCP报文中识别DHCP服务器,也用做客户端发送给服务器的目标地址。 客户端在获得IP地址之前,它广播的DHCP报文的IP首部中的源地址应该设置为0。 如果来自客户端的DHCP报文中的“giaddr”(网关IP地址)字段值不为0,服务器将返回的报文发送给拥有该字段指示地址的BOOTP中继代理。如果“giaddr”字段值为0,而“ciaddr”(客户端IP地址)字段值不为0,服务器将DHCPOFFER和DHCPACK发给“ciaddr”字段指示的地址。如果这两个字段值都为0,而“标志”字段中的广播位(broadcast bit)置位(最高位设置为1),服务器将DHCPOFFER和DHCPACK广播到0xffffffff。

构造和发送DHCP报文 如果广播位未置位(最高位设置为0),而“giaddr”和“ciaddr”值都为0,服务器将DHCPOFFER和DHCPACK单播到客户端硬件地址和“yiaddr”(你的IP地址)字段所指示的IP地址。 正常情况下,DHCP服务器和BOOTP中继代理试图使用单播方式将DHCPOFFER、DHCPACK和DHCPNAK报文直接发送到客户端。 将报文直接发送或转发给DHCP客户端的DHCP服务器或BOOTP中继代理(不是在“giaddr”字段中定义的中继代理)应当检查“标志”字段中的广播位。

9.3.8 DHCP中继代理(P213) 如果DHCP服务器与客户端位于不同的网段,路由器本身会阻断LAN广播,这就需要配置DHCP中继代理,使DHCP请求能够从一个网段传递到另一个网段。 DHCP中继代理服务器可以直接由路由器或交换机(支持DHCP/BOOTP中继代理功能)实现,也可通过DHCP中继代理软件来实现。

DHCP中继代理 客户端通过中继代理获得IP地址租约的过程 (1)子网2中的客户端广播DHCPDISCOVER报文。要使该报文被DHCP中继代理转发,必须将其中的“跳数”(HOPS)字段值设置为0。 (2)DHCP中继代理服务器接收到这个报文后,检查包含在这个报文中的网关IP地址。如果该网关IP地址为0,则用中继代理的IP地址替换它,然后将其转发到DHCP服务器所在的子网1中。 DHCP报文中的“网关IP地址”字段表示中继代理的IP地址,该字段用在通过中继代理启动时指定中继代理服务器的IP地址。

DHCP中继代理 (3)子网1中的DHCP服务器收到这个报文后,开始检查该报文中的网关IP地址是否包含在DHCP服务器所负责的地址范围(DHCP作用域)内。如果DHCP服务器管理多个DHCP地址范围,则报文中的网关IP地址用来确定从哪个DHCP地址范围中挑选IP地址并提供给客户。 (4)DHCP服务器将它所提供的IP地址租约放入DHCPOFFER报文,直接发送到中继代理。 (5)中继代理将这个报文利用广播方式转发给DHCP客户端。 (6)接下来的DHCP客户端与服务器交互与上述过程类似。