为什么家里的宽带的IP显示的是外地?
链接:https://www.zhihu.com/question/22547945/answer/21734955
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
通常出现这种情况的宽带是非电信、联通的(没错 移动也会这样)
分两种情况吧:
一、IP库没有及时更新,此时应该你电脑获得的IP地址和网站获得的IP总是一致的(最好不用带CDN的网站,那些一般CDN服务器和你同运营商就无法准确判断,比如IP138这类就不行)
详细说说第二种
二、小宽带运营商,移动(铁通)也在此列,由于众所周知的原因目前很多国内资源都存放在电信\联通的网络中,小宽带运营商不可避免的需要和它们互联互通,同时因为处于弱势地位一定是小宽带运营商交钱给电信\联通,而网内用户也一定是更多的访问那些对小宽带运营商来说“昂贵”代价的网外资源(比如谁会把网站托管在一个三级运营商呢……)。于是各种地下非法接入开始了~
1.初级这些小运营商连自己的合法IP段都没有,只能建立一个真正的大型局域网,用户获得私有IP,用户访问外网后通过运营商购买的电信带宽出去,和家里装个路由器,N多电脑共享差不多的意思。(现在还有很多乡村的个人宽带是这样的~私人承包大带宽线路,然后分销给村里的用户)
2.之后这些运营商成规模了,开始考虑要让网外用户能访问网内资源(说白了就是谁资源多哪个运营商就占优势),不然永远维持着没有让网外用户访问的网内资源就不可能强势起来了了。于是他们开始申请自己的IP段,为了让网外用户(即电信、联通等)能访问网内资源,就不能使用简简单单的NAT地址转换了,需要将自己的IP段BGP广播出去,让其他运营商用户也能知道这个IP属于谁,通过哪个线路能到达(这个代价也不少,比如只做与电信的互联互通,那么联通用户访问小运营商得绕道电信访问)。这个阶段的用户能获得真正的公网IP,被访问者应当都能知道你是什么运营商的,什么地区的
3.第二阶段维持时间很短暂,很快小运营商就把用户类型分为普通上网用户和机房用户(比如开网站之类的),把普通用户打回第一阶段(因为他们没有价值,大多数情况下不需要建立网站等公开服务被人访问),而机房用户则维持在第二阶段(也就是正规运营商阶段)
4.普通用户的情况则进一步发展,用户访问最多的仍然是网外的资源,小运营商要让网内用户达到流畅的速度就得随着用户规模不断的向电信\联通这些运营商购买带宽,而电信\联通也不傻,给运营商级别的价格远远会高于给企业和普通用户的价格。规模越来越庞大,需要越来越高,小运营商本身就以低价吸引的用户,利润也没大到可以负担如此昂贵的带宽费用,小运营商们自然开始想歪招了~
5.小运营商开始寻求各种企业,以企业名义向电信\联通等运营商购买带宽(价格便宜啊~),然后将自己的线路也接到那家企业,与企业购买来的电信\联通宽带进行NAT转换(同第一阶段,就和家里路由器没两样,等于把一个小网接到了大网上),同时小运营商因为有多个企业地下出口了,也会做一些策略保证每个出口均衡,而那些企业可能并不在你所在地,比如你在上海,这些企业分布在广东、安徽,那么你访问大运营商网站时,就会由小运营商把你数据送到那些地方企业然后出口到电信\联通这些运营商的网络上。
小运营商差不多如此,而移动这种说大不大说小也不小的运营商,他自己是有国际带宽出口的,如果访问国外网络还要走电信\联通这些企业的带宽自然不划算,于是会走自己的国际出口,所以会发现移动宽带(至少上海移动\铁通如此)访问国内的电信\联通网站IP会乱跳,而国外网站可以检测到真实IP
题主的问题差不多到这里可以结束了,应该可以完美诠释为什么家里宽带IP总显示在外地(因为出口就在外地嘛)
6.以为这样就完了么?当然没完,毕竟企业的出口带宽也要钱啊!也不是免费来的对吧~现在那种长城宽带呀~广电呀移动呀动不动就喊100M到户,要真就这样走企业出口岂不是一个用户就把一个企业的带宽给占掉了。所以现在还开始流行部署运营商级别的缓存系统(注意区分于CDN),不知道正确名字叫什么,网上搜到相关设备关键字是PPCache。这个缓存系统有神马功效呢,就是用户真要跑满100M几乎都是下载东西、看在线视频这些操作,而这些内容都是静态的,这个系统可以监听你的请求,把热门下载的东西给缓存到运营商网内,当其他用户请求时就可以直接从网内下载,轻轻松松达100M~
咦?你问我怎么办到让用户下次下载同一个链接时能从网内返回数据?运营商都能监听你的所有数据了,伪造一个TCP响应包还不简单,当你GET的时候,他比网站先给你个302重定向+断开连接,于是你就乖乖的被忽悠到缓存服务器下载了。(装个Wireshark会看的比较清晰整个过程)
举个栗子:本来你下载连接是http://im.qq.com/xxxx.exe,你点击后发现实际下载连接变成了xxx.xxx.xxx.xxx:xxxx/xxxxx/xxxxx/http://im.qq.com/xxxx.exe,当然也有聪明的运营商把网址MD5摘要一下之类的
看起来很美好有没有?全网数据都能全自动缓存到网内呢!但是现实是残酷的,部分网站视频播放器不会响应302,于是就没法播放视频。缓存系统脑抽一下或者网站同一链接更新了下内容,结果你下到的永远是老的内容。
同样的原理,小运营商还可以在你访问百度的时候把你重定向去带推广链接的百度,或者访问京东的时候带你去带推广链接的京东(真是百试不爽~!)以此获取更多的利益(钱啊钱~)
这套系统如此的“优秀”,以至于大运营商都效仿部署,咦?他们明明大多数资源就在网内了啊为何还部署这种系统?原因就是他们想让用户下载时连骨干网都不走,直接城域网里走走就解决了,超大的节省城市出口带宽呐~
利益相关?2013年9月~2013年11月被上海铁通(移动)坑过的人。发誓这辈子贵死也用大运营商宽带(不过看这个形势大运营商也开始玩缓存劫持了)
为什么家里的宽带的IP显示的是外地?的更多相关文章
- 路由器WAN口IP显示为10、100、172开头,网络被电信联通等运营商做了NAT转发
摘要:路由器WAN口IP显示为10.100.172开头,网络被电信联通等运营商做了NAT转发 ... 路由器WAN口IP显示为10.100.172开头的解决方法方法一:找电信(10000号)或者联通( ...
- 首页技术支持常见问题宽带外网IP显示为10、100、172开头,没有公网IP,如何解决?
1.表现形式: 路由器拨号获得的公网IP变成了一个以100开头的IP(或者是10.172开头),而打开ip138.com查询却又是另外一个IP,将100开头的这个IP到百度去查询下则显示所在区域为美国 ...
- 通过 DDNS 解决宽带拨号 ip 变化问题
前面你的文章我已经写了 写了 DMZ 内网映射的 方式. 这样内网主机已经暴露在外网中了. 但是 拨号上网我们的ip是 会变化的.大概规律就是 每次拨号都会变化.如果不拨号,每 24 小时 ip也会自 ...
- Wireshark小技巧:将IP显示为域名
" 本文介绍如何使Wireshark报文窗口的Source栏及Destination内的IP直接显示为域名,提升报文分析效率." 之前内容发现部分不够严谨的地方,所以删除重发. ...
- 如何使用jQuery实现根据不同IP显示不同的内容
一些SEM的投放页会针对不同地域做针对性的内容推广,下面我把实现方法分享出来. 一.引用新浪提供的IP查询的js库 <script src="http://int.dpool.sina ...
- viirtualBox显示不了Ip并且无法上网的解决方式
首先描述下我自己遇到的问题:就是在virtualBox下的ubuntu系统下,输入ifconfig,没有显示出ip,显示出了eth3,lo的相关信息.在网上也找了相关信息还是无法解决,终于在老大的 ...
- CentOS 7 配置静态 ip
1. 需求场景: 在 CentOS7 上部署了一个 svn ,由于centOS7 默认是 dhcp 的,所以每过一段时间 ip 就会有变化,而 svn 要求 ip 是不能变的,不然没法同步. 网上找了 ...
- 用批处理文件进行TCP/IP设置,方便在家与办公IP切换
在公司用公司分配的固定IP上网,回家后又要将本本设置为家里的固定IP上网,每次都要手动重复一个过程: 打开网络中心,选择本地连接,进入属性然后选择IPV4进行TCP/IP的设置,填入IP,子网掩码DN ...
- IP地址 A\B\C类
互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(IP Address),在Internet上,一种给主机编址的方式.常见的IP地址,分为 ...
随机推荐
- python属性访问
1.python属性访问魔法方法: >>> class C: def __getattribute__(self,name): print("getattribute&qu ...
- Elasticsearch的停用词(stopwords)
1.问题 在使用搜索引擎(Elasticsearch或Solr)作为应用的后台搜索平台的时候,会遇到停用词(stopwords)的问题. 在信息检索中,停用词是为节省存储空间和提高搜索效率,处理文本时 ...
- git查看添加删除远程仓库
查看远程仓库 git remote -v 删除远程仓库 git remote remove origin 添加远程仓库 git remote add origin 仓库地址 关联远程分支 重新关联远程 ...
- Extreme Learning Machine 翻译
本文是作者这几天翻译的一篇经典的ELM文章,是第一稿,所以有很多错误以及不足之处. 另外由于此编辑器不支持MathType所以好多公式没有显示出来,原稿是word文档. 联系:250101249@qq ...
- Python处理PDF和Word文档常用的方法(二)
Python处理word时,需要安装和导入python-docx模块. 安装命令:pip install python-docx 导入命令:import docx 编码编写顺序:用docx.Docum ...
- Tomcat分析
最近闲来无事,总结了一下tomcat的一些知识,分享出来供大家参考,如有错误,请及时与我联系. 1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务,因为是入门示例,所以设置 ...
- 关于Python的面试题
Python语言特性 1 Python的函数参数传递 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.ap ...
- Beta阶段版本控制报告
版本控制代码及文档要求 在coding.net版本控制; 公开项目,教师.专家.其他同学可以不注册源代码.在此公布git地址. 报告beta阶段2周中,项目的版本控制情况,不包括未在coding.ne ...
- C++:友元
前言:友元对于我来说一直是一个难点,最近看了一些有关友元的课程与博客,故在此将自己的学习收获做一个简单的总结 一.什么是友元 在C++的自定义类中,一个常规的成员函数声明往往意味着: • 该成员函数能 ...
- 第二次作业利用java语言编写计算器进行四则运算
随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...