计算机网络——DHCP协议详解

计算机网络——DHCP协议详解由浅入深理解DHCP协议

大家好,又见面了,我是你们的朋友全栈君。

点赞后看,养成习惯
喜欢的话 可以点个关注哟
你们的点赞支持对博主们来说很重要哦 !!!

本文将针对以下问题逐条进行解答:

01 DHCP协议是什么?

02 客户端与服务端处于同一广播域内,DHCP协议如何工作的?

03 客户端和服务端不在同一网段,客户端如何通过广播发现服务器?

04 客户端和服务端不在同一网段时,服务器为什么能给客户端分配到所属网段的IP地址

05 DHCP有哪些安全漏洞

06 如何解决DHCP的安全漏洞呢?


在这里插入图片描述

01 DHCP协议简介

一台电脑,需要被分配到IP地址、网络掩码、缺省网关、DNS服务器IP才算获得了完整的IP参数。那么这些IP参数,是不是需要我们一个个去用户电脑里手动配置呢?

答案是不用的,TCP/IP协议的发明者,为了让TCP/IP协议简单易用,发明了一个自动化配置工具,这就是DHCP(动态主机配置协议)。

这相当于,人类最初想要点火,需要手动钻木取火,而现在只需要一个简单的打火机,按钮一按便可以点火一样。

在这里插入图片描述

02 客户端与服务端处于同一广播域内,DHCP协议工作机制

在这里插入图片描述
1、客户端发现服务端 ( 客户端:亲爱的,我的礼物在哪里?

电脑的操作系统安装了TCP/IP协议栈,这个协议栈其中包含了DHCP客户端进程,这个客户端会广播发送一个发现服务器的报文,格式为UDP封装,目的端口号为68,源端口号为67

2、服务端回复客户端 ( 服务端:亲爱的,这个礼物你要嘛)

服务端接收到客户端的发现报文,会从IP地址池中选择一个空闲的IP地址、对应的子网掩码、缺省网关、DNS服务器IP地址,并以单播的方式发给客户端,目的端口是67,源端口号为68

3、客户端请求IP参数 ( 客户端:亲爱的,我要我要

客户端接收到服务器的回应,接受服务器分配的IP参数,以单播的方式请求服务器提供的IP参数,发给服务器。

4、服务端确认请求 ( 服务端:亲爱的,给你,你喜欢就好

服务器最终确认客户端的请求,以单播方式发送给客户端。

5、客户端ARP广播确认 ( 客户端接过礼物,看看自己的周围有没有一样的礼物,如果没有的话,就说:亲爱的,这个礼物好独特啊,我接受了;如果发现其他人也有这个礼物,就说,你给我的其他人也有了,我不要
在这里插入图片描述

客户端接收到服务端的确认后,会尝试ARP请求自己IP所对应的MAC地址,看看有没有回复。如果没有回复,那就说明自己现在这个IP地址是该广播域内独一无二的,不会引起IP地址冲突。于是将自己获得IP参数配置到TCP/IP协议栈

03 客户端和服务端不在同一网段时,客户端通过广播发现服务器的机制

在02 里说到了同一个网段里面DHCP协议的过程,我们会发现一个网段需要一个DHCP服务器。 但是,对于有成千上万个网段的大型网段中,是不是需要巨大数量的DHCP服务器呢?这显然是不现实的。

那么,当客户端和服务端不在同一个网段的时候,广播包跨越不过不同网段的时候,客户端如何通过广播发现服务端呢?其实也简单,你找个帮手,帮你喊话就得了,这个帮手就是DHCP中继代理

简单来说,DHCP中继代理就是让客户端和服务端互相发现彼此的中介结构。 就是我们所谓的中介,帮我们传话的。

在这里插入图片描述

具体是这样的,每个网段都配置一个DHCP中继代理,DHCP中继代理先静态配置DHCP服务器的IP地址,DHCP中继代理,自然可以接收到本网段的客户端DHCP广播报文,然后广播报文修改成单播报文,目的IP地址为DHCP服务器,源IP地址代理为自己的,然后单播发送给服务器,服务器的回复自然也是单播发给代理,代理再将服务器的回复单播发给客户端。

04 客户端和服务端不在同一网段时,服务器给客户端分配到所属网段的IP地址的方法

有DHCP中继代理的情况下,接收到客户端广播的DHCP发现包时,会在DHCP报文内部填写一个字段【中继代理:10.1.1.1

这样服务器接受到DHCP中继代理发过来的包时,就会根据中继代理的地址,找到网段10.1.1.0地址池,然后找出空闲的地址分配会客户端。

05 DHCP协议存在的安全漏洞

服务器会依据DHCP报文来唯一分配一个IP地址,这就是最大的安全漏洞。

设想一下, 一台恶意电脑,伪造了成千上万的MAC地址,用这些MAC地址分别发送DHCP消息报文。

而如果没有防护机制的话,DHCP就会分配出去IP地址,造成的结果是:IP地址池耗尽了,同一网段的其他用户无法自动拿到地址上网了。 这不就相当于,你占着茅坑不拉屎,浪费了资源嘛。

在这里插入图片描述

06 解决DHCP的安全漏洞的方法

这里我们需要引入一个配置,叫 DHCP Snooping(DHCP 窥探)

通过在网络的入口,最靠近用户的二层交换机上配置 DHCP Snooping,让二层交换机偷窥主机与DHCP服务器信息交换,当看到主机信息途经交换机时,交换机修改报文,在原报文的基础上添加一个安全选项【Option 82】,这个选项具体有哪些内容呢?

交换机名称、交换机端口名称,即这条消息是从哪个交换机、哪个端口接收到的。

交换机把这个定位主机的位置消息,添加到【Option 82】字段里。服务器不仅要看客户端MAC地址,还要参考主机的位置消息。 如果设定一个交换机/端口最多只能分配两个IP地址,那么来自同一个交换机/端口的伪造DHCP报文都会被拒绝分配IP地址,因为超出了2个IP地址。

在这里插入图片描述
除此之外,交换机还偷窥到服务器给主机分配的IP地址,还知道主机连接的端口号、主机的硬件地址MAC地址,生成一张表,用于记录交换机端口、MAC地址、IP地址的绑定关系

扩展:其实DHCP Snooping不仅可以解决DHCP欺骗问题,还可以解决ARP欺骗问题

ARP欺骗

当同网段进行通信的时候,需要使用ARP广播来发现彼此的MAC地址。
但是如果小A和小B进行通信的时候,小A问小B的MAC地址,而小C听到了,用自己的MAC地址来回应。让小A信以为真,觉得小C是小B,原来发给小B的流量都发给小C了。如何小C看完内容后,再用小B的MAC地址作为目的MAC发给小B。这就是网络流量的劫持

而如果小C冒充网关的话,则网段里面访问其他网段的流量都会被小C劫持。这很危险
在这里插入图片描述

而使用了DHCP Snooping后,二层交换机有了一份绑定表,当小C试图欺骗小A,自称小B时。交换机因为已经有了小B的MAC、IP、端口号,所以就会发现这个欺诈行为,如何直接丢弃,并在日志文件里记录这个欺骗行为。

以上文章,作为自己的学习笔记,仅供参考

本文完,感谢你的阅读!!!

最后,如果本文对你有所帮助,希望可以点个赞支持一下。你们的鼓励将会是博主原创的动力。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142559.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • window批处理bat命令详解_cmd批处理命令

    window批处理bat命令详解_cmd批处理命令常见问题:1.如果你自己编写的.bat文件,双击打开,出现闪退 2.批处理.bat文件中输出中文乱码 解决方法在文章末尾!前言批处理文件(batchfile)包含一系列DOS命令,通常用于自动执行重复性任务。用户只需双击批处理文件便可执行任务,而无需重复输入相同指令。编写批处理文件非常简单,但难点在于确保一切按顺序执行。编写严谨的批处理文件可以极大程度地节省时间,在应对重复性工…

  • uuid生成唯一数字_java组件有哪些

    uuid生成唯一数字_java组件有哪些UUID含义是通用唯一识别码(UniversallyUniqueIdentifier),这是一个软件建构的标准,也是被开源软件基金会(OpenSoftwareFoundation,OSF)的组织在分布式计算环境(DistributedComputingEnvironment,DCE)领域的一部份。UUID的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需

  • 三大战略分析方法——SWOT、PEST、波特五力模型

    三大战略分析方法——SWOT、PEST、波特五力模型目录1.SWOT分析模型「SWOT分析模型简介」「SWOT模型含义介绍」「SWOT分析步骤」2.PEST分析模型PEST分析的内容3.波特五力模型[定义][五力模型]1.SWOT分析模型「SWOT分析模型简介」(也称TOWS分析法、道斯矩阵)。在现在的战略规划报告里,SWOT分析应该算是一个众所周知的工具。来自于麦肯锡咨询公司的SWOT…

  • margin的使用方法与技巧

    1.margin还可以用来做平移,作用类似translate哈哈。将元素设成absolute后就可以用margin随便平移他了,既不像relative那样要霸占空间,又不用为父元素设置relative

    2021年12月20日
  • RDN论文阅读笔记

    RDN论文阅读笔记“ResidualDenseNetworkforImageSuper-Resolution”发表于CVPR2018论文:https://arxiv.org/abs/1802.08797代码:https://github.com/yulunzhang/RDNhttps://github.com/lizhengwei1992/ResidualDenseNetwork-Pytorc…

  • X.509数字证书的结构与解析

    X.509数字证书的结构与解析1、什么叫数字签名数字签名:将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。将该报文摘要值用发送者的私人密钥加密,然后连同原报文一起发送给接收者,而产生的报文即称数字签名2、什么叫数字证书数字证书:数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在In

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号