DHCP基本概念-七舶

DHCP简介
DHCP是一种帮助计算机从指定的DHCP服务器获取它们的配置信息的自举协议。DHCP使用客户端/服务器模式,请求配置信息的计算机叫做DHCP客户端,而提供信息的叫做DHCP的服务器。
DHCP为客户端分配地址的方法有三种:手工配置、自动配置、动态配置。
DHCP最重要的功能就是动态分配。除了IP地址,DHCP分组还为客户端提供其他的配置信息,比如子网掩码。这使得客户端无需用户动手就能自动配置连接网络


DHCP工作流程
1.提供阶段
DHCP服务器提供地址的阶段。在网络中接收到DHCP discover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租IP地址和其他设置的DHCP offer提供信息。
2.选择阶段
DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来DHCP oferr提供信息,则DHCP客户机只接受第一个收到的DHCP ofeer提供信息,然后它就以广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有DHCP服务器,他将选择哪一台DHCP服务器所提供的的地址。
DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来DHCP oferr提供信息,则DHCP客户机只接受第一个收到的DHCP ofeer提供信息,然后它就以广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有DHCP服务器,他将选择哪一台DHCP服务器所提供的的地址。
3.确认阶段
DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCP request请求信息之后,它便向DHCP客户机发送一个包含它所提供的的IP地址和其他设置的DHCP ACK确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址。
4.重新登陆
以后DHCP客户机每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送一个包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ACK确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(例如此IP地址已分配给其他DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCP NACK否认信息。当原来的DHCP客户机收到此DHCP NACK否认信息后,他就必须重新发送DHCP discver发现信息来请求新的IP地址。
5.更新租约
DHCP 服务器向DHCP客户机出租的IP地址一般都有一个租赁期限,期满以后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP地址租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。



DHCP报文

OP:若是client(客户机)送给server的封包,设为1,反向为2;
Htype:硬件类别,ethernet(以太网)为1 ;
Hlen:硬件长度,ethernet为6;
Hops:若数据包需经过router传送,每站加1,若在同一网内,为0;
Transaction:由用户指定时间,指开始地址获取和更新进行后的时间;
Flags:从0-15bits,最左一bit为1时表示server将以广播方式传递封包给client,其余尚未使用;
Ciaddr:用户IP地址;
Yiaddr:客户IP地址;
Siaddr:用于bootstrap过程中的IP地址;Giaddr:转发代理(网关)IP地址;
Chaddr:client的硬件地址;
File:启动文件名;
Options:厂商标识,可选参数字段;

DHCP基本概念


DHCP中继

DHCP中继的使用使得一个DHCP服务器同时为多个网段服务成为可能。
为了让路由器可以帮助转发广播请求数据包,使用ip help-address命令。通过使用该命令,路由器可以配置为接受广播请求,然后将其以单播方式转发指定IP地址。

缺省情况下ip help-address转发以下8中UDP服务:
DHCP基本概念
DHCP客户使用IP广播来寻找同一网段上的DHCP服务器。当服务器和客户端处在不同网段,即被路由器分割开来时,路由器是不会转发这样广播包的。因此可能需要在每一个网段上设置一个DHCP服务器,虽然DHCP只消耗很小的一部分资源,但多个DHCP服务器,毕竟要带来管理上的不方便。


DHCP Snooping
DHCP Snooping(DHCP监听)是一种DHCP安全特性。Cisco交换机支持在每个VLAN基础上启用DHCP监听特性。通过这种特性,交换机能够拦截第二层VLAN域内的所有DHCP报文。
DHCP监听将交换机端口划分为两类(非信任端口&信任端口)
非信任端口:通常为链接终端设备的端口,如PC,网络打印机等非信任端口只允许客户端的DHCP请求报文通过,只是相对于DHCP报文来说。其他非DHCP报文还是可以正常转发。这就表示客户端可以静态指定IP地址的方式通过非信任端口接入网络。由于静态客户端不会发送DHCP报文,所以DHCP监听绑定表里也不会有该静态客户端的记录。
信任端口:连接合法DHCP服务器的端口或者连接汇聚交换机的上行端口。信任端口的客户端信息不会被记录到DHCP监听绑定表里。如果有一客户端连接到了一个信任端口,即使它是通过正常的DHCP方式获得IP地址,DHCP监听绑定表里也没有该客户端的记录。如果要求客户端只能以动态获得IP的方式接入网络 ,则必须借助于IPSG和DAI技术。
信任端口可以接受所有的DHCP报文。通过只将交换机连接到合法DHCP服务器的端口设置为信任端口,其他端口设置为非信任端口,就可以防止用户伪造DHCP服务器来***网络。DHCP监听特性还可以对端口的DHCP报文进行限速。通过在每个非信任端口下进行限速,将可以阻止合法DHCP请求报文的广播***。
DHCP监听还有一个非常重要的作用就是建立一张DHCP监听绑定表(DHCP Snooping binding)。
一旦一个连接在非信任端口的客户获得一个合法的DHCP Offer,交换机就会自动在DHCP监听绑定表里添加一个绑定条目,内容包括了该非信任端口的客户端IP地址、MAC地址、端口号、VLAN编号、租期等信息。
交换机为了获得高速转发,通常只检查报头的二层帧头。获得目标MAC地址后直接转发,不会去检查报文的内容。而DHCP监听本质上就是开启交换机对DHCP报文的内容的部分检查,DHCP报文不再只是被检查帧头了。
DHCP监听绑定表中的条目可以手工添加。
DHCP监听绑定表在设备重启后悔丢失,需要重新绑定,但可以通过设置将绑定表保存在flash或者tftp/ftp服务器上,待设备重启后直接读取,而不需要客户端再次进行绑定。