1、,1,第16章 BOOTP/DHCP,无盘工作站通过运行RARP可获得IP地址,但RARP有如下缺陷: RARP直接访问网络硬件,这使得应用程序难以使用它 RARP只能获得32位IP地址,而不能获得其它有用信息,如子网掩码、默认路由地址等等 RARP使用硬件地址标识主机,因此不能用于网络硬件地址是动态分配的网络,,2,16.1 BOOTP,BOOTP(BOOTstrap Protocol,引导协议) RFC 951,RFC 1395、1497、1532、1542 引导无盘计算机或第一次启动的计算机 主机IP 地址、掩码 网关IP 地址 DNS 服务器IP 地址 C/S 协议 Client:UD
2、P 68 端口 Server:UDP 67 端口,静态配置协议: BOOTP Server 上预先设置了BOOTP Client 的物理地址与IP地址的绑定,,3,OP: 1=该消息为请求 2=该消息为响应 HTYPE:网络硬件类型(以太网=1) HLEN:硬件地址长度(以太网=6) HOPS:请求消息中此字段为0,而在响应消息中服务器要计算此项 TRANSACTION ID:是一个标识号,用以匹配请求消息和响应消息。 SECOND:客 户 机在开始引导时,将此字段设置为一个时间值,当主服务器没有响应时,备用服务器会在此时间过后响应客 户 请求。,BOOTP字段说明,,4,CLIENT IP
3、ADDRESS:客户如果已知其IP地址,则填在字段,如果不知,则该字段填0,服务器在响应时就会把客户IP地址填在YOUR IP ADDRESS字段。客户在已知其IP地址时,可以利用BOOTP来获得其自举文件信息。如果要获得自举配置文件,则需要进一步用TFTP来获得。把配置文件名和配置信息分开利于系统管理员进行管理,方便多个客户启动不同的操作系统。 SERVER IP ADDRESS 和SERVER HOST NAME 如果不为零,则只有名字或IP地址与此匹配的服务器才会响应该请求,若均为0,则任何一个收到该请求的服务器都会响应该请求。 BOOTP是可路由的,当路由器收到一个BOOTP时,会将它
4、的IP地址填入ROUTE IP ADDRESS,并将跳数加1,进一步转发,直到到达最后的BOOTP服务器。跳数达到一定值后,可抛弃。(RFC951 规定为3) 特定厂商信息包含从服务器发往客户的可选信息,前四个8位组称为魔术甜饼,设置为一个IP地址:99.130.83.99。表明该区有内容。,BOOTP字段说明,,5,BOOTP 操作,,6,16.2 DHCP,一般RARP、 BOOTP被认为是静态IP地址分配。在主机位置固定以及IP地址充足时能很好地工作。但主机位置经常移动,计算机数查过可用的IP地址数目时,就需要根据网络目前状态动态地为需要工作的计算机指定IP地址。 Dynamic Hos
5、t Configuration Protocol 动态主机配置协议 RFC 2131 作用 BOOTP 的扩充和增强,与BOOTP向后兼容 在有限期间提供临时的静态或动态配置 静态数据库 IP 地址池,,7,DHCP Client 状态转换,,8,当客户机启动时,首先进入INITIALIZE状态。为开始获得其网络配置,需要首先和本地DHCP服务器通信,发送DHCPDISCOVER消息,并进入SELECT状态。 本地网上的所有DHCP服务器都会收到该DHCPDISCOVER消息,但是只有预先规划为响应该客户请求的服务器能进行响应,发送一个DHCPOFFER消息,在DHCPOFFER消息中包含了服
6、务器提供给客户的配置信息,客户在SELECT状态收到服务器的响应消息后(如果有多个响应,则只与第一个)进一步协商租用,向服务器发出一个DHCPREQUEST请求,并进入REQUEST 服务器在收到DHCPREQUEST请求后,响应一个确认消息DHCPACK,租用开始。客户收到确认后进入BOUND状态,开始使用相应的配置信息。 客户在进入BOUND状态后,启动三个计时器,分别计时更新、重新绑定和过期,服务器可以在DHCPACK中为这些计时器指定值,若未指定,则使用默认值,第一个计时器的默认时间为总租用时间的一半(默认的最小租用期为1个小时) ,当其值达到时,客户就需要更新租用。,,9,为进行更新
7、租用,客户要向先前向其获得租用的服务器发送一个DHCPREQUEST请求(其中应包含客户当前使用的IP地址) ,并进入RENEW状态等待响应。 服务器可以有两种响应: 响应DHCPACK,同意客户继续使用该IP地址,并可以同时发送一个新的计时器值,客户收到确认后,回到BOUND状态。 响应DHCPNACK,不同意客户继续使用该IP地址,则客户将不能再使用该IP地址,并进入INITIALIZE状态 如果在更新时不能收到服务器的响应,则第二个计时器(重新绑定)达到总租用时间的87.5%时,客户将从RENEW状态进入REBIND状态,此时,客户假定原来的服务器已不可用,重新在本地网广播DHCPREQ
8、UEST消息(其中应包含客户当前使用的IP地址),如果有任何一个服务器响应DHCPACK,则回到BOUND状态,继续使用当前IP地址,重置计时器。否则,返回INITIALIZE状态。 客户端在计数器没有超时的任何时间内可以随时终止租用,为终止一个租用,客户发送一个DHCPRELEASE消息给服务器,之后就不能在发送任何数据了,并返回INITIALIZE状态。,,10,DHCP 操作,,11,DHCP 操作(cont.),,12,第17章 DNS,Domain Name System,域名系统 RFC 1034:Concepts and facilities RFC 1035:Implement
9、ation and specification 域名空间:层次名字空间,标号(Label): 63个字符的字符串,,13,域名(Domain Name),用点(.)分隔开的标号序列(节点 根),根,,14,域(Domain),域名空间中的一个子树,,15,区(Zone),一个域名服务器所负责或授权的范围,,16,域名服务器,存放所授权区的信息 区文件(数据库) 主服务器 存储、创建、维护、更新区文件 从服务器 存储区文件(备份),,17,域名解析,内容 将域名映射为IP地址 将IP地址映射为域名:反向查询 实现 C/S 应用程序 DNS报文:查询报文、响应报文 TCP 53 端口(响应报文长度 512字节) UDP 53 端口(响应报文长度 = 512字节) 方法:递归解析、迭代解析,,18,递归解析,,19,迭代解析,,20,BOOTP/DHCP、DNS,BOOTP/DHCP BOOTP:作用、封装、操作步骤 DHCP:作用、封装、操作步骤 BOOTP与DHCP的关系和区别 DNS 概念:域名空间、域名、域、域名解析、DNS 域名空间的分布:DNS服务器的层次结构 域名解析方法:递归解析、迭代解析 DNS报文:类型、封装,