【Cisco热备份路由协议(HSRP】备忘录状态
ThismemoprovidesinformationfortheInternetcommunity.Itdoes
notspecifyanInternetstandardofanykind.Distributionofthis
memoisunlimited.
版权声明
Copyright(C)TheInternetSociety(1998).AllRightsReserved.
IESG说明
本文说明了一个已经生效并正在使用的协议 。在IETF中有一个专门致力于研制标准的小
组 , 他们主要负责协议的制定和发表 。
摘要
本文对热备份路由协议(HSRP)进行了具体说明 。此协议的目的在于使主机看上去只使用
了一个路由器 , 并且即使在它当前所使用的首跳路由器失败的情况下仍能够保持路由的连通
性 。此协议中所涉及到的多路由器都映射为一个虚拟的路由器 。本协议保证同时有且只有一个
路由器在代表虚拟路由器进行包的发送 。而终端则是把数据包发向该虚拟路由器 。
这个转发包的路由器被成为活路由器 。假如这个活路由器在某个时候由于某种原因而无法
工作的话 , 则那个备份的路由器将被选择来代替原来的活路由器 。本协议为活路由器和备份路
由器的定义提供了一种机制 。在协议所设计到的路由器上使用IP地址 , 假如这个活路由器失效
的话则那个备份路由器马上代替活路由器工作而不会在对主机的连通性上产生大的中断 , 另外
本文还对ARP , MAC地址 , 以及相关的安全问题进行了讨论 。
目录
1介绍..............................................2
2使用前提.........................................3
3范围.....................................................4
3.1术语...............................................4
4定义...............................................4
5协议..................................................4
5.1包格式............................................4
5.2操作参数....................................7
5.3状态....................................................8
5.4时钟....................................................9
5.5事件....................................................9
5.6操作...................................................10
5.7过渡状态..........................................11
6对MAC地址的考虑................................13
6.1概要...................................................13
6.2地址过滤器............................................14
6.3ICMP重定向.............................................14
6.4ARP代理.................................................15
7对安全的考虑...................................15
8参考................................................15
9作者地址........................................16
10 完全版权声明..................................17
1.介绍
所谓的热备份路由协议(HSRP)主要是向我们提供了这样一种机制 , 它的设计目的主要在
于支持IP传输失败情况下的不中断服务 。具体说 , 就是本协议用于在源主机无法动态地学习到
首跳路由器IP地址的情况下防止首跳路由的失败 。它主要用于多接入 , 多播和广播局域网(例
如以太网) 。当然HSRP并不是有意要取代现有的动态路由发现机制 , 而这些现有的路由协议仍
可以继续使用只不过不是在任何可能的情况下 。以前的大部分主机都不支持动态路由发现协
议 , 他们是通过配置缺省路由来进行工作的 。而HSRP却为它们提供了一种失败服务机制
在HSRP中所涉及到的所有路由器都被假设为已经配好了合适的IP路由协议 , 并且也已经
存在了若干条路由 。而讨论哪种协议更加合适并且这些路由在各种情况下是否一致就已经超出
了我们这个声明的范围了 。
在使用HSRP时 , 一组路由器的工作将一致的表现为局域网上通往主机的一个虚拟路由器
的工作 。这组路由器就称为一个HSRP组 , 或备份组 。这个组中将选出一个路由器来负责转发
由主机发给虚拟路由器的数据包 。这个路由器就是所谓的活路由器 。另一台路由器将被选为备
份路由器 。在活路由器失效的情况下 , 备份路由器将承担活路由器的包的转发功能 。即使你可
以任意制定运行HSRP的路由器的数量 , 但只有活路由器才能转发发送给虚拟路由器的数据包 。
为了把网络阻塞降到最底限度 , 网络中只有活路由器和备份路由器可以在完成HSRP协议
选择过程后发送一次HSRP消息包 。假如活路由器失效 , 则备份路由器将取代它作为新的活路由
器工作 。而当备份路由器失效或者它变成了活路由器时 , 另外一个路由器将被选为备份路由
器 。
在某个局域网里 , 多个热备组可以共存和重叠 。每个备份组都仿效一个虚拟路由器 。对于
每个备份组来说都有一个为别人所知的MAC地址 , 以及一个IP地址 。而这个IP地址应该是这
个局域网中第一个子网中的地址 , 但必须不同于设置在所有路由器端口上的地址和局域网中主
机的地址 , 甚至包括为其他HSRP组设的地址 。
假如在一个局域网中设置了多个HSRP组 , 那么分配主机给不同的备份组就会使网络产生
负载爆炸 。
本说明下面要讨论的是对单个备份组的操作 。在多备份组的例子中 , 每个组依照这个说明
来在局域网中与其他组相互独立的工作 。注重一个路由器有可能会加入到多个组中 , 这样这个
路由器将需要为每个组维护不同的状态和时钟 。
2使用前提
Cisco系统公司已在美国为HSRP申请了专利号5,473,599[2] 。假如任何应用中需要使
用专利5,473,599中的任何声明 , 需要cisco公司对标准的使用者一视同仁的依据给予许可
证 。另外这个许可证付费后只能使用一次 。
3范围
本文档描述的是关于包、信息、状态以及事件在本协议中的使用 。本文档不讨论关于网络
治理或者互联网的应用问题
3.1术语
本文档将会使用到RFC2119[3]中的相关协议语言 。
4定义
活路由器-当前代表虚拟路由器转发数据包的路由器
备份路由器-第一备份路由器
备份组-参与到HSRP中 , 用已仿效虚拟路由器的一组路由器
Hellotime-一个给定路由器成功地发出两个HSRPhello消息包之间的间隔
HoldTime-假定发送路由器失败的情况下 , 收到两个hello消息包之间的间隔
5协议
在备份组里 , 路由器通过发送各种不同的消息周期性的广播状态信息
5.1包格式
备份协议运行在UDP层上 , 使用1985端口号 。包发送个多播地址224.0.0.2 , TTL为1
在包的格式里 , 路由器使用他们的真IP地址做为源地址 , 而不使用虚拟地址 。这对于使
HSRP路由器们能够准确定义彼此是非常重要的 。
下面是UDP帧格式的数据部分的格式
123
01234567890123456789012345678901
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
版本号操作码说明Hellotime
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Holdtime优先权组保留
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
授权数据
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
授权数据
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
虚拟IP地址
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
版本号:1个字节
HSRP信息的版本号 , 本文所描述的版本号为0
操作码:1个字节
操作码说明的是包含在这个包里的信息的类型 , 可能的值有:
0-Hello
1-Coup
2-Resign
Hello类型消息是用来表明路由器正在工作 , 并且有能力成为活路由器或者备份路由
器 。
Coup类型消息是在当一个路由器希望变成活路由器是才被发送的信息 。
Resign类型消息则是当一个路由器不希望再做活路由器是才被发送的信息 。
状态:1个字节
在备份组中的每个路由器都在运行着一个状态机制 。这个状态域描述的是发送消息的路
由器的当前状态 。每种状态的具体描述将在后面说明 。可能的状态值有:
0-Initial
1-Learn
2-Listen
4-Speak
8-Standby
16–Active
Hellotime:1个字节
这个域在Hello消息中是非常有意义的 。它包含了路由器发送Hello消息的大约的间隔时
间 。这个时间是用秒来表示的 。
假如路由器上没有配置Hellotime , 那么它将会向活路由器发送的Hello消息学习 。
而假如Hellotime没有被设置而且Hello消息已经被授权 , 则只能通过学习来获取
Hellotime 。发送Hello消息的路由器必须引入在Hello消息中的Hellotime域中使用的
Hellotime值 。假如没有从活路由器发过来的Hello消息中学习到Hellotime并且也没有手工
配置Hellotime , 那么将把它的值缺省的定为3秒钟 。
Holdtime:1个字节
这个域只在Hello消息中有效 。它标明了当前的Hello消息的有效期 。这个时间也是用秒
来表示的 。
假如一个路由器发送Hello消息 , 那么接受者会认为在一个Holdtime时间内这个Hello消
息是有效的 。Holdtime的值必须要比Hellotime的值大而且至少是Hellotime值的3倍 。假如
一个路由器上没有配置Holdtime值 , 则它会向由活路由器发来的Hello消息学习到一个
Holdtime值 。假如Hello消息是被认证授权过的 , 则Holdtime值就只能通过学习来得到了 。
同Hellotime一样 , 一个路由器必须引入那个在Hello消息中的Holdtime域所定义的
Holdtime值.
一个状态为活的路由器不能向其他路由器学习Hellotime和Holdtime值 , 尽管它也许会继
续使用从前一任活路由器那学到的Hellotime和Holdtime值 。另外 , 它也许会使用手工配置的
值 。而活路由器也不能使用一个配置的时间或一个学习来的时间值 。假如它没有学习到 , 而且
也没有配置Holdtime , 则它会使用10秒作为缺省值 。
优先级:1个字节
这个域用来选择活路由器和备份路由器 。当把两个路由器的优先级进行比较时 , 优先级数
值高的将获胜 。假如两个路由器的优先级相同的话 , 则IP地址高的将获胜 。
组:1个字节
这个域定义了备份组 。在令牌环网络中 , 它的值为0到2 , 而在其他媒质中 , 它的值为0
到255之间的数 。
授权数据:8字节
这个域包含了8个用做passWord的文本字符假如授权数据没有被设置 , 则使用推荐的缺省
值:0x630x690x730x630x6F0x000x000x00.
虚拟IP地址:4字节
虚拟IP地址将在组中使用
假如一台路由器本身没有配置虚拟IP地址 , 那么他可以从活路由器那发来的Hello消息中
学到 。而假如路由器没有设置而且这个虚拟IP地址 , 而且Hello消息已经被授权 , 则只能通过
学习来获取这个地址 。
5.2操作参数
在备份组里 , 每个路由器必须了解以下的信息 。当然 , 讨论这些信息是如何决定的则超出
了本文的范围 。
备份组号
虚拟MAC地址
优先级
授权数据
Hellotime
Holdtime
下面的信息则是每个备份组中必须至少有一台路由器要把握的信息 , 当然 , 也有可能这个
组中的每一台路由器都知道它 。
虚拟IP地址
下面的信息可以在任何一台路由器上配置
优先权能力
假如一个路由器具有比活路由器高的优先级 , 而且也配置了优先权 , 则它就可以使用Coup
消息来取代当前的活路由器 。
5.3状态
备份组中的每一台路由器都通过执行一个简单的状态机制来参与到这个协议中来 。下面我
们就来描述一下这个状态机制在表面上我们所能看到的一些运行情况 。运行时可能会根据状态
机制对不同功能的规定而在内部产生不同的操作过程 。
所有的路由器都从初试状态开始 。这一段讨论每种状态的目的 。为了具体说明每一种状态
下所发生的动作 , 请看5 , 7节的状态转换表
1. Initial初始状态
这是个开始的状态 , 它表明HSRP不在运行中 。当配置改变或端口首次启动时就会进入
这个状态 。
2.Learn学习
这是在路由器还没有确定虚拟IP地址 , 并且还没有收到一个从活路由器发送来的已经
认证过的Hello消息时的状态 。在这个状态中 , 路由器仍然在等待着从活路由器那里接受
信息 。
3.Listen监听
路由器知道了虚拟IP地址 , 但它既不是活路由器也不是备份路由器 。并且该路由器是
在从活路由器或备份路由器那里监听Hello消息 。
4.Speak会话
路由器周期地发送Hello消息 , 并且积极地参与到活路由器或备份路由器的选拔中 。
只有在它已经有了虚拟IP地址的前提下 , 它才能进入到这个状态 。
5.Standby备份
这个状态下的路由器作为下一个活路由器的侯选者 , 周期性地发送Hello消息 。除了
极短暂的情况外 , 每个组中最多只能有一个处于备份状态的路由器 。
6.Active激活
路由器的当前状态为把数据包转发到组的虚拟MAC地址 。路由器周期地发送Hello消
息 。除了极短暂的情况外 , 每个组中最多只能有一个处于激活状态的路由器 。
5.4时钟
每台路由器都要维护3个时钟 , 一个激活时钟 , 一个备份时钟 , 和一个Hello时钟 。
激活时钟是用来监视活路由器的 , 在任何时候 , 只要路由器发现了从活路由器发过来的被
认证过的Hello消息 , 激活时钟就开始计时 , 直到到达Hello消息中所设定的Holdtime值为
止 。
备份时钟用于监视备份路由器 。该时钟也是在路由器发现了从活路由器发过来的被认证过
的Hello消息 , 随时开始计时 , 直到到达Hello消息中所设定的Holdtime值为止 。
Hello时钟是在每一个Hellotime时间段终止一次 。假如路由器是处于会话、备份或激活
状态下 , 它会在Hello时钟停止时产生一个Hello消息 。Hello消息必须是不稳定的 。
5.5事件
下面是在HSRP有限的状态机制下所能发生的事件
a-在一个使能的端口上配置HSRP
b-在一个端口上禁用HSRP , 或这个端口被禁用 。
c-活时钟期满 。活时钟从路由器收到从活路由器发送来的最后一个Hello消息开始计
时 , 时长为Hello消息中所设定的Holdtime值 。
d-备份时钟期满 。备份时钟从路由器收到从活路由器发送来的最后一个Hello消息开
始计时 , 时长为Hello消息中所设定的Holdtime值 。
e-Hello时钟期满 。用于发送Hello消息的周期性时钟期满 。
f-收到一个发自一台处于对话状态路由器的高优先级Hello消息 。
g-收到一个发自活路由器的高优先级的Hello消息 。
h-收到一个来自活路由器的低优先级的Hello消息 。
i-收到一个来自活路由器的Resign消息 。
j-收到一个来自一台高优先级路由器的Coup消息 。
k-收到一个来自备份路由器的高优先级的Hello消息 。
l-收到一个来自备份了路由器的低优先级的Hello消息 。
5.6操作
本节说明了这种状态机制中所要采取的一系列操作
A、 启动活时钟
假如这个动作是作为从活路由器接受到认证过的Hello消息的结果来发生的话 , 那
么活时钟要在Hello消息中的Holdtime域中设定 。否则 , 活时钟将使用路由器当前的
Holdtime值启动 。
B、 启动备份时钟
假如这个动作是由于从备份路由器接受到认证过的Hello消息而导致发生的话 , 那
么备份时钟要在Hello消息中的Holdtime域中设定 。否则 , 备份时钟将使用路由器当
前的Holdtime值启动 。
C、 终止活时钟
活时钟被终止 。
D、 终止备份时钟
备份时钟被终止 。
E、 学习参数
这个动作在接收到一个来自活路由器的一个已认证的消息时发生 。假如这个组没有
手工配置虚IP地址 , 它就会从消息中学到一个虚IP地址 。路由器也可能从消息中学习
Hellotime和Holdtime值 。
F、 发送Hello消息
路由器以它当前的状态、Hellotime和Holdtime值来发送Hello消息 。
G、 发送Coup消息
路由器发送Coup消息包给活路由器 , 通知它发现了一个更高优先级的
路由器 。
H、 发送Resign消息
路由器发送Resign消息来答应其他路由器成为活路由器 。
I、 发送无偿ARP消息
路由器通过广播ARP应答包来把组的虚IP地址和虚MAC地址广播出去 。如同
ARP包一样 , 这个包使用虚拟MAC地址作为链路层包头中的源MAC地址 。
5,7状态过渡
下面的表格说明了这种状态机制的各状态间的转换过程 。对于每个时间以及路由器所
处的每个状态来说 , 路由器必须执行前面已说明的一系列操作并转换为即定的状态 。假如没有
操作被事先声明 , 也就不会有任何操作发生 , 假如没有声明任何状态改变 , 也不会有任何的状
态的改变 。
下面表中所使用的符号是在5 , 6节的操作列表中所列出的一系列操作所对应的字母 。状态
则是用在5 , 3节中的状态列表中个状态所对应的数字来表示 。斜线(‘/’)是操作和状态的
分隔符 。状态的转变可以是二选一的 , 这主要取决于外部状态 。二选一的状态用‘’来分隔 。
具体情况请见附加说明
States
----- ---------- ---------- ---------- ---------- ---------- ----------
123456
InitialLearnListenSpeakStandbyActive
----- ---------- ---------- ---------- ---------- ---------- ----------
Event
----- ---------- ---------- ---------- ---------- ---------- ----------
aAB/23
----- ---------- ---------- ---------- ---------- ---------- ----------
bCD/1CD/1CD/1CD/1CDH/1
----- ---------- ---------- ---------- ---------- ---------- ----------
cAB/4CDFI/6
----- ---------- ---------- ---------- ---------- ---------- ----------
dB/4D/5
----- ---------- ---------- ---------- ---------- ---------- ----------
eFFF
----- ---------- ---------- ---------- ---------- ---------- ----------
fB/3B/3
----- ---------- ---------- ---------- ---------- ---------- ----------
gEAB/3EAEAEAAB/4
----- ---------- ---------- ---------- ---------- ---------- ----------
hEAB/3ABGFI/6*ABGFI/6*ABGFI/6*G
----- ---------- ---------- ---------- ---------- ---------- ----------
iAB/4ACFI/6
----- ---------- ---------- ---------- ---------- ---------- ----------
jABH/4
----- ---------- ---------- ---------- ---------- ---------- ----------
kBB/3B/3B
----- ---------- ---------- ---------- ---------- ---------- ----------
lB/4D/5B
----- ---------- ---------- ---------- ---------- ---------- ----------
说明
假如配置了虚IP地址 , 应设为状态3(监听) , 假如没有设置虚IP地址 , 应设为状态2
(学习) 。这两种情况都使用操作A和B
*假如路由器被配置为优先占取 , 则采用操作B , G , F , 和I , 而且设为状态6(激活) 。
假如路由器没有被设为优先占取 , 则采用操作A , 并且没有状态变化 。
6 , 对MAC地址的考虑
6.1概述
每个HSRP组都有一个众所周知的联合的虚拟MAC地址 。在令牌环网络上 , 这些地址实
际上属于功能地址 。下面这三个地址:0xC00x000x000x010x000x00,0xC00x000x00
0x020x000x00,以及0xC00x000x000x040x000x00分别与组0 , 1 , 2相联系 。
在其他媒质上 , 虚MAC地址为0x000x000x0C0x070xACXX , 其中XX代表HSRP的
组号 。凡执行HSRP都要尽可能地使用这种公认的HSRPMAC地址作为该组的虚MAC地址 。
活路由器必须接收和发送用于定义组的虚MAC地址的数据包 。它在离开激活状态后则
必须停止发送或接受这种包 。
当且仅当路由器处于激活状态下时 , 路由器必须使用组虚拟MAC地址作为它的Hello
消息包的源MAC地址 。这对于处于学习状态的网桥来说是非常必要的 , 这样可以使网桥能
够断定这个虚MAC地址是处于哪个网段的 。
对于每个组来说 , 都要有一个虚拟IP地址和一个虚拟MAC地址 。这是个非常理想的情
况 , 因为这样使得ARP表处于一种最终状态 , 而不需要象HSRP活路由器那样随着活路由器
人选的改变而随时改变表中的数据 。
另外 , 对于HSRP在网桥环境下工作时 , 网桥必须能够在虚MAC地址改变时很快地进行
自我刷新 。虽然处于学习状态的网桥理论上能够作到这一点 , 但有些还是在这方面存在着
问题的 。因此推荐只有真正处于学习状态的网桥才能使用HSRP 。
虚MAC地址的改变可能会对那些与MAC地址捆绑的附加状态的环境产生负面的影响 。
例如令牌环网络 。假如源路由网桥正在使用的话 , RIF将以虚MAC地址存在主机的RIF缓
存里 。RIF指出了用于到达MAC地址的路径和最后的环 。在路由器转为活路由器时 , 它们
将不会影响在带桥的环上的主机的RIF缓存 。这也许会导致数据包被转发到上一级活路由
器的环上 。
在这种环境下 , 一台路由器也许会使用它标准的MAC地址作为虚MAC地址 。这种做法
是非常不被提倡的 。在这种模式下 , 虚IP地址将会超时路由到不同的MAC地址 , 而最终会
在路由的终点产生问题 , 因为ARP表是假设了一个在MAC地址和IP地址见相对静态的关
系 。而在这种情况下 , 只要当路由终点接受到一个进入激活状态的路由器所产生的毫无根
据的ARP应答时 , 则ARP表就会进行更新 。
6.2地址过滤器
正如前面所提到的 , 路由器正在以它们的组的MAC地址和IP地址仿效着一个虚路由
器 。MAC地址理论上是由路由器的端口控制器的一个地址过滤器或MAC地址列表来提供
的 。这对于路由器来说 , 在维护它们的主MAC地址时增加一个或多个虚MAC地址到它们的
控制器的MAC地址过滤器中是非常理想的 。
不幸的是 , 有些端口控制器只支持一个unicastMAC地址的地址过滤器 。或者说 , 在
令牌环网络中 , 那些应由HSRP所使用的功能性地址已经被其他协议所占用了 。这种情况
下 , 这些路由器仍然能够执行HSRP , 但当路由器假设或放弃作为活路由器进行控制时 ,
HSRP必定改变端口的主MAC地址 。
这就存在着一些潜在的问题 , 因为有些传输可能会希望使用路由器的主MAC地址 。但
问题也许会因为路由器发送那些无故的ARP包往返答它没有运行HSRP的IP地址来减轻 。
尽管如此 , 其他网络实体也应该在使用IP时通过刷新ARP表来反映路由器当前正使用的是
组的虚MAC地址 , 而不是它的主MAC地址 。
有些协议也许因为端口主MAC地址的改变而不能与备份协议同时运行 。举例说 ,
DECnetIV和HSRP就不会同时运行在同一台设备上 。
6.3ICMP重定向
当运行HSRP时 , 防止主机发现备份组中路由器的主MAC地址是非常重要的 。因此应该
禁用任何可能把路由器的主MAC地址通知给主机的协议 。所以 , 凡HSRP所涉及到的路由
器 , 即使它只有一个端口运行了HSRP , 都不能在运行HSRP的端口发送ICMP重定向包 。
6.4ARP代理
一般地说 , 主机在通过它们缺省路由的配置来学习HSRP的虚IP地址 。这些主机把包
发送给虚IP地址用以达到它在局域网之外的目的地 。在某些情况下 , 主机可能使用由ARP
代理来路由到局域网之外 。这时 , 主机使用由ARP代理应答提供的MAC地址 。假如ARP代
理应答说明了HSRP虚MAC地址 , 则HSRP功能将被保留 。
假如一台HSRP路由器被配置为支持ARP代理的HSRP , 那么这台路由器必须在它所产生
的任何ARP代理应答中说明HSRP虚MAC地址 。ARP代理应答一定不要受HSRP状态机制的
约束 。状态机制的约束可能会导致ARP代理应答的匮乏 , 因为这些ARP代理应答可能会受
到其他一些因素的限制 , 如水平分割原则 。
7.安全上的考虑
这种协议没有提供安全方面的保证 。消息中的认证域对于防止错误配置是非常有用
的 。该协议很轻易被局域网中的入侵者攻击 , 这可能会导致一个黑洞的产生和拒绝服务 。
但从局域网外面是很难对该协议进行攻击的 , 因为大多数路由器不会转发到多播地址
(224.0.0.2)的数据包 。
8.参考
[1]Deering,S.,"ICMPRouterDiscoveryMessages",RFC1256,
September1991.
[2]UnitedStatesPatent.PatentNumber:5,473,599.StandbyRouter
Protocol.DateofPatent:Dec.5,1995.
[3]Bradner,S.,"KeywordsforuseinRFCstoIndicateRequirement
Levels",BCP14,RFC2119,March1997.
9.作者地址
TonyLi
JuniperNetworks,Inc.
3260JaySt.
SantaClara,CA95054
Phone:(408)327-1900
EMail:tli@juniper.net
BrUCeCole
JuniperNetworks,Inc.
3260JaySt.
SantaClara,CA95054
Phone:(408)327-1900
EMail:cole@juniper.net
PhilMorton
CiscoSystems
170TasmanDr.
SanJose,CA95143
Phone:(408)526-7632
EMail:pmorton@cisco.com
DawnLi
CiscoSystems
170TasmanDr.
SanJose,CA95143
Phone:(408)527-2014
EMail:dawnli@cisco.com
10.完全的版权说明
Copyright(C)TheInternetSociety(1998).AllRightsReserved.
Thisdocumentandtranslationsofitmaybecopiedandfurnishedto
others,andderivativeworksthatcommentonorotherwiseeXPlainit
orassistinitsimplementationmaybeprepared,copied,published
anddistributed,inwholeorinpart,withoutrestrictionofany
kind,providedthattheabovecopyrightnoticeandthisparagraphare
includedonallsuchcopiesandderivativeworks.However,this
documentitselfmaynotbemodifiedinanyway,suchasbyremoving
thecopyrightnoticeorreferencestotheInternetSocietyorother
Internetorganizations,exceptasneededforthepurposeof
developingInternetstandardsinwhichcasetheproceduresfor
copyrightsdefinedintheInternetStandardsprocessmustbe
followed,orasrequiredtotranslateitintolanguagesotherthan
English.
Thelimitedpermissionsgrantedaboveareperpetualandwillnotbe
revokedbytheInternetSocietyoritssuccessorsorassigns.
Thisdocumentandtheinformationcontainedhereinisprovidedonan
"ASIS"basisandTHEINTERNETSOCIETYANDTHEINTERNETENGINEERING
TASKFORCEDISCLAIMSALLWARRANTIES,EXPRESSORIMPLIED,INCLUDING
BUTNOTLIMITEDTOANYWARRANTYTHATTHEUSEOFTHEINFORMATION
HEREINWILLNOTINFRINGEANYRIGHTSORANYIMPLIEDWARRANTIESOF
MERCHANTABILITYORFITNESSFORAPARTICULARPURPOSE.
- 空调制热为什么开始时不动空调制热开始时不动的原因
- 屋里热得像什么填空房间热得像什么填空
- 蓝莓是热性还是凉性蓝莓是热性水果吗
- 冰淇淋热量 吃冰淇淋会胖吗
- 南瓜热量高吗 吃南瓜能减肥吗
- 粽子吃凉的还是热的 冷吃粽子还是热吃粽子好
- 洗车用什么样的热水棒
- 染头发需要加热吗
- 厚双面胶怎么去除
- 热巧克力和热可可的区别
