黄芪

首页 » 常识 » 预防 » DHCP原理及配置浪潮集团官方账号
TUhjnbcbe - 2023/1/17 20:30:00
北京医治痤疮医院 http://baijiahao.baidu.com/s?id=1689206013804347065&wfr=spider&for=pc

DHCP原理

DHCP客户端通过和DHCP服务器的交互通讯以获得IP地址租约。为了从DHCP服务器获得一个IP地址,在标准情况下DHCP客户端和DHCP服务器之间会进行四次通讯。DHCP协议通讯使用端口UDP67(服务器端)和UDP68(客户端)进行通讯,UDP68端口用于客户端请求,UDP67用于服务器响应,并且大部分DHCP协议通讯使用广播进行。

DHCP客户端和DHCP服务器的这四次通讯过程:

1、DHCPDISCOVER

当DHCP客户端处于以下三种情况之一时,触发DHCPDISCOVER广播消息:

1)当TCP/IP协议作为DHCP客户端(自动获取IP地址)进行初始化(DHCP客户端启动、启用网络适配器或者连接到网络时);

2)DHCP客户端请求某个IP地址被DHCP服务器拒绝,通常发生在已获得租约的DHCP客户端连接到不同的网络中;

3)DHCP客户端释放已有租约并请求新的租约。

此时,DHCP客户端发起DHCPDISCOVER广播消息,向所有DHCP服务器获取IP地址租约。此时由于DHCP客户端没有IP地址,因此在数据包中,使用0.0.0.0作为源IP地址,然后广播地址...作为目的地址。在此请求数据包中同样会包含客户端的MAC地址,以便DHCP服务器进行区分。

如果没有DHCP服务器答复DHCP客户端的请求,DHCP客户端在等待1秒后会再次发送DHCPDISCOVER广播消息。除了第一个DHCPDISCOVER广播消息外,DHCP客户端还会发出三个DHCPDISCOVER广播消息,等待时延分别为9秒、13秒和16秒加上一个长度为0~毫秒之间的随机时延。如果仍然无法联系DHCP服务器,则认为自动获取IP地址失败,默认情况下将随机使用APIPA(自动专有IP地址,..0.0/16)中定义的未被其他客户使用的IP地址,子网掩码为..0.0,但是不会配置默认网关和其他TCP/IP选项,因此只能和同子网的使用APIPA地址的客户端进行通讯。

2、DHCPOFFER

所有接收到DHCP客户端发送的DHCPDISCOVER广播消息的DHCP服务器会检查自己的配置,如果具有有效的DHCP作用域和富余的IP地址,则DHCP服务器发起DHCPOFFER广播消息来应答发起DHCPDISCOVER广播的DHCP客户端,此消息包含以下内容:

客户端MAC地址;DHCP服务器提供的客户端IP地址;DHCP服务器的IP地址;DHCP服务器提供的客户端子网掩码;其他作用域选项,例如DNS服务器、网关、WINS服务器等;租约期限等。因此DHCP客户端没有IP地址,所以DHCP服务器同样使用广播进行通讯:源IP地址为DHCP服务器的IP地址,而目的IP地址为...。同时,DHCP服务器为此客户保留它提供的IP地址,从而不会为其他DHCP客户分配此IP地址。如果有多个DHCP服务器给予此DHCP客户端回复DHCPOFFER消息,则DHCP客户端接受它接收到的第一个DHCPOFFER消息中的IP地址。

3、DHCPREQUEST

当DHCP客户端接受DHCP服务器的租约时,它将发起DHCPREQUEST广播消息,告诉所有DHCP服务器自己已经做出选择,接受了某个DHCP服务器的租约。

在此DHCPREQUEST广播消息中包含了DHCP客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等,所有其他的DHCP服务器将收回它们为此DHCP客户端所保留的IP地址租约,以给其他DHCP客户端使用。

此时由于没有得到DHCP服务器最后确认,DHCP客户端仍然不能使用租约中提供的IP地址,所以在数据包中仍然使用0.0.0.0作为源IP地址,广播地址...作为目的地址。

4、DHCPACK

提供的租约被接受的DHCP服务器在接收到DHCP客户端发起的DHCPREQUEST广播消息后,会发送DHCPACK广播消息进行最后的确认,在这个消息中同样包含了租约期限及其他TCP/IP选项信息。

如果DHCP客户端的操作系统为Windows版本,当DHCP客户端接收到DHCPACK广播消息后,会向网络发出三个针对此IP地址的ARP解析请求以执行冲突检测,确认网络上没有其他主机使用DHCP服务器提供的IP地址,从而避免IP地址冲突。如果发现该IP已经被其他主机所使用(有其他主机应答此ARP解析请求),则DHCP客户端则会广播发送(因为它仍然没有有效的IP地址)DHCPDECLINE消息给DHCP服务器拒绝此IP地址租约,然后重新发起DHCPDISCOVER进程。此时,在DHCP服务器管理控制台中,会显示此IP地址为BAD_ADDRESS。

如果没有其他主机使用此IP地址,则DHCP客户端的TCP/IP使用租约中提供的IP地址完成初始化,从而可以和其他网络中的主机进行通讯。至于其他TCP/IP选项,如DNS服务器和WINS服务器等,本地手动配置将覆盖从DHCP服务器获得的值。

5、租约续约

DHCP服务器将IP地址提供给DHCP客户端时,会包含租约的有效期。除了租约期限外,还具有两个时间值T1和T2,其中T1定义为租约期限的一半,而T2定义为租约期限的的7/8。当到达T1定义的时间期限时,DHCP客户端会向提供租约的原始DHCP服务器发起DHCPREQUEST请求对租约进行更新,如果DHCP服务器接受此请求则回复DHCPACK消息,包含更新后的租约期限;如果DHCP服务器不接受DCHP客户端的租约更新请求(例如此IP已经从作用域中去除),则向DHCP客户端位于回复DHCPNACK消息,此时DHCP客户端立即发起DHCPDISCOVER进程以寻求IP地址。如果DHCP客户端没有从DHCP服务器得到任何回复,则继续使用此IP地址直到到达T2定义的时间限制。此时,DHCP客户端再次向提供租约的原始DHCP服务器发起DHCPREQUEST请求对租约进行更新,如果仍然没有得到DHCP服务器的回复则发起DHCPDISCOVER进程以寻求IP地址。

6、DHCP中继(DHCPRELAY)

DHCP租约过程是靠广播发送信息的,这就产生一个问题,如果给多个网段动态分配IP地址如何规划DHCP服务呢?是每个网段都配置1台DHCP服务器(由于网段之间的路由器是隔离广播的)呢,还是有别的办法?下面介绍DHCP服务器借助DHCP中继代理给多个网段动态分配IP地址。

1)DHCP客户机申请IP租约,发送DHCPDISCOVER包。

2)中继代理收到该包,并转发给另一个网段的DHCP服务器。

3)DHCP服务器收到该包,将DHCPOFFER包发送给中继代理。

4)中继代理将地址租约(DHCPOFFER)转发给DHCP客户端。

接下来的过程,DHCPREQUEST包从客户机通过中继代理转发到DHCP服务器,DHCPACK消息从服务器通过中继代理转发到客户机。

注意事项

1、CN、CN、CN、CN(CNPC-V-H除外)不支持DHCPSERVER,但支持DHCPRELAY特性。上述系列设备VPC+HSRP组网开启DHCPRELAY功能时,两台设备都需要配置DHCPRELAY功能。

2、SC、CNPC-V-H、CN、S、S、SE、S、S、S、SL、S、S、S等系列交换机;IR(IR-E20除外)系列路由器DHCPSERVER、DHCPRELAY特性均支持。

3、DHCPRELAY功能建议在最靠近DHCPCLIENT的设备上三层接口上使用,以达到精确定位用户位置的目的。

DHCPSERVER(RELAY)配置方式

1、CN、CN、CN、CN、CN(CNPC-V-H除外)系列DHCPRELAY配置

Switch(config)#featuredhcp

//开启DHCPFEATURE

Switch(config)#ipdhcprelay

//开启DHCP中继功能

Switch(config)#interfacevlan10

Switch(config-if)#ipaddress...1/24

//SVI接口及地址配置

Switch(config-if)#ipdhcprelayaddress..1.

//指向DHCP中继服务器地址

状态查看:

Switch#showipdhcprelay

DHCPrelayserviceisenabled

Insertionofoption82isdisabled

option82suboptioncircuitidcustomizeisdisabled

InsertionofVPNsuboptionsisdisabled

Insertionofciscosuboptionsisdisabled

Helperaddressesareconfiguredonthefollowinginterfaces:

InterfaceRelayAddressVRFName

----------------------------------

Vlan10..1.

备注:

Interface为当前设备开启中继功能的接口。RelayAddress为DHCP中继服务器的地址。

2、SC系列交换机配置方式

①.DHCPSERVER配置:

配置DHCPSERVER的Vlan-interface接口的IP地址。

Switch(config)#dhcpenable

//开启DHCP服务

Switch(config)#interfacevlan

Switch(config-vlan-)#ipaddress..1./24

//SVI接口及地址配置

Switch(config-vlan-)#ipdhcpserver

//接口下启用DHCP服务

配置地址池1:地址池范围、有效期,并配置指定的DNS服务器。

Switch(config)#dhcppool1

//创建DHCP地址池

Switch(config-dhcp-pool-1)#networkrange10.1.1..1.1.mask...0

//配置地址池范围及掩码

Switch(config-dhcp-pool-1)#gateway10.1.1.1

//配置网关

Switch(config-dhcp-pool-1)#lease-time12

//配置地址租期,单位小时

Switch(config-dhcp-pool-1)#dns10.1.1.

//配置DNS地址

状态查看:

Switch#showdhcpbind-entry

//命令可以用来显示设备DHCP用户表项信息。

dhcpbind-entrynumber:0

Vpn-instanceIpAddrMacExpireTime(seconds)TypeHwFlag

备注

当用户成功从设备的DHCP地址池获取到IP地址时,则会自动增加一条用户表项信息。该命令所显示的信息包括:表项数目、IP地址及对应的MAC地址、该用户使用该IP地址的租赁时间、以及该表项的类型等信息。②.DHCPRELAY配置:

配置DHCPRelay的Vlan-interface20接口的IP地址,并配置为RELAY模式

Switch(config)#dhcpenable

//开启DHCP服务

Switch(config)#interfacevlan20

Switch(config-vlan-10)#ipaddress10.1.1.1/24

//SVI接口及地址配置

Switch(config-vlan-10)#ipdhcprelay

//接口下启用DHCPRELAY服务

Switch(config-vlan-10)#dhcprelayserver-ip..1.

//配置DHCPSERVER地址

状态查看:

Switch#showdhcprelay

DHCPserverConfigure!

Vlan20

vpn-instance:11

dhcprelaymode:enable

dhcprelayserver-ip:..1.

dhcpoption82:

dhcpoption82action:

dhcpoption82circuit-id:

dhcpoption82remote-id:

dhcpaddress-check:

备注:

使用本命令可以查看本设备配置的DHCP中继服务器的配置信息,包括:是否使能DHCP中继、实现中继功能的接口、中继转发的DHCPSERVER的IP地址等信息。3、CNPC-V-H、CN、S、S、SE、S等系列配置方式

①.DHCPSERVER配置

Switch(config)#servicedhcpenable

//全局启用DHCP服务

Switch(config)#dhcpserver

//全局启用DHCPSERVER

Switch(config)#dhcppoolpool5

//创建DHCP地址池

Switch(dhcp-config)#network5.5.5.0/24

//配置地址池

Switch(dhcp-config)#gateway5.5.5.1

//配置option:默认网关

Switch(dhcp-config)#exit

//退出DHCP配置模式

Switch(config)#interfaceeth-0-9

//进入接口配置模式

Switch(config-if)#noswitchport

//将接口设置三层接口

Switch(config-if)#noshutdown

//使能接口

Switch(config-if)#ipaddress5.5.5.1/24

//配置IP地址

Switch(config-if)#dhcpserverenable

//启用DHCPSERVER

Switch(config-if)#exit

//退出接口配置模式

状态查看:

Switch#showdhcpserverbindingall

IPaddressClient-ID/HardwareaddressLeaseexpirationType

5.5.5.26e:6e:36:1f:84:00Sat.02.:00:12Dynamic

备注

使用本命令可以查看DHCPSERVER地址分配及接口信息:ip地址、mac地址、租期时间等。

②.DHCPRELAY配置

Switch(config)#servicedhcpenable

//全局启用DHCP服务

Switch(config)#dhcprelay

//全局启用DHCPRELAY

Switch(config)#dhcp-server15.5.5.1

//添加DHCPSERVER组及地址

Switch(config)#interfaceeth-0-17

//进入接口配置模式

Switch(config-if)#noswitchport

//将接口设置成三层口

Switch(config-if)#noshutdown

//使能接口

Switch(config-if)#ipaddress4.4.4.1/24

//配置IP地址

Switch(config-if)#dhcp-server1

//选择DHCPSERVER组

状态查看:

Switch#showdhcprelayinterfaces

ListofDHCPrelayenabledinterface(s):

DHCPrelayservicestatus:enabled

InterfaceNameDHCPservergroup

============================================================

eth-0-

备注

使用本命令可以查看DHCPRELAY功能开启的端口及DHCP中继组号。4、S、S、SL、S系列

①.DHCPSERVER配置

Switch(config)#ipdhcppooldhcp_1

//创建DHCP地址池

Switch(dhcp-config)#network.16.1.0...0

//配置地址池

Switch(dhcp-config)#lease

//配置地址租期:单位为天、小时、分钟

Switch(dhcp-config)#default-router.16.1.

//配置网关

Switch(dhcp-config)#dns-server8.8.8.8

//配置DNS

Switch(config)#ipdhcpexcluded-address.16.1.1.16.1.10

//配置保留地址

状态查看:

Switch#showipdhcpbinding

BindingsfromallpoolsnotassociatedwithVRF:

IPaddressClient-ID/LeaseexpirationTypeStateInterface

Hardwareaddress/

Username

备注

使用本命令可以查看DHCPSERVER地址分配及接口信息:ip地址、mac地址、租期时间等。②.DHCPRELAY配置

Switch(config)#interfacevlan10

Switch(config-vlan-10)#ipaddress10.1.1.1/24

//SVI接口及地址配置

Switch(config-vlan-10)#iphelper-address1.1.1.1

//配置中继指向DHCP服务器

5、S、S系列

①.DHCPSERVER配置

Switch(config)#ipdhcpserverpoolpool

//创建DHCP地址池

Switchconfig-pool)#address.31.1.2.31.1.mask24

//配置DHCP地址池

Switchconfig-pool)#excluded-ip-address.31.1.2

//配置排除分配地址

Switchconfig-pool)#gateway.31.1.

//配置网关

Switch(config-pool)#leaseexpired

//配置租期,单位分钟

Switch(config-pool)#dns-server.31..1

//配置DNS地址

Switch(config-pool)#exit

Switch(config)#interfacevlan10

Switch(config-vlan1)#ipaddress.31.1.1...0

//SVI接口及地址配置

Switch(config-vlan1)#ipdhcpserver

//使能接口dhcp服务

状态查看:

Switch#showipdhcpserverlease

Leasecount:1

IPAddressHardwareAddressLeaseExpirationInterfaceTypePool

--------------------------------------------------------------------------------------------

.31.1...Jan:33:05vlan1dynamicpool10

备注

使用本命令可以查看DHCPSERVER地址分配及接口信息:ip地址、mac地址、租期时间等。S、S清空租期操作:

删除或修改地址池时提示请先释放绑定表时,说明地址池已经分配出去了地址,交换机版本3.50(包括)之前的版本需要做如下操作释放地址池

1
查看完整版本: DHCP原理及配置浪潮集团官方账号