DHCP协议

目录

协议背景

协议概述

DHCP协议特性

数据包结构

数据包类型

工作原理

抓包分析

DHCP的实例

DHCP中继

DHCP Snooping


协议背景

减少错误

通过配置DHCP,把手工配置IP地址所导致的错误减少到最低程度,例如已分配的IP地址再次分配给另一设备所造成的地址冲突等将大大减少。

减少网络管理

  1. TCP/IP配置是集中化和自动完成的,不需要网络管理员手工配置。网络管理员能集中定义全局和特定子网的TCP/IP配置信息。
  2. 使用DHCP选项可以自动给客户机分配全部范围的附加TCP/IP配置值。客户机配置的地址变化必须经常更新,比如远程访问客户机经常到处移动,这样便于它在新的地点重新启动时,高效而又自动地进行配置。
  3. 同时大部分路由器能转发DHCP配置请求,这就减少了在每个子网设置DHCP服务器的必要,除非有其它原因要这样做。

协议概述

DHCP,全称Dynamic Host Configuration Protocol,中文名称动态主机配置协议。DHCPBootstrap协议的一种扩展,基于UDP协议,客户端的端口号是68,服务端的端口号是67

Application layer

DHCP

Transport layer

UDP

Network layer

IP

Data-link layer

No limited

Physical layer

No limited

DHCP协议特性

  1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用
  2. DHCP应当可以给用户分配永久固定的IP地址
  3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)
  4. DHCP服务器应当向现有的DHCP客户端提供服务

数据包结构

DHCP协议_第1张图片

常用的options

1 netmask

3  router

6  DNS

12 host name

51 ip address lease time

53 message type dhcp报文8种类型,下一页介绍)

54 server identification

55 parameter request list (需要服务器给你提供哪些东西:ip地址,域名,网关)

61 client identification

82 relay agent

255 end

数据包类型

DHCP的8种报文

报文类型

含义

DHCP DISCOVER

客户端用来寻找DHCP服务器。

DHCP OFFER

DHCP服务器用来响应DHCP DISCOVER报文,此报文携带了各种配置信息。

DHCP REQUEST

客户端请求配置确认,或者续借租期。

DHCP ACK

服务器对REQUEST报文的确认响应。

DHCP NAK

服务器对REQUEST报文的拒绝响应。(广播)

DHCP RELEASE

客户端要释放地址时用来通知服务器。(单播)

DHCP DECLINE

PC收到DHCP服务器的地址后,发送分配地址免费ARP,如果有回应,会发送DHCP DECLINE报文

DHCP INFORM

PC单独请求域名、DNS这些参数的时候

工作原理

DHCP协议_第2张图片

1.用户以广播的形式发送discover请求,数据包的源IP为0.0.0.0,目标IP为255.255.255.255,源MAC为自己的MAC,目标MAC为全F,寻找能够提供服务的服务器。一般主机收到这个包会直接丢掉。

2.当服务器收到这个discover包之后会单播进行回复一个Offer包给予Client端应答,意在告诉Client端它可以提供IP地址。但在给出此地址前,应当用ICMP ECHO REQUEST报文进行检查,检查是否有其他机器配置此IP地址。

3.Client只能处理其中的一个DHCP Offer报文,一般的原则是Client处理最先收到的DHCP Offer报文。 Client会发出一个广播的DHCP Request报文,在选项字段中会加入选中的DHCP Server的IP地址和需要的IP地址。此时数据包的源IP和目的IP依然是0.0.0.0和255. 255.255.255。如果客户机之前曾经获得过一个IP地址,它会将此地址写在DHCP Request报文的Options域的“REQUESTD IP ADDRESS”中发给服务器。

4.当Server收到请求后,DHCP Server就会向Client响应一个DHCP Ack报文,并在选项字段中增加IP地址的使用租期信息。至此IP分配完成。当收到DHCP Request报文后,如果发现其申请的地址无法被分配,则用DHCP Nak报文回应。客户机收到DHCP Ack报文后,再对所有的参数进行一次最后的检查,如果发现由地址冲突存在,则使用DHCP Decline报文回复服务器。如果客户机放弃现在使用的IP地址,则她使用DHCPRELEASE报文通知服务器,服务器将此地址回收以备下次使用。

抓包分析

DHCP协议_第3张图片

DHCP协议_第4张图片

DHCP协议_第5张图片

DHCP协议_第6张图片

DHCP的实例

DHCP中继

考虑到成本,无需每个子网都配备一台DHCP服务器,所以DHCP协议应当可以通过路由器或者BOOTP代理透传(DHCP中继)。

由于DHCP请求报文采用广播方式发送报文,因此当DHCP客户端和DHCP服务器处于不同子网时,必须要通过DHCP中继进行通信,最终获取到IP地址。多个网络上的DHCP客户端可以使用同一个DHCP服务器,既节省了成本,又便于进行集中管理。

DHCP协议_第7张图片

 

DHCP Snooping

DHCP Snooping是 DHCP 的一种安全特性,主要应用在交换机上,作用是屏蔽接入网络中的非法的 DHCP 服务器。即开启 DHCP Snooping 功能后,网络中的客户端只有从管理员指定的 DHCP 服务器获取 IP 地址。DHCP在设计上未从分考虑安全因素,从而留下了许多安全漏洞,使得DHCP很容易受到攻击。实际网络中,针对DHCP的攻击行为主要有以下三种:

DHCP饿死攻击

攻击原理:攻击者持续大量的向DHCP Server申请地址,直到耗尽DHCP Server地址池中的IP地址,导致DHCP Server不能给正常的用户进行分配。

解决方法:通过校验CHADDRMAC值。

DHCP协议_第8张图片

 

仿冒DHCP Server攻击

攻击原理:攻击者仿冒DHCP Server,向客户端分配错误的IP地址及提供错误的网关地址等,导致客户端无法正常访问网络。

解决办法:通过配置trustuntrust口区分转发。

DHCP协议_第9张图片

DHCP中间人攻击

攻击原理:攻击者利用ARP机制,让PC-A学习到IP-SMAC-B的映射关系,又让Server学习到IP-AMAC-B的映射关系。如此一来,PC-AServer之间交付的IP报文都会经过攻击者中转。

解决办法:开启ARP检测。

DHCP协议_第10张图片

你可能感兴趣的:(计算机基础)