身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)

小编:大闷头 更新时间:2022-04-30

身份证号码里的小秘密

你多半已经知道,身份证号码不是瞎编的,里头第7位到第14位是你的出生年月日。

身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)


但除此之外,其他每一位数字都是有含义的。


前六位代表地区,比如华北地区是1开头,其中北京市是11开头,天津是12开头,河北省是13开头。


华中地区是4开头,其中河南是41,湖北是42,湖南是43。


华东地区是3开头,上海是31,山东是37。


第3、4、5、6位代表更具体的行政地区,精确到地级市、县级市。


身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)


之后是你的出生年月日。


再之后的四个数字代表什么?

代表和你同年同月同日同地出生的小孩里头,你是第几位。

身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)


其中,第17位数字是奇数代表男生,是偶数就代表是女生。


身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)


还剩一位数是什么?

它不代表什么,它是用前面17位数经过一个乱七八糟的计算得到的数字。


身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)

有些人的这一位数字是X,是因为计算出来的结果是10,但是如果用10,身份证就会变成19位,不好管理,所以就改用X。


这个数字叫“校验码”。


顾名思义:你去办一个业务,对方跟你要身份证号,你不想告诉他,就随口瞎编了一个身份证号给他,或者改掉了其中一位或者几位数字,你以为可以蒙混过关。

结果别人往电脑里一输入,一算,校验码对不上。


身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)


这样一来,通过校验码,对方不需要去公安局查你的身份证号,单凭一个号码,立马知道你是不是瞎编的一个身份证号。


所以下次你如果想瞎编身份证号,记得先算一遍校验码。


这个校验码的具体计算方法并不是什么秘密,在百度百科的“居民身份证号码”此条里就有。


IP地址里的小秘密

地球上每一个联网的东西,比如你的电脑、手机,它们都有一个IP地址,相当于它在网络世界的身份证,不过IP地址不是固定的,所以是临时身份证。


IP地址有IPv4和IPv6,就相当于第一代身份证号和第二代身份证号的关系(第一代身份证号是16位,第二代身份证号是18位)。


一个典型的IP地址长这样:220.181.38.148,这个IP地址是百度baidu.com的。


身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)


和身份证一样,IP地址的数字里也有一定规律和含义。


IPv4的地址,由三个小数点,隔成四个数,每一个都在0到255之间,理论上一共有四十多亿个IP地址。


为什么是255呢?


因为计算机的世界里都是用2进制来表示数字的,IP地址也是一样。


IPv4的地址是一个32位的二进制数字,4组,每一组8位。


每一组最小的是000000000(8个0)也就是0,最大的是11111111(8个1)也就是255,所以是0~255。


身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)


身份证要划分地区,IP地址也要分类,在互联网诞生没多久的时候,人们就把它分成ABCD四类。


A类专门给政府和大型企业用,B类专门给中等规模企业用,C类所有人都可以用。


D和E用来作特殊用途,比如测试、研究什么的,以及留作私有地址(总之就是先留着)。


为了区分这几类,就规定:0开头的是A,10开头的是B,110开头的是C,1110开头的是D,11110开头的是E。



身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)


剩下的格子,又分成两部分,一个是网络号,一个是主机号


网络号就有点像是小区的编号,一个企业对应一个网络号,主机号就是具体门牌号,一台机器对应一个主机号。


A类一般是政府机构和大企业,数量比较少,但是里头的机器比较多,所以用7位来表示网络号,用24位来表示主机号。


身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)


B类是中等规模企业,数量稍微多一点,每一个单位里头的机器相对少一点,所以用14位来表示网络号,用16位来表示主机号。

身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)


C类是大家都能用,成千上万的小企业和家庭都来用,需要很多网络号,所以网络号留了21位,但是每一个里头的机器比较少,所以主机号只留了8位。


身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)



这种分类方法比较粗放,一开始还挺好用,但是随着互联网的发展,联网的东西越来越多,IP地址慢慢不够用,就暴露出问题。


比如C类,只有8位主机号,最大也就支持255个主机地址,小企业稍微扩大一点就不够用了。


这就好比,身份证不是有三位数的顺序码么?如果有一天,地球上的人数太多,同一个地区同一天出生的婴儿超过了三位数,那么这个三位数顺序码就不够用了。


但是对小企业来说,C类的不够用,B类的IP地址,16位主机号一共有65025个主机号,对他们来说又太多,占着号不用,有一点资源浪费。


后来就有人提出,干脆咱们也别按照ABCD类这么分了,换一种分法,怎么分呢?


在IP地址后面跟一个数字,比如


192.168.0.32/16

后面跟的这个16就表示,前面16位用来表示网络号,剩下的表示主机号。


身份证号码和IP地址里隐藏的小秘密(身份证号码中隐藏的秘密)


后面数字跟的是几,就表示前面几位数是网络号,剩下的是主机号。


这样一来,你想用多少位来表示网络号都可以。


一个小企业,机器少,就少给主机号几位数;一个大企业,机器多,就多给主机号几位数,这样分配就灵活,而且不浪费资源。


这种分法叫做CIDR(Classless Inter-Domain Routing)翻译过来是:“无类别域间路由”


也是不知道为什么叫这么一个让人看一眼就觉得头大名字。


---


讲完了。


我最近在学习IP地址有关的知识,今天碰巧学到了一个CIDR的概念,所以干脆把我的理解整理出来。


这篇文章其实本来应该叫《通俗解释一下什么是CIDR无类别域间路由》,但是假如我真的用这个标题,并且一上来就讲IP地址知识。


估计下辈子你也不会点进来。