为什么家里的宽带的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地址,分为 ...
随机推荐
- hdu2795 Billboard(线段树单点修改)
传送门 结点中的l和r表示层数,maxx表示这层最多还剩下多少宽度.根据公告的宽度取找到可以放的那一层 找到后返回层数,并修改maxx #include<bits/stdc++.h> us ...
- 利用Smith圆图设计匹配网络
要实现射频最大的功率传输,必须使负载阻抗与源阻抗相匹配(即信号源阻抗与负载阻抗共轭相等),实现匹配的通常做法是在源和负载之间插入一个匹配网络,该网络不仅仅为减少功率损耗而设计,还可减少噪声干扰.提高功 ...
- 年薪30W的软件测试“老司机”工作经验
这几天,新入职的小MM提议“老司机”们把自己这些年的软件测试工作经验跟大家分享一下,让新同学学习学习,利用空闲时间我整理了一些,可能不全,勉强看看,这也算是对自己这些年的工作总结. 测试阶段划分 1. ...
- react-native初体验(2) — 认识路由
如果学习止步于 hello world, 那么人生也太没意思了.这次要做一个看起来真实的应用.多添加几个页面,让他们可以交互,动起来. react-native 官方推荐使用 react-naviga ...
- 实现activity跳转动画的若干种方式
第一种: (使用overridePendingTransition方法实现Activity跳转动画) 在Activity中代码如下 /** * 点击按钮实现跳转逻辑 */ button1.setOnC ...
- python爬虫项目(新手教程)之知乎(requests方式)
-前言 之前一直用scrapy与urllib姿势爬取数据,最近使用requests感觉还不错,这次希望通过对知乎数据的爬取为 各位爬虫爱好者和初学者更好的了解爬虫制作的准备过程以及requests请求 ...
- 请教JDBC中的thin和OCI的区别\
请教JDBC中的thin和OCI的区别 https://zhidao.baidu.com/question/2267123737573204748.html
- mysql和oracle查询出的一条结果中的多个字段拼接
1,mysql concat('a','b','c')和concat_ws('a','b','c')的区别:前者如果有某个值为空,结果为空;后者如果有某个值为空,可以忽略这个控制 SELECT con ...
- teamwork 2
1.访问上学期项目团队,学习他们的得失. 上学期学长们有一个项目是学霸系统,在看过了学长们的相关博客后,我们可以感受到学长们确实花费了不少心思,也看到了许多值得我们学习的地方. 首先,学长们在项目开始 ...
- Fifteen scrum meeting 2015-11-21
最近几日因为其他作业着实拖延了很久更新工程进度. 闫昊: 完成:学习讨论区开发 即将进行:讨论区代码开发 唐彬: 完成:学习学习进度部分开发 即将进行:学习进度功能开发 史烨轩: 完成:学习下载功能设 ...