首页 > 其他分享 >DHCP协议

DHCP协议

时间:2023-10-13 15:48:28浏览次数:20  
标签:协议 dhcp 地址 服务器 IP地址 DHCP 客户端

DHCP

动态主机配置协议 DHCP(Dynamic Host Configuration Protocol)是用于集中对用户IP地址和其他网络配置信息进行动态管理和配置的协议。

DHCP协议使用UDP协议工作,主要作用是集中的管理、分配IP地址、使设备动态的获得IP地址、网关地址、DNS服务器地址等信息。

由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请。DHCP客户端设备在连接到网络时,会发送一个DHCP请求广播,以寻找可用的DHCP服务器。一旦找到服务器并成功分配IP地址,设备就成为DHCP客户端。

Server 是提供IP地址的一些设备(端口号 67)

Client 是通过DHCP动态获取IP地址的设备(端口号 68)

优点:提高配置IP地址效率,减少配置工作量,减少IP地址冲突,从而实现更加高效的网络管理。


工作原理

eNSP如下场景

DHCP客户端(PC1)首次向DHCP服务端(AR1)获取IP地址的过程:

  1. DHCP客户端为获取地址,以广播的方式通过UDP 67端口发送 DHCP Discover 包来寻找DHCP服务器。

    SPORT 68 
    DPORT 67
    SIP 0.0.0.0 - 表示自己还没有地址
    DIP 255.255.255.255 — 受限广播地址
    SMAC PC1的MAC
    DMAC FF-FF-FF-FF-FF-FF
    
  2. DHCP服务器收到客户端发出的DHCP discover广播后,通过UDP 68端口响应给客户端一个 DHCP offer 包,告诉DHCP客户端,可以提供DHCP服务。

    SPORT 67 
    PORT 68
    SIP 192.168.1.1 
    DIP 192.168.1.254 24 — 想要给客户端下发的地址
    SMAC g0/0/0接口的MAC
    DMAC PC1的MAC
    
  3. DHCP客户端接受到DHCP offer提供信息之后,如果客户机收到网络上多台DHCP服务器的响应,一般是最先到达的那个(这里只有一个),然后以广播的方式回答一个 DHCP request 包,告诉所有DHCP服务器它将接受哪一台服务器提供的IP地址。

    Sport 68 
    Dport 67
    SIP 0.0.0.0 
    DIP 255.255.255.255
    SMAC PC1的MAC
    DMAC FF-FF-FF-FF-FF-FF
    

    由于还没有得到DHCP服务器的最后确认,客户端仍然使用0.0.0.0为源IP地址,255.255.255.255为目标地址进行广播。但包中包含了客户端的MAC地址、被分配的IP地址、提供IP的DHCP服务器地址等。

  4. 当DHCP服务器接收到客户机的DHCP request之后,会广播返回给客户机一个 DHCP ack 包,表明已经接受客户机的选择,告诉DHCP客户端可以使用它提供的IP地址。

    SPORT 67
    PORT 68
    SIP 192.168.1.1
    DIP 192.168.1.254 24
    SMAC g0/0/0接口的MAC
    DMAC PC1的MAC
    

    客户端在接收到 DHCP ack 广播后,会向网络发送三个针对此IP地址的ARP包以执行冲突检测,查询网络上有没有其它机器使用该IP地址。

wireshark抓包可以看到相关的数据包:

初始的DHCP请求是通过广播发送的,以便寻找可用的DHCP服务器。然而,一旦服务器分配了IP地址,后续的通信会以单播的方式进行。


租期

DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。

客户端会在租期过去50%的时候,直接向为其提供IP地址的DHCP服务器发送 DHCP request 包。如果客户端接收到该服务器回应的DHCP ack 包,客户端就根据ack包更新自己的配置,更新IP租用。如果没有收到该服务器的回复,则客户端继续使用现有的IP地址。如果在租期过去50%的时候没有更新,则客户端将在租期过去87.5%的时候再次向为其提供IP地址的DHCP联系。如果还不成功,到租约的100%时候,客户端必须重新申请。

再次获取IP地址的情况:

由于第一次获取地址时,已经向其他的服务端说过我选择某个地址的情况,所以这里直接单播发送。不需要再发送 DHCP discover 包,而是直接发送包含前一次所分配的IP地址的 DHCP request 数据包。当DHCP服务器收到这一信息后,它会让DHCP客户机继续使用原来的IP地址,并回答一个 DHCP ack 确认信息。如果此IP地址已无法再分配给原来的DHCP客户端使用时,则DHCP服务器给DHCP客户端回答一个DHCP nack 否认信息。当原来的DHCP客户端收到此 DHCP nack 否认信息后,它就必须重新发送 DHCP discover 包来请求新的IP地址。


DHCP配置

如上图,路由器当作DHCP服务器,对上图的 192.168.1.0/24 配置DHCP服务。

<Huawei>system-view 
进入系统视图

[Huawei]sysname dhcp
修改设备名称,非必须

[dhcp]interface g0/0/0
[dhcp-GigabitEthernet0/0/0]ip address 192.168.1.1 24
[dhcp-GigabitEthernet0/0/0]quit
配置服务器的ip地址

[dhcp]dhcp enable 
启动DHCP服务

[dhcp]ip pool pool1
创建地址池塘,并且给这个地址池塘起个名称

[dhcp-ip-pool-pool1]network 192.168.1.0 mask 24
宣告可以下发地址的范围

[dhcp-ip-pool-pool1]gateway-list 192.168.1.1
下发网关的IP地址

[dhcp-ip-pool-pool1]dns-list 8.8.8.8 114.114.114.114
下发DNS服务器的地址

[dhcp-ip-pool-pool1]quit
[dhcp]interface g0/0/0
[dhcp-GigabitEthernet0/0/0]dhcp select global
接口激活DHCP全局配置

[dhcp-ip-pool-pool1]quit
[dhcp]display ip pool name pool1
查看地址池塘信息

PC1选中DHCP和自动获取DNS服务器地址,ipconfig — 查看本机网卡地址相关信息

PC>ipconfig

Link local IPv6 address...........: fe80::5689:98ff:fef0:18d8
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 192.168.1.254
Subnet mask.......................: 255.255.255.0
Gateway...........................: 192.168.1.1
Physical address..................: 54-89-98-F0-18-D8
DNS server........................: 8.8.8.8
                                    114.114.114.114

总之,DHCP协议是一种非常有用的网络协议,它简化了网络设备的配置过程,提高了网络管理的效率。通过自动分配IP地址和其他网络配置信息,DHCP为网络中的设备提供了更好的互联互通体验。


若有错误,欢迎指正!o( ̄▽ ̄)ブ

标签:协议,dhcp,地址,服务器,IP地址,DHCP,客户端
From: https://www.cnblogs.com/smileleooo/p/17762250.html

相关文章

  • 密码协议学习笔记总目录
    参考教材:密码协议基础第二版-邱卫东等自制扫描版下载地址:密码协议基础-邱卫东-扫描.pdf-蓝奏云(lanzoum.com)(如果网页链接打不开,可能是网络运营商劫持了蓝奏云的域名,可自行搜索教程,用备用域名或更改host等方式访问)第一章:引论密码协议学习笔记(1):密码协议引论与密......
  • 关于网络协议的若干问题(三)
    1、当发送的报文出问题的时候,会发送一个ICMP的差错报文来报告错误,但是如果ICMP的差错报文也出问题了呢?答:不会导致产生ICMP差错报文的有:ICMP差错报文(ICMP查询报文可能会产生ICMP差错报文);目的地址是广播地址或多播地址的IP数据报;作为链路层广播的数据报;不是IP分片的第......
  • QUIC协议对于传输可靠性的保障机制
    今天在看frp的文档时看到文档中提到QUIC协议,其底层采用UDP传输,具有传输效率高,连接延迟低的优点。出于对它的好奇,所以找了一些对这个协议的详解博客文章来了解它的通信机制。具体可见:QUIC协议详解-知乎(zhihu.com)其他暂且不提,由于本人半吊子水平,看到以上提到的那篇博客......
  • 太厉害了,终于有人能把TCP/IP协议讲的明明白白了
    一图看完本文1、计算机网络体系结构分层计算机网络体系结构分层计算机网络体系结构分层不难看出,TCP/IP与OSI在分层模块上稍有区别。OSI参考模型注重“通信协议必要的功能是什么”,而TCP/IP则更强调“在计算机上实现协议应该开发哪种程序”。2、TCP/IP基础1.TCP/IP的具体含......
  • dhcp服务器迁移---从windows server 2003到windows server 2012
    近期,工作中接触到dhcp服务器的迁移。搜索了网上的一些解决方案,很详细。以下主要是碰到的一些问题以及解决方案。由于2003的版本太老,导出来的配置文件为古老的mdb格式,而导入到2012中的格式需要为txt。 在2003中,尝试用命令(网上可找到)导出来txt格式,但是公司那台服务器实现不了......
  • 关于网络协议的若干问题(二)
    1、网络号、IP地址、子网掩码和广播地址的先后关系是什么?答:当在一个数据中心或者一个办公室规划一个网络的时候,首先是网络管理员规划网段,一般是根据将来要容纳的机器数量来规划,一旦定了,以后就不好变了。假如你在一个小公司里,总共就没几台机器,对于私有地址,一般选择192.168.0.0/24......
  • 【leach协议】基于粒子群算法改进能量均衡高效WSN的LEACH协议附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • DHCP欺骗劫持与防御策略
    DHCP欺骗劫持与防御策略一、任务目的掌握DHCP的欺骗原理与DHCP监听配置二、任务设备、设施enspwin10VMwaretyporawin7三、任务拓扑结构图四、基本配置1.接口IP与默认路由配置(在这里同样可以使用ospf,加上反掩码效果一样)R1system-view[Huawei]sysnameR1[R1]inter......
  • Apipost一大波新功能来袭!连接数据库、TCP协议、MySQL DDL数据导入
    本次Apipost带来数据库功能、TCP协议调试等重量级功能,感兴趣的话大家升级试试吧~数据库配置Apipost提供了数据库连接功能,以便开发者可以在接口调试中可以使用数据库获取入参或进行断言校验目前7.2.2的Apipost支持Mysql、SQLSever、Oracle、Clickhouse、达梦数据库、PostgreSQL、Re......
  • 开源技术中的五大开源协议
    开源技术是开发者英明的决策。在开源界之中有五大基本的开源协议,这五大开源许可协议即GNUGPL,GNULGPL,BSD,MIT,Apache。另外,还有非代码领域的CreativeCommons通用授权模式。开源技术被越来越多的人认可,也有不少人认为在未来的开发技术中开源是一个必行的趋......