首页 > 其他分享 >DHCP协议-------动态主机配置协议

DHCP协议-------动态主机配置协议

时间:2024-07-19 22:54:18浏览次数:12  
标签:协议 IP 报文 ------- 服务器 IP地址 DHCP 客户端

一、DHCP概述

作用:用来为终端分配IP地址,并且对IP地址进行集中化管理的协议。
应用层协议; 传输层使用UDP 协议进行数据封装,端口号 67/68 ,其中 68 代表客户端; 67 代表服务端

报文类型

DHCP discover:发现报文,用来发现网络中的DHCP服务器,使用的是广播报文。

DHCP offer:由服务器进行回复,当收到discover报文后,并且服务器本地存在可用IP地址,则回复信息。

DHCP request:正向向服务器请求IP地址,客户端请求获取offer报文中的网络参数。

DHCP ack:服务器同意使用该IP地址,对request报文的确认。

DHCP nak:对request报文的拒绝,服务器拒绝客户端使用该IP地址--------一般看不到

DHCP release:客户端发送给服务端,要求释放IP地址

DHCP inform:当客户端获取到IP地址后,使用该报文获取其他网络参数(现在已经不使用了)

DHCP decline:当客户端检测到IP地址冲突时,发送给服务器,用以告知服务器,IP不可用。

二、DHCP原理及分配方式及分配方式

1.工作原理
  • 发现阶段

即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER包,只有DHCP服务器才会响应

  • 提供阶段

即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包。

  • 选择阶段

即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发送DHCPOFFER包,客户端从中随机挑选,然后以广播形式向各DHCP服务器回应DHCPREQUEST包,宣告使用它挑中的DHCP服务器提供的地址,并正式请求该DHCP服务器分配地址。其它所有发送DHCPOFFER包的DHCP服务器接收到该数据包后,将释放已经OFFER(预分配)给客户端的IP地址。

如果发送给DHCP客户端的DHCPOFFER包中包含无效的配置参数,客户端会向服务器发送DHCPCLINE包拒绝接受已经分配的配置信息。

  • 确认阶段

即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后,DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。

2.分配方式

  • 自动分配方式

DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器租用到IP地址,就可以永久使用该地址。

  • 动态分配方式

DHCP服务器给主机指定一个有时间限制的IP地址, 时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。

  • 手工分配方式

客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。

三种地址分配方式中,只有动态分配方式可以重复使用客户端不再需要的地址。

三、工作过程

首先,PC会广播发送DHCP discover报文,Server在接收到这个广播包以后,先会选择一个未分配 的IP地址,然后(单播或广播)发送一个DHCP offer报文,该报文携带了网络参数给PC。

华为体系中,所有的网络设备均使用单播,linux使用广播,windows两者均可。
若网络中存在多个DHCP服务器,又因为discover报文是广播发送,故所有的DHCP服务器均会回复 offer报文给PC端。此时,PC仅对接收到的第一个offer报文进行回复,其余均丢弃。

PC再一次使用广播发送request报文向server请求offer报文中携带的网络参数。

request报文有两重意义;1、向选择的服务端请求网络参数;2、告诉其余服务器,已经有了 选择。
服务器接收到request报文后,若目的为本地,则发送ACK报文回复;若目的不为本地,则丢弃报 文。

当存在两台PC同时请求地址,结果服务器给出的地址是同一个,这也就会导致后一个发送 request报文的PC无法获取地址。
PC接收到ack报文后,可以使用该IP地址,但是同时PC会发送三次免费ARP来检测网络中是否有其 他主机使用该IP地址。

如果网络中存在该IP地址,则PC向Server发送DHCP decline报文来通知服务器该IP冲突,并 重新发送一个DHCP discover重新申请IP地址。

如果网络中不存在该IP地址,则直接使用该IP内容。

如果PC需要释放IP地址,则发送DHCP release报文给服务端。

IP 地址租期 ---- 当 PC 申请下来 IP 地址后,会存在租期时间。能够合理使用该 IP 地址的时间 租期时间 ---24 小时 当租期时间到达 12 小时,客户端就需要向服务器发起续租申请。 当第一次续租得到回复后,则客户端将租期时间刷新为 24 小时;若没有回复,则等待租期时间仅剩下 3 小 时。 此时发送第二次续租申请,此时使用 discover 报文广播发送申请。

全局配置

1、配置IP [DHCP Server]  interface GigabitEthernet 0/0/0 [DHCP Server-GigabitEthernet0/0/0]  ip address 192.168.1.100 24 [DHCP Server]  interface GigabitEthernet 0/0/1 [DHCP Server-GigabitEthernet0/0/1]  ip address 192.168.2.100 24 2、启动DHCP服务 [DHCP Server]  dhcp enable ---- 启动 DHCP 服务 3、配置DHCP待分配的IP地址池塘 [DHCP Server]  ip pool wangyu ---- 创建一个叫做 wangyu 的 IP 地址池塘 [DHCP Server-ip-pool-wangyu]  network 192.168.1.0 mask 24 --- 给池塘中添加 IP 地址信息, 将 192.168.1.0/24 整个网段的 IP 地址都添加到池塘中。 [DHCP Server-ip-pool-wangyu]  gateway-list 192.168.1.100 --- 设置该池塘中所有 IP 的网关地 址 [DHCP Server-ip-pool-wangyu]  dns-list 8.8.8.8 ---- 设置该池塘中所有 IP 的拥有者 DNS 服务器 的 IP 地址 4、将池塘与接口进行联动,目的是告诉路由器,该池塘的信息应该属于哪个接口所连接的广播域 [DHCP Server]  interface GigabitEthernet 0/0/0 [DHCP Server-GigabitEthernet0/0/0]dhcp select global ---- 将 DHCP 服务在该接口激活 5、扩展配置---可选 [DHCP Server-ip-pool-wangyu]excluded-ip-address 192.168.1.254 192.168.1.254 --- 在 192.168.1.0/24 这个地址池中,将 192.168.1.254 地址排除,后续服务器在分配 IP 地址时,将不会分配 192.168.1.254 这个地址信息。 ------------ 起始 IP 、截止 IP [DHCP Server-ip-pool-wangyu]lease day 0 hour 0 minute 1 --- 修改租期时间 [DHCP Server]display ip pool name ? --- 查看具体某个地址池塘内容 STRING<1-64> Pool name

标签:协议,IP,报文,-------,服务器,IP地址,DHCP,客户端
From: https://blog.csdn.net/2301_80840390/article/details/140560439

相关文章

  • 初级java每日一道面试题-2024年7月19日
    在Java中,重载(Overloading)和重写(Overriding)是面向对象编程中多态性的两个重要概念。1.重载(Overloading)定义:重载是指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可。也就是说,这些方法的名称相同,但参数的个数、类型或顺序至少有一个不同。目的:重载......
  • 前端必修技能:高手进阶核心知识分享 - CSS伪类和伪元素
    前端必修技能:高手进阶核心知识分享-CSS伪类和伪元素前端必修技能:高手进阶核心知识分享-CSS伪类和伪元素在前端的工作中,经常会遇到伪类和伪元素,但很多人(包括我自己)都没有仔细的去分辨它们,归其原因,大概是因为:写法相似。但其实,伪类和伪元素还是有很多不同的。温......
  • Windows图形界面(GUI)-DLG-C/C++ - 工具栏(ToolBar)
    公开视频-> 链接点击跳转公开课程博客首页-> ​​​​​​链接点击跳转博客主页目录工具栏(ToolBar)创建工具栏-CreateWindowEx初始工具栏-TB_BUTTONSTRUCTSIZE工具栏图标-TBADDBITMAP-TB_ADDBITMAP工具栏按钮-TB_ADDBUTTONS示例代码工具栏(ToolBar)......
  • Windows图形界面(GUI)-DLG-C/C++ - 滑动条(Trackbar)
    公开视频-> 链接点击跳转公开课程博客首页-> ​​​​​​链接点击跳转博客主页目录滑动条(Trackbar)使用场景初始控件控件消息示例代码滑动条(Trackbar)使用场景音量控制亮度调节视频播放进度控制任何需要用户在特定范围内选择值的场景初始控件TBM_......
  • [实践篇]13.29 QNX下的系统性能监控工具 - sysMonAppQNX(一)
    一,sysMonAppQNX工具简介sysMonAppQNX,即SystemMonitorApplicationforQNX;它是有QNX开发的系统监控应用程序。它用于监控QNX系统的性能和健康状况。sysMonAppQNX可以监视各种指标,包括CPU使用率、内存使用率、磁盘I/O、网络流量和进程活动。它还可以生成警报以指示潜在......
  • Bert中文预训练模型(Bert-base-chinese)
    介绍Bert-base-chinese模型是一个在简体和繁体中文文本上训练得到的预训练模型,具有以下特点:12个隐层输出768维张量12个自注意力头110M参数量该模型的主要作用是获取每个汉字的向量表示,后续通过微调可应用于各种简体和繁体中文任务。使用importtorchfromtransformersim......
  • 【读书笔记】余华 - 活着
    这本书我是通过微信读书听的有声书,我还粗略的把整个故事给孩子和母亲讲了一遍,给母亲讲的时候有些名字忘记了,还通过ChatGPT整理了一下主要是人物和事件。故事里让我印象最深的是村里开始搞土地改革,龙儿死到临头了才泄气,被五花大绑从福贵身边走过的时候哭着鼻子喊“福贵,我是替......
  • 递归回溯法-八皇后问题
    一、问题描述八皇后问题是回溯算法的典型案例。该问题由国际西洋棋手马克斯•贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即:任意两个皇后不能处于同一行、同一列或同一斜线上,问有多少种摆法。通过计算可以得出共有92种摆法。二、思路分析由于规......
  • 【Loading 4/75】Web_SQLi-Labs_WriteUp
    Less-1_GET-Errorbased-Singlequotes-String题目分析根据标题“GET-Errorbased-Singlequotes-String(基于错误的GET单引号字符型注入)”可以猜到本题的闭合方法为单引号闭合,但保险起见咱还是走一遍流程。根据页面给出的提示信息“PleaseinputtheIDasparameterwith......
  • 记修复价值2千多的scuf-PS4游戏手柄
    这是也将是一台我修复的单支价值最高的PS4手柄朗读全文Yourbrowserdoesnotsupporttheaudioelement.大背景最近(其实从思维萌芽到实践已经相当一段时间,看似初露冰山一角,实其根基已扎实稳妥)发掘可以用做一些硬件手工,来让自己从软件的虚拟世界中短暂性跳脱,切换思维思......