为什么会存在4v6应用场景?主要是从“云-管-端”的IPv6状态决定的,“云”侧IPv4类业务丰富,IPv6驱动力小,所以“云”在较长一段时间内还是以IPv4类业务为主。“管”侧的IPv6化程度高,设备IPv6支持能力强。“端”侧IPv4用户仍在发展,虽然部分在向IPv6迁移,但是庞大的IPv4用户群仍会存在。因此“云-管-端”的这种“IP v4为主-IPv6 Ready-IPv4为主”状态,决定了在IPv6过渡过程中,4over6场景将是一个重要的研究领域。与此同时,IETF也产生了众多针对4over6场景的过渡技术,比如DS-lite、Public 4over6、Lightweight 4voer6、464XLAT、MAP-T、MAP-E等。

个人对4over6的过渡技术做了如下分类:

  • 按照“状态”分为:有状态、无状态、轻状态。
    有状态Stateful:4v6设备需维护user-session station,状态维护、查询和溯源均需要设备资源支持;4v6设备通过动态方式使用地址池资源完成映射,分配灵活,用户每次上线分配的地址资源有可能不同。代表性技术为:DS-lite。
  • 无状态Stateless:4v6地址映射方式是强相关,地址分配在一定程度上受限。4v6设备无需维护user-session station,仅需要执行4v6映射算法即可,节省设备资源投入。无状态技术对于简化网络、提升管理效率和平滑演进方面有显著优势。代表技术为:MAP-E和MAP-T。
  • 状态Lightweight:是有状态技术的一种优化,主要目的是•降低Stateful对设备的资源需求,通过用户级session来减少会话数量和维护工作量;每用户的4v6地址资源分配可以采用独立方式进行配置和管理,实现IPv4与IPv6管理的分离。代表技术为:Public 4over6、Lightweight 4over6。

按照“NAT44部署”分为:集中式NAT44和分布式NAT44。

  • 集中式NAT44:指私网IPv4用户的数据包在CE上仅进行4v6处理,而NA44处理在集中式CGN设备上进行。优势在于集中进行IPv4地址管理和分配,地址利用率高;劣势在于集中式NAT44对设备资源要求高。代表技术为DS-lite。
  • 分布式NAT44:指私网IPv4用户的数据包在CE上进行NAT44和4v6处理,集中式4v6设备仅进行4v6处理。优势在于充分利用CE的资源实现NAT44,降低集中式4v6设备的资源需求;劣势在于需要提前进行公网IPv4地址的分配和管理,预分配地址的方式影响IPv4地址利用率。代表技术为Public 4over6、Lightweight 4over6、MAP-E和MAP-T。

按照“报文封装”分为:隧道和翻译。

  • 隧道方式:主要由IETF Software工作组完成。在隧道端点将IPv4报文进行封装和解封装,在IPv6网络中以外层IPv6报头进行转发。代表技术为DS-lite、Public 4over6、LAFT6、MAP-E。
  • 翻译方式:主要由IETF Behave工作组完成。在IPv4-IPv6网络边界进行NAT翻译,在IPv6网络中以IPv6报文进行转发。代表技术为464XLAT、MAP-E。

下一节将总结性地分析和对比下DS-lite、Lightweight 4over6、Public 4over6、MAP-E、MAP-T、464XLAT等过渡技术。

【自由谈】城域网IPv6过渡技术——4v6场景技术总结(1)的更多相关文章

  1. 城域网IPv6过渡技术—NAT64+DNS64 Test for IPv6 DNS64/NAT64 Compatibility Regularly

    城域网IPv6过渡技术—NAT64+DNS64 - 51CTO.COM http://network.51cto.com/art/201311/419623.htm Supporting IPv6 D ...

  2. 【自由谈】城域网IPv6过渡技术——MAP技术(4)

    本节接着回答MAP技术的第三个问题:“MAP-BR的Pool是如何实现?可靠性如何提升?” 在MAP域中通过将多个MAP-BR放在同一个Pool内实现负载分担和保护倒换的.同一个Pool中的每个MAP ...

  3. 从一个弱引用导致的奔溃 谈 weak assign strong的应用场景【iOS开发教程】

    从一个弱引用导致的奔溃 谈 weak assign strong的应用场景 .h中的定义方法一: @property (nonatomic, assign) NSArray *dataSource; ...

  4. unity3d的优化场景技术LOD+IOC

    一.unity3d的优化场景技术  LOD+IOC 遮挡剔除(occlusion culling)其实就是在摄像机范围内的物体才被渲染出来,没有在视野范围内的,统统关掉渲染,这样能让性能大大提高. I ...

  5. Atitit.现在的常用gui技术与gui技术趋势评价总结

    Atitit.现在的常用gui技术与gui技术趋势评价总结 1. Gui俩种分类:  native 和 dsl 和 script1 2. 最好的跨平台gui技术h51 2.1. 几大技术体系(java ...

  6. 技术路线 vs 技术管理路线

    最近因为要给刚毕业的学生做一次演讲,所以就职业发展这类话题先以写博客的形式做一些思考,希望届时能给同学们带来质量更高的内容.我在<驾驭你的"职场布朗运动">一文中谈了2 ...

  7. 干货云集 WOT 2017全球架构与运维技术峰会揭密技术难点

    WOT,World Of Tech专注互联网IT技术领域,是一场不容错过的技术盛会!WOT 2017全球架构与运维技术峰会三大章节,15大技术专场,60+国内外一线互联网精英大咖站台,打造兼顾技术视野 ...

  8. DNS技术和NAT技术详解

    DNS技术和NAT技术详解一.DNS(Domain Name System)1.什么是DNS2. 了解域名3.域名解析过程4.使用dig工具分析DNS过程5.浏览器输入URL后发生什么事?二.ICMP ...

  9. 会话技术、Cookie技术与Session技术

    一.会话技术  1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的.  2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这 ...

随机推荐

  1. (转)C#静态构造函数

    静态构造函数是C#的一个新特性,在编程过程中用处并不广,它的主要目的是用于初始化一些静态的变量. 因为这个构造函数是属于类的,而不属于任何一个实例,所以这个构造函数只会被执行一次,而且是在创建此类的第 ...

  2. 引号 shell

    在学些shell的 grep, awk, sed 中,发现<Linux 与Unix Shell 编程 指南>书中用大多都是单引号. 一开始我总在寻思,为什么用单引号,明明双引号也是行的呀. ...

  3. 在浏览器中打不开Oracle 11gR2的企业管理器页面

    最简单的办法,重建EM 四个步骤: emca -repos drop emca -repos create emca -config dbcontrol db emctl start dbconsol ...

  4. UITableView实现分组, 并且点击每个分组后展开

    效果图: 简单说下实现思路: 数据传过来之后, 先创建好对应个数的分组头部View, 也就是要在 - (UIView *)tableView:(UITableView *)tableView view ...

  5. PHP Sessions

    PHP Sessions PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置.Session 变量存储单一用户的信息,并且对于应用程序中 ...

  6. mysql 数据库字符串替换

    UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str') WHERE `field_name` ...

  7. 跟踪对象属性值的修改, 设置断点(Break on property change)

    代码 //Break on property change (function () { var localValue; Object.defineProperty(targetObject, 'pr ...

  8. DOM---documentFragment

    代码暂时寄存 创建:document.createDocumentFragment() 案例: var a=document.createDocumentFragment(); var b=docum ...

  9. HashTable 及应用

    HashTable-散列表/哈希表,是根据关键字(key)而直接访问在内存存储位置的数据结构. 它通过一个关键值的函数将所需的数据映射到表中的位置来访问数据,这个映射函数叫做散列函数,存放记录的数组叫 ...

  10. PHP连续签到

    require "./global.php"; $act = isset($_GET['act']) ? $_GET['act'] : "error"; // ...