DHCP协议简述

DHCP协议简述DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCPServer…

大家好,又见面了,我是你们的朋友全栈君。

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(服务端);
    UDP数据包
    网络层:此时主机暂未被分配IP地址,源地址:0.0.0.0,目标地址:255.255.255.255。(IP地址的主机号全为0表示为网络地址(??),主机号全为1表示广播地址);
    IP数据报
    链路层:在链路层将IP数据报封装成MAC帧,源地址:主机MAC地址,目标地址:ff:ff:ff:ff:ff:ff:ff(广播地址)。
    链路层

2、第二步:DHCP服务器发送ICMP广播,询问要分配的IP地址有没有人在使用,然后回送DHCP消息(单播?),告诉你的IP地址。
DHCP回送
如下:DHCP报文内容,包含你的IP地址,子网掩码等信息。
DHCP报文内容

3、第三步:主机发送ARP广播,询问该IP有没有人在使用,然后向服务器发送消息,我要使用该IP地址。
arp报文:
ARP包

4、最后,DHCP服务器回送消息,允许你使用该IP地址。至此,IP分配完毕。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142178.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rsyslogd 重启_Linux系统rsyslogd服务及启动方法[通俗易懂]

    rsyslogd 重启_Linux系统rsyslogd服务及启动方法[通俗易懂]在CentOS6.x中,日志服务已经由rsyslogd取代了原先的rsyslogd。RedHat公司认为rsyslogd已经不能满足工作中的需求,rsyslogd相比rsyslogd具有一些新的特点:基于TCP网络协议传输日志信息。更安全的网络传输方式。有日志信息的即时分析框架。后台数据库。在配置文件中可以写简单的逻辑判断。与syslog配置文件相兼容。rsyslogd日志服务更加先进,功能更…

    2022年8月15日
    5
  • visual studio 2015序列号_怎么激活win7旗舰版

    visual studio 2015序列号_怎么激活win7旗舰版我安装的是VisualStudioTeamSystem2008版本,适用版本90天。用了两个月后,每次打开出现提示:还有30天过期了,29天过期了,28天过期了。。。每次看到这个提示心中总有不爽。于是上网找序列号, 在网上找了好久,好像就一个序列号:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T。 下面是win7的操作1,控制面板\程序\程序和

    2022年8月10日
    9
  • 网站被篡改_网页内容修改

    网站被篡改_网页内容修改   NetCMS的相关新闻显示是根据新闻的Tag来查找所有具有相同的Tag的新闻,然后将其显示的。如,某条新闻的Tag是“工资|奖金”,那么会用下列SQL语句来查找具有相同Tag的新闻:selecttop5*fromahjdcw.NT_NewsWhere[isRecyle]=0And[isLock]=0And[SiteID]=0   And([Tags]L

    2022年9月30日
    0
  • 嵌入式系统开发步骤[通俗易懂]

    嵌入式系统开发步骤

    2022年1月26日
    52
  • css适配不同分辨率屏幕_html5判断分辨率

    css适配不同分辨率屏幕_html5判断分辨率最近出了很多新机,很多人在购买前会详细查看手机参数,其中“分辨率”这一项让不少人一头雾水,究竟手机分辨率是什么?对我们的使用体验有什么影响?是不是分辨率越高越好?教授估计这些问题百思特网让很多对手机了解不多的朋友产生困扰,所以今天就来为大家科普科普~一、什么是手机屏幕分辨率?图像的显示都是由许多像素点排列组成的,手机屏幕分辨率就代表着像素个数,当用手机屏幕中横向的像素点与竖向的像素点相乘的时候,再…

    2022年8月13日
    3
  • mycat实现读写分离_mycat分表规则

    mycat实现读写分离_mycat分表规则主从复制,读写分离,Mycat中间件

    2022年10月13日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号