运营商级NAT(Carrier-grade NAT)
运营商级NAT(Carrier-grade NAT)
运营商级(Carrier-grade)NAT,是用于缓解是IPV4地址枯竭的一种方法,通过这种方法,原来被分配公网ip的端点、家庭网络等可以被分配一个私有的ip地址,共享一个地址池。
以家庭网络为例,最初IPV4地址充足的时候,运营商可以分配给每个家庭一个公网ip,每个家庭使用NAT共享此ip(也可以不使用);而随着接入的家庭增多,为了防止运营商手中的地址消耗过快,不再分给每个家庭一个公网ip,因此就采用在家庭网络之上再架设一层NAT,让这些家庭共享一个地址池的方法来缓解压力。而这个运营商级别的NAT使用的预留地址空间,显然不能跟用户使用的预留地址空间冲突,所以只能再选取另一段地址作为运营商级NAT的地址空间,也就是[RFC6598]中记录分配的地址空间,这段地址叫Shared Address Space。ARIN根据此分配的需要将空间返还给IANA。分配的地址块为100.64.0.0/10。
这是近些年的改动,因此很多教科书中的预留地址中并没有介绍这个地址,事实上预留的地址还有很多,可以自己查阅文档:|
为什么要用新的地址空间:
最初[RFC1918]分配了三个地址空间作为预留ip地址,供私有网络作为内网ip使用,其分布如下:
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
因为ISP用户的私有网络(例如家庭网络)常用的地址空间就是RFC1918分配的地址空间,因此ISP如果想在用户的NAT之上再架设NAT,就只能用另一块地址空间来作为私有地址,不能与用户使用的地址空间冲突。
如果一个ISP部署一个大范围的NAT,并且使用[RFC1918]分配的地址空间(即我们最为熟知的那三个预留地址空间),会发生什么?试想一下一个路由器/NAT内外侧存在相同的ip地址 :P
CGN的害处
其害处与一般NAT都是类似的,比如损害端到端原则,无法架设服务器等等,见一般教科书即可。另外,这样一个NAT显然会使得追踪ip地址变得困难,因为个人的私有ip地址对应公用地址池中的一个地址的一个端口,显然,如果不记录地址翻译,将很难追踪一个ip地址的行为。
显然这种方法也只是缓解IPV4地址不够用的情况,并不能从根本上解决地址枯竭的问题。
参考资料:
https://en.wikipedia.org/wiki/Carrier-grade_NAT
https://tools.ietf.org/html/rfc1918
https://tools.ietf.org/html/rfc6598
运营商级NAT(Carrier-grade NAT)的更多相关文章
- 100.64.0.0/10运营商级(Carrier-grade)NAT保留IP地址
在一次跟踪路由的网络操作时发现自己路由器下一跳路由节点的IP地址比较奇怪,是100.64.0.1.好奇促使我查询了这个IP地址的归属,结果是保留地址,到这里觉得比较奇怪了,按照常理以IPv4为例保留的 ...
- 路由器WAN口IP显示为10、100、172开头,网络被电信联通等运营商做了NAT转发
摘要:路由器WAN口IP显示为10.100.172开头,网络被电信联通等运营商做了NAT转发 ... 路由器WAN口IP显示为10.100.172开头的解决方法方法一:找电信(10000号)或者联通( ...
- 双链路接入(双出口)isp运营商(负载分担)
USG作为校园或大型企业出口网关可以实现内网用户通过两个运营商访问Internet,并保护内网不受网络攻击. 组网需求 某学校网络通过USG连接到Internet,校内组网情况如下: 校内用户主要分布 ...
- Android 5.0 Default SMS App以及运营商授权SMS App
已同步更新至个人blog:http://dxjia.cn/2015/08/android-5-default-sms-app/ 题外话:博友们有没有好用的写博客客户端推荐啊,cnblogs推荐的win ...
- iOS获取运营商的相关信息
1.导入:CoreTelephony.framework 2.添加头文件 #import <CoreTelephony/CTTelephonyNetworkInfo.h> #import ...
- 运营商网络採用SDN所面临的挑战(一)
运营商网络採用SDN所面临的挑战(一) Babak Samimi 将数据平面.控制平面与管理平面分隔开来所实现的软件定义网络(SDN)改善了OPEX及CAPEX,而且使得网络资源的集中调配和管理成为可 ...
- 从运营商小广告到HTTPS
相信很多人都试过这样的经历,浏览一个正常的网站时,右下突然角弹出一堆小广告,而且这些广告的内容和你浏览的网站格格不入: 前几天还有某微博用户爆料访问github时居然也有广告: 又或者,你有没有试过因 ...
- Android系统分析之运营商显示流程分析之运营商信息的读取流程二
运营商显示流程分析之运营商信息的读取流程 一. SIM卡运营商信息的读取 从前面的 运营商信息的获取和赋值 可以知道SIM卡运营商的赋值最终是在 SIMRecords 中完成的, 而SIM卡信息的相关 ...
- 运营商DNS系统安全解决方案
DNS系统面临的主要风险 目前,DNS面临的安全问题主要可以分为三类:DNS欺骗攻击.拒绝服务攻击.系统漏洞,下文将分别进行介绍. DNS欺骗攻击 当一个DNS服务器遭到欺骗攻击,使用了来自一个恶 ...
随机推荐
- Mysql元数据分析
Mysql元数据分析 @(基础技术) 一.information_schema库 information_schema库中的表,保存的是Mysql的元数据. 官网元数据表介绍 InnoDB相关的表介绍 ...
- JS运动框架的封装过程(一)
给大家出一道题,从起点A走到目的地B,一共用了1000毫秒,每一次是30毫秒,请问你在这里面得到了哪些信息? 信息有哪些呢? 第一个,总时长是:1000毫秒 第二个,多久时间走一次?30毫秒 第三个, ...
- Logback 基础知识
1.Logback使用logback 是log4j的替代者,其需要slf4j.其配置文件主要有以下三种1. logback.groovy2. logback-test.xml3. logback.xm ...
- C# 调用.exe文件
process da = new process(); da.startinfo.filename = @""D:\BM0002\BM0002.exe"; //要调用的 ...
- Gym 100952 D. Time to go back(杨辉三角形)
D - Time to go back Gym - 100952D http://codeforces.com/gym/100952/problem/D D. Time to go back time ...
- hdu_5963:朋友
刚看到这题时感觉是树上博弈,然后我开始用一维的数据找规律.发现在一维的树上,如果把各边的值合在一起当成一个二进制数,那么,ans只与奇偶性有关,于是,我提出了一个比较大胆的假设:若连接在root上的所 ...
- Java之戳中痛点 - (6)避免类型自动转换,例如两个整数相除得浮点数遇坑
先来看一个例子: package com.test; public class calculate { /** * 光速30万公里/秒 */ public static final int LIGHT ...
- foreach是怎么实现遍历的
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...
- HTML5 开发APP
近期在做app,现在项目进行了一段时间,我打算把自己的经验写出来,给自己总结一下也给会用小伙伴看一下.本人前端一枚.我们所以能选的技术就是CSS,HTML,JS了,经过准备我决定用HBuilder 准 ...
- Java之IO流补充
IO流例子 package com.hanqi.maya.util; import java.io.BufferedReader; import java.io.BufferedWriter; imp ...