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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 内存屏障 – MemoryBarrier[通俗易懂]

    内存屏障 – MemoryBarrier[通俗易懂]处理器的乱序和并发执行目前的高级处理器,为了提高内部逻辑元件的利用率以提高运行速度,通常会采用多指令发射、乱序执行等各种措施。现在普遍使用的一些超标量处理器通常能够在一个指令周期内并发执行多条指令。处理器从L1I-Cache预取了一批指令后,就会分析找出那些互相没有关联可以并发执行的指令,然后送到几个独立的执行单元进行并发执行。比如下面这样的代码(假定编译器不做优化):  z

    2022年7月12日
    22
  • Ubuntu 20.04 LTS上安装Edge浏览器

    Ubuntu 20.04 LTS上安装Edge浏览器文章目录Ubuntu20.04LTS上安装Edge浏览器Ubuntu20.04LTS上安装Edge浏览器本文部分内容转载自:HowtoInstallMicrosoftEdgeBrowseronUbuntu20.04|Linuxize,亲自安装测试并验证。Edge浏览器在各主要OS上均有正式版本发布,但是在Ubuntu上没有一个正式发布的版本。在Ubuntu上打开DownloadMicrosoftEdgeBrowser|Microsoft网页上看到不支持Ubuntu系

    2022年7月21日
    28
  • 俞敏洪与新东方_新东方俞敏洪现状

    俞敏洪与新东方_新东方俞敏洪现状俞敏洪与新东方“江阴模式”助俞敏洪考上北大  俞敏洪,1962年出生于江苏省江阴。  俞敏洪出生在一个普通的农村家庭里,父亲是一名木匠,母亲则是当地生产队的妇女队长,她有与这一职位对应果敢的作风。俞敏洪还有一个姐姐,是一名赤脚医生。作为一个农家孩子,俞敏洪回忆:我从小就在农田里干活,插秧、割稻、撒猪粪,样样都干……  母亲希望他的人生能有某种意义上的改变,希望…

    2025年11月6日
    4
  • 详述ViewState用法

    详述ViewState用法与刚接触ASP.NET页面的开发人员交谈时,他们通常向我提出的第一个问题就是:“那个ViewState到底是什么?”他们的语气中流露出的那种感觉,就象我来到一家异国情调的餐馆,侍者端上一道我从未见过的菜肴时的那种感觉-既疑惑不解,又充满好奇。但肯定有人认为它不错,否则就不会提供了。所以,我会先尝一尝,或许会喜欢上它,尽管它看上去的确很古怪!对于ViewState也是如此,但是如果适应了它的风格,…

    2022年7月21日
    10
  • phpspreadsheet 读取 Excel 表格问题

    phpspreadsheet 读取 Excel 表格问题要读取大量数据,需要ReadFilter,指定读取范围,下面是我的ReadFilter类<?phpnamespacecommon\models;classMyExcelReadFilterimplements\PhpOffice\PhpSpreadsheet\Reader\IReadFilter{private$startRowNo;//如1private$endRowNo;//如1000private$

    2025年12月12日
    4
  • Win10 锁屏图片路径/Win10 锁屏壁纸提取

    Win10 锁屏图片路径/Win10 锁屏壁纸提取

    2022年3月13日
    57

发表回复

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

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