NAT和DHCP 的区别是什么?主机通过DHCP获取 IP等信息,为何需要同DHCP服务器四次交互?

作者:车小胖
链接 https://www.zhihu.com/question/66893227/answer/247064255

NAT和DHCP 的区别是什么?

TCP/IP协议之所以最终打败对手,傲视群雄,一个不得不提的协议就是DHCP。如果没有DHCP,TCP/IP协议在初始化过程中,需要用户提供IP地址、网络掩码、默认网关、DNS服务器,以此来完成各个协议模块的初始化工作,对于广大用户来说,这绝对是一种很糟糕的体验,那个掩码是啥?而有了DHCP,TCP/IP协议在初始化时,会自动调用DHCP模块,DHCP通过广播的方式去发现(Discover)DHCP服务器,如果本广播域没有服务器,通常会在网关上配置一个DHCP Relay + DHCP 服务器IP,一句话,肯定可以找到一个可以分配IP(Offer)的服务器。通过四次消息交互,最后电脑获得了所有上网的的IP参数,IP地址、网络掩码、默认网关、DNS服务器,TCP/IP所有模块完成初始化,比如IP模块、DNS模块。用户无需任何配置即可上网,这是TCP/IP对用户友好的一面。但一般企业网、家庭网络,DHCP服务器分配给电脑的都是私有IP,诸如 10/8、172.16/12、192.168/16,这些私有IP在企业网内部还可以混混,但不能到Internet上去浪。这就好比国人持有身份证(私有IP)只能国内旅游,但要出国必须使用护照,护照(公网IP)是国际通用的身份标识。所以必须在企业网与Internet的边界网关(海关),做私有IP与公网IP的转换(NAT),由于公网IP可能只有一个或几个,需要使用NAT网关的端口号来识别一个个用户session,如果这个地方看不懂,可以参考数据库的组合键。https://www.zhihu.com/question/66553828/answer/244123563
需要指出的是,NAT的存在使得网络变的更复杂,使得一些多通道应用(比如FTP)、应用层嵌入私有IP的协议(比如SIP)无法正常工作,需要引起足够的重视。这些我的电子书都有,甚至更详细,https://www.zhihu.com/publications/book/119554662

主机通过DHCP获取 IP等信息,为何需要同DHCP服务器四次交互?

首先client一开始是什么都不知道,所以肯定得一个广播去问,然后收到广播的server就给client发offer,但是server不知道client要不要啊,不要还得给别人呢,所以client必须要确认offer,但是这个offer有可能在client确认之前就已经失效了,所以server要告诉client这个offer是否依然有效,如果offer有效那么client就可以用这个ip了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值