在一次跟踪路由的网络操作时发现自己路由器下一跳路由节点的IP地址比较奇怪,是100.64.0.1。好奇促使我查询了这个IP地址的归属,结果是保留地址,到这里觉得比较奇怪了,按照常理以IPv4为例保留的IP地址一般为以下几种,常用于内网通讯或者特殊用途:

地址块 起始 结束 备注
10.0.0.0/8 10.0.0.0 10.255.255.255 局域网分配
172.16.0.0/12 172.16.0.0 172.31.255.255 局域网分配
192.0.0.0/24 192.168.0.0 192.168.255.255 局域网分配
169.254.0.0/16 169.254.0.0 169.254.255.255 两台主机对等连接,当Windows获取不到IP地址的时候会自动分配此类地址
127.0.0.0/8 127.0.0.0 127.255.255.255 回环(loopback)地址,表示本机
255.255.255.255/32 255.255.255.255 255.255.255.255 广播地址

这个100.64开头的IP地址又是什么鬼?搜索维基百科的Reserved IP Address词条才发现原来教科书上介绍的只是部分保留地址,整个保留地址家族的成员还是比较多的,那么100.64打头的IP地址对应地址块为100.64.0.0/10,地址范围为100.64.0.0~100.127.255.255,共包含有4,194,304个IP地址,这个保留地址也是用于内网,但是这个内网不是一般内网而是Carrier-grade NAT,这个英文对应的翻译是“运营商级NAT”。进一步搜索得知2012年4月的 RFC 6598 (IANA-Reserved IPv4 Prefix for Shared Address Space) 将100.64.0.0/10 (Shared Address Space) 地址块,用于给运营商ISP使用:

NetRange:       100.64.0.0 - 100.127.255.255
CIDR: 100.64.0.0/10
OriginAS:
NetName: SHARED-ADDRESS-SPACE-RFCTBD-IANA-RESERVED
NetHandle: NET-100-64-0-0-1
Parent: NET-100-0-0-0-0
NetType: IANA Special Use

据此可以推断出电信的黑科技实际上是使用了一个类似路由的设备将我们的网络组织成一个局域网,再通过网址转换NAT技术来实现网络通信,可以这么理解吧,我们以前通过PPPoE拨号获取的是随机分配的公网IP地址,这个IP地址是完全可以被互联网上任何设备访问的无障碍地址,但是现在通过拨号获取的只是一个内网地址,也就是说我们自己的路由器或者电脑拨号连接到了电信运营商的“大路由器”上,再也没有公网IP地址了。

为什么电信要使用这种方式来管理用户上网?首先我们要知道IPv4地址已经告枯竭,2011年2月4日全球顶级IP地址分配机构IANA分配完了最后5个A级地址块,因此IANA宣告IPv4地址告罄。2011年4月15日,APNIC宣布其剩余的可自由分配的IPv4地址已全部分配完毕,亚太地区进入IPv4地址耗尽阶段。随后几个月,中国各大运营商从APNIC以会员资格申请到了最后的几个C,至此各运营商也陷入了IPv4地址耗尽的困境。由于IPv6技术进展缓慢,为了解决IPv4耗尽对电信企业日益增长的用户对于网络需求的影响,NAT444/NAT44的方案由此诞生。

NAT444/NAT44方案说白了就是将过去每个宽带用户独立分配公网IP的方式改为分配内网IP给每个用户,运营商再对接入的用户统一部署NAT设备,NAT的作用就是将用户网络连接发起的内网IP,以端口连接的形式翻译成公网IP,再对外网资源进行连接。这样做以后,可以实现多个用户共享一个IP地址,在技术实现原理上和我们家用的路由器一样,其中NAT444对应传统宽带用户,NAT44则对应3G或者4G移动上网终端。

这样做的好处显而易见,首先延缓了IPv4耗尽对电信业务带来的威胁并进一步为IPv6技术部署留足时间,其次是内网保护,所有接入互联网的主机都不再直接接入,而是出于电信NAT设备的保护之下,没有独立的公网IP,所有端对端的远控软件将会失效,比如以前的灰鸽子木马,由于主机丧失了公网IP,灰鸽子反弹的IP地址将是电信NAT设备所使用的公网IP,黑客无法以此定位到中了灰鸽子木马的具体主机,不过这不影响第三方端口转发的远控软件,比如TeamViewer,但是对传统远控软件杀伤力是巨大的。最后增强了隐私保护,对于远端的网站通过IP地址跟踪等形式采集用户数据,或者以后台记录IP的形式定位用户身份的行为将不再有效,因为这个IP地址可以同一时间段内被大量用户所使用,所以部分广告商可能需要修改广告跟踪代码的相关逻辑,这边顺带说一句并不意味着处于电信NAT保护的用户可以做违法的事情,比较电信公司不是傻瓜,电信级NAT设备会有日志记录系统,所以处于其下的网络设备的上网流量都是得到有效审计的。

这样做的坏处是什么呢?首先丧失了公网IP让极客们的生活失去了不少乐趣,比如原先通过花生壳动态域名解析服务可以定位到我们家的上网设备,然后可以在上面架设一些服务等,从最原始的网站服务(电信封锁了80端口)到远程私有云存储,甚至是个人VPN等等,现在都不能直接使用了,因为动态域名服务解析的IP地址是电信级NAT设备所使用的公网IP,同时也是若干电信用户所共享的IP地址,NAT并不会转发你的请求到特定的电信用户,所以这些服务都失效了,其实这对于安装远程网络监控的公司或者个人带来的麻烦最大,原来只要配置好动态域名解析就可以在任何地方使用网络进行监控查看,现在都不可以了。其次共用IP地址容易让部分网络服务提供商误杀合法用户,比如一位非法的资源滥用电信用户和你在共享同一个公网IP地址,非法的资源滥用者由于滥用某个网络服务商资源从而被加入黑名单,注意这里只有将你们所共享的公网IP地址加入了黑名单,所以导致你这个合法的用户也不能正常使用该网络服务商所提供的资源了。最后这样做的坏处还有影响到电驴等P2P软件的使用,因为处于内网下导致电驴等软件一直是LowID,影响传输速度。

如何解决此问题?要想重新获取公网IP,最后还是要联系电信运营商,不行只有进行投诉解决了。

后来发现这种现象普遍存在,甚至有电信运营商直接分配172或者10开头的内网IP地址,但这种分配方式容易与用户自己的路由器IP地址冲突,所以还是100.64开头这种好一些,毕竟新设立专用于ISP运营的保留地址,个人网络设备占用的可能性较低。

希望IPv6能够尽快全面推广开,从而解决现在尴尬的局面。

100.64.0.0/10运营商级(Carrier-grade)NAT保留IP地址的更多相关文章

  1. 运营商级NAT(Carrier-grade NAT)

    运营商级NAT(Carrier-grade NAT)   运营商级(Carrier-grade)NAT,是用于缓解是IPV4地址枯竭的一种方法,通过这种方法,原来被分配公网ip的端点.家庭网络等可以被 ...

  2. [视频解说]0基础课程-运营商-Java它J2se

    本节解说 运营商应用 Java 算被分成: 算术运算符 颂值运营商 逻辑运算符 位运算符 元运算符 这里录制了 视频解说这几大类运算符,并有练习题提供大家 面试题: 1. 最有效率的方式算出2乘以8等 ...

  3. 【Win 10 应用开发】获取本机的IP地址

    按照老规矩,也是朋友的建议,老周今天在吹牛之前,先讲一个小故事. 有朋友问我,老周,你现在还发短信吗,你每个月用多少电话费?唉,实话说,现在真的发短信不多了,套餐送的130条短信,每月都发不了一条.至 ...

  4. 转:100.64. 开头IP地址问题

    100.64. 开头IP地址问题 姚洪楼 发表于 学习备忘录 分类,标签: 电信 08二月2015 0 之前调试过一个路由器在成功设置DDNS的情况下外网依旧无法访问的情况,当时没有多想什么,一直以为 ...

  5. 你的宽带ip地址被100.64了吗?

    你的宽带ip地址被100.64了吗?   最近需要用外网的时候发现,宿舍路由wan口的ip变成了100.64.X.X,本以为是一个外网的ip,可事实上并不是,并且从外网无法直接访问.   首先,我们都 ...

  6. Python查找电话号码归属地、邮编、运营商信息等

    # -*- coding: utf-8 -*- 1. 查找单个电话号码 from phone import Phone def get_phone_info(phone_num): phone_inf ...

  7. Python(phone)模块获取手机号归属地、区号、运营商等

    Python(phone)模块获取手机号归属地.区号.运营商等 一.我使用的是python3,可以自行搜索下载 二.安装phone模块, pip install phone 三.测试代码如下: fro ...

  8. BGP多线 有些BGP IP也会被极少数运营商劫持 取Ip逻辑

    小结: 1.租用的服务器只有一个IP,用户的访问路线是由路由器根据访客的实际访问速度选择最优访问路径,来选择访问的.而且不占用任何的服务器资源.服务器的上行和下行都是有路由器来选择最佳的路线,所以这样 ...

  9. Nginx的server为0.0.0.0/0.0.0.1的作用?

    看到kong默认的代理和后台server 都是0.0.0.0,代理到上游的服务器proxy_pass $upstream_scheme://kong_upstream;配置如下, upstream k ...

随机推荐

  1. 轻量级网络 - PVANet & SuffleNet

    一. PVANet 论文:PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection    [点击下载] C ...

  2. vim 强大复制链接

    参考文献: http://blog.csdn.net/xiyuan1999/article/details/5680102 vi编辑器中的整行(多行)复制与粘贴就非常必要了. 1.复制 1)单行复制 ...

  3. ubuntu安装lua5.3.2

    lua5.3要自主编译安装 1.获取源:weget http://www.lua.org/ftp/lua-5.3.2.tar.gz 2.解压:tar -zxf lua-5.3.2.tar.gz 3.编 ...

  4. MYSQL 调优和使用必读

    转载自:http://blog.eood.cn/mysql#rd?sukey=fc78a68049a14bb29c60f21c5254b15a1a9234459cf25ff467de14129ca11 ...

  5. BZOJ3325 [Scoi2013]密码【Manacher】【构造】【贪心】

    Description Fish是一条生活在海里的鱼.有一天他很无聊,就到处去寻宝.他找到了位于海底深处的宫殿,但是一扇带有密码锁的大门却阻止了他的前进.通过翻阅古籍,Fish 得知了这个密码的相关信 ...

  6. BZOJ4590 Shoi2015 自动刷题机 【二分】

    BZOJ4590 Shoi2015 自动刷题机 Description 曾经发明了信号增幅仪的发明家SHTSC又公开了他的新发明:自动刷题机–一种可以自动AC题目的神秘装置.自动刷题机刷题的方式非常简 ...

  7. Sharepoint Web.config trust level="Full"权限说明

    在SharePoint里面,不仅有用户的权限,还有代码的权限.比如,我们在安装一个自定义的WebPart的时候,默认的情况下是不能操纵文件夹的,如果你看一些教你怎么做WebPart的文章的话,你会发现 ...

  8. PHP面向对象——三大基本特性与五大基本原则

    三大特性是:封装.继承.多态 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 封装是面向对象的特征之一,是对象和类概念的主要特 ...

  9. bzoj 2632 [neerc2011]Gcd guessing game——贪心(存疑)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2632 官方题解:http://neerc.ifmo.ru/archive/2011/neer ...

  10. Shell脚本一键安装LNMP环境

    https://sourceforge.net/projects/opensourcefile/files/ Nginx是一款高性能的HTTP和反向代理服务器.Nginx在反向代理,Rewrite规则 ...