首页 > 其他分享 >IPv4与IPv6的简单联系与区别

IPv4与IPv6的简单联系与区别

时间:2022-09-27 07:44:05浏览次数:45  
标签:十六进制 区别 32 网络 地址 IPv4 IPv6

IPv4与IPv6的简单联系与区别

网际协议版本4,(Internet Protocol version 4,IPv4),IPv4是互联网的核心,是网际协议开发过程中的第四个修订版本,也是使用最广泛的网际协议版本。

IPv4使用32位(4字节)地址,随着地址不断被分配给最终用户,IPv4地址枯竭问题也在随之产生,在2011年2月3日,在最后5个地址块被分配给5个区域互联网注册管理机构之后,IANA的主要地址池已经用尽,这些限制刺激了仍在开发早期的IPv6的部署。

我们将IPv4的地址分为五个类别:A、B、C、D和E。A、B和C类有不同的网络类别长度,剩余的部分被用来识别网络内的主机,这就意味着每个网络类别有着不同的给主机编址的能力。D类被用于多播地址,E类被留作将来使用。

 

互联网协议第6版,(Internet Protocol Version 6,IPv6),是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议。截至2022年8月8日,我国IPv6互联网活跃用户数达6.93亿,移动网络IPv6流量占比突破40%。
IPv6的地址长度为128位,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。

IPv6协议主要定义了三种地址类型:单播地址(Unicast Address)、组播地址(Multicast Address)和任播地址(Anycast Address)。与原来在IPv4地址相比,新增了“任播地址”类型,取消了原来IPv4地址中的广播地址,因为在IPv6中的广播功能是通过组播来完成的。

IPv6有3种表示方法。
一、冒分十六进制表示法
格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
二、0位压缩表示法
在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:
FF01:0:0:0:0:0:0:1101 → FF01::1101
三、内嵌IPv4地址表示法
为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1与::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用。

 

与IPV4相比,IPV6具有以下几个优势:
一、IPv6具有更大的地址空间。IPv4中规定IP地址长度为32,最大地址个数为2^32;而IPv6中IP地址的长度为128,即最大地址个数为2^128。与32位地址空间相比,其地址空间增加了2^128-2^32个。
二、IPv6使用更小的路由表。IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
三、IPv6增加了增强的组播(Multicast)支持以及对流的控制(Flow Control),这使得网络上的多媒体应用有了长足发展的机会,为服务质量(QoS,Quality of Service)控制提供了良好的网络平台。
四、IPv6加入了对自动配置(Auto Configuration)的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。
五、IPv6具有更高的安全性。在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,在IPV6中的加密与鉴别选项提供了分组的保密性与完整性。极大的增强了网络的安全性。

 

标签:十六进制,区别,32,网络,地址,IPv4,IPv6
From: https://www.cnblogs.com/mypfit/p/16732624.html

相关文章

  • 接口、抽象类区别
    接口、抽象类区别抽象类跟接口的区别......
  • IPV4与IPV6的区别
    地址的区别: IPV4协议长度为32位(4个字节)。地址由网络和主机部分组成,这取决于地址类。根据地址的前几位,可定义各种地址类:A、B、C、D或E。IPv4地址的总数为429496......
  • python2和python3区别
    区别1:python2中需要用户自己制定数据类型,写什么类型就是什么数据类型,写字符串要加双引号。python3中不管什么数据类型都会转成字符串。python中的raw_input与python3......
  • Cookie和Session的关系和区别
    4.请简述Cookie和Session的区别4.1什么是CookieHTTP是无状态协议,他不能以状态来区分和管理请求和响应。也就是说服务器但从网络连接上无从知道客户身份。所以服务端给每......
  • jQuery中使用过哪些插入节点的方法?他们的区别是什么
    append(),appendTo(),prepend(),prependTo(),after(),insertAfter()before(),insertBefore() 大致可以分为内部追加和外部追加append()表式向每个元素内部追加内容。......
  • jQuery与Zepto的区别
    1、Zepto更轻量级2、Zepto是jQuery的精简,针对移动端去除了大量jQuery的兼容代码3、部分API的实现方式不同1、针对移动端程序,Zepto有一些基本的触摸事件可以用来做触摸屏......
  • jquery.extend 与 jquery.fn.extend的区别
    jquery.extend(object);为扩展jQuery类本身.为类添加新的方法。2.jquery.fn.extend(object);给jQuery对象添加方法。$.extend({    add:function(a,b){returna+b;}}......
  • split() join() 的区别
    split是字符串的方法,将字符串按照特定标志分割成数组例:“u&s”.split(“&”)------ [“u”,”s”]join:是数组方法,将数组按标志组合成字符串 [“u”,”s”].join(“-......
  • 函数声明和函数表达式声明的区别
    函数声明:sum();//10functionsum(){console.log(10)}表达式声明   s();//报错sisnotafunction   vars=function(){console.log(20)}在预解析的过......
  • alpha、beta、rc各版本区别
    很多软件在正式发布前都会发布一些预览版或者测试版,一般都叫“beta版”或者“rc版”,特别是开源软件,甚至有“alpha版”,下面来解释一下各个版本的意思。alpha版:内部测试......