DHCP原理含dhcpsnooping学习教程.pptx
《DHCP原理含dhcpsnooping学习教程.pptx》由会员分享,可在线阅读,更多相关《DHCP原理含dhcpsnooping学习教程.pptx(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程内容课程内容 DHCP DHCP简介简介 DHCP DHCP原理原理 DHCP DHCP扩展介绍扩展介绍 实验与练习实验与练习 本章小结本章小结第1页/共92页DHCPDHCP简介简介为什么会有为什么会有DHCPDHCP?所有基于TCP/IP协议族实现的网络,其通信的一个重要基础就是IP地址,但对于大多数非专业的用户而言,IP地址是什么都不甚了解,要正确设置或者修改就更难了但用户主机需要访问网络时,其网卡的IP却又是必不可少的DHCPDHCPD Dynamic H Host CControl P Protocol动态主机配置协议,就是用于简化主机IP地址设置的协议。通过DHCP,用户可以实
2、现各项必要网络参数IP、DNS、Wins等的“零设置”,做到“即插即用第2页/共92页DHCPDHCP简介简介DHCPDHCP的设计目标的设计目标DHCP设计的主要目标是使TCP/IP网络的管理易于实现和维护:自动IP地址的分配和配置,用户无需手工配置所有IP地址资源都由服务器统一存放、控制,集中IP子网的管理对不使用的IP地址资源回收,提高利用率第3页/共92页DHCPDHCP简介简介DHCPDHCP的优缺点的优缺点可避免手工设置所产生的错误可避免多个用户使用相同IP地址而产生的冲突无需网络管理员干涉,减少网络管理工作量每个用户的IP地址是不固定的、随机性的,不利于管理和监控服务器故障可能会
3、导致全网瘫痪,需要在网内做相应的冗余备份,网络组建成本增加第4页/共92页课程内容课程内容 DHCP DHCP简介简介 DHCP DHCP原理原理 DHCP DHCP扩展介绍扩展介绍 实验与练习实验与练习 本章小结本章小结第5页/共92页DHCPDHCP原理原理DHCPDHCP要解决的问题要解决的问题问题:问题:DHCP目的是为了方便使用者,无需手工配置IP等相关信息,而DHCP又是一种基于IP运行的协议,在没有IP地址的情况下,DHCP又如何交互呢?我们先介绍一下BOOTPBOOTP协议,即Bootstrap,它是DHCP协议的前身,在早期常使用在无盘工作站组建的网络中第6页/共92页DHC
4、PDHCP原理原理BOOTPBOOTP报文介绍报文介绍BOOTP协议承载在于OSI七层模型的传输层之上,使用UDP协议BOOTP客户端发起的报文,UDP:68 UDP:68 UDP:67 UDP:67BOOTP服务器发起的报文,UDP:67 UDP:67 UDP:68 UDP:68第7页/共92页DHCPDHCP原理原理BOOTPBOOTP报文介绍(续)报文介绍(续)第8页/共92页DHCPDHCP原理原理BOOTPBOOTP报文介绍(续)报文介绍(续)主要字段解释:主要字段解释:OPOP消息类型,=1时表示BootRequest;=2时表示BootReplyHtypeHtype和HlenHl
5、en硬件地址类型和地址长度,实际上表示物理层网络的类型,一般为以太网,长度为6bytesHopsHops跳数,通常为0;中继时会修改,一般不用。XidXid会话id,随机数,用于确定Serv和Client的对应关系第9页/共92页DHCPDHCP原理原理BOOTPBOOTP报文介绍(续)报文介绍(续)主要字段解释:主要字段解释:CiaddrCiaddrClient IP Addr,客户端IP地址,由客户端在发送请求时填写(如果有的话)YiaddrYiaddrYour IP Addr,客户端的IP地址;如果Ciaddr值为全0时,由服务器在Reply报文中填写SiaddrSiaddrServer
6、 IP Addr,服务器IP地址第10页/共92页DHCPDHCP原理原理BOOTPBOOTP报文介绍(续)报文介绍(续)主要字段解释:主要字段解释:GiaddrGiaddrGateway IP Addr,网关IP地址,通常只在BOOTP中继时才会用到ChaddrChaddrClient Hardware Addr,客户端硬件地址,通常在以太网中就是MAC地址,由客户端自己填写第11页/共92页DHCPDHCP原理原理BOOTPBOOTP报文介绍(续)报文介绍(续)主要字段解释:主要字段解释:SnameSname客户端希望启动后使用的hostnamefilefilefile为空时,表示客户端只
7、需要获得服务器分配的IP信息,或者由服务器来统一指定程序的加载;file可以填入指定的名字“unix”“gateway”,用以控制启动时需要加载的程序第12页/共92页DHCPDHCP原理原理BOOTPBOOTP简要处理流程简要处理流程BOOTP RequetBOOTP Requet客户端发送请求前首先需要确定如下几个参数:Ciaddr,通常启动时没有IP,置为Chaddr,本机网卡硬件地址,按实填写Yiaddr、Siaddr、Giaddr均设为随机生成一个Xid值OP=1将上述关键信息填写并封装到UDP报文中,目的UDP端口号为67,源端口为68将UDP封装到IP报文中,其目的IP为全网广播
8、,源地址为(未知,待分配)第13页/共92页DHCPDHCP原理原理BOOTPBOOTP简要处理流程(续)简要处理流程(续)BOOTP ReplyBOOTP Reply服务器收到Request请求之后,进行判断:如果Client没有Ciaddr,且自己有可用IP,给对方分配一个,填入Yiaddr;如果没有IP资源,丢弃将Server自己的IP地址填入SiaddrXid值与Request中完全相等OP=2将上述关键信息填写并封装到UDP报文中,目的UDP端口号为68,源端口为67将UDP封装到IP报文中,单播单播给客户端第14页/共92页DHCPDHCP原理原理BOOTPBOOTP简要处理流程(
9、续)简要处理流程(续)细节细节BOOTP客户端如果不知道服务器IP,可以通过广播报文来发送;但服务器在发送Reply报文的时候,客户端却是没有IP地址的,怎么实现?有两种方法:1、虽然客户端没有IP,但服务器却知道Yiaddr和Chaddr两个关键地址,有了这些内容,服务器可以自己生成一个ARP信息,以实现IP报文的二层转发2、直接广播!第15页/共92页DHCPDHCP原理原理BOOTPBOOTP简要处理流程简要处理流程Reply ReceivedReply Received客户端收到Reply回应之后,会进行判断:Ciadr、Chaddr、Xid是否和自己发送时的值相等,如果不等,则丢弃如
10、果上述匹配关系正确,则读取Yiaddr地址给网卡设置,并进行后续的引导文件/程序的传输第16页/共92页DHCPDHCP原理原理BOOTPBOOTP的缺点的缺点BOOTP协议过程非常的简单,中间缺乏必要的安全控制机制BOOTP给每个用户分配的IP地址是“永久”的,不利于IP地址资源的合理高效利用随着网络的逐步发展,BOOTP逐渐被DHCP所取代第17页/共92页DHCPDHCP原理原理DHCPDHCP和和BOOTPBOOTP的关系的关系BOOTP给客户端分配的IP地址是永久的,而DHCP分配的IP地址资源则具有时效性、是动态的,有利于提高IP资源的利用率DHCP和BOOTP使用相同的UDP协议
11、报头,服务器端口67,客户端端口68,以至于很多程序对两者不做区分DHCP和BOOTP使用几乎完全相同的Request和Reply消息格式,只是DHCP的功能是依赖于报文的OPTIONOPTION字段来进行实现的;BOOTP也有自己的“OPTION”字段,称之为VendVend,DHCP Option兼容BOOTP Vend第18页/共92页DHCPDHCP原理原理DHCPDHCP报文介绍报文介绍第19页/共92页DHCPDHCP原理原理DHCPDHCP报文介绍(续)报文介绍(续)DHCP报文直接借用了BOOTP的报文格式,其中的核心内容是OPTIONOPTIONDHCP OPTIONDHCP
12、 OPTION格式格式每个Option都由TagTag、LenLen、DataData三大部分组成:1、Tag表示本Option的作用2、Len表明后续Data的长度(Tag=0、255的option比较特殊,没有对应Data,当然也不需要Len长度)3、Data内容作为Tag的补充详细说明第20页/共92页DHCPDHCP原理原理DHCPDHCP报文介绍(续)报文介绍(续)DHCPDHCP常见常见OPTIONOPTIONRequested IP AddressRequested IP Address,DHCP客户端曾请求并使用过的IP地址,通常出现在请求报文中。Tag=50,Len=4,Da
13、ta=第21页/共92页DHCPDHCP原理原理DHCPDHCP报文介绍(续)报文介绍(续)DHCPDHCP常见常见OPTIONOPTIONIP Address Lease TimeIP Address Lease Time,用户请求分配IP地址的使用时间(租约期),在DHCP客户端的请求报文和服务器的回应报文中都有,但以服务器分配为准Tag=51,Len=4,Data=time第22页/共92页DHCPDHCP原理原理DHCPDHCP报文介绍(续)报文介绍(续)DHCPDHCP常见常见OPTIONOPTIONDHCP Message TypeDHCP Message Type,DHCP协议交
14、互的控制报文类型Tag=53,Len=1,Data=1717(只用了3bit)第23页/共92页DHCPDHCP原理原理DHCPDHCP报文介绍(续)报文介绍(续)DHCP Message Type是本文的一个重点,Data Value取值如下:Value=1,标示DHCP Discover DiscoverValue=2,标示DHCP Offer OfferValue=3,标示DHCP Request RequestValue=4,标示DHCP Decline DeclineValue=5,标示DHCP ACK ACKValue=6,标示DHCP NAK NAKValue=7,标示DHCP
15、Release Release第24页/共92页DHCPDHCP原理原理DHCPDHCP报文介绍(续)报文介绍(续)DHCPDHCP常见常见OPTIONOPTIONServer IdentifierServer Identifier,服务器身份,通常在DHCP报文中指定与哪个服务器进行交互通信Tag=54,Len=4,Data=第25页/共92页DHCPDHCP原理原理DHCPDHCP报文介绍(续)报文介绍(续)DHCPDHCP常见常见OPTIONOPTIONParameter Request ListParameter Request List,请求参数列表,标示客户端需要服务器分配的内容T
16、ag=55,Len=n(n1n1),Data=parameters其中,具体的参数内容使用代码来标示,如:1为子网掩码、6为DNS-Server等等,有兴趣的可以查找rfc获得更详细的内容第26页/共92页DHCPDHCP原理原理DHCPDHCP报文介绍(续)报文介绍(续)DHCPDHCP常见常见OPTIONOPTIONClient identifierClient identifier,客户端身份识别,用以表示DHCP客户端的唯一身份,服务器据此查询数据库,唯一指定一个IP地址资源Tag=61,Len=n(n2n2),Data=类似的Option还有OP=12,客户端的HostnameHos
17、tname,服务器也可以据此唯一绑定一个IP地址第27页/共92页DHCPDHCP原理原理DHCPDHCP报文介绍(续)报文介绍(续)DHCPDHCP常见常见OPTIONOPTIONEndEnd,Tag=255时,是一个特殊的Option,表示所有的Options字段已经填充完毕,后面没有了。第28页/共92页DHCPDHCP原理原理DHCPDHCP的协议流程的协议流程下面以DHCP客户端的角度来描述DHCP整个协议流程转换机制第29页/共92页DHCPDHCP原理原理DHCPDHCP的协议流程(续)的协议流程(续)INITINIT客户机第一次启动之后,进入InitInit初始化状态,此时通过
18、发送DHCP Discover,用于探测和发现服务器,同时状态切换到SelectingSelecting状态该报文承载于UDP:67中,通过IP广播发送 第30页/共92页DHCPDHCP原理原理DHCPDHCP的协议流程(续)的协议流程(续)DiscoverDiscover报文常见参数构成报文常见参数构成:OP1,BOOT Request XidRandomRandom,由,由ClientClient确定确定 Ciaddr YiaddrSiaddrGiaddr ChaddrClient MAC AddrClient MAC Addr第31页/共92页DHCPDHCP原理原理DHCPDHCP的
19、协议流程(续)的协议流程(续)DiscoverDiscover报文常见报文常见OptionOption构成构成:Requested IP addrMAY IP Addr Lease TimeMAY Client IentifierMAY Server IdentifierMust NOTMust NOT Parameter Request ListMAYMAY第32页/共92页DHCPDHCP原理原理DHCPDHCP的协议流程(续)的协议流程(续)INITINIT由于该请求为广播形式,通常在发送时会设置一个随机的实验延迟(10秒),以避免各个DHCP Client同时发送广播报文,对局域网造成
20、不必要的影响第33页/共92页DHCPDHCP原理原理DHCPDHCP的协议流程(续)的协议流程(续)SELECTINGSELECTING服务器收到Discover报文后,查看自己的IP Pool,如果IP Pool有地址可用,则选取一个地址,分配到Yiaddr中;如果没有可用IP,则丢弃;该报文被封装到UDP:68中,通过IP广播给Clients第34页/共92页DHCPDHCP原理原理DHCPDHCP的协议流程(续)的协议流程(续)SELECTINGSELECTINGDHCP Serv判断Discover报文接收端口的IP网段,然后从与之相同的DHCP IP Pool中按顺序选取一个服务器
21、同时还必须分配Lease Time给用户:如果Discover请求的Lease Time未指定,且Client还没有IP地址,则按照Server的默认设置分配 如果请求的Lease Time未指定,但Client已经获取了地址,则把该IP Binding的Lease time值返回 如果Discover指定了Lease Time值,则无论Client是否已经有IP地址,Server可以选择在请求值和自己的默认Lease Time中选取一个进行分配第35页/共92页DHCPDHCP原理原理DHCPDHCP的协议流程(续)的协议流程(续)OfferOffer报文常见参数构成:报文常见参数构成:OP
22、2,BOOT Reply Xid,由由ClientClient的的DiscoverDiscover报文确定报文确定 Ciaddr YiaddrOffered IP AddrOffered IP Addr,由,由ServerServer确定确定 SiaddrBOOTP/DHCPBOOTP/DHCP Serv IP AddrServ IP AddrGiaddr,由Discover报文确定 ChaddrClient MAC AddrClient MAC Addr,from from DiscoverDiscover第36页/共92页DHCPDHCP原理原理DHCPDHCP的协议流程(续)的协议流程(
23、续)OfferOffer报文常见报文常见OptonOpton构成:构成:Requested IP addrMust NotMust Not IP Addr Lease TimeMustMust Client IentifierMust Not Server IdentifierMustMust Parameter Request ListMust NotMust Not第37页/共92页DHCPDHCP原理原理DHCPDHCP的协议流程(续)的协议流程(续)REQUESTINGREQUESTING在一个广播域中,客户端可能同时收到多个DHCP Serv的Offer,如何选择呢?Client设置
24、一个较短的收集时间段,在此期间可能收到的多个Offers,一般最先到达的Offer为优先,或者可以选择上次确定使用的Server,Client可以根据需要来进行选择,并向该Serv发起后续请求报文,同时状态切换为RequestingRequesting第38页/共92页DHCPDHCP原理原理DHCPDHCP的协议流程(续)的协议流程(续)REQUESTINGREQUESTINGClient选定一个最优的Offer以后,就会根据该Offer提供的OPTION来发起Request,正式请求这些资源以上内容被封装到UDP:6867报文,通过IP广播发送到指定的Serv第39页/共92页DHCPDH
25、CP原理原理DHCPDHCP的协议流程(续)的协议流程(续)RequestRequest报文常见参数构成:报文常见参数构成:OP1,BOOT Request Xid,根据根据ServerServer的的OfferOffer报文确定报文确定 Ciaddr YiaddrSiaddrGiaddr ChaddrClient MAC Addr第40页/共92页DHCPDHCP原理原理DHCPDHCP的协议流程(续)的协议流程(续)RequestRequest报文常见报文常见OptonOpton构成:构成:Requested IP addrMustMust IP Addr Lease TimeMay Cl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DHCP 原理 dhcpsnooping 学习 教程
限制150内