值得买伪百科, 也谈谈家用路由器 篇一:IP 协议基础知识
追加修改(2017-06-30 10:21:39):
文字有几处数据错误已被值友们发现. 比如ipv4总量是42亿不是4.2亿, /23掩码对应是254不是252. 感谢指正 :)
前言
什么值得买? 如果不是物有所值, 怎么能叫值得买? 近年来日渐红火的家用路由器配置和价格水涨船高, 我们为什么要花几百上千大洋去买它? 它到底能为我们做些什么呢?
张大妈上关于路由器的打折, 开箱和评测内容越来越多, 每个星期都有好多篇, 一路看下来你是否真的了解这个产品了? 它打折后对你来说真的值了吗?
作为近20年网龄的用户, 我想跟值友们谈谈本人对家用路由器的浅显认识和购买意见. 不过首先得要跟大家分享一些使用路由器之前需要了解的基础知识. 引用我同事的一句经典"名言":
你都不懂我怎么跟你说?
IPv4
在谈路由器之前, 必须先说一说这个 IPv4 协议, 想要科学的上网, IP 协议是你不得不了解的东西, 而国内主要 ISP (电信/联通等) 基本都只提供 IPv4 服务, IPv6 只有教育网里常见 (上海有线通竟然也能玩 IPv6?). 此文将 IP 与 IP 地址都写作 IP.
a. 有必要理解的一些基础认识
平时使用的 IP 地址都是 IPv4. 特征格式是 FF.FF.FF.FF, 即255.255.255.255。一共有 (0-255) 256^4 = 4.2 亿种组合. 只有一半多点的 IP 地址用于公网 (不够天朝每人一个的). IPv6 格式为 FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF, 分8节共340万亿亿亿亿 种组合, IPv4 只相当于其中2节.
每台网络设备 (*1) 都需要一个 IP. 就如同每家都需要一个门牌号. 同一个小区不能有两个3号楼, 同一号楼不能有两个303室, 同理同一个网络内不能有两个相同的 IP.
不同的内网 (*2) 内可以有同样的 IP. 就像绝大部分家用宽带的路由器地址都一样, 你家是 192.168.1.1, 我家也是 192.168.1.1 真巧啊亲家~~ . 其实一点都不巧. 你家是1号楼101, 对面小区就不能有1号楼101了?
不同的内网可以使用不同的 IP 分配规则. 你家路由器分出来的 IP 可能是 192.168.1.x, 我家买了极路由分出来的可能是 192.168.99.x, 我公司分出来的地址还可以是 172.20.x.x. 就像你家门牌号是2栋301, 我家是A幢501, 我公司是3号楼3401.
美国拥有大部分 IP. 天朝分得的少数 IP 里大部分在电信手里, 少部分联通,再则移动。用长宽有线通什么的也想要公网 IP?
常见的内网 IP 有 192.168.x.x, 172.16-31.x.x, 10.x.x.x, 而127.x.x.x 全部用于本机.
子网掩码是什么鬼? 子网掩码定义子网的范围, 和 IPv4 一样的格式. 子网可以当成内网或外网的局域划分, 192.168.x.x 包含65536个 IP, 谁家用得到这么多 IP?
最常见的子网分法就是 192.168.1.0/255.255.255.0 (也可写作 192.168.1.0/24), 其中可以分配使用的 IP 是192.168.1.1-254 共254个, 首0和尾255有"特殊含意"不让用.
如果是公司使用, 可能需要多一些的 IP, 把掩码改成 255.255.252.0 (或 /23), 那可用范围就变成了 192.168.0.1~192.168.1.254 共 510个, 其中192.168.0.0和192.168.1.255不让用, 但 192.168.0.255和192.168.1.0 能用!家用的网络协议主要是 IP:TCP, 如 http https ftp ssh ss。然后是 IP:UDP,如dns,网游和视频聊天等。TCP 与 UDP 的区别就好像挂号信和平邮,前着花费大但能确认是否送达,后者相反。
*1 这里的网络特指 IP 网络.
*2 内网即内部 IP 网络, 使用非公网 IP.
b. 不如跳舞. 不对....不如来个图解, 给不爱看字的同学
这应该是国内网友上网最普遍的形式了. 李四听说阿三(不是张三....因为将错就错吧 )家有好多动作片资源苦于不能共享, 阿三在张大妈听说可以打10000要公网 IP, 想搞私有云. 于是下面这个情况就出现了. (阿三与李四中间的 ISP 略)
阿三弄到了公网 IP, 申请了个免费.tk域名, 装了个黑群, 在路由器上把黑群端口5000转发到公网, 李四就可以看阿三家的动作片了. (其实阿三先给李四发了一张微信付款码)
其实李四也藏了不少资源, 张大妈上的王五给他们出了个主意 (内网穿透), 但不肯白干, 资源也要共享一份 .
理想很丰满, 现实很骨感. 长城宽带欢迎您...loading...
c. 过程就是这么简单么? (张大妈你打码也太嚣张了!)
客户端使用随机端口与服务端固定端口通信.
> 阿三李四访问张大妈时, 使用的是http协议, 基于tcp协议, 默认监听80端口.
> 下图以我电脑为例, 当访问 www.smzdm.com 时, 本机随机用了个如 50953的端口去连张大妈的80, 张大妈也通过80端口将网页数据返回给我本机的50953端口.
> 当我再次刷新张大妈时, 我本机端口就变成其它的随机号码了.NAT.
> 路由器 (在此充当网关) 会把内网机器的对公网的请求换成自己对外的IP:端口发送出去, 还会把公网返回的数据再转回给内网的机器, 这个过程就是NAT了.
> NAT可以临时性的把内网所有 IP:端口请求 随机映射到外网上, 如下图的 :50953 到外网变成了 :31746, 这样外网就可以通过 :31746 访问到 内网这台PC的 :50953了. 甚于为什么端口要变一次, 为什么不直接对外网使用 :50953? 你想想如果内网有两台或更多设备都在用 :50953时呢? 这个是最常用的 NAT 用法, 或者叫 NAPT.
> NAT可以长期性的把内网某个 IP的全部端口 直接映射到外网, 这种用法就是 DMZ (Basic NAT), 心大的同学推荐使用.
> NAT可以长期性的把内网一些 IP:端口服务 映射到外网, 外网看到的端口虽然也是随机生成的, 但它们长期有效可以一直被访问. 这个就是 UPNP 了. 对路由性能没信心的不要打开这个功能!同网段(同子网, 同一网络. 有好几种说法) 访问不会经过路由器(网关).
> 李四的本本 (192.168.1.53)要访问阿三的台式机 (192.168.1.50), 本本先会查询本机路由表, 本机路由表会显示 192.168.1.50是内网地址应该直接访问, 结果是在内网找不到 192.168.1.50 访问失败!
> 就像阿三告诉李四:"我家是502, 快来一起看动作片!", 李四想了想:"我这栋楼只有4层啊?!"内网就是内网, 怎么折腾都没用.
> 李四怒将内网 IP 改成192.168.2.0/24, 再次访问 192.168.1.50.
> 本本路由表查不到了, 转交路由器(网关)处理, 路由器表示去上级长宽路由问问, 得到的结果是... INET_E_RESOURCE_NOT_FOUND.
> 就像李四说:"我在2栋301, 你在哪?", 阿三:"1栋502", 李四找不到, 跑去问门卫, 得到回复:"你确定是我们小区的1栋吗? 我们小区全部是4层高的楼啊".公网 IP 是唯一的, 有了公网 IP 才能被访问到.
> 阿三打10000号投诉要求给公网 IP, 然后得逞了!
> 阿三在路由器上设置好端口映射, 把黑群的5000端口对应到路由器的5000, 这样李四访问阿三的公网 IP:5000 就能打开阿三的黑群了.
> 因为有了公网 IP, 李四的长宽路由向上问几级就能问到阿三的地址在哪.内网穿透的形成.
> 阿三也想看看李四的资源, 但李四没公网 IP啊? 阿三真的访问不到李四吗? 当然能!
> 每次李四访问阿三时, 都会让某长宽公网 IP:随机端口 (假设是250.250.250.250:32222)来连阿三的124.78.6.29:5000, 接着阿三的数据也会发回到 250.250.250.250:32222 最终到李四那里去. 所以阿三确实是可以访问到李四的, 只是李四最终分配到的长宽公网地址:端口是随机的, 每次可能都不一样. 下次可能是 250.250.250.251:33333?
> 如果李四保持与阿三已经建立的连接不断开 (即让250.250.250.250:32222保持不变), 并且每次断开后李四再主动都告诉阿三新的公网IP:端口 (如 250.250.250.251:33333), 那样就可以保证自己的资源能被阿三访问到了.
> 就好像李四用公司分机给阿三打电话时, 阿三能给李四说事儿. 但阿三没法直接打李四的分机, 必须李先打过来.内网穿透的完成体.
> 王五也想看看李四的好货, 但王五也没有公网 IP怎么办?
> 阿三已经能访问到李四了, 只要阿三把对李四的访问转发到路由器上某个固定端口上 (如7001), 那王五访问 阿三的 124.78.6.29:7001 就相当于访问李四的好货了!
> frp, ngrok 这些项目就是做这个事情滴.内网穿透的究级体.
> 王五也是长宽, 访问电信的阿三家已经很慢很不稳定了, 再通过阿三去访问李四家的长宽就更惨不认睹. 王五本来想看看李四家的京东热不热, 结果只能打开李四家的陈年txt看...
> 阿三想了想, 我知道访问李四用 250.250.250.250:32222, 让王五直接访问 250.250.250.250:32222, 长宽闯长宽不是最好吗? 干嘛要从我这绕道? 等李四那边有变动了, 我知道了就马上通知王五不就行了? 于是 dog tunnel 这种东西就出现了!
> 两个没有公网 IP 的苦逼, 在牛逼阿三的帮助下, 过着整日荒淫无度的日子...
> 其实bt/电驴也是同样的原理, 恭喜你把 P2P 知识入门了!
d. 不好意思, 没收住.
一发不可收拾的写了这么多 IP 内容, 使得篇幅过长, 不利于阅(pian)读(jin)了(bi). 先写到这里好了.
图必砍定了
Cambrian
校验提示文案
yf881017
校验提示文案
zpeagle
校验提示文案
tomhuang
校验提示文案
黑色星期五
校验提示文案
棠溪2022
校验提示文案
sakjsak
校验提示文案
安静的走走路
校验提示文案
ben143
校验提示文案
椰子汁儿
校验提示文案
liseguo
校验提示文案
小鸟diy
校验提示文案
小确幸纯天然
校验提示文案
孙噗噗
校验提示文案
不懂装懂
请教一下作者为什么那个子网掩码不是255.255.254.0而是255.255.252.0?
校验提示文案
风牙
我都设成255.255.254.0,有什么不妥吗?
校验提示文案
风牙
楼主是不是写错啦,255.255.252.0应该是22啊,1022个地址。
校验提示文案
briantim
校验提示文案
hongrongling
校验提示文案
wsyyyy
校验提示文案
某小阳
校验提示文案
值友7547047660
校验提示文案
值友2739165534
校验提示文案
开开心心的啦
校验提示文案
AsukaLi
校验提示文案
值友8937762119
校验提示文案
路上无双
校验提示文案
大yi巴羊
校验提示文案
小良月
校验提示文案
liuzhe1847
校验提示文案
杨戬
校验提示文案
杨戬
校验提示文案
罗森内苏
校验提示文案
思迈灵沃克
校验提示文案
折腾加一
校验提示文案
折腾加一
校验提示文案
紫薯布丁8
打电话去换了公网ip,还是不行
查了一下端口全部封闭的
打电话问电信那边好像说现在私人端口全部封闭不给开的。吐血。搞不定放弃了……
上次那啥病毒来的时候倒是很安心。因为根本没端口嘛
校验提示文案
沧海笑客120
校验提示文案
张大妈当知乎看
校验提示文案
龙哥码头
校验提示文案