网络安全之DHCP详解

DHCP:Dynamic Host Configration Protocol 动态主机配置协议

某一协议的数据是基于UDP封装的,当它想确保自己的可靠性时,这个协议要么选确认重传机制,要么选周期性传输。

DHCP是确认重传,【UDP|DHCP】,当DHCP分配完地址时就没必要周期性传输了。

【EⅡ|IP|UDP|DHCP】:DHCP的二层封装进行地址分配的协议只能选择以太网协议。

DHCP客户端使用的端口号是68,服务端的端口号是67,DHCP的所有数据都是基于UDP封装。

DHCP服务器分配时:1,IP地址。2,网络掩码。3,默认网关。4,DNS服务器地址。

网关地址是什么?主机所在网段内的路由器地址

例如:

PC1,2,3网段要与PC4,5这一网段通信,为了知道是PC1,2,3网段来的就需要打上路由器的该网段的接口地址。

DNS:域名解析服务器,填的时候,一个主DNS,一个备DNS。

将域名与IP一一对应的服务器,因为一个设备不可能将所有域名(APP,www.……网站等就是域名)对应的IP记录,所以需要DNS来记录这些,每个地方的DNS服务器地址不同。

下面为一个设备请求DHCP IP的过程:

A请求DHCP IP
第一步:A向DHCP server发一个发现包:【EⅡ|IP|UDP|DHCP】:源端口号68,目标端口号67,源IP没有所以为0.0.0.0占位,目标IP因为不知道DHCP server是谁,为255.255.255.255广播发送去发现DHCPserver,源MAC地址为自己的MAC地址,目的MAC地址与目标IP同理为广播MAC地址FF-FF-FF-FF-FF-FF.
交换机收到包广播给除A外的所有设备,当所有设备收到包并解封装解到端口号发现目的端口是67,不是DHCPserver的都丢弃,DHCPserver则继续解封所有的内容,发现是请求分配IP的,则进行下一步

第二步:DHCPserver收到发现包后向A发送一个应答包,源端口67,目标端口68源IP为自身IP,目标IP为广播地址255.255.255.255,源MAC地址为DHCPserver MAC地址,目标MAC为广播MAC(很多资料说目标MAC为A的MAC,但这是不对的,思科在一开始也是错的,目前已修改),在报文里有包含目标A的分配IP、DNS等,目的MAC来说是给谁发的,避免同时请求过多的DHCP请求造成延迟。

实际情况下,不止一个DHCPserver,那么客户端使用的IP为最先接收到的DHCP应答包,谁先到达用谁的。

第三步:A向DHCPserver发送请求包,该包要告诉服务器用了哪一个IP以及告诉其他服务器他们的地址不用请回收。该包源端口68,目标端口67,源IP0.0.0.0,目标IP255.255.255.255,源MAC为自己MAC,目标MAC为广播MAC。

第四步:DHCPserver向A发送一个确认包,该包依然全广播,目标端口68,源端口67,源IP为自己IP,目标IP广播IP,源MAC为自己的MAC,目标MAC为广播MAC,当A收到这个包后才使用分配给自己的IP。

以上是思科的工作方式。

华为应答包中的源IP为服务器IP,目标IP为给A分配的IP,请求包的源IP为0.0.0.0,确认包中目标IP为给A分配的IP。

华为中是三四包为单播,其余厂商为四个包全广播。

DHCP配置请查看:DHCP小实验-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Vue】Vue packages version mismatch(vue 和 vue-template-compiler)

报错:Vue packages version mismatch 原因:vue和vue-template-compiler版本不一样解决:如上vue版本为 2.6.14,vue-template-comiler版本为2.7.16。将vue-template-comiler版本设置为和vue版本一致即可。 npm install vue-templat…

神经网络极简入门

神经网络是深度学习的基础,正是深度学习的兴起,让停滞不前的人工智能再一次的取得飞速的发展。 其实神经网络的理论由来已久,灵感来自仿生智能计算,只是以前限于硬件的计算能力,没有突出的表现,直至谷歌的A…

响应式编程Spring Reactor探索

一,介绍 响应式编程(Reactive Programming),简单来说是一种生产者只负责生成并发出数据/事件,消费者来监听并负责定义如何处理数据/事件的变化传递方式的编程思想。 响应式编程借鉴了Reactor设计模式,我们…

神器:jQuery一键转换为纯净JavaScript代码

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情 该工具将 jQuery 代码转换为现代、高效的 JavaScript。它允许您用纯 JavaScript 替换 jQuery,同时保持原始代码不变。 虽然 jQuery 一直是 Web 开发中…

防火墙技术基础篇:什么是包过滤技术

什么是防火墙包过滤技术 当数据在网络中传输时,它们被分割成小的单元,称为数据包。防火墙的包过滤是一种基本的网络安全技术,用于检查这些数据包并根据预定义的规则决定是否允许它们通过防火墙。 防火墙包过滤是一种关键的网络安全技术&am…

在下游市场需求带动下 轮胎模具市场规模逐渐扩大

在下游市场需求带动下 轮胎模具市场规模逐渐扩大 轮胎模具是通过硫化、成型等工序生产各种轮胎的一种工具。轮胎模具是生产轮胎的关键设备之一,其性能直接影响到轮胎的耐用性和安全性。根据花纹加工工艺不同,轮胎模具加工工艺可分为精密铸造工艺、数控雕…

炒美股怎么开户?

近年来,随着国内投资者对境外投资需求的不断增长,炒美股逐渐成为许多投资者的选择。然而,随着监管政策的不断完善,传统的互联网券商开户方式已经不再适用。那么,对于想要入场美股市场的投资者来说,该如何开…

实现左上角的固定视口但是网格以图片中心放大缩小

仅仅修改了showbk() 函数部分,增加bkv4 直接采样,然后粘贴到左上角,实现多余部分裁剪,形成视口内放大缩小 // 程序:2D RPG 地图编辑器与摄像机追随 // 作者:bilibili 民用级脑的研发…

windows10打印机共享完美解决方案

提到文件共享大家并不陌生,相关的还有打印机共享,这个多见于单位、复印部,在一个区域网里多台电脑共用一台打印机,打印资料非常方便,就包括在家里,我们现在一般都会有多台电脑或设备,通过家庭网络联接,如果共享一台打印机的话也是件便捷的事。 但是随着操作系统的更新…

Win11任务栏通知很不明显的解决方案

Win11流行起来后,不少用户抱怨Win11的任务栏通知闪烁的颜色很不明显,经常微信来消息了看不到。虽然有右下角的微信图标会闪烁,但是提醒舒适度还是觉得不如Win10舒服显眼。 默认的颜色是这样子的,可以看得出Win11的任务栏提醒颜…

QGraphicsItem的prepareGeometryChange 和 update方法区别

prepareGeometryChange 这个函数用于为图形的几何形状变化做准备。在改变一个项目的边界矩形之前调用此函数,以保持 QGraphicsScene 的索引是最新的。如果必要的话,prepareGeometryChange() 会调用 update()。QGraphicsScene认为所有图元的boundingRect…

Python数据分析常用模块的介绍与使用

Python数据分析模块 前言一、Numpy模块Numpy介绍Numpy的使用Numpy生成数组ndarrayarray生成数组arange生成数组random生成数组其他示例 关于randint示例1示例2 关于rand Numpy数组统计方法示例 二、Pandas模块pandas介绍Series示例 DataFrame示例 三、其他模块Matplotlib/Seabo…

Apache Knox 2.0.0使用

目录 介绍 使用 gateway-site.xml users.ldif my_hdfs.xml my_yarn.xml 其它 介绍 The Apache Knox Gateway is a system that provides a single point of authentication and access for Apache Hadoop services in a cluster. The goal is to simplify Hadoop securit…

【Qt】Qt开发中常用命名规范、快捷键和窗口坐标体系详解

Qt是一款强大的跨平台C应用程序开发框架,为了提高代码的可读性和可维护性,遵循一定的命名规范是非常重要的。此外,Qt Creator提供了许多快捷键和便捷功能,能够提高开发效率。本文将介绍Qt开发中常用的命名规范、快捷键以及窗口坐标…

来聊聊Java项目分层规范

写在文章开头 近期和读者交流聊到项目规范,借着这个机会我们不妨聊聊主流Java项目是如何进行分层的。 Hi,我是 sharkChili ,是个不断在硬核技术上作死的 java coder ,是 CSDN的博客专家 ,也是开源项目 Java Guide 的维…

[华为OD]C卷 运输时间 200 动态规划

题目: M辆车需要在一条不能超车的单行道到达终点,起点到终点的距离为N。速度快的车追上前车 后,只能以前车的速度继续行驶,求最后一车辆到达目的地花费的时间。 注意: 每辆车固定间隔1小时出发,比如第…

静态NAT

哈喽!各位小伙伴们好久不见,最近由于工作的原因断更了一段时间,不过最近我都会把这些给补上,今天我们来学习一个简单的知识——静态NAT转换。 第一章 什么是NAT技术? 网络地址转换技术NAT(Networ…

红帽发布Red Hat Enterprise Linux AI(RHEL AI)

红帽 2024 峰会正在科罗拉多州丹佛市举行…鉴于当前的时代背景,人工智能(AI)在此次峰会上占据了重要位置,因此红帽公司(Red Hat)也不甘人后宣布推出 RHEL AI。 红帽公司今天发布了 Red Hat Enterprise Lin…

优化电脑空间清理电脑占用磁盘空间垃圾

1. 清理磁盘 右下角放大镜,搜索 此电脑 点击要清理的磁盘 ,比如点击C盘,右键属性,常规选项卡,点击清理磁盘, 和点击清理系统文件 1.1 优化磁盘 右下角放大镜,搜索 此电脑 点击要清理的磁盘 &…

RUST 编程语言使构建更安全的软件变得更加容易。RUST ALL THE THINGS 需要什么?

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…