当我们在IP网络上所请求的目标地址并不是在子网之内,这个数据包就会发送到路由器所在的IP地址上(默认网关)。然后路由器在接到这个数据包的时候根据路由表来确定数据是发往哪个网络端口。
例如在我的路由器上,出现了172.16、10.10.10、10.10.20、10.10.30、10.0.100……这些地址段,172.16这个子网是内网,主要是iN家里的设备;“10.”的网络是接入到家中的路由器中其他路由器的地址;路由表中还有0.0.0.0/0的地址这是指家里网络之外的任何IP地址。
路由器在接收到数据包的时候就会按照数据包中的目的地址信息将数据流引流到相应的网络端口中。
例如一个目的地址是202.99.96.68的数据包就会引流到PPPOE的端口上进行正常的Internet访问。或者一个目的地址为10.0.100.1的数据包就会引流到Internet-WAN的端口上对光猫进行控制。
所以说,你看到的路由器真正的功能仅仅是基于路由规则对数据进行分流。
在家里的千兆路由器和在企业机房里面的千兆路由器虽然都提供千兆端口,但是价格可能相差几十倍。原因则在于你家里的路由器运算速度不高,很难处理大型的路由表(当然一般家里也用不着);而企业路由器本身的处理性能很高,可以快速地处理大量数据包,降低数据传输延迟。这是家用设备很难企及的高度。
那么如何加快家里的网络速度呢?这里就得说一下网络设备的功能分离的操作了。
一个简单的企业网络拓扑图是上面的画法,路由器是一个独立设备,下联一个交换机,再从交换机连接到企业中的电脑上。
对比企业,家用的宽带路由器承载了光纤网关、桥接器、路由器、交换机、Wi-Fi等一系列的功能。
原本就比较羸弱的CPU要处理大量的和路由无关的功能,这种情况下网速不慢才怪。但是要说罪魁祸首并不是在路由一边,而是在家用路由器集成的“交换机”上。
“交换机”的工作是干嘛?是根据MAC地址表将数据转发到对应的交换机端口。
和路由器查路由表一样,又是一个“查表”的过程。
地址解析协议(Address Resolution Protocol,ARP)是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议,它在IPv4中极其重要!
你访问家里的NAS,你知道NAS的IP地址是 192.168.1.250,但以太网并不知道,需要从IP(网络层)到MAC(数据链路层)再做一个转化,这就是ARP协议,在以太网上工作的交换机就是依据MAC地址将数据转入到合适的交换机端口上。如果在MAC地址表中没有记录,就会全网广播一下,看看那个设备会回应这个MAC地址。交换机处理MAC地址的转换是基于数据包的,每个数据包都要查表-传输。尤其是你内网流量比较大的时候,这种任务就相当繁重了。
回头看家用路由,所有繁重的任务都是由一个设备来完成的——这不好吧???
如果是千兆带宽,不如将路由器下面的一个千兆接口再接入一个交换机,来处理家中内部的通讯。这时候家里的内网数据根本不会触及到上一层的路由器上,也就不会加重路由器的工作负担,你的网速自然而然就可以提高了。
当然了,你有更多的设备,有更大的内网数据传输需求那么你就需要更精确地规划你的“网络系统”。“网络系统”——网络并不是牵几根网线加上几个无线就可以叫“网络系统”的。你的规划、分层最终都会决定你的网络使用体验。