城域网IPv6过渡技术—MAP技术(1)
|
IPv4地址和端口与IPv6地址之间遵循什么映射规则? 这是MAP技术要解决的第一个问题,也是MAP技术的基础。 首先,从IPv4地址和传输层port来看,32bit的IPv4地址容量有限,16bit的传输层端口(Transport port)目前使用不多,因此借用传输层端口来扩展IPv4地址是一个不错的方法,这就是“A+P"的概念。 为了确保用户使用的IP+Port-set的唯一性,需要将port-set进行有序划分。由于传输层端口中有一些已经分配给特定的应用使用(比如80为http,20/21为ftp等),因此建议分配port-set是需要避免使用此类端口。在MAP中,我们将传输层端口号的16bit划分为三部分,A、PSID和M。
关于A和a:因为0-1023是well-known端口区间,在MAP中建议扩展到0-4095(2^12),即建议a(=PSID offset)默认值是4(16-12)。A的取值为非零值,M的取值为任意值。若a=0,则标识全部port区间均可以分配。 关于PSID和k:PSID的长度k决定了共享比率,共享比率值=2^k,即传输层端口可以分成2^k份,每份共享给一个CPE使用,每个共享此IPv4地址的CPE获得一个唯一的PSID,即获得一段唯一的port-set。 关于m:M域的长度m决定了port-set中端口的连续长度,连续长度值为=2^m。 通过这样的划分,可以获得2^k个port-set,每个port-set由唯一的PSID值标识,每PSID值对应的port-set含有((2^a)-1)*(2^m)的端口号。接下来,通过实例来体验下port划分过程。 给定共享比例R(=2^k=1024)和a(=PSID offset=4); 推算出: a=4,k=10,m=2; 列出PSID值和对应的port-set,
因此,对于给定的唯一PSID值,即获得一组port-set。 然后,再考虑如何将IPv4地址和port-set与IPv6地址建立强关联关系,形成无状态映射? MAP技术是通过IPv4地址的的一部分和端口的一部分特征值嵌入到IPv6地址中实现,IPv4地址选的的特征部分是IPv4-Addr-suffix,port-set选择的是PSID,这样将IPv4的地址信息和端口信息与IPv6地址建立了强关联,此乃MAP设计的巧妙之处。
通过上图对IPv4+Port与IPv6地址的映射关系可以看出,不管是MAP-CE还是MAP-BR,只要获得End-user IPv6-prefix、Rule-IPv6-prefix、EA-bits、Rule-IPv4、PSID offset几个值就推导出共享的IPv4地址和端口序列。 对于IPv6用户而言,MAP-CE配置了End-user IPv6-prefix,可以通过Interface ID来生成用户的IPv6地址,而对于IPv4用户而言,不会生成类似于IPv6地址的链路本地地址,拿如何来生成标识IPv4属性的Interface ID,进而合成代表IPv4地址的IPv6源地址呢?MAP技术采用IPv4 address和PSID的值组合形成Interface ID来标识IPv4共享型用户,再与End-user IPv6-prefix一起合成IPv6地址,作为IPv4共享型用户在MAP Domain中的唯一标识。
对于IPv4address字段,若分配了一个共享IPv4地址,则IPv4address字段填写分配的IPv4地址,长度是32比特,如果分配了IP-prefix,即分配一段地址给IPv4用户(有可能是个企业用户),则IPv4address字段需要右填0补齐,比如给用户分配IPv4-prefix="192.0.2.0/29",则此处IPv4address字段需要填写"0xC0000200"(十六进制)。 对于PSID字段,若EA-bits位提取的PSID值不足16bit时,左填0补充,如:PSID=“0xAC”,则此处的PSID字段填“0x00AC”,如果分配了IPv4-prefix或者独享的IPv4-address时,则没有PSID值可以提取,则此处的PSID字段填写“0x0000”。 至此,MAP域中的IPv4地址共享型用户的IPv4地址和端口已经和IPv6地址建立了无状态映射所需的强关联关系,并可以构建IPv6地址在MAP域中唯一地标识此用户。
(编辑:安卓应用网_ASP源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |




