自学内容网 自学内容网

端口预分配和增量分配简介

定义

端口预分配和增量分配是NAT的一种增强技术。端口预分配是指,当某用户的第一条流量到达设备后,设备给该用户预分配一段端口资源(包括公网IP和对应的端口块),该用户的后续流量从已经分配的端口块中选择端口进行地址端口替换。增量分配是指当用户预分配的端口资源耗尽时,还可以通过追加分配的方式获取更多的端口资源。

目的

在不使用端口预分配和增量分配特性时,NAT的端口分配方式是采用动态分配方式,对于用户的每条流都进行端口的分配,端口随机从NAT地址池中的可用端口范围进行选取。此种方式公网IP地址利用率高,但是每条流都会产生一条日志,在业务量比较多时日志量也比较大,并且在通过Syslog服务器为地址溯源时要为每条流的源地址进行溯源,对设备与Syslog服务器的负载较大。

部署端口预分配和增量分配特性的NAT功能只需要在端口块分配和回收时记录日志,此种方式产生的日志量少。通过Syslog服务器对日志进行解析,获取用户的源地址等信息,解决地址溯源问题。

端口预分配和增量分配原理描述

三元组NAT需要配置端口预分配和增量分配,而五元组NAT只需要配置端口预分配。具体原因如下。

三元组NAT是通过源IP、源端口和协议三元进行标识的,如果这三元相同,转换的公网IP和端口也相同。在区分不同的业务时,只能使用公网IP或者端口来区分,所以存在大量匹配三元组NAT的业务时,可用端口资源容易耗尽。此时,可以配置增量分配,补充端口数量。

五元组NAT除了通过源IP、源端口和协议进行业务识别外还可以通过目的IP和目的端口来区分,尽管转换的公网IP和端口都相同,只要访问的目的IP和端口不同,公网到私网的回应报文就可以通过会话来正确转换为私网IP和端口。所以存在大量匹配五元组NAT的业务时,如果访问的目的IP或者端口与之前的流量不同,则可以重复利用预分配端口块的端口,这称为五元组的端口复用。由于五元组的端口复用率比较高,所以五元组NAT不需要配置增量分配端口就可以满足业务需要。

端口预分配和增量分配功能应用在NAT444和NAT64的组网环境中,为设备上的NAT转换分配端口资源。不同的组网环境中处理流程也不相同。

端口预分配和增量分配在NAT444中的处理流程

运营商城域网为IPv4网络,当接入用户较多时,通过部署端口预分配和增量分配功能为CPE设备预先分配端口块,从而减少日志输出量和方便用户地址溯源。

图1所示为端口预分配和增量分配功能在NAT444场景中的应用,其中:

  • CPE作为用户接入设备,为用户分配私网IPv4地址,并对业务流做一级NAT转换处理。

  • BRAS(Broadband Remote Access Server)作为城域网接入层设备,通常内置DHCP Server模块,作为Radius客户端配合AAA服务器完成对CPE的认证和地址分配。NAT444场景中BRAS设备为CPE分配的地址为IPv4地址,CPE设备用此地址与CGN设备进行通信。

  • CGN设备作为流量汇聚点,需要为CPE用户分配公网端口块资源,并对业务流做二级NAT转换处理。

  • Syslog服务器与CGN设备联动,接收从CGN设备传送的日志信息,通过对日志信息的分析与解析,完成对CPE地址的溯源。

  • 此特性中的溯源都是针对CPE设备,而不是CPE设备下面的用户。

图1 端口预分配和增量分配特性在NAT444场景中的应用

端口预分配和增量分配在NAT444中的具体实现流程如图2所示。

图2 NAT444场景下端口预分配和增量分配原理图

  1. 私网IPv4用户要访问IPv4 Internet,首先发送IPv4报文到网关设备CPE。
  2. CPE设备接收到私网IPv4报文后,转换报文头部的用户私网地址为运营商私网地址。地址转换后的报文根据路由被转发到CGN设备。
  3. CGN设备接收到报文后,转换运营商私网地址为公网IPv4地址,同时为该CPE预分配一段端口资源。后续经过该CPE发往CGN设备的用户流量共同使用这段端口资源。如果后续业务较多时,通过增量分配追加端口。
  4. 日志服务器与CGN设备联动,接收从CGN设备传送的日志信息,通过对日志信息的分析与解析,完成对CPE地址的溯源。
端口预分配和增量分配在NAT64中的处理流程

运营商提供NAT64设备,使IPv6单栈用户可以访问IPv4服务器。通过部署端口预分配和增量分配功能为用户预先分配端口块,从而减少日志输出量。

设备可以向日志服务器发送Syslog格式的日志。日志信息被传送到日志服务器进行解析,解析后可以有效解决用户地址溯源问题。

所示为端口预分配和增量分配功能在NAT64场景中的应用。其中,IPv6单栈用户作为发起端,向远端服务发起请求。IPv4 服务器作为被访问的远端,接收IPV6发送过来的报文。DNS64用来完成域名和地址解析功能。Syslog服务器与DeviceA联动,接收从DeviceA传送的日志信息,通过对日志信息的分析与解析,完成对IPv6用户地址的溯源。

图3 NAT64场景中的端口预分配和增量分配特性

端口预分配和增量分配在NAT64中的具体实现流程如所示。

  1. IPv6单栈用户发起远端服务的AAAA DNS请求(example.huawei.com)。
  2. DNS64收到请求报文后,先解析AAAA请求,如果解析不到IPv6地址,再发起A请求,通过解析发现此服务地址为IPv4地址,根据配置的Prefix64::/n(64:ff9b::/96),合成NAT64地址(64:ff9b::0101:0102),然后发给用户,完成地址解析。
  3. 用户收到DNS64的回复报文后,把解析的地址作为目的地址发往远端服务器。
  4. DeviceA收到用户发出的IPv6报文后,使用地址转换算法提取出IPv6报文中的IPv4地址(1.1.1.2),以此IPv4地址作为IPv4报文的目的地址;当IPv6报文命中端口预分配NAT策略时,端口预分配会为IPv6用户预分配一段端口资源。如果业务较多预分配端口不足,可以通过增量分配追加一段端口。DeviceA根据转换信息新建IPv6、IPV4会话将IPv6报文转换为IPv4报文,发送给IPv4网络中的服务器。服务器收到报文后,回复响应报文。
  5. DeviceA与日志服务器联动,接收从DeviceA传送的日志信息,通过对日志信息的分析与解析,完成对IPv6用户地址的溯源。
  6. DeviceA收到IPv4网络中服务器的响应报文后,根据会话表将IPv4报文转换为IPv6报文,然后发送至IPv6用户。

原文地址:https://blog.csdn.net/2301_76769041/article/details/143084948

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!