写在最前面欢迎回来嘿小朋友又见面啦我们之前一起学习了CIDR知道了旧时代死板分类的问题A 类、B 类、C 类很浪费但是你问了一个超级聪明的问题既然 A 类有 1600 万个 IP那能不能让好多公司一起用一个 A 类网络 哇这是一个超级好的问题说明你真的在思考听起来很有道理啊1600 万个 IP分给 1000 家公司每家1.6 万个多好啊不浪费了但是……真的可以这样吗为什么没人这么做这里面有什么秘密今天我们就要揭开这个秘密讲完后你会恍然大悟“哦原来 IP 不是想分就能分的背后有大学问” 准备好了吗让我们一起出发第一章先想想一个有趣的问题在讲技术之前让我先问你一个好玩的问题你们小区怎么收快递想象一下你家地址阳光小区3 号楼502 室朋友家地址月亮小区5 号楼301 室快递员怎么送很简单先到阳光小区再找 3 号楼再上 5 楼找到 502关键来了地址要连续注意一个超级重要的事同一个小区的房子地址都是连在一起的阳光小区1 号楼到 10 号楼都在阳光小区没有跑到月亮小区的如果阳光小区的 3 号楼跑到月亮小区里会怎样快递员疯了“啊阳光小区 3 号楼怎么在月亮小区里我送哪里”乱套了IP 地址也一样网络里也是这样同一个网络的 IP必须连续这就是关键让我们深入了解第二章先回顾一下 IP 地址的分类在讲为什么不能分给好多公司前先回顾一下 A、B、C 类A 类网络A 类网络前 8 位是网络后 24 位是主机例子10.0.0.0到10.255.255.255主机数1600 多万个就像一个超级大城市有 1600 万户人家️B 类网络B 类网络前 16 位是网络后 16 位是主机例子172.16.0.0到172.16.255.255主机数65000 多个就像一个中等城市有 6 万多户人家️C 类网络C 类网络前 24 位是网络后 8 位是主机例子192.168.1.0到192.168.1.255主机数254 个就像一个小区有 254 户人家关键问题来了你的问题能不能把 A 类的 1600 万个 IP分给好多公司听起来很合理省 IP但是……有大问题让我们一步一步看第三章路由器的烦恼要理解为什么不能分给多个公司先要了解路由器路由器是干什么的路由器是网络的邮递员它的工作就是收到数据包看看要送到哪然后送过去就像快递员收到包裹看地址送到目的地路由器怎么找路路由器有一本路线本叫**“路由表”**路由表像这样目的地走哪条路10.0.0.0/8走第 1 条线172.16.0.0/16走第 2 条线192.168.1.0/24走第 3 条线很简单收到包查表送出去关键一个网络一条路注意一个超级重要的事一个网络只能走一条路为什么因为路由器要做决定收到包它要知道走哪边如果同一个网络有两条路路由器懵了“啊走左边还是右边”会出大问题第四章分给多个公司的灾难现在让我们看看你的提议把 A 类网络分给多个公司假设的场景假设有一个 A 类网络10.0.0.01600 万个 IP分给 3 家公司公司 A在北京10.0.0.1到10.99.99.99约 500 万个公司 B在上海10.100.0.0到10.199.99.99约 500 万个公司 C在广州10.200.0.0到10.255.255.255约 500 万个听起来很美好但是问题来了……路由器疯了互联网的核心路由器收到一个数据包目的地 10.50.0.5路由器查路由表“10.0.0.0/8 走哪条路”糟糕A 类网络分给了 3 家公司北京的公司有 10.50.0.5 吗有可能上海的公司有 10.50.0.5 吗有可能广州的公司有 10.50.0.5 吗有可能路由器懵了“我该走哪条路北京上海广州”一个生动的比喻想象邮递员送信信封地址“北京路 100 号”但是北京、上海、广州都有**“北京路 100 号”**邮递员“啊我送哪个”乱套了信件永远送不到这就是大问题如果A 类网络分给多个公司问题一同一个 IP 地址可能在多家公司重复问题二路由器不知道往哪送乱套问题三数据包可能送错地方严重错误解决办法必须连续所以一个网络只能给一家公司所有 IP 必须连续这样路由器才能正确转发是不是恍然大悟第五章为什么 IP 必须连续让我们再深入一点为什么 IP 必须连续路由的奥秘路由器判断 IP 走哪条路是看 IP 的前面几位比如前 8 位是 10走北京公司这要求所有 10.x.x.x 都在北京公司不能有 10.50.0.5 跑到上海否则路由器没办法用前缀判断一个更生动的比喻想象邮政编码100000-199999北京200000-299999上海邮递员看前面的数字就知道送哪简单如果100050 在北京100051 在上海……邮递员崩溃了邮政编码必须连续IP 地址也必须连续用前缀判断的好处路由器用**前缀判断**收到 10.x.x.x前缀是 10走北京收到 172.16.x.x前缀是 172.16走上海简单又高效但是前提是前缀相同的 IP 必须在同一个地方这就是路由的基础整个互联网就是靠这个原理工作前缀相同 同一个地方如果打破这个规则整个互联网会崩溃第六章但是真的不能分吗等等你可能会问“那不就是浪费了吗真的没办法吗”好问题其实有办法就是子网划分和 CIDR让我们看看大公司可以再分虽然A 类网络要给一家公司但是那家公司可以再分比如公司 A拿到了10.0.0.0/81600 万个 IP公司 A觉得太多自己分研发部10.1.0.0/166.5 万个 IP销售部10.2.0.0/166.5 万个 IP财务部10.3.0.0/166.5 万个 IP等等……这叫子网划分关键还是连续的注意研发部、销售部、财务部前缀都是 10外面的路由器只看前 8 位10走公司 A进了公司 A 内部再细分就像快递员先送到小区门口再分配到各栋楼️但是问题还在虽然可以子网划分但是一家公司只要 1000 个 IP给一整个 A 类还是浪费1600 万个 IP只用 1000 个剩下的全闲着真正的解决办法CIDR这就是为什么发明了 CIDRCIDR精准给 1024 个不多不少用 /22正好 1024 个 IP这才是终极解决方案第七章路由聚合的智慧让我们再讲一个超级聪明的智慧叫**“路由聚合”**路由器的烦恼互联网的核心路由器记着全世界的路由如果每家公司一条记录……几亿条路由器扛不住聚合的妙用聪明的做法把附近的网络聚合比如美国西部的网络1.1.0.0/241.2.0.0/241.3.0.0/24……聚合成1.0.0.0/8走美国西部一条记录代替几百条关键连续才能聚合注意只有连续的网络才能聚合如果1.1.0.0 在美国1.2.0.0 在欧洲……没法聚合所以IP 分配必须连续这样才能聚合路由器才能轻松一个生动的比喻想象学校点名不聚合“1 号在2 号在3 号在…100 号在”念100 次聚合“1-100 号都在”念1 次前提1-100 号要连续坐不能 1 号在教室50 号在操场IP 分配也一样连续才能聚合第八章完整的故事让我们用一个故事把所有道理串起来故事邮递员小邮的烦恼很久很久以前数字王国有一个邮递员叫小邮小邮负责全国送信早期的好日子早期国王规定北京邮编 100000-199999上海邮编 200000-299999广州邮编 500000-599999很简单小邮看前面的数字就知道送哪国王的新主意有一天国王想“上海的邮编没用完把一部分给北京吧”国王重新分配北京100000-199999加250000-260000上海200000-249999加261000-299999听起来很省但是……小邮崩溃了小邮收到信邮编 255000小邮“啊这是北京还是上海”查表查啊查……找到了这是北京的但是送信变慢了每次都要查很久而且经常出错信送错地方国王恍然大悟国王明白了“邮编必须连续否则邮递员崩溃”重新规定每个城市的邮编必须连续不能交叉小邮又快乐起来了但是浪费怎么办国王想到一个办法精准分配北京只要 10 万个邮编就给 100000-19999910 万个不多给上海只要 5 万个就给 200000-2499995 万个不多给这就是 CIDR 的智慧故事的启示这个故事告诉我们地址必须连续否则路由乱套精准分配不浪费这就是 CIDR 的伟大第九章现实中的解决方案让我们看看现实中怎么解决这个问题解决方案一CIDR 精准分配CIDR 让分配可以精准到 1 个 IP1000 个 IP 的公司给 /221024 个几乎不浪费解决方案二私有 IP很多公司只是内部用 IP不需要全球唯一用私有 IP10.0.0.0/8A 类私有172.16.0.0/12B 类私有192.168.0.0/16C 类私有所有公司都可以用相同的私有 IP互不干扰这就是为什么很多公司都用 192.168.1.x解决方案三NAT 转换私有 IP 不能直接上网怎么办用 NATNAT把私有 IP 转换成公网 IP全家共用一个公网 IP这就是为什么几亿台电脑只用 40 多亿个公网 IP还够用解决方案四IPv6最终极的方案IPv6IPv6128 位地址地址数量是天文数字多到什么程度给地球上每粒沙子都能分一个 IP️永远不会不够第十章让我们回顾一下为什么不能把 A 类网络分给多个公司我们用一句话总结因为 IP 地址必须连续同一个网络的 IP 不能分散在不同地方否则路由器会崩溃整个互联网会乱套核心要点关键原因路由器靠前缀找路必要条件IP 必须连续如果不连续路由器崩溃找不到路结果整个互联网乱套几个重要概念路由表路由器的路线本前缀IP 的地区代码路由聚合把多个网络合并必须连续才能聚合解决浪费的办法✅办法一CIDR 精准分配✅办法二私有 IP NAT✅办法三IPv6 海量地址一句话精髓IP 不是想分就能分必须连续才能让路由器正确工作记忆口诀路由靠前缀IP 要连续不连续就乱套CIDR 来精准分第十一章今天的智慧亲爱的小朋友让我们一起总结一下今天学到的智慧智慧一好问题最重要你问为什么不能分给多个公司这是超级好的问题这告诉我们敢于质疑敢于思考才能学到真知识智慧二表面合理不一定真合理分给多个公司听起来很合理但是会导致路由崩溃这告诉我们做事不能只看表面要看深层影响智慧三规则背后有原因IP 必须连续不是随便定的是为了路由能工作这告诉我们规则背后都有原因理解原因才能真正掌握智慧四浪费可以解决虽然 IP 浪费过但是有办法解决CIDR、私有 IP、IPv6这告诉我们遇到问题别怕总有办法解决智慧五连续比分散好连续才能聚合才能高效这告诉我们集中比分散好整合比分裂好最后的话亲爱的小朋友下次当你思考网络问题时请记得你提的问题超级好说明你在认真思考这种思考精神最珍贵每一次你质疑每一次你思考每一次你追问你都离真理更近一步这就是学习的乐趣“好的问题比答案更重要因为它打开了思考的大门。”“IP 地址必须连续就像故事必须有逻辑——这是世界运转的规律。”“理解了为什么不能这样做你就理解了整个互联网的设计智慧。”✨那些让互联网能稳定运转的奇迹那些让数据能准确传输的秘密那些让 40 亿 IP 还能用的智慧背后都依靠这些精妙的规则都是让数字世界稳定可靠这个伟大梦想的完美实现。下次有人问你“为什么 A 类网络不能分给多家公司”你就可以自信地说“因为 IP 必须连续否则路由器会崩溃这是互联网的基本规则”“在数字世界里规则不是限制而是让一切运转的基础。”“理解规则的原因就是理解世界的智慧。”恭喜你又毕业了你提出了一个超级好的问题也理解了背后的深层原因这才是真正的学习下次再见时我们一起去探索更多有趣的网络秘密✨