很多朋友要求写一个教程,要讲讲路由器和网络设计的方方面面的事情。
咱们就安排一下吧——今天是第一篇。
在讨论路由器或者网络架构的时候我们先要弄明白什么是路由以及什么是网络。这些个概念或许在一开始就会颠覆大家的认知。
通常,现在大家一提到路由器就会想到这样的物体:
同样,大家一提到“网络”,都会不由自主的联想到家里的网络弱电箱,以及墙面上的网络插座……
这些就是“路由器”和“网络”吗?
别急着反驳,咱们带入现实生活中的一个场景:一个大妞和你在相亲,问了一句你有车吗?你去回答“我现在租车,每天租小蓝车、小黄车”。这只大妞会不会用眼睛白你一下?大妞眼里的“车”和你嘴里的“小蓝车”虽然都具备将人或货物从一个地点载到另一个地点的功能,但是是一个傻子也可以知道“小蓝车”并不是大妞概念中的“车”。
现在大多数人家里的路由器和网络也和大妞眼里的小蓝车一样在专业的网络工程师的眼里就是一块或者一坨电子垃圾。
不过也先别沮丧,在一般家庭用户的使用场景下,这些“电子垃圾”也完全适用于家庭用户的日常基本需求。还是小蓝车的例子,如果你要去距离家门口一公里以外的一个地铁站,恰好可以扫一辆“小蓝车”这种不是大妞眼中真正叫做“车”的交通工具反而给你提高了极大的交通便利性。
但如果你把“小蓝车”的使用心得、调整技巧、加速大法等等一系列的“知识”总结成“经验”滔滔不绝的和身边的大妞或者小蓝车用户来“分享”,大家会怎么看你呢?——妥妥的一个神经有毛病吧?
现在数码市场就有这么一种现象,很多博主滔滔不绝的来讲某某品牌新出了一个家用路由器性能逆天功能新颖……就像,小蓝车上加再多个手机支架,也不可能让你有一个中控仪表板。
理解这些,再看家里的路由器和网络拓扑是不是瞬间不香了?
造成“电子垃圾”横行无忌的最主要原因还是一个字——穷。大多数人在网络的投入上都不具备充足的预算,很难使用真正意义上的网络设备来组建自己的家庭网络。当然了一方面是自己真的没钱搞这些,另一方面则是大家都这么搞自己也借鉴大家的经验来弄。
但既然要正正经经的讨论网络架构,我们还是要把最基本的概念了解清楚。
首先,你家里的网络路由器根本算不上是一个真正的路由器。这是由互联网网络的特性来决定的。说白了,你家里的“网络路由器”仅仅是TCP/IP网络上的一个终端设备,并不具备完整的路由功能。这是因为大多数家庭往往仅仅通过一个ADSL或光纤PPPOE拨号获得一个动态的IP地址,家用的“网络路由器”仅仅为家庭网络提供了最基本的NAT(网络地址转换)服务。
其实,NAT并不是一个典型的路由功能,甚至不能算作路由器的基本作业方式。NAT起源于1990年,是一种解决网络地址转换的问题而设计出来的一项技术,听起来像是废话吧?详细说两句:起初的需求是这样的,一个局域网内的多台主机需要向外部网络暴露,这些局域网主机本身都有自己的局域网内的IP地址,当向外访问或者接受外部数据的时候,在边界设备上被转换为外部的多个IP地址。
为什么说是“边界设备”呢?实际上NAT技术最早是出现在防火墙上的。当时很多企业和研究机构并没有太多的数据中心,自己建立的网络主机实际上仅仅安置在企业内部的局域网内。而当时申请网络的时候都是以一个或多个地址段进行IP地址申请,通过专线导入到自己的机构路由器内。这时候位于机构内局域网上的主机如果需要对外暴露就需要一个地址转换将主机的内网IP转换为公网上可以访问的IP,这个过程就叫做Basic NAT。
这个过程一般的情况下是由防火墙来完成的。从本质上来说和路由器一毛钱关系都不存在。
但到后来,众所周知的原因就是IPV4地址不断枯竭,或者是机构难以支付庞大的IP地址段的费用,因此就在NAT上玩了阴招,把Basic NAT只转换地址不转换端口的特性做出升级,让不同的内网主机以不同的端口向外发送数据。这样NAT设备就成了一个网络共享器。但是当时的防火墙太过于昂贵,于是很多电脑的主机就内置了以软件实现的NAT方案:
例如Windows的系统可以通过internet共享功能让局域网上的其他主机借助NAT实现上网功能。
实际上,现在大家的家用路由器本身实现的功能还是和当初windows internet共享的功能相同的,因此大部分情况下家用路由器仅仅是一个NAT网络共享器。如果以这点来看,你家的路由器的路由功能根本没有启用。
因此,很多家用“路由器”厂商在自己真正的写自己的产品品类的时候往往会加上“分享器”或“共享器”这样的名字:
那么什么是路由器?“路由器”本身的功能又是什么呢?
路由器本身的核心功能叫做“数据包转发”,是指路由器通过查找路由表中的信息,将传入的数据包从一个网络接口转发到另一个网络接口,以确保数据能够在不同的网络之间正确传递。其转发数据包的方向由“路径选择”的功能实现,路由器根据网络拓扑和路由协议选择最佳路径来转发数据包。一个路由器在工作的时候会评估可用路径的各种参数,如延迟、带宽和拥塞情况,以确保数据包以最优方式传递。这些决策和评估则是由“路由协议”来做出支持的,通常一台路由器会支持各种路由协议,如RIP、OSPF、BGP等。这些协议用于交换路由信息,并帮助路由器确定数据包的最佳路径。
而家用路由器有没有这些功能呢?大部分是没有的(或者未被开启)。你家里的这台被叫做“路由器”的网络共享器将复杂的路由功能实际上都托付给了运营商真正的路由器来完成。
这有点像寄快递,你顶多能选择一个快递公司(运营商),把快递包裹(数据)交给快递员(你家光猫)之后,完全无法左右这个快递包裹是走陆运还是空运、途径那几个城市后(路由路径)才能到达。所以你在家搞多播、优化自己家里的网络设备、换更昂贵的网线等等一系列的操作在很多搞网络的人来看都是迷之操作——也就是多存了几个快递员电话并和快递员搞好关系的状态,而真正的优化实际上是一点没做。
当然了,路由器的优化设置是可以解决像这些快递公司传递路径的问题的。只不过iN实在不想给大家出一个所谓的“保姆级教程”教程让大家按照一个特定的看似有效的方式来做一件效果未知的事情。还是希望每篇一个主题给大家讲明白网络架构的基本道理,到时候大家会有思路重新看待网络设备。
今天的主题实际上就是标题——“你家里的路由器就是一块电子垃圾”,先建立这个概念,后面实际的和不切实际的操作咱们一点点的说。