为什么家里的宽带的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地址,分为 ...
随机推荐
- [环境配置]Ubuntu16.04下编译安装gcc6.3.0
上一篇的SVS要用gcc6.3编译,否则结果不正确,本来以为gcc很好装,结果发现用apt-get安装gcc6只能安装6.5版本,代码作者奇特的要求只能用gcc6.3,没办法只能用源码装了,期间碰见了 ...
- Kubernetes服务发现之Service详解
一.引子 Kubernetes Pod 是有生命周期的,它们可以被创建,也可以被销毁,然后一旦被销毁生命就永远结束.通过ReplicationController 能够动态地创建和销毁Pod(列如,需 ...
- linux常用命令总结(含选项参数)
• 用户切换 su 切换到root用户并不切换环境 su - root 切换到root用户并切换环境 su redhat 切换到redhat不切换环境 • cd切换目 ...
- c++面向对象程序设计总结(类的使用)
本篇算是学习c++有关类的知识的一些易错点吧..... 并不是特别详细,以后会更新吧.... 几点并不关于类的东西 1.函数模板,用虚拟类型来实现模板的功能 #include<iostream& ...
- .NET处理Json的几种方式
序列化里的xml,soap,binary在上一篇文章里面已经说过了,这篇主要说json. json是目前非常流行的一种序列化数据的方式,很多api都采用的是json,结构简洁,容易理解,适用性强,逐渐 ...
- 笨办法学Python - 习题8-10: Printing & Printing, Printing
目录 1.习题 8: 打印,打印 2.习题 9: 打印,打印,打印 3.习题 10: 那是什么? 3.1.转义序列: 4.习题总结: 1.习题 8: 打印,打印 学习目标:继续学习 %r 的格式化输出 ...
- Python20-Day06
常用模块 一.random模块 import random # print(random.random()) #打印0-1之间的小数 # print(random.randint(1,3)) #大于等 ...
- LeetCode 461. Hamming Distance (C++)
题目: The Hamming distance between two integers is the number of positions at which the corresponding ...
- 第一周冲刺评论总结&&针对评论总结的改进
关于功能:1.统计功能需完善,提高产品功能,突出功能重点,使功能完善. 2.希望增加功能. 3.该产品能查看单个同学的博客,但按要求查询时只能查找最后一次发布的博客,且未进行信息的合理分类,望之后能多 ...
- sql索引的填充因子多少最好,填充因子有什么用
和索引重建最相关的是填充因子.当创建一个新索引,或重建一个存在的索引时,你可以指定一个填充因子,它是在索引创建时索引里的数据页被填充的数量.填充因子设置为100意味着每个索引页100%填满,50%意味 ...