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
为何要舍近求远…
相关标签: