6.2.5 网络基本服务----动态主机配置协议DHCP

news2024/11/25 0:31:56

6.2.5 网络基本服务----动态主机配置协议DHCP

动态主机配置协议允许一台计算机加入新的网络时可自动获取网络配置信息,不用人工参与。连网的计算机需要配置的参数包括

  1. IP地址
  2. 子网掩码
  3. 默认路由器的IP地址
  4. 域名服务器IP地址

DHCP与DNS、FTP、Telnet一样也采用客户服务器模式。

一、DHCP的作用

我们先来了解一下主机如何接入互联网,如图

目前主要有两类接入互联网方式

  1. 宽带接入
  2. 局域网接入

宽带

宽带接入多用于家庭,常见有两种方式,一种是通过非对称数字用户线路,即ADSL线路接入互联网,一种是通过有线电视网接入互联网。以ADSL接入为例,用户端的modem实现数字信号和模拟信号之间的转换,电话网络分离器,采用频分多路复用技术(3.3.1 多路复用技术(一))在传统的电话线路上传输低频的电话信号和高频的上网数字调制信号,终端设有分离器和DSL接入复用器,将电话信号和上网信号,分别连入电话网和互联网,如果家中只有一台主机上网,可以直接将主机直接连接在modem的以太网口,否则就需要一台宽带路由器将家中的若干主机连接到互联网,宽带路由器不仅具有路由器的功能,还集成了交换机模块,无线宽带路由器相当于路由器加以太交换机加无线接入点以及无线交换机。

如下图是通过局域网接入互联网

局域网

校园网、企业网中的主机常采用局域网接入的方式,主机通过网线或无线直接连接到以太或无线交换机,交换机可以级联并于路由器相连,比如图中的校园网也是一个网间网,有局域网也有广域网,路由器将各个网络互联起来,整个互联网也是一个网间网即网络的网络,因此一个分组从源主机到目的主机可能穿过多个网络,为了区分标识各个网络接口,需要给主机和路由器的网络接口分配IP地址还要说明接口所处的网络即子网,标识接口所处的子网需要用到子网掩码,网络接口的IP地址和子网掩码按位相与就得到接口所处的子网地址。比如一个接口的IP地址为a.b.c.d,子网掩码为255.255.255.0,那它的子网地址就是a.b.c.0,子网地址中的网络前缀为a.b.c,主机号为0,对同一个子网中的各个网络接口必须指定相同的子网掩码,各IP地址还应具有相同的网络前缀,不同的主机号,而不同子网的主机IP地址应具有不同的网络前缀,那么如何配置网络接口的各个网络参数呢?对于路由器而言都是由管理员进行手工配置,而对于主机则是有两种方式即手工配置、自动配置。

在主机上自动配置网络接口的各个参数如图所示

自动获取

主机所在网络上必须有设备提供DHCP服务,对于家庭网络快带路由器可以兼职充当DHCP服务器,在配置快带路由器时需要激活路由器配置中的DHCP服务,事先配置好IP地址池,地址作用时长等,服务器会从地址池中选用当前未用的地址给申请自动获得IP地址的主机,地址池中的地址是临时地址。DHCP还支持固定地址,所谓固定地址只为特定的网络接口分配固定的IP地址。

需要强调的是DHCP为互联网主机(非路由器)提供配置参数:

  1. DHCP提供了一个在TCP/IP网络上从CHCP服务器传送配置参数给主机的框架。
  2. DHCP为主机分配网络地址:临时IP地址或固定地址,允许为特定的网络接口(MAC地址)分配固定的IP地址。

DHCP基于C/S模型,运行DHCP服务程序的主机(Server)向选择“自动获得IP设置”的主机(Client)传递配置参数。路由器常开启DHCP服务。

DHCP客户获得网络参数后方可与互联网上其他子网中的主机通信。

DHCP基于Bootstrap协议(BOOTP),增加了自动分配可重用网络地址功能和一些配置选项。

DHCP使用UDP作为传输层,DHCP Server和DHCP Client分别使用UDP端口号67和68

二、DHCP客户-服务器交互过程

我们通过实验获取DHCP交互数据,实验通过ADSL接入互联网的家庭网络上进行,测试主机为有线接入宽带路由器的笔记本电脑,路由器开启DHCP服务,并设置了分配临时地址需要的IP地址池和地址作用时间,地址池为192.168.0.100~192.168.0.199,作用时间为一周,具体实验步骤如下:

(仅启动本地连接)

  1. 手工配置IP地址等参数且主机可以正常上网
  2. 断开路由器电源
  3. 主机设置改为自动获得IP地址方式
  4. 使用Wireshark开始抓包,设置需要监听的网络接口,开始捕获
  5. 接通路由器电源,过一会停止抓包
  6. 过滤bootp,这样就只显示DHCP报文,这里我们可以看到DHCP报文的封装过程,DHCP报文先被封装在UDP报文中,UDP被封装在IP数据报中,IP数据报又被封装在以太帧中

从Wireshark捕获的分组我们可以看出DHCP客户和服务器完整的交互过程,依次包含4种报文。

  1. Discover
  2. offer
  3. Request
  4. ACK

如图

交互过程

图中左侧是DHCP路由器,也是DHCP服务器,右侧是测试主机也是DHCP客户

  1. 首先主机广播发送Discover报文,旨在发现DHCP服务器
  2. 然后服务器发送offer,表示愿意提供动态主机配置服务,因为主机提供了网络参数,如果本地网络有多个DHCP服务器,主机将收到多个offer。每个offer都有一个Server ID
  3. 第三步主机选择其中一个offer,发送确认报文Request,同时通知所有的服务器自己的选择
  4. 第四步被选服务器返回DHCP Acknowledge确认报文

我们可以看到IP地址和端口使用的细节,这里有一个问题是当主机还没有获得IP地址等网络参数之前是如何与本地网络上的其他主机进行通信呢?图例给我们的答案是,DHCP客户先使用IP地址全零的地址表示自己。

第二个问题是其他主机是如何与客户机进行通信呢?图中给出的是offer和acknowledge报文,封装它们的IP数据报的目的地址都是广播地址32位全1。

关于端口以Discover报文为例,源端口为DHCP客户,使用的是UDP端口68,目的端口是DHCP服务器使用的端口67,在该报文中显示yiaddr:0.0.0.0,表示此时客户方还没有分配IP地址,希望有服务器提供动态主机配置服务。

DHCP服务器发送offer报文,报文中显示yiappdr:192.168.0.100,Lease time:604800s(表示租用时间为一周),此外还给出了Server ID,在主机发送的Request报文中Server ID的值显示主机选择了哪一个offer。而Request报文中的Requested IP addr:192.168.0.100正是所选offer中的yiaddr

服务器发送的确认报文与offer报文仅仅是MessageType不同,一个是ACK一个offer

三、四个网络参数

无论是手工还是自动配置的,都需要这四个参数,DHCP服务器返回的不仅仅有分配的IP地址,还包括其他三个参数。通过确认报文的信息就会发现包含主机IP地址,子网掩码,默认网关,域名服务器IP地址,如果主机中已经手动添加了域名服务器DNS的IP地址,就以手动添加为主。

  1. 子网掩码

    主机在有了IP地址和子网掩码,在和其他主机通信时,用于了解目的主机和源主机是否在同一子网内,若是则可以直接交付,否则需要路由器的转发

  2. 第一跳路由器IP地址

    转发目的地为其他子网中主机的IP数据报

  3. DNS服务器的IP地址

    DNS服务器提供域名解析服务,不设置此项就无法使用域名访问互联网。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/740837.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jetbot TinyML Create Sin

浏览器访问ip(oled上显示的ip地址):8888,如192.168.10107:8888,Password:jetbot。 双击Notebool下的Python 3,然后编辑代码: import tensorflow as tf import numpy as np import matplotlib.pyplot as plt import math#Well gen…

医疗器械外贸ERP软件:优化资源分配,提升企业竞争力

随着医疗器械外贸业务的不断发展,外贸业务管理ERP软件已经成为了医疗器械企业必不可少的一项工具。该软件解决方案可以有效地帮助企业管理海外市场、跟进海外订单、协调供应链等关键业务。 医疗器械外贸行业管理难点: 1、法规和标准:涉及到不…

博客系统(Servlet)

我们的目标是实现一个带有服务器版本的博客系统&#xff08;重点关注后端开发&#xff09; 1.准备工作 1&#xff09;创建web项目 2&#xff09;创建相应的目录结构、 3&#xff09;配置pom.xml <?xml version"1.0" encoding"UTF-8"?> <pro…

【玩转Linux操作】一文带你明白Shell的判断,循环语句

&#x1f38a;专栏【玩转Linux操作】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 大一同学小吉&#xff0c;欢迎并且感谢大家指出我的问题&#x1f970; 文章目录 &#x1f354;判断语句⭐单层if&#x1f388;示例 ⭐…

C++ 最长子段和

最大子段和详解_最大字段和_Niteip的博客-CSDN博客 #include <iostream> #include <sstream> #include <vector> #include <string> #include <algorithm> #include <climits> #include <unordered_map> #include <set>using…

ElementUI —— Cascader 级联选择器

前言&#xff1a; 项目中使用Cascader级联选择器&#xff0c;通过递归处理后端接口返回的数据。 function fn(temp) {let newArr [];for (let i 0; i < temp.length; i) {let obj {};obj.value temp[i].name;obj.label temp[i].name;obj.children [];if (temp[i].chil…

Python爬虫实战之原神公告获取

前言 好久不见了吧&#xff0c;博主最近也是成为了准高三&#xff0c;没有太多时间去创作文章了&#xff0c;所以这篇文章很有可能是高考前最后一篇文章了(也不一定&#x1f609;) 言归正传&#xff0c;本次文章主要讲解如何去爬取原神官网的公告(我不玩原神&#xff01;&…

如何在WordPress网站中嵌入TikTok视频(3个简单方法)

您想轻松地将 TikTok 视频嵌入您的 WordPress 网站吗&#xff1f; 如果您已经创建了成功的、病毒式传播的 TikTok&#xff0c;那么将这些视频发布到您的网站也是有意义的。通过这种方式&#xff0c;您只需很少的额外努力就能获得更多的观看次数、参与度和社交媒体关注者。 在…

企业面临数字化转型,有什么建议吗?

数字化转型是一个综合过程&#xff0c;涉及利用数字技术增强业务运营、改善客户体验并推动创新。企业数字化转型的一些建议&#xff1a; 制定清晰的愿景&#xff1a;定义数字化转型目标并创建与业务目标相符的愿景。这将有助于指导数字化并确保它们的驱动目标。 拥抱云计算&am…

盲盒抽奖小程序源码-带H5端可打包APP_带安装教程

1.新建站点。上传后台源码文化到新建站点&#xff0c;解压跟目录&#xff01;&#xff01; 2. 导入数据库文件&#xff0c;修改数据库信息&#xff0c;&#xff08;数据库根目录 .env 文件&#xff09; 3. 修改网站运行目录 《运行目录为/public 》 4. 修改伪静态 《伪静态t…

STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061

STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061 Proteus仿真小实验&#xff1a; STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061 功能&#xff1a; 硬件组成&#xff1a;STM32F103R6单片机 TM1637 4位数码管驱动电路2路0~20V电压测量模块2个电位器输出0-…

微信小程序精选,多样化的功能与便捷体验

白噪音Pro、魔术字体和天天倒计时&#xff0c;这三款微信小程序正越来越受到我们的欢迎。它们各自具有独特的功能和特点&#xff0c;为我们提供了多样化的体验。现在&#xff0c;让我们一起来详细介绍一下这三款小程序。 首先是白噪音Pro。随着生活节奏的加快和压力的增加&…

如何把录音转换成文字免费?用三个方法轻松转文字!

录音转文字的技术为我们的生活带来了诸多便利。例如&#xff0c;一家新闻机构正在进行一项采访&#xff0c;需要记录受访者的观点和信息&#xff0c;他们选择使用录音设备来收集数据&#xff0c;因为这样可以更准确地捕捉受访者的原始反应。然而&#xff0c;手动将录音内容转化…

动态路由介绍

目录 动态路由 协议的划分&#xff1a; 通过协议算法的不同可以分为两类&#xff1a; RIP RIP的基础配置 拓展配置&#xff1a; 1.RIP的手工认证——RIPV2的手工认证 2.RIP的手工汇总 3.RIP的沉默接口 4.RIP的加快收敛 5.RIP的缺省路由 OSPF 动态路由评判标准&…

今天给大家分享几款优质的图片处理软件

图片处理软件是现代生活中不可或缺的一种工具。无论是平面设计、摄影后期还是日常生活中的照片编辑等&#xff0c;都需要借助优质的图片处理软件来完成各种任务。今天&#xff0c;我将向大家介绍几款非常优秀的图片处理软件&#xff0c;它们功能强大、易于操作&#xff0c;可以…

ES trouble shotting

一、背景 KfES 实例不同节点&#xff0c;会出现隔断时间告警&#xff0c;需要kill后恢复。 二、排查 排查是es 2.3.0低版本的bug&#xff0c;LRUQueryCache 初始化后一直在占用着内存没有释放。 2.1 ES 版本 2.2 内存占用情况 2.3 ES 源码 2.4 社区经验 elasticsearch2.3.…

特征融合篇 | YOLOv8 引入渐进特征金字塔网络 AFPN 结构 | 《2023年6月28日最新发表》

论文地址:https://arxiv.org/pdf/2306.15988.pdf 代码地址:https://github.com/gyyang23/AFPN 多尺度特征在目标检测任务中对于编码具有尺度变化的对象非常重要。一种常见的多尺度特征提取策略是采用经典的自顶向下和自底向上的特征金字塔网络。然而,这些方法存在特征信息的…

快手详情API接口jason格式java php

随着移动互联网的快速发展&#xff0c;短视频应用成为越来越多用户获取信息和进行购物的重要途径。作为广告商或电商平台&#xff0c;了解和充分利用快手的商品详情API接口将为您的营销策略带来巨大的潜力 了解快手商品详情API接口 快手的商品详情API接口是一组提供商品相关信息…

初阶C语言——指针

Hello&#xff0c;我们又见面了&#xff0c;时间过的好快啊&#xff0c;转眼间也已经写了这么多份博客了&#xff0c;在接下来的一年里&#xff0c;小编也会认真学习的敲代码&#xff0c;我们一起进步&#xff0c;那今天开始讲我们的指针&#xff0c;指针这一章节在C语言的学习…

node-red安全部署方式-安全登录功能

node-red安全部署方式 一、前期准备二、安全部署三、更多 安装号的node-red&#xff0c;默认是没有用户登陆功能的&#xff0c;每次进入工作界面只需输入服务器ip:端口号即可登陆。但是假如其他人知道了我们的ip地址&#xff0c;岂不是任何人都可以访问我们的服务器呢&#xff…