首页 > 通信行业标准(YD) > YD/T 2813-2015 基于端口控制协议(PCP)扩展的 LAFT6 端口区间集扩展协议技术要求
YD/T 2813-2015

基本信息

标准号: YD/T 2813-2015

中文名称:基于端口控制协议(PCP)扩展的 LAFT6 端口区间集扩展协议技术要求

标准类别:通信行业标准(YD)

标准状态:现行

出版语种:简体中文

下载格式:.zip .pdf

下载大小:3539755

相关标签: 基于 端口 控制协议 扩展 区间 协议 技术

标准分类号

关联标准

出版信息

相关单位信息

标准简介

YD/T 2813-2015.Technical specification for port-set allocation for LAFT6 using PCP extension.
1范围
YD/T 2813规定了在IPv6过渡中LAFT6系统中隧道发起点设备获得外部地址和端口区间集的技术要求,包括报文格式及处理过程。
YD/T 2813适用于具有LAFT6隧道发起点设备、隧道终结点设备,同时也可应用于其他具有NAT功能的网络设备和用户驻地设备,如运营级NAT设备、DS-lite设备、NAT64设备、防火墙设备、NPTv6设备等。
2缩略语
下列缩略语适用于本文件。
AAA                          Authentication, Authorization               认证、 授权和计
and Accounting                                      费
BRAS                        Broadband Remote Acces                      宽带接入服务器
Server
4报文要求
4.1 PCP总体要求
PCP是采用UDP报文来进行发送,在与LAFT6等隧道类协议配合使用时,应采用与数据报文一致的IPv4-in-IPv6的报文发送,从而尽可能保证在传输过程中PCP报文和数据报文在传输路径上的一致性。每个PCP请求将会对应-个响应(response) ,PCP单播报文使用的UDP端口号为5351。
要求PCP能够处理多次PCP请求与响应,应支持客户端发送更新时间周期(lifetime) 的更新报文。
PCP客户端中对于PCP服务器的地址配置应支持多种方式,其- -可以采用动手配置的方式,其二可以采用与TC地址合一的方式,PCP客户端应支持采用TC的地址作为其PCP服务器的地址。
PCP客户端应支持MAP Request报文中PORT_ SET Option的发送。PCP服务器应支持对PCP MAP请求
中携带PORT_ SET Option报文的解析和响应报文的生成。

标准图片预览






标准内容

ICS33.040.40
中华人民共和国通信行业标准
YD/T2813-2015
基于端口控制协议(PCP)扩展的LAFT6端口区间集扩展协议技术要求Technical specification for port-set allocation forLAFT6usingPCPextension
2015-04-30发布
2015-07-01实施
中华人民共和国工业和信息化部发布前言·
1范围
2缩略语
3概述
4报文要求·
4.1PCP总体要求
4.2PORT_SETOption的报文格式·4.3MAP出错代码列表
5PORTSETOption使用
5.1PCP客户端的处理过程·
5.2PCP服务器的处理过程
5.3端口集的更新和删除处理
5.4多个端口集处理
6PORTSETOption部署相关考虑.
6.1设备形态
6.2故障场景
6.3安全考虑
附录A(资料性附录)LAFT6应用背景·参考文献·
YD/T2813-2015
YD/T2813-2015
本标准按照GB/T1.1-2009给出的的规则起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任本标准由中国通信标准化协会提出并归口。标准起草单位:中国电信集团公司、华为技术有限公司、清华大学、工业和信息化部电信研究院、中兴通讯股份有限公司。
标准主要起草人:孙琼、解冲锋、赵晶晶、张忠建、崔勇、赵锋、史凡、胡捷、王茜、李忠超、何琪、陈运清、王作强、阁璐。HiiKAoNiKAca
1范围
基于端口控制协议(PCP)扩展的LAFT6端口区间集扩展协议技术要求YD/T2813-2015
本标准规定了在IPv6过渡中LAFT6系统中隧道发起点设备获得外部地址和端口区间集的技术要求,包括报文格式及处理过程。
本标准适用于具有LAFT6隧道发起点设备、隧道终结点设备,同时也可应用于其他具有NAT功能的网络设备和用户驻地设备,如运营级NAT设备、DS-lite设备、NAT64设备、防火墙设备、NPTv6设备等。2缩略语
下列缩略语适用于本文件。
DHCPy4
DS-Lite
Authentication,Authorization认证、授权和计and Accounting
Broadband
Server
宽带接入服务器
Remote
NATCarrier-Grade NAT
customer premises equipment
CoreRouter
运营级
用户驻地设备
核心路由器
Dynamic Host Configuration
动态主机配置协
Protocol
Dynamic Host Configuration
动态主机配置协
Protocol Version 6
Dual-Stack Lite
议版本44
轻型双栈方案
InternetAssignedNumbersIntermnet号码分配Authority
授权委员会
Internet Internet Engineering互联网工程任务
TaskForce
Internet Protocol
Lightweight Address Family
Transition for IPv6
Network Address Translator
互联网协议
轻量级IPv6过渡
网络地址翻译器
Network Address Translator
从IPv6地址翻译
IPv4地址
IPv6-to-IPv6IPv6NetworkIPv6到IPv6网络Prefix Translation
PortControlProtocol
Service Router
前缀转换
端口控制协议
业务路由器
HiiKAoNiKAca
YD/T2813-2015
3概述
TunnelConcentrator
Tunnel Initiator
UserDatagramProtocol
隧道终点
隧道起点
用户数据报协议
基于PCP扩展的LAFT6端口区间集扩展协议的应用场景如图1所示。PCP端口范围申请
4over6隧道
IPv6网络
用户溯源
服务器
图1基于PCP扩展的LAFT6端口区间集扩展协议应用场景图示IPv4
基于PCP的端口区间扩展协议可应用于LAFT6系统中,该协议主要用于TI、TC之间的PCP端口范围申请。使用该协议的原因如下:
当运营商没有部署DHCPv4服务器时,无法通过DHCP获得外部地址和外部端口集:基于PPP扩展的协议只能在TC部署在BRAS上时应用,对于TC和BRAS分离式部署的场景不适用:
对于已部署了CGN的运营商而言,可基于现有的CGN板卡进行扩展,使之成为LAFT6系统中的一部分,对端口区间值进行下发。本标准中定义的端口集扩展协议是基于PCPMAP的一个扩展选项实现的,命名为PORT_SETOption。通过该选项可获取一个外部IP的端口集。PORTSETOption选项的主要过程为,首先在已获得IPv6地址的TI处配置TC的地址,然后发起PCPMAP请求(MAPrequest)。TC接到请求后,对请求进行相应的过滤后,根据请求内容,进行创建、更新、删除映射表项(包括IPv6地址、IPv4地址和端口区间)。同时,TC生成PCPMAP响应(MAPresponse),用于反馈信息。主要反馈映射表项和生命周期(lifetime)。最后,TI获取到端口区间集并对端口区间集进行管理。
注:本标准中MAP请求和响应的主报头具体格式和内容与draft-ietf-pcp-base定义的标准格式一致,PORT_SETOption的定义格式与draft-iet-pep-port-set中定义的一致。4报文要求
4.1PCP总体要求
HiiKAoNiKAca
YD/T2813-2015
PCP是采用UDP报文来进行发送,在与LAFT6等隧道类协议配合使用时,应采用与数据报文一致的IPv4-in-IPv6的报文发送,从而尽可能保证在传输过程中PCP报文和数据报文在传输路径上的一致性。每个PCP请求将会对应一个响应(response),PCP单播报文使用的UDP端口号为5351。要求PCP能够处理多次PCP请求与响应,应支持客户端发送更新时间周期(lifetime)的更新报文。PCP客户端中对于PCP服务器的地址配置应支持多种方式,其一可以采用动手配置的方式,其二可以采用与TC地址合一的方式,PCP客户端应支持采用TC的地址作为其PCP服务器的地址。PCP客户端应支持MAPRequest报文中PORT_SETOption的发送。PCP服务器应支持对PCPMAP请求中携带PORTSETOption报文的解析和响应报文的生成。4.2PORT_SETOption的报文格式
PORT_SETOption总体说明如下:Option名:PORTSET:
定义Option目的:分配一个端口集用于映射:可以使用该Option的Opcode:MAP:Option可以出现在:请求报文和响应报文;一每个MAP请求或响应报文中Option最多出现的次数:1次。PORTSETOption主要用于指示PCP客户端希望PCP服务器预留一段端口给客户端使用。客户端请求的端口数量是通过Option来指明的,客户端所获得的外部地址即为MAPOpcode中所得到的ExternalIPAddresS。PORTSET的格式如图2所示。0
01234567890123456789012345678901I Option Code=? | Reserved
Port Set Size
Option Length=2
+++++++
图2PORT_SETOption报文格式
其中,每个标识位的设置方式如下:OptionCode:暂定为XxXX(后期与国际标准保持一致)。Reserved:预留域。置0。
P:r如果需要奇偶预留则置1,否则置0。OptionLength:2(字节)。
一PortSetSize:请求的端口数,不能是0或1。客户端获取的端口起始值为MAP主报头中的ExtermalPort值,实际用户可使用的端区间即为[AssignedExternalPort,AssignedExternalPort+PortSetSize]。注:目前该Option不支持分配不连续端口集。后继可能会根据国际标准的定义增加。4.3MAP出错代码列表
表1中列出了结果码的值(代码值为暂定值,待国际标准发布之后,与国际标准一致)和具体含义。结果码是服务器返回的结果标示,其中只有错误代码0代表执行成功,其他所有的值都代表了有错误产生。如果服务器在处理过程中碰到多个错误,则会选择一个最明确的错误返回。每个错误码属于长期错误或3
TiikAoNiKAca
YD/T2813-2015
者短期错误,主要是为开发者提供建议的错误生命周期值。这里推荐短期错误生命周期为30s,长期错误的生命周期为30min。
表1错误代码值以及含义列表
错误代码
错误代码
SUCCESS:成功
UNSUPP_VERSION:不支持的版本号NOTAUTHORIZED:该请求功能不支持MALFORMED_REQUEST:该请求无法解析表1(续)
UNSUPPOPCODE:该Opcode无法支持UNSUPP_OPTION:该Option无法支持MALFORMED_OPTION:选项形式不正确NETWORKFAILURE:网络不可达
NORESOURCES:PCP服务器端当前没有足够的计算资源来进行处理,该功能将来可能可以满足
UNSUPPPROTOCOL:不支持的协议USER_EX_QUOTA:当前没有可用的端口CANNOTPROVIDEEXTERNAL:没有可用的外部端口或外部地址ADDRESS_MISMATCH:报文的源P地址与请求中的IP地址不一致EXCESSIVEREMOTE_PEERS:仅在MAP的filter中出现5PORT_SETOption使用
5.1PCP客户端的处理过程
长期错误
长期错误
长期错误
长期错误
长期错误
长期错误
短期错误
短期错误
长期错误免费标准bzxz.net
短期错误
短期错误
短期错误
长期错误
为了获取一个端口集,PCP客户端需要在PCPMAP请求中增加一个PORTSETOption。如果需要对端口奇偶性预留,PCP客户端应设置P值为1,来要求PCP服务器分配奇偶端口(也就是分配的外部端口和内部端口具有相同的奇偶性)。PCP客户端需要在PORTSETOption中指明建议的端口集的大小。一个MAP请求中只能包含一个PORTSETOption,如果需要多个端口集,PCP客户端应发送多个携带PORT_SETOption的MAP请求给PCP服务器,而且每个MAP请求应包含不同的内部端口。5.2PCP服务器的处理过程
PCP服务器接收到PCPMAP请求后,除了对PCPMAP请求进行常规的检查外,对生命期非零且包含PORT_SETOption的报文做如下的检查:如果在一个MAP请求中包含了多个PORT_SETOption,则PCPserver应返回一个MALORMED_OPTION错误:
如果PORTSetSize是O或者1,返回MALORMEDOPTION错误。如果在报文中包含了PREFERFAILUREOption,并且服务器不能满足请求的端口集或者不能预留奇偶端口,则返回CANNOTPROVIDEDEXTERNAT错误。如果在报文中没有包含PREFERFAILUREOption服务器可以不满足请求的外部端口集大小的需要而只提供给有限的外部端口。PCP服务器不要提供客户端超过客户端的需要需求的端口数量。iiiKAoiKAca
YD/T2813-2015
如果请求的端口集由于端口不可用而不能成功,PCP服务器则只分配一个外部端口(也就是PCP服务器会忽略掉PORTSETOption)。无论何种原因导致只能分配一个外部端口,PORT_SETOption都不能包含到响应的报文中。
当报文中没有包含PREFER_FAILUREOption,而且PORTSETOption中设置了奇偶位(Pbit=1),服务器会预留端口的奇偶性。这种情况下,设置的外部端口的值和内部端口的值具有相同的奇偶性。如果请求的映射已经存在,PCP服务器根据PORTSETOption更新映射的端口集信息,并且发送一个代表正确处理的响应报文。
如果请求的映射端口成功,则MAP响应中分配的外部端口值为分配的外部端口的第一个端口。PORT_SETOption的PortSetSize的值为分配的端口集的大小5.3端口集的更新和删除处理
端口集的MAP映射的更新和删除是作为一个表项统一处理的,也就是说端口集中的所有端口的生命周期都分配为相同的生命周期。PORT_SETOption应包含到更新或删除的请求报文中。如果服务器接收到一个没有包含PORT_SETOption的请求,并且请求的内部端口在端口集映射的内部端口范围内,服务器应返回一个MALFORMEDREQUEST错误。
5.4多个端口集处理
为每个PCP客户端分配的端口数量是由PCP服务器决定的。如果PCP控制的设备支持对某个PCP客户端多次委派端口集,则PCP客户端在耗尽一个请求的端口集后,会重新发起一个PCP请求获取另外一个端口集。
如果PCP控制的设备支持对某个用户多次委派端口集,则对该用户分配的多个端口集都使用相同的外部IP地址。
为了优化在PCP服务器维护的映射表项,推荐服务器配置在一个响应中分配一个最大的端口集给客户端的策略。
6PORT_SETOption部番相关考虑
6.1设备形态
PCP的客户端用两种设备形态,硬终端和软终端。软终端,即TI以软件形式和host集成在一起,在host上直接发起PCP请求,向服务器端申请外部地址和外部端口集。此时,外部地址和外部端口集由主机获得。硬终端(例如CPE),即TI和host分离,硬终端发起PCP请求,向服务器端申请外部地址和外部端口集。此时,外部地址和外部端口集由硬终端获得。硬终端进行NAT,将所获得的外部资源,分配给接入它的host。
PCP服务器端,可以是嵌入式的设备,也可以是独立式的设备。6.2故障场景
针对于PCP服务器端和PCP客户端出现的各类问题,提出相应的解决方法,用于恢复映射关系表。6.2.1PCP服务器端的IP地址改变当PCP服务器端的IP地址改变时,PCP客户端应针对PCP服务器端新的IP地址重新创建所有映射关系。6.2.2PCP客户端的IP地址改变
HiiKAoiKAca
YD/T2813-2015
当PCP客户端的IP地址改变时,PCP客户端向PCP服务器端重新发起请求,建立新的映射关系,并获得重新分配的端口段号,同时更新PCP客户端本身的映射关系。之前的映射关系,当生命周期到期会自动被PCP服务器端删除。
6.2.3PCP客户端崩溃重启
当PCP客户端由于致命错误崩溃重启时,需要恢复映射关系。此时,PCP服务器端不需要更新映射关系。如果PCP客户端存储了映射关系,则可以直接进行映射关系的恢复。如果没有存储映射关系,则需要重新发起携带PORTSETOption的MAP请求。PCP客户端将内部IP地址和它所对应PCP服务器端的IP地址发送给PCP服务器端,PCP服务器端经过检查,将所对应的端口段地址返回给PCP客户端,完成PCP客户端的映射关系恢复。
6.2.4PCP服务器端的崩溃重启
当PCP客户端由于致命错误崩溃重启时,需要恢复映射关系。如果PCP服务器端进行了同步的余备份,则进行直接恢复。如果PCP服务器端没有进行同步的穴余备份,则将通过Epoch告知各个PCP客户端奔溃现状,并进行映射关系同步。6.3安全考虑
6.3.1PCP服务器端的端口区间控制PCP服务器所持有的外部地址和外部端口集的数量是有限的。它可能会给几台PCP客户端甚至数十台PCP客户端分配地址并提供服务。当PCP服务器端下发外部端口集后,得到端口段的PCP客户端可以进行使用。如果其中存在恶意的PCP客户端,它可以恶意占用大量端口,致使其他PCP客户端无端口集可用,引发PCP服务器端对其他主机拒绝服务的问题。因此,PCP服务器端在下发外部端口集时,应对下发的端口数量进行限制,防止恶意主机对端口段的恶意占用。
6.3.2PCP服务器端的地址过滤
当存在恶意报文攻击时,TC处会接收到大量的创建映射的请求,占用大量资源,严重时会导致PCF服务器端的崩溃。因此,在PCP服务器端之间应建立入口的TI过滤机制,以防止欺骗报文的攻击。6
HiiKANiKAca
附录A
(资料性附录)
LAFT6应用背景
YD/T2813-2015
随着全球IPv4地址的耗尽,IPv4向IPv6过渡已成为解决该问题的重要方案。其中,作为主流过渡技术的LAFT6系统,它的主要特点是轻量级地址管理和轻量级地址维护。LAFT6系统中将有状态方案中网关的集中式状态表处理分布到不同的TI中,在TC中仅维护少量的地址转换状态信息,将“每连接”的状态表减少为“每用户”的状态表。LAFT6端口区间集扩展协议,支持LAFT6系统轻量级这一特点。它规定PCP服务器端可以一次性向PCPClient下发一块端口区间,在TC处仅维护内部地址、外部地址和外部端口区间集这一三元组映射。对比于TC对每一端口号的维护,大大降低了TC处的负担。另外,该协议还支持PCPClient对PCP服务器端进行多次端口区间集的请求。由PCP服务器端设置请求次数和每次下发端口区间集的大小。YD/T2813-2015
参考文献
[1JQ. Sun et al, Port Control Extension (PCP) Extension for Port Set Allocation\,IETF draft, January 17,2013
[2JY. Cui et al., \Lightweight 4over6: An Extension to the DS-Lite\, IETF Softwire draft, October 2011.[3JD.Wing,Edetal,PortControl Protocol (PCP)”,IETFdraft,November7,2012.8
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。