码迷,mamicode.com
首页 > 其他好文 > 详细

DHCP

时间:2019-04-28 09:43:55      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:boot   申请   src   dhcpd   col   cli   automatic   简介   防止   

DHCP简介

动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网或网络服务供应商自动分配IP地址;给用户用于内部网管理员作为对所有计算机作中央管理的手段。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP具有以下功能:

  1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。
  2. DHCP应当可以给用户分配永久固定的IP地址。
  3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。
  4. DHCP服务器应当向现有的BOOTP客户端提供服务。
    DHCP有三种机制分配IP地址:
    1) 自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
    相关图片
    相关图片
    2) 动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
    3) 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。
    三种地址分配方式中,只有动态分配可以重复使用客户端不再需要的地址。
    DHCP消息的格式是基于BOOTP(Bootstrap Protocol)消息格式的,这就要求设备具有BOOTP中继代理的功能,并能够与BOOTP客户端和DHCP服务器实现交互。BOOTP中继代理的功能,使得没有必要在每个物理网络都部署一个DHCP服务器。RFC 951和RFC 1542对BOOTP协议进行了详细描述。
    技术图片
    DHCP报文
    客户端广播DHCP发现(DHCP Discovery)
    服务器回应DHCP响应(DHCP Offer)
    客户端广播DHCP请求(DHCP Request)
    服务器回应DHCP确认(DHCP ACK)
    其实还有其他类型的报文,客户端发现分配的IP地址已经被占用时,发送DHCP Decline,通知服务器IP地址已被占用,要求重新分配。
    客户端可以主动释放IP地址,DHCP Release。
    如果客户端移动到了另一个IP地址不同的网络,并向服务器申请续租时,服务器发现客户端IP地址错误,发送DHCP NAK通知客户端重新申请IP地址。
    技术图片
    DHCP中继
    DHCP中继原理:
    ? ?DHCP客户使用IP广播来寻找同一网段上的DHCP服务器。当服务器和客户段处在不同网段,即被路由器分割开来时,路由器是不会转发这样广播包的。因此可能需要在每个网段上设置一个DHCP服务器,虽然DHCP只消耗很小的一部分资源的,但多个 DHCP服务器,毕竟要带来管理上的不方便。DHCP中继的使用使得一个DHCP服务器同时为多个网段服务成为可能。
    ? ?为了让路由器可以帮助转发广播请求数据包,使用ip help-address命令。通过使用该命令,路由器可以配置为接受广播请求,然后将其以单播方式转发个指定IP地址。缺省情况下ip help-address转发以下8种UDP服务:
    1.Time? ?? ?2.Tacacs? ??3.DNS? ????4.BOOTP/DHCP服务器
  5. BOOTP/DHCP客户? ? 6.TFTP? ?? ???7.NetBios名称服务? ?? ? 8. NetBios数据报服务
    ? ?在DHCP广播情况下,客户在本地网段广播一个 DHCP发现分组。网关获得这个分组,如果配置了帮助地址,就将DHCP分组转发到特定地址。
    1) DHCP客户机申请IP租约,发送DHCPDiscover包。
    2) 中继代理收到该包,并转发给另一个网段的DHCP服务器。
    3) DHCP服务器收到该包,将DHCPOffer包发送给中继代理。
    4) 中继代理将地址租约(DHCPOffer)转发给DHCP客户端。
    接下来的过程,DHCPRequest包从客户机通过中继代理转发到DHCP服务器,DHCPACK消息从服务器通过中继代理转发到客户机。
    技术图片
    DHCP snooping
    DHCP Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,这些信息是指来自不信任区域的DHCP信息。DHCP Snooping绑定表包含不信任区域的用户MAC地址、IP地址、租用期、VLAN-ID 接口等信息。当交换机开启了 DHCP-Snooping后,会对DHCP报文进行侦听,并可以从接收到的DHCP Request或DHCP Ack报文中提取并记录IP地址和MAC地址信息。另外,DHCP-Snooping允许将某个物理端口设置为信任端口或不信任端口。信任端口可以正常接收并转发DHCP Offer报文,而不信任端口会将接收到的DHCP Offer报文丢弃。这样,可以完成交换机对假冒DHCP Server的屏蔽作用,确保客户端从合法的DHCP Server获取IP地址。
    1.dhcp-snooping的主要作用就是隔绝非法的dhcp server,通过配置非信任端口。
    2.与交换机DAI的配合,防止ARP病毒的传播。
    3.建立和维护一张dhcp-snooping的绑定表,这张表一是通过dhcp ack包中的ip和mac地址生成的,二是可以手工指定。这张表是后续DAI(dynamic arp inspect)和IPSource Guard 基础。这两种类似的技术,是通过这张表来判定ip或者mac地址是否合法,来限制用户连接到网络的。
    4.通过建立信任端口和非信任端口,对非法DHCP服务器进行隔离,信任端口正常转发DHCP数据包,非信任端口收到的服务器响应的DHCP offer和DHCPACK后,做丢包处理,不进行转发。
    技术图片

DHCP

标签:boot   申请   src   dhcpd   col   cli   automatic   简介   防止   

原文地址:https://blog.51cto.com/14224418/2385631

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!