IPv6和IPv4的表示方式

        IPv6和IPv4的表示方式 
  在使用ip地址的时候,经常会听到IPv6和IPv4
  那么他们的区别在哪里?
 
  一开始的时候,是只有IPv4地址,IPv4地址只有32位,可以使用,使用的是二进制计数,但是在记录的时候采用十进制点分法分为四段,比如127.0.0.1,他表示的就是00001111.00000000.00000000.00000001。
 
  如此一来,IPv4的方案可以有2^32个(也就是四十多亿个地址)不同的地址,在一开始的时候还是够用的,但是随着互联网发展至今,IPv4地址已经不能满足人们的需求了,虽然也采用过NAT的方式减缓IPv4地址的消耗,但是现在我们不得不推出一种新的记录IP地址的方式,那就是IPv6地址
  插句题外话,十进制转换成二进制是很麻烦的,所以下面IPv6采用了十六进制的方式来表示。
  如果我们足够细心,可以发现很多app的启动页面都是有一行小字“支持IPv6网络”。
  IPv6具有128的长度,也就是说可以有2^128次方的不同的IP地址,可以满足现阶段网络发展的需求。IPv6地址采用冒号转换的十六进制
  这128个二进制数字太长了,但是我们知道一个十六进制的数字可以代替四个二进制数字,所以我们用32个十六进制数字来表示一个IPv6地址,而且分为八段,每段四个数字。
  比如我现在随便写一个IPv6地址,给出下面这么一行IPv6地址
  0000:0000:0000:00c0:0090:0010:0000:0001(我随手打的)
  这里字母对应的数字分别是a-f 对应10-15,比如a对应10,b对应11,c对应12……
  这样看似乎太长了,我们可以对这段IPv6地址进行化简,化简规则是:1.每段如果前几位全是0,可以不写
  2.如果连续几段都是0000,可以省略成::,但是只能出现一次
化简成::c0:90:10:0:1(这里有6个冒号,原式有7个,前三个冒号其中一个被省略了)
  在我们想拓展为128个二进制数字的时候,把这每位上的数字或者字母化成对应的4个二进制数字,然后按顺序排列就好了
  
  
  
posted @   Saybw  阅读(970)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示