本文重在介绍下一代IP的基本知识,介绍了IPv6包的形状及采用IPv4 和IPv6的设备与网络如何协同工作,还简要描述了IPv6新的安全特性。
IPv6 新视野
精选 转载本文重在介绍下一代IP的基本知识,介绍了IPv6包的形状及采用IPv4 和IPv6的设备与网络如何协同工作,还简要描述了IPv6新的安全特性。
地址数量大大增加
IPv4采用32位地址空间,可以提供约42亿个地址。虽然数目巨大,但该协议的开发人员当时并未料到因特网发展会如此迅速。虽说网络地址转换(NAT)和无类域间路由(CIDR)等技术会使IPv4的使用寿命延长几年,但迟早IPv4会跟不上因特网的发展需求。
IPv6的128位地址空间有望带来大得常人无法想象的空间。那么究竟有多少个地址呢?大约655,570,793,348,866,943,898,599个。 IPv6除了地址数量多得多外,IPv6还弃用了IPv4采用的熟悉的“点分四元组”格式(如193.10.10.154)。相反,IPv6采用十六进制符号,以冒号取代了圆点。FEDC:BA98:7654:3210:FEDC:BA98:7654:3210地址结构就是一个虚假的例子。
报头结构
虽然IPv6报头的字节长度两倍于IPv4报头(40个字节与20个字节),但IPv6拥有简化的报头结构。
IPv6报头有8个字段,IPv4则有14个。IPv6丢弃及改用了IPv4报头字段中的几个,从而使包处理更有效率。下面比较一下两种报头。Version(版本)字段在两种协议中没有变化。IPv6丢弃了IPv4的Internet Header Length(因特网报头长度)、Type of Service(服务类型)、Identification(识别)、Flags(标志)、Fragment Offset(分片偏移量)和Header Checksum(报头校验和)字段。Total Lenght(总长度)、Time to Live(生存时间)和Protocol(协议)字段在IPv6中有了新名字,功能稍微进行了重新定义。IPv4中的Option(选项)字段已从报头中消失,改为Extension(扩展)功能。
最后,IPv6加入了两个新字段:Traffic Class(流量类别)和Flow Label(流标记)。分别介绍一下IPv6包的每个报头字段。Version:Version字段的长度仍是4位,它指明了协议版本号。
Traffic Class:这个8位字段可以为包赋予不同的类别或优先级。它类似IPv4的Type of Service字段,为差异化服务留有余地。
Flow Label:Flow Label字段是IPv6的新增字段。源节点使用这个20位字段,为特定序列的包请求特殊处理(效果好于尽力转发)。实时数据传输如语音和视频可以使用Flow Label字段以确保QoS。
Payload Length:这个16位字段表明了有效载荷长度。与IPv4包中的Total Length字段不同,这个字段的值并未算上IPv6的40位报头。计算的只是报头后面的扩展和数据部分的长度。因为该字段长16位,所以能表示高达64KB的数据有效载荷。如果有效载荷更大,则由超大包(jumbogram)扩展部分表示。
Next Header:这个8位字段类似IPv4中的Protocol字段,但有些差异。在IPv4包中,传输层报头如TCP或UDP始终跟在IP报头后面。在IPv6中,扩展部分可以插在IP报头和传输层报头当中。这类扩展部分包括验证、加密和分片功能。Next Header字段表明了传输层报头或扩展部分是否跟在IPv6报头后面。
Hop Limit:这个8位代替了IPv4中的TTL字段。它在经过规定数量的路由段后会将包丢弃,从而防止了包被永远转发。包经过一个路由器,Hop Limit字段的值就减少一个。IPv4使用了时值(time value),每经过一个路由段就从TTL字段减去一秒。IPv6用段值(hop value)换掉了时值。
Source Address:该字段指明了始发主机的起始地址,其长度为128位。
Destination Address:该字段指明了传输信号的目标地址,其长度为128位。网络人员可能会惊讶地发现校验和与分片字段从IPv6的报头当中消失了。
IPv4和IPv6的集成
虽然人们希望IPv4一下子变成IPv6,但两种协议必须协同工作,就算IPv6完全取代IPv4,那可能也是多年以后的事了。因而,有人提出了过渡方法以确保IPv4包不受制于IPv6设备,反之亦然。这些方法包括双堆栈和隧道技术。双堆栈方法很简单。
新的IPv6设备能够与IPv4向后兼容,而IPv4设备可以用IPv4和IPv6协议栈进行编程,以便合适地处理各自的包。采用双堆栈的主机能收发IPv4和IPv6数据,采用双堆栈的路由器则可以转发任何一种包。隧道方式通过IPv4网络在两个IPv6域之间传送包。为此,双堆栈节点利用IPv4报头封装IPv6包。然后该封装包通过IPv4网络(隧道)进行路由,直至到达第二个IPv6域。第二个节点去掉IPv4报头后,对包进行相应处理。
隧道的配置分手工和自动方式。手工配置需要网络管理员在隧道端点定义IPv4到IPv6的地址映射。虽然IPv6的128地址通常可以用于隧道任何一端,但隧道入口点的路由器必须手工配置,限定哪些IPv4地址可以通过隧道。
自动配置使用与IPv4兼容的地址:在32位地址的基础上添加0以凑足128位。如果IPv6节点使用兼容地址,隧道入口的路由器只须去掉多余的0,就可以显示真实的IPv4地址。一旦包通过隧道,隧道出口的节点就会去掉IPv4报头,以显示真实的IPv6地址。
保护措施
IP数据报有可能被截取,数据也有可能被读取及篡改。因而,IPSec通过验证和加密以保护IP包。因为IPSec是在IPv4问世后一段时间开发的,支持IPSec的功能就要结合到IPv4包内。相比之下,借助于扩展报头这种设计,IPv6能够支持IPSec。
验证报头扩展部分能够帮助管理员证实:包的确来自报头内的源地址。这应该有助于防止地址欺骗,地址欺骗是指这种技术:攻击者伪造源地址,使包看上去让人以为它来自合法或可信地址。如果接收者没有相应的密钥还原数据,名为封装安全有效载荷(ESP)服务的加密扩展部分就认为包的有效载荷数据无效。加密为保密和数据验证提供了一种措施。管理员可以选择只对包的传输和数据有效载荷或者整个包(包括报头和扩展部分)进行加密。如果整个包进行了加密,就必须给包添加另外的未加密报头,以便能够到达目的地。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
IPV6
SDFG
ipv6 SGSGF
















