网络协议:DHCP协议工作原理,DHCP分配方式,DHCP租约,Wireshark抓包分析DHCP报文

本文主要是介绍网络协议:DHCP协议工作原理,DHCP分配方式,DHCP租约,Wireshark抓包分析DHCP报文,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》

DHCP协议

  • 一、简介
  • 二、分配方式
    • 1)自动分配
    • 2)手工分配
    • 3)动态分配
  • 三、工作原理
  • 四、抓包分析
  • 五、租约

计算机想要 「通信」必须要有一个IP地址,IP协议只是提供了IP,想要使用IP,你得自己配,而DHCP就是用来分配IP的协议。

一、简介

DHCP(Dynamic Host Configuration Protocol)也叫动态主机配置协议,负责「管理」「分配」IP。

DHCP使用UDP传输数据,客户端发送请求到DHCP服务器的67端口,服务器返回响应给客户端的68端口。

DHCP协议使用C/S架构,分为两个部分:

  • DHCP Server(服务器):安装了DHCP协议的服务器;控制一段IP地址范围,处理客户端的DHCP请求。
  • DHCP Client(客户端):PC等终端设备;使用DHCP服务器分配的IP地址、默认网关、DNS服务器地址等配置信息。
  • DHCP Relay(中继):非必选!跨网段时(路由器默认不转发广播),作为中间人负责转发服务器和客户端间的DHCP报文。

二、分配方式

管理员可以配置DHCP分配IP地址的方式:

1)自动分配

​ DHCP服务器为第一次连接的客户端分配一个「永久」性的IP地址,客户端多次连接时,IP地址不会变化。

2)手工分配

​ 管理员提前在DHCP服务器配置好客户端的IP地址,类似静态配置。

3)动态分配

​ DHCP服务器给客户端分配一个受租约限制的IP,租约到期后可以被其他客户端使用。

三、工作原理

常见的DHCP工作过程分为四步:

  1. DHCP Discover :客户端广播发现报文。
  2. DHCP Offer :服务器返回响应报文,携带IP地址。
  3. DHCP Request :客户端广播请求报文,希望使用这个IP地址。
  4. DHCP ACK :服务端响应确认报文,客户端开始使用IP。

在这里插入图片描述
1)需要IP的客户端,广播一条发现报文( DHCP Discover )。

2)所有DHCP服务器都会收到发现报文,并向客户端发送一个响应报文( DHCP Offer ),响应报文中携带服务器自己的IP和可以分配给客户端的IP;

3)客户端收到第一个响应后,会广播一个请求报文( DHCP Request ),并将响应报文中的服务器IP和可以分配的IP放到报文里。

4)所有DHCP服务器都会收到请求报文,并判断报文里的服务器IP是不是自己:

  • ​ 如果不是自己,就收回刚才分配的IP;
  • ​ 如果是自己,就向客户端发送一个确认响应报文( DHCP ACK ),并在报文里提供IP地址的租期。

5)客户端收到响应报文后,检查分配的IP是否可用:

  • 如果可用,就使用IP;
  • ​如果不可用,比如IP已经被别人使用,就向DHCP服务器发送拒绝报文,通知服务器禁用这个IP,让后重新申请IP(回到第一步)。

6)客户端可以随时发送释放报文( DHCP Release),释放IP地址,服务器收到释放报文后,会回收IP地址并重新分配。

其他涉及的报文类型:

  • DHCP Decline:客户端发现IP地址无法使用时,就发送拒绝报文,通知服务器禁用这个IP。
  • DHCP NAK:服务器对客户端 DHCP Request 响应的拒绝报文,客户端收到后重新 DHCP Discover。
  • DHCP Inform:客户端获取IP地址后,向服务器获取DNS等配置信息。

四、抓包分析

重启网卡,抓取DHCP协议的数据包:

在这里插入图片描述

  1. 第一个包是 DHCP Release,这是关闭网卡时,客户端发送的释放IP的数据包:“这个IP我用完了,你回收吧”
  2. 第二个包是 DHCP Discover ,客户端广播的发现报文:“谁是DHCP服务器,我需要IP地址!”
  3. 第三个包是 DHCP Offer ,DHCP服务器们返回的响应报文:“我有IP地址!”,“我也有IP地址”,“……”
  4. 第四个包是 DHCP Request ,客户端广播的请求报文:“我要使用这个DHCP服务器提供的IP地址。”
  5. 第五个包是 DHCP ACK ,被使用IP的服务器:“好的,你用吧,租期是8个小时。”;没被使用IP的服务器 “不用拉到(小声哔哔)”。

五、租约

DHCP给分配的IP设置一个租期,默认1天;

当租期超过 50% 时,客户端会向服务器发送请求报文( DHCP Request )来续租IP地址:

  • 如果服务端收到,就响应确认报文( DHCP ACK ),同时延长租期;
  • ​ 如果没收到,则什么也不做。

当租期超过 87.5% 时,客户端再次广播请求报文( DHCP Request )来续租IP:

  • 如果服务端收到,就响应确认报文( DHCP ACK ),同时延长租期;
  • ​ 如果没收到,则什么也不做,直到租期结束,客户端向服务端发送释放报文( DHCP Release),然后重新广播发现报文( DHCP Discover ),申请IP地址。

这篇关于网络协议:DHCP协议工作原理,DHCP分配方式,DHCP租约,Wireshark抓包分析DHCP报文的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/759369

相关文章

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

VC网络协议

// PCControlDlg.cpp : 实现文件//#include "stdafx.h"#include "PCControl.h"#include "PCControlDlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// 用于应用程序“关于”菜单项的 CAboutDlg 对话框#ifde

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。