DHCP动态主机配置协议

技术背景:

手动配置IP地址过于繁琐,且当局域网内的主机数量增加,手动配置可能会导致IP地址重复配置。所以DHCP服务器可以为局域网中的主机自动配置IP地址

相关概念:

从BOOTP协议发展而来

UDP封装

客户端68端口,服务器67端口:使用固定的端口,看数据发送的方向

C->S 67->68 :客户端的67端口访问服务器的68端口

S->C 68->67:服务端的68端口访问服务器的67端口

在抓包软件中中要搜索bootp才可以看到DHCP

DHCP的系统组成角色:

客户端

服务器

中继器

(为什么需要中继,因为DHCP是广播发送的,只有在广播域中才可以传输

客户端和服务器不在一个广播域,那么就需要中继器)

DHCP的报文类型:

报文发送方式:广播发送,单播发,广播发送,单播发送,广播发送

拓展报文类型:

DHCP Decline:当客户端发现服务器分配给它的IP地址发生冲突时会通过发送此报文来通知服务器,并且会重新向服务器申请地址。

DHCP Inform:客户端已经获得了IP地址,发送此报文的目的是为了从服务器获得其他的一些网络配置信息,比如网关地址、DNS服务器地址等。

 地址池:

接口地址池为连接到同一网段的主机或终端分配IP地址。可以在服务器的接口下执行dhcp select interface命令,配置DHCP服务器采用接口地址池的DHCP服务器模式为客户端分配IP地址。

全局地址池为所有连接到DHCP服务器的终端分配IP地址。可以在服务器的接口下执行dhcp select global命令,配置DHCP服务器采用全局地址池的DHCP服务器模式为客户端分配IP地址。

接口地址池优先级大于全局地址池

DHCP交互过程:

收到的DHCP服务器的回应,先到先得(DHCP域中可能不止一个DHCP服务器)

DHCP租期更新:

IP租期达到50%的时候,DHCP客户端就会像DHCP服务器重新请求IP地址租约

DHCP重绑定:

IP地址租约时间到87.5%的时候,DHCP客户端还没有收到服务器响应,会申请重新绑定IP

IP地址释放:

如果IP租约到期还没有收到服务器的响应,客户端会停止使用该IP地址

如果DHCP客户端不再想使用分配的IP地址,也可以主动发送DHCP Release主动释放该地址

细节问题:

DHCP的交互过程中客户端发送DHCP Discover之后,服务器回复DHCP offer,但是此时客户端主机并没有分配到IP地址,所以在第二次发送的时候源地址和目的地址还是0.0.0.0 /255.255.255.255

DHCP碰到的问题:

1.路由器和交换机连接的时候:一个可以在接口上直接配置IP地址,一个是可以指定端口类别

(1)可以在交换机连接路由器的接口上配成vlan1,

(2)配成access接口,并且指定vlan

2.中继的时候要注意一个事情,DHCP服务器要有到DHCP客户段的路由,(access接口发送数据是不带vlan标签)

下图是根据vlanif接口去配置的分别再SW2上配置了vlanif10和vlanif20的网关地址

dis ip pool interface vlanif10 all(这里是基于接口地址,所以用的是三层虚拟接口地址)

对应的广播域下面的对应接口才可以收到DHCP服务器发送的报文

DHCP问答题:

DHCP报文我们都知道有5种报文,能否具体描述一下DHCP服务器什么时候发送DHCP ACK,什么时候发送DHCP NAK?你能否举出1-2个场景来描述DHCP NAK报文?

DHCP的报文类型

DHCP报文分为8种类型,DHCP服务器和客户端之间通过这8种类型的报文进行通信。

(1)DHCP DISCOVER:这是DHCP客户端首次登录网络时进行DHCP过程的第一个报文,用来寻找DHCP服务器。

(2)DHCP OFFER:DHCP服务器用来响应DHCPDISCOVER报文,此报文携带了各种配置信息。

(3)DHCP REQUEST:此报文用于以下三种用途。

①客户端初始化后,发送广播的DHCPREQUEST报文来回应服务器的DHCPOFFER报文。

②客户端重启初始化后,发送广播的DHCPREQUEST报文来确认先前被分配的IP地址等配置信息。

③当客户端已经和某个IP地址绑定后,发送单播的DHCPREQUEST报文来延长IP地址的租期。

(4)DHCPACK:服务器对客户端的DHCPREQUEST报文的确认响应报文,客户端收到此报文后,才真正获得了IP地址和相关的配置信息。

(5)DHCPNAK:服务器对客户端的DHCP REQUEST报文的拒绝响应报文,比如服务器对客户端分配的IP地址已超过使用租借期限或者客户端移到了另一个新的网络。

(6)DHCP Release:客户端可通过发送此报文主动释放服务器分配给它的IP地址,当服务器收到此报文后,可将这个IP地址分配给其它的客户端。

(7)DHCP Decline:当客户端发现服务器分配给它的IP地址发生冲突时会通过发送此报文来通知服务器,并且会重新向服务器申请地址。

(8)DHCP Inform:客户端已经获得了IP地址,发送此报文的目的是为了从服务器获得其他的一些网络配置信息,比如网关地址、DNS服务器地址等。

以上8种类型报文的格式相同,只是某些字段的取值不同。DHCP报文格式基于BOOTP报文格式。

DHCP Sever 主动发送的DHCP OFFER,ACK和NAK报文,里面主要包含什么信息和参数,是广播还是单播发送?为什么这样设计?(也就是问广播和单播你觉得那种好?好在哪里?为什么这样设计?华为是怎么设计的?)举出一个场景来阐述DHCP OFFER,ACK和NAK设计成广播和单播有什么差异?

DHCP OFFER报文和DHCP ACK报文里面包含的内容除了DHCP消息类型不同外,其他的内容相同。包含为客服端分配的IP地址、客户端的MAC地址、消息类型、服务器ID、子网掩码、租期、域名、网关、DNS服务器等内容。以单播方式发送。OFFER消息和ACK消息是发送给客户端的,提供以及确认为客户端分配的IP地址。此时服务器可以认为客户端的IP地址为自己分配给客户的IP地址,二层封装为单播。

DHCP NAK报文里面包含DHCP消息类型的DHCP NAK;客户端的MAC地址等内容。以广播发送。NAK消息是发送给客户端的,拒绝客户端请求的IP地址。此时服务器不知道客户端的IP地址,用255.255.255.255代替,二层封装为广播地址。

DHCP OFFER报文和DHCP ACK报文是发送给客户端的,如果设计成广播,会让同一个广播域不需要收到该报文的设备处理这些报文。

DHCP NAK报文是发给客户端的,但是是拒绝客户端请求的IP地址。如果此时设计成单播,在IP封装的目的IP地址写哪个IP地址都不合适。

posted on 2020-10-28 21:22  求知的王某某  阅读(574)  评论(0编辑  收藏  举报