




免费预览已结束,剩余8页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DHCP功能技术原理说明Table of contents 目录Table of contents 目录11.DHCP功能简介22.DHCP功能详细原理22.1:结构介绍22.1.1动态分配22.1.2:地址租用22.2:DHCP协议的封装22.2.1:DHCP协议的报文格式选项详解52.3DHCP协议报文的种类73.:DHCP CLIENT/SERVER通信模型83.1:DHCP CLIENT行为103.2:DHCP SERVER的行为113.3本项目中DHCP需求分析121. DHCP功能简介DHCP 是 Dynamic Host Configuration Protocol(动态主机配置协议)缩写,它的前身是 BOOTP ,DHCP协议采用CLIENT-SERVER方式实现而且DHCP 协议是基于UDP层之上的应用DHCP CLIENT将采用知名端口号68 DHCP SERVER采用知名端口号67进行交互. 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址给用户,给内部网络管理员作为对所有计算机作中央管理的手段。2. DHCP功能详细原理122.1 :结构介绍DHCP结构可分为动态分配IP地址和续约IP地址租用两部分2.1.1 动态分配CLIENT在一个固定的时间段内租用IP地址,在需要时重新申请租用,这样,有限的IP地址可以有效地在许多设备之间共享。2.1.2 :地址租用CLIENT在IP租用期满前,要向服务器重申租用该IP地址,如果失败,则租用结束,如果CLENT不再使用所租用的IP地址,它就释放该IP地址,结束租用。2.2 :DHCP协议的封装DHCP报文内容的封装如图2.2-1所示图2.2-1 DHCP报文封装格式链路层头:承载报文的链路层信息头常见的有Ethernet_II格式,802.1Q格式 ,IEEE802.3格式,令牌环链路层头格式等。IP头:标准的IP协议头,IPV4中长度为20bytes ,包括了SrcIp ,DstIp等信息UDP头:8bytes, 包括了SrcPort ,DstPort 报文长度及UDP校验和等信息。DHCP报文:具体的DHCP报文内容。DHCP报文的封装采取了如下措施:1 :首先链路层的封装必须是广播形式,即让在同一物理子网中的所有主机都能够收到这个报文,在Ethernet_II格式的网络中,就是DstMac为全1。2 :由于终端没有IP地址,IP头中的SrcIp规定填为全0。3: 当终端发出DHCP请求报文,它并不知道DHCP SERVER的IP地址,因此IP头中的DstIp填为有限的子网广播-IP 全1, 以保证DHCP SERVER的IP协议栈不丢弃这个报文。4 :上面的措施保证了DHCP SERVER能够收到终端的请求报文,但仅凭链路层和IP层信息,DHCP SERVER无法区分出DHCP报文,因此终端发出的DHCP请求报文的UDP层中的SrcPort 为68, DstPort为67 即DHCP SERVER通过知名端口号67来判断一个报文是否是DHCP报文5 :DHCP SERVER给终端的响应报文将会根据DHCP报文中的内容决定是广播还是单播,一般都是广播形式,广播封装时,链路层的封装必须是广播形式,在Ethernet_II格式的网络中,就是DstMac为全1 ,IP头中的DstIp 填为有限的子网广播IP -全1, 单播封装时,链路层的封装是单播形式,在Ethernet_II格式的网络中,就是DstMac为终端的网卡MAC地址(此MAC地址存在于DHCP报文中)。 IP头中的DstIp填为有限的子网广播IP -全1或者是即将分配给用户的IP地址(当终端能够接收这样的IP报文时)。两种封装方式中的UDP层都是相同的,SrcPort 为67 ,DstPort为68 ,终端通过知名端口号68来判断一个报文是否是DHCP SERVER的响应报文。2.2.1 :DHCP协议的报文格式下面详细介绍DHCP报文内容1) op 字段:表示当前报文是client的请求还是server的应答,为1时表示是client的请求,为2时表示是server的应答.2) Htype, hlen 字段分别表示client 的网络硬件地址类型长度,如htype 为1 ,表示client 的网络硬件是10MB的以太网类型,hlen 为6,表示client 的网络硬件地址长度6bytes,(即以太网类型的6bytes的MAC地址)3) 跳数字段表示当前的DHCP报文经过的DHCP RELAY的数目,类似于IP头中的跳数字段,但含义完全不同,client或server发出DHCP报文时此字段都初始化为0, 每经过一个DHCP RELAY ,此字段就会加1, 此字段的作用是限制DHCP报文不要经过太多的DHCP RELAY ,协议规定当hops大于4 (现在也有规定为16 )时这个DHCP报文就不能再进行处理而是丢弃.4) 事务ID字段:client每次发送DHCP请求报文时选择的随机数用来匹配server的响应报文是对哪个请求报文的响应,client会丢弃xid 不匹配的响应报文5) 秒数字段用来表示client开始DHCP请求后的时间流逝秒数,此字段一般没有多大意义,最初设计此字段是为了让DHCP SERVER在繁忙时优先处理此字段大的DHCP请求,因为此字段越大,说明这个client等的时间就越长.6) 标志字段:在 BOOTP中此字段是保留不用的,在DHCP协议中也只使用了其左边的最高位,整个字段占16比特,其中最左边比特被解释为广播响应标识位,所有其它比特保留备用必须被client设置为0, server和DHCP RELAY忽略这些比特。当client不能接收单播的DHCP响应报文时必须把广播响应标识位置1, 否则置0 ,而DHCP SERVER在回响应报文时是广播还是单播就将根据此广播响应标识位是否置位来判断,目前的client如WINDOWS 98 一般都能接收单播DHCP响应报文。7) 客户机IP地址字段表示client自己的IP地址可以是server分配给client的IP地址也可以是client已有的IP地址,此字段不为0的原则就是client能够使用此IP地址接收IP报文,DHCP SERVER发现此字段不为0时,可以直接将响应报文单播给client。8) 你的IP地址字段表示server分配给client的IP地址,当DHCP SERVER响应client的DHCP请求时,将把分配给client的IP地址填入此字段。9) 服务器IP地址字段表示client 获取启动配置信息的服务器IP地址,一般是TFTP SERVER 的IP地址。10) 中继代理IP地址字段记录第一个DHCP RELAY agent的IP地址,当client发出DHCP请求报文后如果网络中存在DHCP RELAY, 则第一个DHCP RELAY转发这个DHCP请求报文时,就会把自己的IP地址填入此字段,随后的DHCP RELAY将不再改写此字段,只是把hops 加1, DHCP SERVER将会根据此字段为用户分配IP地址,并把响应报文转发给此DHCP RELAY agent, 由DHCP RELAY agent再转发给client。11) 客户机硬件地址字段记录client的实际硬件地址内容,当client发出DHCP请求报文时,将把自己的网卡硬件地址填入此字段,DHCP SERVER一般都会使用此字段来唯一标识一个client ,而且此字段与前面的htype hlen 字段必须一致,如当htype hlen 分别为1和6时,此字段必须填入6bytes的以太网MAC地址,中继代理IP地址是DHCP RELAY 的IP地址。htype hlen 客户机硬件地址字段分别说明了client 的硬件地址类型长度和地址内容。12) 服务器的主机名字段记录client 获取启动配置信息的服务器名字,此字段由DHCP SERVER填写而且是可选的,如果填写,必须是一个以0结尾的字符串13) 启动文件名字段记录client 的启动配置文件名此字段由DHCP SERVER填写而且是可选的如果填写,必须是一个以0结尾的字符串。14) 选项字段对于BOOTP 又称之为vendor 字段,此字段中包含了大量可选的终端初始配置信息和网络配置信息,如决定终端的IP特性配置信息,域名信息,标识终端的特殊信息,终端的默认网关IP地址DNS 服务器的IP地址,WINS 服务器的IP地址,用户使用IP地址的有效租期等等信息。正是因为有了此字段DHCP协议才能够给client提供大量的配置信息,此字段采用CLV 方式构成,即Code: 标识号,唯一标识后面的信息内容,占1bytes length :长度,表示后面信息内容的长度,占1bytes value: 信息内容,其长度为 length 所指定以bytes为单位,选项字段是可选字段,它是变长的,其中对于我们最重要的一个选项是server identifier ,它标识了server 的IP地址并把它带给client。如图2.2.1-3所示图 2.2.1-3 DHCP报文的option 字段编码方式当需要新的信息时,可以按照这种编码方式申请新的选项即可,目前DHCP协议已经支持即成为标准的option已有近80项,具体内容可以参考RFC1541 DHCP协议。 选项详解选项子选项描述132位子网掩码2相对于格林威治时间偏移3按优先顺序排列的32位路由器地址列表4校时服务器列表5名称服务器列表6按优先顺序排列的32位DNS地址列表7日志服务器列表8Cookie服务器9LPR服务器列表10Impress服务器列表11资源定位服务器列表12为客户端指定的一个主机名13Boot File Size15为客户端指定的DNS域名16交换服务器地址17根路径名19IP转发使能开关20非局部原理由使能开关21策略过滤器列表,目的IP地址和子网掩码的表22指明客户应准备重组的最大数据报长度,最小长度是57623指明客户使用的外发IP数据报的TTL字段的默认值24转储设备超时选项25转储状态表,转储单元的大小,最小为68.26指明接口使用的MTU,最小值为6827指明子网是否都在本地28指明接口上使用的广播地址29是否应该完成子网掩码发现工作30指明是否应该对子网掩码进行请求响应31是否完成路由学习工作32路由请求地址33静态路由选项34指明使用ARP协议是否进行尾端压缩35ARP高速缓存表项指定超时时间36以太网封装37默认TTL38客户在TCP连接上发送的一个保活报文之前应该等待的时间43供应商专有信息44NetBIOS名字服务器选项45NetBIOS参数描述服务选项46NetBIOS节点类型选项47NetBIOS作用域选项48X window 系统字体服务器地址选项49X window 系统显示管理50请求的IP地址51IP地址租用时间52选项重载53DHCP报文类型54服务器标识符55参数请求列表56用于指示差错报文57用于指定允许的最大DHCP报文长度58重申租用(T1)定时器值59重申绑定(T2)定时器值60厂家客户端标识,为pktc1.5:xxxxxx61客户端标识符66TFTP服务器名,使用选项重载功能时,替代SName字段67引导文件名,使用选项重载功能时,替代File字段68移动IP中客户可能使用的家乡代理的IP地址69SMTP服务器地址列表70POP3服务器的IP地址列表71NNTP服务器选项74IRC服务器地址1221DHCP服务器的主地址,只被CM需求2DHCP服务器的次要地址,被CM选择需求3DHCP服务器的实体地址,FQDN4备份与重发的请求/回复的密钥管理5远程备份与重发的请求/回复6SNMP的身份验证域7授权服务器应用8计时器管理9安全许可证失效注:在DHCPDISCOVER类型报文中,选项字段的第一个选项一般是53,表明本报文的类型。DHCPREQUST报文可以用选项55来向服务器请求相应的信息。在本项目中,DHCP服务器的回复报文中的122选项的信息直接影响eUE的初始化方式以及能否初始化。2.3 DHCP协议报文的种类1: DHCPDISCOVER: 此为client开始DHCP过程中的第一个请求报文2 :DHCPOFFER : 此为server 对DHCPDISCOVER 报文的响应3 :DHCPREQUST : 此为client 对DHCPOFFER 报文的响应-告知服务器客户所选择的选项-核实客户的地址租用-向提供地址的服务器重申租用地址-向任何一个其他服务器重新绑定其租用地址4 :DHCPDECLIENT: 当client发现server 分配给它的IP地址无法使用,如 IP地址发生冲突时,将发出此报文让server禁止使用这次分配的IP地址。5 :DHCPACK : server对 DHCPREQUST 报文的响应,client收到此报文后才真正获得了IP地址和相关配置信息。6 :DHCPNACK : 此报文是server对client的DHCPREQUST报文的拒绝响应,client 收到此报文后,一般会重新开始DHCP过程。7:DHCPRELEASE :此报文是 client主动释放IP地址,当server 收到此报文后就可以收回IP地址分配给其他的client.8:DHCPINFORM:客户使用该报文请求非IP地址的配置参数。3. :DHCP CLIENT/SERVER通信模型RFC中客户端向服务器申请IP地址的DHCP交互流程图如下图3-1 客户端向服务器申请IP地址时序图RFC中客户端重新申请以前分配的IP地址的时序图为图3-2 客户端重新申请以前分配的IP地址时序图 :DHCP CLIENT行为s图2.2-1 DHCP CLIENT行为图图 2.2-1 给出了DHCP客户进程流程如果IP地址的租期为T,其中T1为租期的一半,及0.5T,T2为0.875T。IP地址的租期T由DHCPREQUST报文的选项字段中的55子选项决定。DHCP CLIENT的行为如下: 整个过程开始于客户无租用IP地址的INIT状态,CLIENT广播一个DHCPDISCOVER(1) 报文,填充自己的硬件地址和一个随机的,用于稍后进行应答匹配的事务标识。此报文可以用来请求特定的IP地址,租用时间或其他特殊的配置参数,然后CLIENT进入选择状态。 如果网络中的服务器都收到这个广播报文,则每个服务器都发生一个DHCPOFFER(2) 报文给客户,其中包含分配的IP地址,租用时间以及客户请求的或是其他主机配置参数。 当客户处在SELECTING(选择)状态时,它收集从服务器的DHCPOFFER应答,如果CLIENT没有收到任何DHCPOFFER应答,它应该重传DHCPDISCOVER报文。经过一段时间CLIENT收到服务器的回复后,客户选择一个服务提供者,然后广播DHCPREQUST(3)报文,然后客户进入REQUESTING(请求)状态。 CLIENT等待来自服务器的应答,应答是DHCPACK/ DHCPNAK(4),当应答是DHCPNACK时,客户必须发生另一个DHCPREQUST来选择另一个服务提供者,直到收到一个确认租用的DHCPACK。 一旦CLIENT收到一个DHCPACK,客户就检查这是否是一个重复的IP地址,检查方法是产生针对该IP地址的ARP(5)请求。如果有任何设备回复此ARP请求,则这个IP地址已经被占用,客户必须发送一个DHCPDECLIENT(6)给服务器,告知分配的IP地址已经被占用,然后客户进入初始状态。如果IP地址没有被占用,则客户进入BOUND(绑定)状态,地址租用开始,同时计时器被启动。 在地址租用期间,通过发送一个DHCPRELEASE报文给服务器,终止租用IP地址。然后CLIENT进入初始状态。 当CLIENT处于绑定状态,CLIENT在租用期终止前要重新申请租用,当计时器T1结束时,CLIENT发送一个DHCPREQUST(7)给当前分配客户租用地址的服务器,重新申请租用,之后,客户进入RENEWING(重申租用)状态。 在RENEWING(重申租用)状态,客户等待来自服务器的重申租用响应,如果服务器回复一个DHCPACK(8)报文,则重申成功,计时器被复位,客户进入绑定状态,如果接收到DHCPNAK报文,客户进入初始状态,并重新开始整个过程。如果客户没有收到应答,且计时器T2结束,客户进入REBINDING(重新绑定)状态。 在REBINDING(重新绑定)状态,CLIENT广播一个DHCPREQUST(9)报文,如果能重新租用,就会有服务器用DHCPACK(10)来应答,并指出本次重新租用中可能会改变的应答参数,客户进入绑定状态。如果客户收到DHCPNAK报文,它必须进入初始状态。如果没有收到任何应答,客户同样进入初始状态。 在设备重启的情况下,设备启动后不应重新整个DHCP过程,而是确定租用地址是否仍然有效,客户从INIT-REBOOT(初始-重启动)状态开始DHCP过程,客户发送DHCPREQUEST报文给服务器确认已有的租用地址,此后客户进入REBOOTING状态,等待服务器的响应,如果服务器回复DHCPACK,则租用得到确认,然后客户进入BOUND状态,如果收到DHCPNAK,则客户进入INIT状态,重新DHCP过程。3.2 :DHCP SERVER的行为除了上述的地址池管理功能外,DHCP Server的行为完全由DHCP客户端来驱动因此其行为相对简单只需根据收到的DHCP CLIENT的各种请求报文相应的响应不同的DHCP 响应报文即可。l 当DHCP SERVER收到DHCPDISCOVER报文后,会从地址池中分配一个空闲IP ,并获得DHCP CLIENT请求的参数,构造DHCPOFFER报文响应DHCPCLIENT。l 当DHCP SERVER收到DHCPREQUEST报文时就会根据报文中记录的DHCP CLIENT的硬件地址查找其地址分配表,如若找到则响应DHCPACK报文,DHCP CLIENT成功获得IP地址和配置信息,否则响应DHCPNAK报文,DHCP CLIENT会自动重新开始DHCP过程。l 当DHCPSERVER收到DHCPRELEASE报文后,会解除这个IP地址与某个DHCPCLIENT的绑定,回收这个IP地址,重新分配。l 当DHCP SERVER收到DHCPDECLINE报文后禁用报文中客户机IP地址字段的IP地址,不再分配这个IP地址注意:DHCP SERVER应该把收到的请求报文中的xid 字段原封不动地拷贝到响应报文的xid 字段,否则DHCP CLIENT不会接受这个响应报文。l DHCP SERVER收到DHCP请求报文后将会首先查看中继代理IP地址字段是否为0, 如果不为0 ,则就会根据此IP地址所在网段从相应地址池中为CLIENT分配IP地址,并且把响应报文直接单播给这个中继代理IP地址指定的IP地址,就是DHCP RELAY AGENT ,而且UDP的目的端口号填为67 ,而不是68 ,如果为0, 则DHCP SERVER认为CLIENT与自己在同一子网中,将会根据自己的IP地址所在网段从相应地址池中为CLIENT分配IP地址。3.3 本项目中DHCP需求分析
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年国际贸易从业资格认证考试模拟试题及解析
- 家庭制冷设计施工方案
- 4.5 植物的叶与蒸腾作用(说课稿)八年级科学下册同步备课系列(浙教版)
- 江西省九江市2025年-2026年小学六年级数学综合练习(上学期)试卷及答案
- 实物技能大赛题库及答案
- 河南申论真题及答案
- 海南省省直辖县级行政单位2025年-2026年小学六年级数学课后作业(下学期)试卷及答案
- 2025标准版委托贷款合同模板
- 2025年中石化加油站招聘面试官青睐的应聘技巧与答案解析
- 2025年公墓管理员面试常见问题及答案示例
- 四年级上册部编版作文教学计划
- 记者证考试复习题库汇总(含答案)
- 餐饮空间案例分析
- 第三章卫星链路设计
- 沪科版九年级物理导学案(全册)
- 计算流体力学完整课件
- 知名投资机构和投资人联系方式汇总
- 行政主管岗位职责及工作内容
- 生产安全事故应急救援演练记录
- 2023版初中化学跨学科实践活动(化学)
- 《新能源汽车驱动电机及传动技术》课程教案
评论
0/150
提交评论