关于过渡机制的一点理解

  由于IPv4地址的耗尽和网络的继续膨胀(从阿帕网的诞生就没有考虑到其会扩展到全世界,所以只设计了32位编址,地址数量相当有限。),启用一种新的网络层协议已经刻不容缓——那就是IPv6协议。与它的前任相比,IPv6协议最大的特点便是地址位数增加到128位,理论上可标识的地址数量是IPv4协议的2^96倍,形象一点地说,就是即使你想给地球上的每一粒沙子都分配一个IPv6地址,那也没问题。然而新协议的启用并不是朝夕之间的事,涉及到网络基础设施、操作系统、应用层应用等的更替,是一个庞大的工程,这就决定了其是一个渐次演进的过程。

如何有序地由IPv4协议演进到IPv6协议,学术界提出了三种主要方案:双栈、翻译、隧道。

  双栈机制即是在现有网络设备上同时部署上IPv4协议和IPv6协议,这样的过渡方式简单易行,支持网络上任意两点间的互访,但是由于每一个设备上都要求一个IPv4地址,因此并没有从根本上解决IPv4地址不足的问题。目前有公网双栈和私网双栈两种方案。

翻译机制则是在IPv4协议和IPv6协议之间进行翻译,具体而言就是按照相关rfc描述的算法,将IPv4报文头翻译为IPv6报文头,将IPv4地址翻译为IPv6地址,反之亦然,从而实现IPv4设备和IPv6设备之间的互访,这种机制的缺点是对于两种协议之间通讯的每一个报文都要进行翻译,加重了网络中间设备性能上的负担,并且当上层协议中包含IP地址信息时,翻译报文就需要深入上层协议,这与网络分层的设计思想相悖,因此目前支持的应用层协议数量有限。目前有IVI和NAT64两种方案。

隧道机制则是将整个IPv4报文封装到IPv6报文网络层的净荷中,或者反之,这种方式也比较简单,很好地保留了报文的完整性,缺点是由于增加了报文头,导致报文变大,增加了网络负载。目前有DS-Lite、Public 4over6、LAFT 4over6等方案。

还有双重翻译的MAP-T方案和BIH/PNAT方案,其他方案就不一一列举了。

时间: 2025-01-08 13:29:19

关于过渡机制的一点理解的相关文章

对事件循环的一点理解

最近工作需要学习了解webworker-threads以应对Javascript多线程处理CPU密集型的可能性:参考文档JavaScript多线程之二 Node.js中的Web Worker; 以下是自己的一次尝试并引发的对于Javascript事件循环机制的一点理解 var Worker = require('webworker-threads').Worker; var worker = new Worker(function() { console.log(33333) postMessa

线程的一点理解

一.线程起源 线程的产生基于通过共享公共的内存空间来交换数据可提高协作进程间的通信效率这一思想.线程是程序执行流的最小单元,是进程中的一个实体,一个标准的线程由线程ID.寄存器集合和堆栈组成.是被系统独立调度和分配的基本单位.线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源.一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行.由于线程之间的相互制约,致使线程在运行中呈现出间断性. 在某一时刻,进程内只有一个称为

convertView&setTag方法的一点理解

前言 首先我们要知道setTag方法是干什么的,SDK解释为 Tags Unlike IDs, tags are not used to identify views. Tags are essentially an extra piece of information that can be associated with a view. They are most often used as a convenience to store data related to views in th

我对直接插入排序的一点理解

今天复习排序,发现自己还是没什么长进,不过对于直接插入排序,还是有更深入的一点理解,这里留下点痕迹. 插入排序分为3类,即直接插入排序.二分排序以及希尔排序. 这里简单描述一下直接插入排序的思路.假如你现在是一名新生,早上全学院的学生去文体馆前集合,一个专业一列总队,而你去晚了,不知道自己该站哪,于是需要把自己插入到一个队列中去,这里模拟一下大脑的思路.因为你去晚了,所以你的同学都已经按照高矮顺序站好了,你从队尾开始比较,假如他比你低,ok,没他啥事了,如果他比你高,那他就得往后退,给你留下你站

Android measure和layout的一点理解

首先,推荐文章,http://blog.csdn.net/hqdoremi/article/details/9980481,http://www.docin.com/p-571954086.html 我理解measure的作用有2个:一个就是调用子view的measure函数,生成他们的高度和宽度,以便在自己的layout阶段参考:另一个是为父view提供关于自己的测量的width和height(这个宽度和高度往往和子view的测量高度和宽度有关),以便父view在layout阶段参考. lay

关于进程的一点理解

一.什么是进程? 进程包含存储在文件中的一组指令,该文件被读入内存并执行.正在执行的每个唯一的实例被称为进程,并且给它唯一一个标识,成为进程ID,它由操作系统确定.比如你在电脑中同时打开两个QQ,那么这两个程序就叫做进程,而且有两个不同的ID号. 二.进程如何创建? 被称为子进程的新进程由父进程的已存在的进程通过调用fork函数创建. pid=fork();//fork函数回传给pid的值是新进程的ID,数据类型为pid_t,属于int型. 子进程被创建为父进程的一个副本. fork函数在成功时

linux runtime pm机制的深入理解

一:runtime机制说明 何为runtime机制?也就是系统在非睡眠状态,设备在空闲时可以进入runtime suspend状态同时不依赖系统wake_lock机制,非空闲时执行runtime resume使得设备进入正常工作状态. 主要代码放在Runtime.c (drivers\base\power)中,同时附带的Runtime_pm.txt (documentation\power)有详细 说明.要使得设备可以进入runtime_idle与runtime_suspend必须满足devic

关于销售的一点理解

[关于销售的一点理解] 1.大多数人存在这样的偏见:销售人员和其他“中间人”很碍事,优良产品应该在生产出来后直接被神奇地分销出去. 这句话反着说,就正确了:销售人员和其他“中间人”很重要,优良产品应该在生产出来后由销售人员分销出去. 2.工程师喜欢制造东西,而不喜欢销售这些东西.但顾客并不会因为你生产了就来买.让顾客来买,并不像看起来那么简单. 3.广告之所以重要,是因为它确实有效.拒绝明显的推销术并不难,但广告不会立刻让你购买产品,而是为以后的购买埋下伏笔. 4.销售人员精心设计活动来改变表象

PHP autoload与spl_autoload自动加载机制的深入理解

PHP autoload与spl_autoload自动加载机制的深入理解 作者: 字体:[增加 减小] 类型:转载 时间:2013-06-05我要评论 本篇文章是对PHP中的autoload与spl_autoload自动加载机制进行了详细的分析介绍,需要的朋友参考下 PHP autoload机制详解(1) autoload机制概述在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利.这 也是OO设计的基本思想