有段时间我面试程序员时,喜欢问这个问题:局域网IP有哪些IP段?由这个问题再追问NAT(网络地址转换)。 
 
 
 
可以看出在底层和协议设计中,字段的扩大是非常麻烦的。IP地址也有类似问题。目前广泛使用的是IPv4,一个IP地址4个字节,理论上共有2^32个IP地址,接近43亿。这个数量还不到人均一个,远远不够,自然也不能每个设备一个公网IP了,所以Internet规定了IPv4地址空间的一部份供专用地址使用,这些地址永远不会被当做公用地址来分配,局域网内部IP就是使用这些专用地址。
 
Internet规定的专用地址有:10.x.x.x,172.16-31.x.x,192.168.x.x,另外127.0.0.1表示本地回环地址,代表设备的本地虚拟接口。
 
了解这个后,如果你发现你在公司的IP是192.168.0.100,在家里的IP也是192.168.0.100时,就不会诧异了。局域网内部IP只用于局域网内部通讯,要连接广域网,还要用到NAT(网络地址转换)技术。
 
NAT常用于局域网内部IP和局域网分配的公网IP之间进行转换,使用最多的是端口多路复用(PAT)方式,简单的描述就是,你在局域网内访问百度时,路由器会记录你的内网IP和端口(假设是192.168.0.100:12345),用路由器的公网IP和一个未使用的端口向公网发网络包(假设是202.96.134.133:23456),路由器还会把202.96.134.133:23456~192.168.0.100:12345配对保存起来。当百度的响应发到202.96.134.133:23456后,路由器通过查找配对表就知道是发给192.168.
        为什么不是每个设备一个公网IP?
先说个关于QQ的小故事,最早开发QQ时,小马哥他们也没想到QQ会发展成中国互联网基础设施,就用4字节整形表示QQ号了。早期内部的一些项目有用int表示QQ号,能表示的最大值是2^31-1,即21亿多。在QQ号发放近20亿时,腾讯内部搞了个22亿QQ号测试,要求每个项目检查整改,使用unsigned int表示QQ号,以支持21亿以上的QQ号。随着QQ号的不断增长,迟早会超出4字节的范围,那时估计得启动int64转换了。可以看出在底层和协议设计中,字段的扩大是非常麻烦的。IP地址也有类似问题。目前广泛使用的是IPv4,一个IP地址4个字节,理论上共有2^32个IP地址,接近43亿。这个数量还不到人均一个,远远不够,自然也不能每个设备一个公网IP了,所以Internet规定了IPv4地址空间的一部份供专用地址使用,这些地址永远不会被当做公用地址来分配,局域网内部IP就是使用这些专用地址。
Internet规定的专用地址有:10.x.x.x,172.16-31.x.x,192.168.x.x,另外127.0.0.1表示本地回环地址,代表设备的本地虚拟接口。
了解这个后,如果你发现你在公司的IP是192.168.0.100,在家里的IP也是192.168.0.100时,就不会诧异了。局域网内部IP只用于局域网内部通讯,要连接广域网,还要用到NAT(网络地址转换)技术。
NAT常用于局域网内部IP和局域网分配的公网IP之间进行转换,使用最多的是端口多路复用(PAT)方式,简单的描述就是,你在局域网内访问百度时,路由器会记录你的内网IP和端口(假设是192.168.0.100:12345),用路由器的公网IP和一个未使用的端口向公网发网络包(假设是202.96.134.133:23456),路由器还会把202.96.134.133:23456~192.168.0.100:12345配对保存起来。当百度的响应发到202.96.134.133:23456后,路由器通过查找配对表就知道是发给192.168.

                  
                  
                  
                  
本文探讨了为何不为每个设备分配公网IP,深入解析DNS的工作原理,并介绍了CDN在网络性能优化中的作用。通过理解这些核心概念,提升作为主程的专业技能。
          
最低0.47元/天 解锁文章
                          
                      
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
              
            
                  
					1238
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
            


            