当前位置:首页 > 每日看点

NAT和DHCP 的区别是什么?

卡卷网12个月前 (04-19)每日看点219

DHCP(动态主机配置协议)和NAT(网络地址转换)是两种完全不同的网络技术,DHCP动态分配IP地址:为局域网(LAN)内的设备自动分配IP地址、子网掩码、网关、DNS等网络配置,避免手动设置的麻烦。NAT地址转换:将私有IP地址(如家庭/企业内网)转换为公有IP地址(互联网可用),使多台设备共享一个公网IP访问外网。

一、DHCP(动态主机配置协议)

当一台计算机首次接入到网络中,需要IP地址才能进行网络访问,IP怎么获得?就用到了DHCP协议。DHCP协议是互联网上广泛使用的协议,它提供了一种机制称为即插即用连网。当一台计算机加入到新的网络中,可以通过DHCP协议获得IP地址,不需要手工分配。

网络中的主机如何通过DHCP获得地址,我们可以分析DHCP客户端首次接入网络中的情况。

NAT和DHCP 的区别是什么?  第1张

DHCP协议采用的是客户服务器的方式,需要地址的计算机作为客户端,向DHCP服务端(路由器、三层交换机等)发送DHCP DISCOVER(发现报文),这个阶段客户端没有IP地址,因此会将报文的源IP设置为全0(0.0.0.0),客户端也不知道DHCP服务器在什么地方,因此发送广播报文,将目的IP设为全1(255.255.255.255)。

DHCP服务器在收到DHCP DISCOVER(发现报文)后,从地址池(地址池和接收DHCP DISCOVER报文的接口同一地址段)中选择一个可用的IP地址,通过DHCP OFFER报文发送给DHCP客户端。

客户端进入选择阶段,如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文,DHCP客户端一般只接收第一个收到的DHCP OFFER报文,然后用广播的方式发送DHCP REQUEST,这个报文中包含了客户端想选择的DHCP服务器和客户端的IP地址。

最后进入确认阶段,DHCP客户端收到DHCP ACK报文,会发送免费ARP,探测是否有其他客户端使用DHCP服务器分配的地址。

通过一个DHCP获得地址的示例再来详细看整个DHCP获得地址的过程。采用华为的ENSP模拟,利用一台PC连接路由器,PC作为DHCP客户端,路由器做DHCP服务端,使用wireshark抓包,获得DHCP服务端向DHCP客户端分配IP地址的全过程。拓扑如图所示。

NAT和DHCP 的区别是什么?  第2张

通过抓取数据包,可以看到DHCP的四个阶段。

第一个DHCP DISCOVER阶段,源MAC是PC1的MAC,目的MAC全F,源IP全0,目的地址全1

NAT和DHCP 的区别是什么?  第3张

第二阶段DHCP OFFER阶段,可以看到Your IP address172.16.1.253,即服务器给客户端分配的IP地址。

NAT和DHCP 的区别是什么?  第4张

第三阶段 DHCP REQUEST,Option 50标明客户端使用的地址172.16.1.253。

NAT和DHCP 的区别是什么?  第5张

第四阶段,DHCP ACK,Option1有掩码信息,Option3有网关信息。

NAT和DHCP 的区别是什么?  第6张

二、NAT(网络地址转换)

在互联网中,为每台计算机和其它设备都规定了一个唯一的地址,这个地址就是IP地址。IP地址就像家庭地址,如果要网购,只有正确的地址才能把物品送到我们手中。网络中通过IP地址才可以把数据转发到所想要转发的目的。

IPv4地址有32位,大概有42.9亿个地址,但是目前互联网的用户不断地增多,IPv4地址中的公有地址显得越发短缺,目前解决这个问题用的最多的方式是使用网络地址转换。

使用网络地址转换时,需要理解私有地址的概念。IP地址中有一种分类方法,把IP地址分为私有地址和公有地址。公有地址是由互联网服务提供商(ISP)分配的,可以在全球范围内直接访问互联网的IP地址。每个公有地址在全球范围内都是唯一的,确保设备能够被准确识别和定位。私有地址任何组织和个人都可以使用,但是不能在因特网上通信,只能在内网使用,IP地址中的A、B、C三类地址中预留了一部分地址作为私有地址。

A类:10.0.0.0~10.255.255.255

B类:172.17.0.0~172.31.255.255

C类:192.168.1.0~192.168.255.255

网络地址转换NAT是对数据包中的IP地址进行转换,在私有网络使用私有地址,出口设备部署NAT,配置公有地址,将私有网络转换为公有地址进行对外访问。

NAT和DHCP 的区别是什么?  第7张

下图中给出了在防火墙上进行NAT转换的基本原理。私有网络要访问公有网络,需要通过NAT转换设备(比如:防火墙),将私有地址转换为公有地址,才能访问到公有网络。

NAT和DHCP 的区别是什么?  第8张

PC1要访问互联网上的服务器,发起的数据报:源地址192.168.1.1,目的地址222.172.2.2。数据报经过防火墙设备,使用NAT转换,将私有地址转换为公有地址,改写了访问的源地址,此时数据报变为:源地址187.28.1.1,目的地址:222.172.2.2。服务器收到数据报后,发出应答:源地址222.172.2.2,目的地址187.28.1.1,此时服务器并不知道PC1的私有地址,防火墙收到服务器发送的数据报后,进行地址转换,转换后为:源地址222.172.2.2,目的地址192.168.1.1,发送给PC1。

NAT的类型有很多,比如:静态NAT、动态NAT,我们采用静态NAT的形式配置,使用抓包工具来看NAT转换的过程。

NAT和DHCP 的区别是什么?  第9张

在上述拓扑中,在NAT设备上配置静态NAT。将私有网络中PC1的私有地址192.168.1.1转换公有地址187.28.1.3。

interface GigabitEthernet0/0/2

ip address 187.28.1.1 255.255.255.0

nat static global 187.28.1.4 inside 172.16.1.1 netmask 255.255.255.255

nat static global 187.28.1.3 inside 192.168.1.1 netmask 255.255.255.255

#

PC1发起对服务器的访问,通过抓包可以看到源地址192.168.1.1,目的地址222.172.2.2。

NAT和DHCP 的区别是什么?  第10张

在NAT设备进行NAT转换,可以看到源地址187.28.1.3,目的地址222.172.2.2

NAT和DHCP 的区别是什么?  第11张

在NAT设备看到NAT的会话信息,源地址192.168.1.1转换为了源地址187.28.1.3。

NAT和DHCP 的区别是什么?  第12张

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/04/12700.html

分享给朋友:

相关文章

B 站上有哪些很好的学习资源?

B 站上有哪些很好的学习资源?

前!方!高!能!精选了多位学习Up主,不乏百万粉丝的大V,还有超多珍贵的学习资源推荐。 进了小破站,完全不用担心学完了该怎么办?因为根本学不完啊!!!B站的学习干货实在太多了! 语言学习葉子先生酱 https://space.bilib…

拼多多,怎么就成为了年轻人的「赛博菜市场」?

拼多多,怎么就成为了年轻人的「赛博菜市场」?

可惜你不在拼多多买水果蔬菜,很难一句话跟你解释,我只能笨拙的用经历来慢慢讲。 我们公司有微波炉,同事们几乎都是自己带饭来上班,便当荤素搭配、水果零食;都是好看又好吃。 我自己本来就不喜欢外卖,当然也加入了带饭大军: 直到某一天深夜我闲着…

如何做电商行业?

如何做电商行业?

“如何做电商*开网店”跟“如何找老婆”一样,没概况条件、没明确标准,就是扯犊子。 我把话题具体一点说: 具备“两三万”启动资金、掌握“选品+上架优化”基础技能,小则月入三五千、多则上万。跟摆地摊一样,有进货的钱、也不怕苦不怕累、稍微有点生意…

抖音上有一些账号搬运别人的视频,几乎一模一样,也没判搬运,他们是怎么做到的??

对于任何短视频平台来说,如何用最低的成本快速实现伪原创搬运都是需要解决的问题。 所有的短视频平台,包括抖音、快手、tiktok、视频号、小红书、B站,甚至是FB、推特、INS、YouTube,它们的查重技术都是类似的,只要你在网络环境设置得…

什么样的网站能快速捕获你的心?

什么样的网站能快速捕获你的心?

大家好,我是程序员鱼皮。 大家如果平时使用网站或产品时出现了问题,一般都会去寻找 “联系客服” 的位置,从而获得人工的帮助。我们团队的面试刷题产品 - 面试鸭最近就遇到了这样一个难题:明明我们网站右下角就有联系客服按钮、而且我们每道面试题目…

在 Kubernetes 中,Service 的实现原理是什么,它是如何实现服务发现的?

行,问的这个问题挺有意思,Kubernetes 里 Service 是怎么实现的,服务发现是怎么回事,咱就直说了。这事儿看起来挺玄乎,但掰开揉碎了讲,也就那么回事。你得把这事儿想得简单点,别一上来就被啥术语吓住了——其实全是些搬砖的套路。…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。