DHCP 原理以及IP获取过程

文章目录

  • DHCP 原理以及IP获取过程
    • 一、概述
      • DHCP 基本定义
      • DHCP 分配方式
      • DHCP 优点
    • 二、DHCP 获取IP的过程
      • 首次连接网络
      • 再次登录

一、概述

DHCP 基本定义

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)。是一个局域网的网络协议,使用UDP协议工作。 DHCP主要有两个用途:

  1. 给内部网络或网络服务供应商自动分配IP地址
  2. 给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

DHCP有3个端口,其中UDP67UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做“双机热备”的。

下面来看一个DHCP DIscover包:

DHCP 分配方式

  • 自动分配方式(Automatic Allocation)
    DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
  • 动态分配方式(Dynamic Allocation)
    DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。

DHCP 优点

  • 减少管理员的工作量
  • 避免输入错误的可能
  • 避免ip地址冲突
  • 当网络更改ip地址段时,不需要再重新配置每一个用户的ip地址
  • 提高了ip地址的利用率
  • 方便客户端的配置

二、DHCP 获取IP的过程

首次连接网络

  1. 第一步寻找DHCP服务器
    当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应。第一阶段为dhcp发现阶段,主要意思即为寻找局域网内的dhcp服务器。

  2. 第二步分配IP地址
    在网络中接收到DHCP discover发现信息的DHCP服务器就会做出响应,它从尚未分配的IP地址池中挑选一个分配给DHCP客户机,并向DHCP客户机发送一个包含分配的IP地址,分配的DHCP offer报文中还包含了一些其他的字段,如dns地址,网关,掩码等

  3. 第三步接受IP地址
    DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息(存在多个DHCP服务器回应的话,先来的优先),然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。

  4. 第四步IP地址分配确认
    当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,确认地址池中的这个地址没有被分配,如果没有被分配便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址。如果被分配了 ,就会回复DHCP-NAK报文,告诉CLient 地址已经被分配了。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的DHCP服务器外,其他的DHCP服务器将收回曾经提供的IP地址。

  5. 获取到IP后广播ARP
    当CLient收到服务器分配的地址后,会向这个广播域内发送一个免费ARP的请求,如果没有人响应这个请求,CLient才正式使用这个地址,如果有人回应的话,会返回一个DHCP-Decline报文,要求服务器重新获取地址。

    广播ARP实现的原理是:当机子重启或者设置了IP地址的时候,这个主机会通过免费ARP来询问这个局域网中是否有相同的IP存在(这个ARP询问的就是自己本身的IP地址,看是否有人回应),如果有人回复这个ARP的请求(因为ARP询问是广播的,所以局域网内所有的主机都可以收到),那么就会得到一个错误的消息“以太网地址 aa:bb:cc:dd:ee:ff发送来重复的IP地址”,通常情况下,是没人回应的,因为没有冲突存在,如果有人回应了这个ARP的请求,那么说明该IP地址已经被使用了,对方回应了这个ARP的响应,它会通过操作系统显示提示出来,说该IP地址存在冲突问题。在现在的DHCP服务器中,已经也引入了这个机制了,它会在分配给客户端这个IP地址之前,会先发送一个Ping,或者ARP等机制来查看该局域网中是否已经有该IP地址存在了,如果有得话,那么DHCP会分配其他IP给请求的客户端,如果没有人回应,那么则把该IP地址让客户端使用,所以很多情况下,看到设备上面,没有做地址排除的时候,而且有些IP地址已经在使用了,但是服务器能够很好的分配不冲突的地址给客户端,不造成地址冲突。

  6. 续租IP
    CLient的IP租期到达一半的时候,DHCP client会单播发送DHCP-Request报文,请求服务器更新租期,服务器收到以后,如果Client可以继续使用该IP地址的话,会响应CLient DHCP-ACK,如果该IP不能继续分配,则响应CLient DHCP-NAK。此时Client会在租期的75%再次询问server 进行续约,如果该IP地址可用则回复ACK,否则回复NAK。

再次登录

  1. 如果客户端重启后,会自动发送DHCPREQUEST广播给DHCP服务器以便请求继续租用原来使用的IP地址,如果服务器收到这个消息,确认客户端可以使用该地址,则回答一个DHCP ACK确认消息,如果此IP地址已经无法再分配,则返回一个DHCP NCK否认信息,客户端收到这个信息以后,则必须重新发送DHCP Discovery消息获取新的地址(启动首次登录的流程)。 若没有得到响应,则尝试与网关通信,如果通信正常,这个租期还没到期的话,则可以继续使用,但是不能和网关通信的话,则会获得169.254.0.1~169.254.255.254之间的IP地址,然后每隔5min尝试更新租约。

  2. 当客户端已经获得了IP地址,发送DHCP INFORM报文来获取其他一些网络配置信息,比如网关、DNS服务器

  3. 当客户端可通过DHCP RELEASE报文主动释放服务器分配给它的地址,当服务器收到此报文后,可将这个IP地址分配给其他客户端。

DHCP 原理以及IP获取过程相关推荐

  1. 计算机网络-DHCP的工作原理,IP地址如何获取

    我们计算机的IP地址如何来的 DHCP的工作原理 DHCP的一些疑惑解答 我们计算机的IP地址如何来的 看了前面交换机.路由器.网络包传输的文章,那么就知道要连上网络,就需要IP地址,那么IP地址是如 ...

  2. DHCP原理及服务器搭建详解(固定IP地址,DHCP中继服务)

    DHCP原理及服务器搭建详解 一.引子: DHCP在网络中的作用非常重要,简单来说就像给每台服务器配身份证的机构,你有合格的身份才能做合格的事情,要不然连火车都坐不了.服务器只有被DHCP服务配置了I ...

  3. DHCP的工作原理 公网IP与私网IP 网络通信的流程与数据包发送 网卡的工作原理 网卡丢包问题

    网络通信的四个要素 本机的IP地址 子网掩码 网关的IP地址 DNS服务器的IP地址 获取以上配置,有两种方式 : 静态获取==>手动配置 动态获取==>dhcp自动获取 DHCP的作用 ...

  4. centeros7网络服务无法启动_Linux网络服务02——DHCP原理与配置

    Linux网络服务02--DHCP原理与配置 一.DHCP服务概述 1.DHCP(Dynamic Host Configuration Protocol)动态主机配置协议 DHCP是由Internet ...

  5. 【鬼网络】之DHCP原理与配置

    序言 DHCP 序言 一.DHCP工作原理 1. 什么是DHCP 2.DHCP的分配方式 3.DHCP的租约过程 二.DHCP服务器的配置 DHCP客户端的使用 DHCP中继原理与配置 1.主配置文件 ...

  6. dhcp 如何每次请求固定地址_无线覆盖:dhcp原理及其实现流程

    一.什么是DHCP? DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client).DH ...

  7. DHCP自动分配IP

    一.了解DHCP服务 1.1 DHCP的由来 DHCP (Dynamic Host,Configuration Protocol,动态主机配置协议)由Internet工作小组设计开发专门用于为 TCP ...

  8. 利用kali进行DOS/DDOS攻击(局域网内)(DHCP原理 ARP原理)

    1.什么是DOS/DDOS攻击? DOS:拒绝服务攻击(Deny Of Service) DDOS:DDOS攻击(Distributed denial of service attack) 一般来说D ...

  9. Linux中DHCP原理与配置

    Linux中DHCP原理与配置 DHCP服务 DHCP服务 使用DHCP的好处 DHCP分配方式 DHCP的IP地址自动获取工作原理 DHCP的租约过程 1.客户端在网络中搜索服务器 2.服务器向客户 ...

最新文章

  1. 低调!中国北斗核心卫星部署完成,开启“全球时代”!超越GPS指日可待
  2. POJ2446 二分匹配
  3. i3、i5、i7有什么区别?
  4. 支付宝APP支付(基于Java实现支付宝APP支付)
  5. SpringCloud工作笔记088---SpringBoot启动报错:启动后的端口是8080但是明明配置文件中是8000_Request execution error_ java.net.Conn
  6. asp.net三层架构制作新闻管理_为什么使用PHP制作网站?
  7. python response重头开始_用 Python 抓取公号文章保存成 PDF
  8. 一文详解3D相机面临的困难问题和解决方案
  9. 用计算机里可以加50度电,一台电脑一天用多少度电 节电节能的建议和措施
  10. Python爬虫网页元素定位术,就在这篇博客中
  11. [bzoj3197][SDOI2013]assassin
  12. AtCoder Beginner Contest 164 E Two Currencies【最短路】
  13. H5 授权微信第三方登录
  14. java实训意义_java实习心得体会
  15. Microsoft KMS Client Setup Keys ( Windows + Office )
  16. 【Linux】创建新用户 sudo配置,添加信任
  17. GIF录制编辑工具(GifCam)
  18. FPGA实现二值神经网络
  19. pytorch-lightning踩坑记录
  20. 基于AT89C52的超声波测距仪

热门文章

  1. 部分安卓手机h5页面出现空白页面
  2. 2022世界杯La‘eeb肖像,python海龟实现啦
  3. 关于机器学习的Weka软件详细教程(转载)
  4. JavaScrip的前世今生!
  5. TikTok运营技巧
  6. 为什么男人四十一朵花
  7. PHP抓取网页指定内容(推荐用CURL效率更高)
  8. Mac Idea 实用快捷键
  9. 计算机英语模拟试题,计算机英语模拟试题2.docx
  10. Spring 控制反转和依赖注入简介