首页 > 通信行业标准(YD) > YD/T 3186-2016 运营级网络地址翻译(NAT)技术要求 NAT64
YD/T 3186-2016

基本信息

标准号: YD/T 3186-2016

中文名称:运营级网络地址翻译(NAT)技术要求 NAT64

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

标准状态:现行

出版语种:简体中文

下载格式:.zip .pdf

相关标签: 运营 翻译 技术

标准分类号

关联标准

出版信息

相关单位信息

标准简介

YD/T 3186-2016.Carrier grade network address translation technical requirement for NAT64.
1范围
YD/T 3186确立了NAT64的技术内容和使用范围,规定了NAT64实现中NAT64/DNS64的模型与工作流程,以及NAT64的技术要求,用于部署大规模V6-V4互通网关解决纯IPv6客户端访问IPv4业务的场合,主要包括数据的处理流程、相关信息和资源的更新以及一些安全性的考虑, 对IPv6演进具有指导意义。
YD/T 3186适用于有DNS64配合的场景。DNS64是一种将DNS查询信息中的A记录合成AAAA记录的机制。AAAA记录中的IPv6地址是由IPv4地址和分配给NAT64的IPv6前缀生成的。在支持DNS64机制的域名系统的配合下,只需要部署支持NAT64机制的设备连接纯IPv6网络和纯Pv4网络,就可以实现纯IPv6客户端发起通信,访问IPv4服务器的场景。
2规范性引用文件
下列文件对于本文件的应用时必不可少的,凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
IETF RFC 793 传输控制协议
IETF RFC 2460 IPv6
IETF RFC 4443 ICMPv6
IETF RFC 4787 单播 UDP中NAT的行为需求
IETF RFC4884 支持多部分信息的扩展
IETF RFC 5382 TCP 中NAT的行为需求
IETF RFC 5508 ICMP 中NAT的行为需求
IETF RFC 6052 IPv4/IPv6 翻译器中的IPv6寻址

标准图片预览






标准内容

ICS33.040.40
中华人民共和国通信行业标准
YD/T3186—2016
运营级网络地址翻译(NAT)技术要求NAT64
Carrier grade network address translation technicalrequirementforNAT64
2016-10-22发布
中华人民共和国工业和信息化部2017-01-01实施
1范围
2规范性引用文件
3术语、定义和缩略语
3.1术语和建义
3.2缩略语.
4.1NAT64部署方式
4.2NAT64/DNS64 :I作流程
5NAT64处理流程
5.1NAT64处理流程概述,
会话表.
5.4输入元组的提取
过滤和更新绑定和会话信息
5.6输出元组的计算
5.7报文的翻译
5.8发卡行为的处理.
6安全性.
端到端的安全性
6.2过滤
YD/T 3186—2016
YD/T3186—2016
本标准按照GB/T1.1-2009给出的规则起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本标准由中国通信标准化协会提出并归门。本标准牵头起草单位:中国联合网络通信集团有限公司、中兴通讯股份有限公司、华为技术有限公司。
本标准参加起草单位:中国信息通信研究院。本标准主要起草人:马季寿、何晓峰、谢梦楠、宋盈、马高峰、傅瑜。I
1范围
运营级网络地址翻译(NAT)技术要求NAT64
YD/T.3186—2016
本标准确立了NAT64的技术内容和使用范围,规定了 NAT64实现中 NAT64/DNS64的模型与工作流程,以及 NAT64的技术要求,用于部署大规模V6-V4互通网关解决纯IPv6客户端访问IPv4业务的场合,主要包括数据的处理流程、相关信息和资源的更新以及一些安全性的考虑,对IPv6演进具有指导意义。
本标准适用于有 DNS64配合的场景。DNS64 是一种将 DNS 查询信息中的 A 记录合成 AAAA 记录的机制。AAAA记录中的 LPv6地址是由 IPv4地址和分配给NAT64的IPv6前缴生成的。在支持DNS64机制的域名系统的配合下,只需要部署支持NAT64机制的设备连接纯IPv6网络和纯IPv4网络,就可以实现纯IPv6客户端发起通信,访问IPv4服务器的场景。2规范性引用文件
下列文件对于本文件的应用时必不可少的,凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。传输控制协议
IETFRFC793
IETF RFC 2460 IPv6
ETFRFC4443ICMPv6
IETFRFC4787单播UDP中NAT的行为需求IETFRFC4884支持多部分信息的扩展IETFRFC5382TCP中NAT的行为需求IETFRFC5508ICMP中NAT的行为需求IETF RFC 6052IPv4/IPv6翻译器中的IPv6寻址IETFRFC6145IP/ICMP翻译算法
IETFRFC6146IPv6客户端到IPv4服务器网络地址和协议的翻译(有状态NAT64)IETFRFC6147LPv6客户端到IPv4服务器的网络地址转换的DNS扩展(DNS64)YD/2956-2015DNS64技术要求
YD/T 3186—2016
3术语、定义和缩略语
3.1术语和定义
下列术语和定义适用丁本文件。3.1.1
三元组3-Tuple
这个三元组由(源IP地址,日的LP地址,ICMP标识符)组成。一个三元组用来表示一个ICMP查询会话。
五元组 5-Tuple
这个五元组由(源IP地址,源端口,月的IP地址,日的端口,传输层协议)组成。一个五元组用米表示一个UDP/TCP会话。
端点无关映射Endpoint-lndependentMapping只取决于内部IP和内部源端口的NAT转换。即不管内部日的地址和内部日的端口是什么,同一个内部源IP地址和内部源端口映射到间一个外部源P地址和外部源端口。3.1.4
端点无关过滤Endpoint-IndependentFilteringNAT64只过滤不到内部IP地址和端口的报文。换言之,NAT64可以转发内部到外部任何IP的报文,并充许任何回到内部端点的报文。即NAT64对于·从外部来的报文是否过滤只取决于内部P地址和端口,只过滤不发往内部IP地址和端口的报文。3.1.5
地址相关过滤Address-DependentFilteringNAT64过滤掉不到内部 IP地址和端口的报文。此外,如果X:x没有向 Y:a1y发送报文,则NAT64也过滤掉来自Y:y,目的是X:x的报文;换言之,为了接收到来自某外部端点的报文,内部端点必须先向该外部端点发送报文。
发卡行为Hairpinning
NAT64之后的两台主机(主机A和主机B)交换数据时,NAT64为他们分别分配外网P地址和端口,当主机A需要和主机B联系时,主机A的报文会发往主机B的外网地址,这个报文经过NAT64,NAT64设备把这个数据发给主机B。
ICMP查询报文ICMPQueryPacket
YD/T 3186-—2016
ICMP查询报文是指除了ICMP差错报文的ICMP报文。对于ICMPv6来说,ICMPv6查询报文是ICMPv6信息报文[RFC4443]。对于ICMPv4.ICMPv4查询报文是所有除了ICMPv4差错报文的ICMPv4报文。
会话Session
两个不同主机之间的数据流,可以是TCP,UDP或ICMP查询。3.1.9
绑定信息库BindingInformationBase绑定信息库是NAT64保存的一张绑定信息表。NAT64为每个被翻译的协议生成一个绑定信息库。本文档中,分别为TCP、UDP和ICMP查询协议生成了绑定信息库。如果需要,也可以为其他协议添加绑定信息库,如SCTP等。
传输地址Transport Address
一个IPv4或者IPv6地址与一个端口的组介。3.1.11
IPv4转换的IPv6地址IPv4-ConvertedIPv6Address在 IPv6 网络中表示 IPv4 节点的 IPv6 地址,由 IPy4 地址和 IPv6前缀构成。3.1.12
AAAA记录AAAARecord
DNS协议中的一个资源记录类型用来表示IPv6地址。3.1.13
A记录 ARecord
DNS协议中的个资源记录类型用求表示IPv4地址。3.2缩略语
以下缩略语适用于本文件。
Authentication,Authorization,AccountingBinding Information Base
Datagram Congestion Control ProtocolDon't Fragment
Domain Name System
认证、授权和计费
绑定信息库
数据报拥塞控制协议
不分片
域名系统
YD/T 3186—2016
ICMP DEFAULT
TCP EST
Denial of Service
Encapsulating Security PayloadFully Qualified Domain Name
Internet Control Message ProtocofICMP query session timer
Intemet Group Management ProtocolInternet Protocol
Intemet Protocol Security
Multicast Listener DiscoveryMaximum Transmission Unit
Network Address Translation
Session Table Entry
Transmission Control ProtocolTcpEstablishedconnection idletimeoutTCPINCOMING SYN
TCpIncomingSynchronization idletimeoutTCP TRANS TCP
UDP DEFAULTUDP
UDP_MIN
4概述
4.1NAT64部方式
4.1.1NAT64部署方式概述
TCP Transitory connection idletimeoutType of Scrvice
Time To Live
User Datagram Protocol
DefaultvalueofUDPmapping timerMinitmum value of UDP mapping timer拒绝服务
封装安全负载
光全合格域名
互联网控制报文协议
ICMP查询会话计时器
互联网组管理协议
互联网协议
互联网协议安全
组播侦听发现协议
最大传输单元
网络地址转换
话表项
传输控制协议
TCP完成建立超时
TCP入方向同步超时
短暂连接超时
服务类型
生存时间
用户数据报协议
映射计时器缺省值
UDP映射计时器最小值
随着IPv4公有地址耗尽,运营商可以通过IPv6[RFC2460]方式提供用户接入服务,但是,目前互联网,上绝大多数业务仍是纯 IPv4 业务,为了在 IPv4向 IPv6 迁移过程中,实现纯 IPv6 ±机与纯 IPv4服务器之间的通信,可以采用NAT64方案,其部方式如图1所示。4
N6网络
图1NAT64部署方式
纯IPy4务器
互联网
YD/T 3186—2016
实现NAT64机制的设备至少有两个接IJ,一个IPv4接口连接到」IPv4网络,一个IPv6接口连接到IPv6网络。从IPv6网络产生:的需要到达IPv4网络接收端的报文会在:IPv6网络中被路由到NAT64设备,NAT64翻译并转发这些报文到IPv4网络中的IPv4接收端。NAT64解决方案主要由NAT64翻译机制和DNS64[RFC6147]机制组成。4.1.2NAT64翻译
NAT64翻译是NAT64解决方案的主要组成部分,它由地址翻译机制和协议翻译机制两部分构成。从IPv4报头向IPv6报头翻译,或者相反方向的翻译,是通过IP/ICMP翻译算法[RFC 6145实现的。地址翻译机制主要负责Pv6传输地址和IPv4传输地址之间的相互映射。为了实现映射功能,NAT64需要两个地址池:个LPv6地址池(代表IPv6网络中的LPv4地址)和一个IPv4地址池(代表IPv4网络中的IPv6地址)。
IPv6 地址池是由一个或多个分配给 NAT64 的 IPv6 前缀组成。此后,将 IPv6 地址池称作前缀Pref64:/n。根据RFC6052定义,有两种前缴可以用作Pref64:/n,Pref64:/n可以是知名前缀64:ff9b::/96,知名前缴是一种具有全球意义的前缀;Pref64:/也可以是一个特定网络前缀,特定网络前缀是由组织分配的。配置给 NAT64 的 Pref64::/n 与 DNS64 相同。NAT64 利用 Pref64:/n 生成 IPv4 转换的 IPv6 地址。由于IPv6巨人的地址空间,可以分配一个或多个Pref64:/n,每个Pref64:/n所能表示的地址范围都可能大于或者等于整个rPv4空间。因此,通过简单地连结一个Pref64:/n前缀、一个IPv4地址和-个后缀,就可以将一个IPv4地址映射成不同的IPv6地址。同时NAT64向IPv6网络发布路由,目的地址包含这些IPv6前缴的报文会被路由到NAT64进行处理。IPv4 地址池是由一系列 IPv4 地址组成。NAT64 用这些 IPv4 地址与 IPv6 地址映射,表示 IPv6 地址在IPy4网络中的映射地址。由于 LPv4 地址资源有限,不能与 IPv6 地址形成固定的对一映射关系,因此除了静态或手动建立的映射,使用IPv4地址池的映射都是动态生成和释放的。此外,为了提高IPv4地址的利用率,NAT64通常绑定 IPv4 传输地址和 IPv6传输地址,而不是直接绑定 IPv4的IP地址和 IPv6的 IP 地址。这表明 NAT64 实施的是地址和协议的翻译。NAT64 同时向 IPv4 网络发布路由,月的地址为IPv4地址池中地址的报文会被路由到NAT64进行处理。协议翻译机制主要负资IPv4报头和IPv6报头报头之间的相互转化,如图2所示。除了IP报头报头的翻译,还需要对TCP、UDP和ICMP进行翻译。对于TCP和UDP协议,出于IP地址和端口发生5
YD/T3186—2016
改变,因此TCP和UDP的报头报头也需要翻译,如果存在校验和,则需要进行重新计算:对于ICMP协议,上要是ICMPv4报头和ICMPv6[RFC4443]报头之间的翻译:对于其他数据部分,则不做改变。m头
传输层报头
mv退头
分片银头
(如果需要)
传输层报头
图 2 IPv4到 IPv6之间的翻译
4.1.3DNS64
DNS64 是--种从 A 记录合成 AAAA 记录的方法。DNS64 配合 NAT64 使得纯 IPv6 客户端获得表示纯 IPv4 服务器的 IPv6 地址,从而能够在两者之间建立连接。 DNS64 相关规定参考标准YD/T2956-2015。
4.2NAT64/DNS64工作流程
NAT64解决纯IPv6网络4的 IPv6主机向IPv4互联网的TPv4服务器发起通信的场合,如图3所示:跌
实脱1NS64动能的减务服务霜
图3NAT64/DNS64工作流程
当主机H1创建和服务器H2的通信时,其步骤如下;a)IPv6主机HI向其IPv6 DNS服务器发起AAAA域名请求:b)DNS64服务器接收到IPv6主机H1的域名请求后,查询本地域名系统,如发现有AAAA记录,则返回该域名对应的地址给IPv6主机HI。当整个系统未发现有AAAA记录时,则间IPv4网络发起A域名请求:
c)位于IPv4域的DNS服务器将A的查询响应返回给DNS64;YD/T31862016
d)DNS64接收到A域名响应后,将该A域名响应进行DNS64的转化,将IPv4服务器H2的IPv4地址嵌入到配置的 Pref64前缀地址中,将A记录转换为AAAA记录,并将该AAAA记录响应给IPv6主机HI;
e)IPv6主机HI获得AAAA响应后,向IPv4服务器H2对应的IPv6地址发起连接请求,该报文的源地址为IPv6主机地址,目的地址为AAAA哪应中的地址。请求报文被路由转发到NAT64后,NAT64为该IPv6主机 H1分配IPv4地址,对其进行IPv6-IPv4地址转换和LPv6协议-IPv4协议转换。完成转换后将转换后的 IPv4报文发送到 Pv4 网络,最终到达 IPv4服务器 H2;f)IPv4服务器H2对其连接建立请求进行响应:g)IPv4服务器H2的IPv4响应报文到达NAT64后,NAT64识别月的地址是NAT64地址,进行NAT64映射查找,并对IPv4报文进行IPv4-IPv6地址转换和IPv4协议-IPv6协议转换。完成转换后将转换后的IPv6报文发送到IPv6网络,最终到达TPv6客户端。连接建立完成。5NAT64处理流程
5.1NAT64处理流程概述
NAT64设备作为网关连接IPv4与[LPv6网络,会通过连接端口接收到报文,这些报文可以是IPv6或者IPy4报文,本标雅月前只规定了三种报文处理,包括TCP、UDP和ICMP报文,NAT64对收到的数据包处理流程如下:a)输入元红的提取;
b)过滤和更新绑定和会话信息:e)输出元组的计算;
d)翻译数据包:
发卡行为的处理。
NAT64利用BIB记录映射绑定信息。NAT64维护三种BIB,分别为:TCPBIB,UDPBIB和 ICMP查询 BIB。
对于TCPBIB和UDPBIB,每个BIB表项指定了在IPv6传输地址和LPv4传输地址之间的一个映射:(X',x)<--->(T,t)
式中:
X\——IPv6 地址;下载标准就来标准下载网
T—--NAT64分配的IPv4地址:
x、t—端口号。
TCP或UDPBIB维护的具体信息见表1。(1)
YD/T 3186 -2016
源IPv6地址
翻译后的源IPv4地址
源传输端口
翻译后的源传输端口
字段名称
表1TCP或UDPBIB
长度(比特)
BIB中的信息还可以用来实现端点无关过滤。是否强制
对于JCMP查询BIB,每个ICMP查询BIB表项指定了在(IPv6地址,ICMPv6标识符)和(IPv4地址,ICMPv4标识符)之间的一个映射:(X,i1)<---> (T,i2)
式中:
X\——TPv6 地址;
T-—NAT64 分配的 IPv4 地址:
il——ICMPv6 标识符:
i2——ICMPv4 标识符。
[CMP查询BIB维护的具体信息见表 2。表2ICMP查询BIB
字殷名称
源TPv6地址
ICMPv6标识符
源IPv4地址
ICMPv4标识符
长度(比特)
是否强制
二种BIB的表项可以动态的通过数据流来建立,也可以通过管理员手动配置米建立,NAT64的二种BIB的表项都应该支持手动建立。动态建立的BIB表项在最后一个会话从会话表中移除后随之删除,手动配置的BIB表项则不会随若会话表项的移除而删除,只能由管理员来删除。5.3会话表
NAT64维护三种会话表:TCP会话表,UDP会话表和ICMP查询会话表,每个STE记录了相关会话的状态信息。
在TCP或UDP会话表中,每个表项指定了一对IPv6传输地址和对IPv4传输地址之间的映射关系,其关系如下所示:
(X',x),(Y,y)≤--->(T,t),(Z,z)式中:
X、Y\——IPv6 地址:
T、Z——IPv4 地址:
x. y. z.t-
-端口号:
NAT64分配的IPy4地址:
YD/T 31862016
Y—IPv4地址Z的IPv6地址,Y'可以根据NAT64使用的算法由IPv4地址Z产生,其具体过程要求避循RFC6052。
每个UDP/TCPSTE维护的信息见表3。表3TCP或UDPSTE
字段名称
生存时间
源IPv6地址
翻译后的源(Pv4地址
源传输端口
翻译后的源传输端口
目的IPv6地址
翻译后的目的IPv4地址
自的传输端口
翻译后的目的传输端口
长度 (比特)
是否强制
在ICMP查询会话表中,每个表项指定了一个二元组(IPv6源地址,IPv6月的地址,[CMPv6标识符)和一个三元组(LPv4源地址,IPv4日的地址,ICMPv4标识符)之间的映射,其关系如下所示:(X',Y'i1) <--->(T,Z,i2)
式中:
-IPv6地址:
T、Z——IPv4 地址;
il——ICMPv6标认符;
-ICMPv4 标识符;
T—NAT64分配的IPv4地址:
一IPv4地址Z的IPv6地址,Y'可以根据NAT64使用的算法由 IPv4地址Z产生,其具体过程应遵循RFC6052。
每个ICMP查询STE维护的信息见表4。4ICMP查询STE
字段名称
生存时间
源IPv6地址
目的IPv6地址
ICMPv6标识符
源IPv4地址
目的Pv4地址
1CMPv4标识符
长度(比特)
是否强制
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。