运营商级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服务器遭到欺骗攻击,使用了来自一个恶 ...
随机推荐
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明
php有一款插件叫做imagemagick,功能很强大,提供了图片的很多操作,图片剪切.压缩.合并.插入文本.背景色透明等.并且有api方法调用和命令行操作两种方式,如果只是简单处理的话建议api方法 ...
- seajs源码阅读
乘着周日有点时间,阅读一下玉伯大神的源码. seajs的源码写得真的很好,很是佩服,工整美观不愧是大神,造福百姓. 说起seajs不得不说,AMD和CMD的区别. CMD 推崇依赖就近,AMD 推崇 ...
- Photoshop制作雪碧图技巧
雪碧图,就是将网页制作中使用的多个小图片合并成一个图片,使用css技术将这张合成的图片应用在网页不同的地方. 雪碧图可以减少网页加载时的http请求数,优化网页性能. 步骤: a.使用Photosho ...
- Python3 常用数据类型语法
1.int类型 int类型的数据是没有长度限制的,它的最大长度只与计算机的内存有关. bin(i) 返回二进制表示结果, hex(i) 十六进制, int(i) 整数( ...
- Angular--ui-router的使用
先引用Angular然后引用ui-router 路由清单:我们依赖的ui.router中提供了一个服务$state,此时可以用config来配置这个服务.用$stateProvider的state方法 ...
- Storm集群安装部署步骤
本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以"注意事项"的形式给出. 1. Sto ...
- Klass与Oop
前段时间,一直在看<Hotspot实战>,顺便编译了一份OpenJDK的源码,然后就在eclipse里面调试起来. 虽然我的入门语言是c/c++,但是被Java拉过来好几年了,现在再看源码 ...
- input复选框操作的部分高频率使用代码
1. 获取单个checkbox选中项(三种写法): $("input:checkbox:checked").val() 或者 $("input:[type='checkb ...
- CONSOLE_SCREEN_BUFFER_INFO 结构体
CONSOLE_SCREEN_BUFFER_INFO结构体 来源:https://msdn.microsoft.com/en-us/library/ms682093(v=vs.85).aspx 作用 ...
- 关于用node批量修改文件名
关于node环境的配置和环境变量的配置就不再这个细说了 一.首先按需求找到需要使用的模块 fs和path: const fs=require('fs') const path=require('pat ...