DHCP协议简述
大家好,又见面了,我是你们的朋友全栈君。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做“双机热备”的。 –以上内容来自百度百科
- dhcp主要用于通过DHCP服务器(一般是路由器)给局域网中的主机分配IP地址。其过程是: 1、主机首次接入局域网链路时(此时主机还没有IP地址)发一个DHCP协议的广播消息,要求DHCP服务器分配IP地址; 2、DHCP服务器收到广播消息后,取出一个IP地址并通过ICMP确认该地址暂未被使用后,通知主机使用改地址; 3、主机在使用IP地址前,先发一个ARP协议的广播消息,在确认该地址未被使用后向DHCP服务器发送消息说明我要使用改地址; 4、DHCP服务器向主机发送消息–允许你使用该地址。
- 下面通过抓包简要分析一下该过程: 1、主机首次发广播消息,源地址为:0.0.0.0,广播地址为:255.255.255.255;
传输层:将DHCP包通过UDP发送,源端口68(客户端),目标端口67(服务端);
网络层:此时主机暂未被分配IP地址,源地址:0.0.0.0,目标地址:255.255.255.255。(IP地址的主机号全为0表示为网络地址(??),主机号全为1表示广播地址);
链路层:在链路层将IP数据报封装成MAC帧,源地址:主机MAC地址,目标地址:ff:ff:ff:ff:ff:ff:ff(广播地址)。
2、第二步:DHCP服务器发送ICMP广播,询问要分配的IP地址有没有人在使用,然后回送DHCP消息(单播?),告诉你的IP地址。
如下:DHCP报文内容,包含你的IP地址,子网掩码等信息。
3、第三步:主机发送ARP广播,询问该IP有没有人在使用,然后向服务器发送消息,我要使用该IP地址。 arp报文:
4、最后,DHCP服务器回送消息,允许你使用该IP地址。至此,IP分配完毕。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142178.html原文链接:https://javaforall.cn
相关文章
- SSL协议体系结构[通俗易懂]
- 服务器安装配置lldp协议
- 简述开源协议(Open Source License)
- JMeter 扩展插件实现对自定义协议的支持
- SSL协议的基本原理
- USB PD快充协议_pd快充协议文件
- 影片自由,丝滑流畅,Docker容器基于WebDav协议通过Alist挂载(百度网盘/阿里云盘)Python3.10接入
- 海康设备搜索器搜索协议解析
- 【Eolink Apikit】API 接口主流协议解析
- MySQL8.0连接协议及3306、33060、33062端口的作用解析
- 使用DHCP协议获取IP地址
- Git 2.26 发布:传输协议 V2 成默认协议
- web教程-http协议入门
- 深入理解Linux ARP协议工作原理(linuxarp)
- Linux下使用UDP协议实现聊天功能(udplinux聊天)
- Linux下的电骡,eMule是一个开源免费的P2P文件共享软件,基于eDonkey2000的eDonkey网络,遵循GNU通用公共许可证协议发布
- Oracle中协议的重要性及应用(l协议oracle)
- 借助Oracle轻松搭建动态主机配置协议DHCP(oracle dhcp)
- Liquidity.Network加入雷电网络:助力实现以太坊扩容优化交易协议