运营商级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)的更多相关文章

  1. 100.64.0.0/10运营商级(Carrier-grade)NAT保留IP地址

    在一次跟踪路由的网络操作时发现自己路由器下一跳路由节点的IP地址比较奇怪,是100.64.0.1.好奇促使我查询了这个IP地址的归属,结果是保留地址,到这里觉得比较奇怪了,按照常理以IPv4为例保留的 ...

  2. 路由器WAN口IP显示为10、100、172开头,网络被电信联通等运营商做了NAT转发

    摘要:路由器WAN口IP显示为10.100.172开头,网络被电信联通等运营商做了NAT转发 ... 路由器WAN口IP显示为10.100.172开头的解决方法方法一:找电信(10000号)或者联通( ...

  3. 双链路接入(双出口)isp运营商(负载分担)

    USG作为校园或大型企业出口网关可以实现内网用户通过两个运营商访问Internet,并保护内网不受网络攻击. 组网需求 某学校网络通过USG连接到Internet,校内组网情况如下: 校内用户主要分布 ...

  4. Android 5.0 Default SMS App以及运营商授权SMS App

    已同步更新至个人blog:http://dxjia.cn/2015/08/android-5-default-sms-app/ 题外话:博友们有没有好用的写博客客户端推荐啊,cnblogs推荐的win ...

  5. iOS获取运营商的相关信息

    1.导入:CoreTelephony.framework 2.添加头文件 #import <CoreTelephony/CTTelephonyNetworkInfo.h> #import ...

  6. 运营商网络採用SDN所面临的挑战(一)

    运营商网络採用SDN所面临的挑战(一) Babak Samimi 将数据平面.控制平面与管理平面分隔开来所实现的软件定义网络(SDN)改善了OPEX及CAPEX,而且使得网络资源的集中调配和管理成为可 ...

  7. 从运营商小广告到HTTPS

    相信很多人都试过这样的经历,浏览一个正常的网站时,右下突然角弹出一堆小广告,而且这些广告的内容和你浏览的网站格格不入: 前几天还有某微博用户爆料访问github时居然也有广告: 又或者,你有没有试过因 ...

  8. Android系统分析之运营商显示流程分析之运营商信息的读取流程二

    运营商显示流程分析之运营商信息的读取流程 一. SIM卡运营商信息的读取 从前面的 运营商信息的获取和赋值 可以知道SIM卡运营商的赋值最终是在 SIMRecords 中完成的, 而SIM卡信息的相关 ...

  9. 运营商DNS系统安全解决方案

    DNS系统面临的主要风险 目前,DNS面临的安全问题主要可以分为三类:DNS欺骗攻击.拒绝服务攻击.系统漏洞,下文将分别进行介绍.  DNS欺骗攻击 当一个DNS服务器遭到欺骗攻击,使用了来自一个恶 ...

随机推荐

  1. 把对象列表转化成json数据格式

    package JsonTest; import java.util.ArrayList; import java.util.List; public class test { public stat ...

  2. python编程快速上手之第6章实践项目参考答案

    #!/usr/bin/env python3.5 2 #coding:utf-8 3 # 4 # 这个项目主要目的是字符串的处理,简单格式化输出 5 tableData = [['apples','o ...

  3. iconfont字体图标的使用方法--超简单!

    我之前因为项目用bootstrap比较多,所以使用font awesome字体图标比较多,后来接触到了iconfont,发现想要的什么图标都有,还可以自定义图标,非常强大!之前看了一波教程,觉得繁琐, ...

  4. webstrom一键上传github及使用

    对于webstrom是我参加it修真园时就推荐使用的,其他编辑器我也没什么使用过.读大学的时候还是比较喜欢 Notepad++. 现在说一下webstrom主要的关键点吧! 一.实现一键上传githu ...

  5. 使用Vue-resource完成交互

    使用vue-resource 引入vue-resource vue-resource就像jQuery里的$.ajax,是用来跟后端交互数据的,vue-resource是vue的一个插件,所以我们在开始 ...

  6. tcp入门(唐唐的故事)

    1,互联网的实现,分成好几层.每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持.把互联网分成五层,容易让人理解. 2,对这五层的理解(唐唐讲故事): 实体层:目的就是把计算机连接起来,用电气 ...

  7. Selenium webdriver定位iframe里面元素两种方法

    以东方财富网登录页面为例: 在查找元素过程中,直接通过id或者xpath等找不到元素,查看页面源代码发现元素是属于iframe里,例如: <div class="wrap_login& ...

  8. 没写完。。51nod_1630: B君的竞技场(期望 概率)

    题目链接 根据 你可以认为B君的水平是在所有人中的等概率随机 ,设 每场中B君获胜的概率为p~U(0,1),在给定的x,y下至游戏结束B君的获胜场数为f(p) (这是一个关于p的函数), 由此

  9. SQL Server系列之SQL Server 2016 中文企业版详细安装步骤(超多图)

    1. 下载地址 下载地址 :https://www.microsoft.com/en-us/server-cloud/products/sql-server-2016/ 官方技术文档:https:// ...

  10. (转)sizeof

    数据类型的大小(即所占字节数)以及能够表示的数据范围是与编译器和硬件平台有关的."float.h"头文件(如vc6.0,在include目录下)通常定义了基本数据类型能够表示的数据 ...