网络架构教程 篇二:你以为一插进去就万事大吉了?too young!旁路由就是瞎折腾自己
最近有很多粉丝在讨论旁路由,实际上这个东西就是一个伪命题。当然了,有很多销售软路由的商家不会这样告诉你。
要搞清楚这个问题,我们首先要了解一下TCP/IP网络的运作方式,尤其是IP的运作。
很多人日常挂在嘴边的TCP/IP网络在大多数人是说不全名字的,它叫做“传输控制协议/网际协议”网络,实际上这是TCP/IP网络相当狭义的一个概念,现在主流的概念叫做“TCP/IP 协议族”是由数百个不同层次的协议来支撑我们的日常网络通讯的。
如果从层次上来看,TCP/IP网络分为五个层次:
分别为物理层、数据链路层、网络层、传输层、应用层。现在由于一些新的设备和技术的出现,往往在描述TCP/IP网络的时候会将物理层和数据链路层合并,表述为4层模型,暨网络接口层、网际层、传输层和应用层。
首先为什么在新的方案中会将TCP/IP的五层结构又进一步简化为四层?其主要原因在于在五层结构的划分中数据链路层和物理层大部分工作现在都是针对“帧”进行操作。而具体的实现方式有可能在第二层也有可能在第一层(例如无线网络)。
同样原本是网络层的一个主要协议的IP(Internet Protocol,网际协议)协议也就成为了网际层的最主要内容——实际上网际层现在只有两个协议来控制,这就是IP V4 和IP V6。
一个协议独占一层在网络技术发展的过程中是绝无仅有的事情。由此,我们也可以见识到了IP网络的重要性。
那么什么是IP网络呢?这是一种利用分组交换(Packet switching,主要这里的Packet不是“数据包”的意思而是“分组”)技术在实现网络信息传播的电子/电气通讯规范。它不同于电路交换,在未建立起直接通讯链路的时候就可以向目标传递信息。
电路交换是什么呢?例如早期的电话机,你会发现早期的电话机根本没有拨号盘:
摇动电话机后,接通的并不是机主本人而是一个接线员,这时候你可以对电话机接线员说:“要前线指挥部”。
接线员将电话交换插头插入到面板的相应孔位后,前线指挥部的电话就可以开始振铃了。这时候电话可以接通,你就可以说事情了。这种技术叫做——电路交换。
而分组交换的典型应用就是IP网络。在传输数据的时候系统并没有真正的建立你到你所想访问的主机之间的数据链路。分组(Packet)是依靠其自身内携带的地址信息经过路由器广播和路由之后抵达目标网络的。这就让很多分散的信息节点不需要一一事先建立起数据通路,而是可以依靠不断的路由就可以做到网络中任意节点的互相通讯。
IP数据包内也就设计了原地址(Source IP Address)和目的地址(Destination IP Address)让路由器依据地址规则进行数据转发,从而达到通讯的目的。
到这里,你又有了一个新概念叫做“IP地址”。实际上IP地址是一组二进制代码,在早期IP V4(V4是后加的)协议的时候由32个二进制数据构建出一个IP地址。
后期IP地址面临资源枯竭产生了IP V6协议,利用128个二进制位进行地址标定,这里本质上并没有太多区别。而在IP地址中真正有分组交换概念的叫做子网或者叫做网络地址(Network Address)。IP的规则很简单,当目标是子网内的信息进行子网内的广播、当目标是子网外的信息做分组交换。
于是依靠IP地址的机制,人类建立起来了一个庞大的IP网络,这也就是我们的互联网。
我们在家里一般的情况下会建立起来一个家庭网络。这个网络的结构往往由一台家用路由器和若干个上网设备组成。通常的情况下我们很难获取一个完整可访问的IP子网的资源,而只能通过一个拨号网络协议获取一个IP地址。但面临家里很多的设备,我们就会用到了IP网络中私有网络的概念。
私有网络地址是庞大的IP地址库的一个子集,这些IP地址的特性是在路由器接收到后都会直接抛弃掉并不进行转发的。这就保证了在公众的IP网络中不会出现冲突。而利用这些私有IP地址的网络如果要进行网络通信,就需要边缘的路由器将这些IP地址做一个网络地址转换,转化成这个路由器上所具有的公有IP地址。上一期提到的《先认清一个事实,你家里的路由器就是一块电子垃圾》中的“家用路由器”往往就是采用这样的NAT操作而制成的一台网络分享器。
了解这个背景信息,你才可能知道今天要讲的事情。已经水了1600字,好爽!这件事其实和旁路由本身关系不大,我还可以继续水。
通常,大家特别习惯将家用路由器设置好之后,直接将网线插入到“路由器”或者接入路由器的无线网络就万事大吉了。实际上这是因为在路由器上有一个“DHCP”功能。在很多数码博主提到DHCP都会告诉大家这是一个自动的为主机分配IP地址的协议,致使很多人受到这些博主的误导,就认为DHCP就是自动分配IP地址的一个工具了。
实际上“DHCP”叫做“动态主机配置协议”(Dynamic Host Configuration Protocol)而对主机的配置则完全不仅仅是为主机分配IP地址这么简单的小事情。这个协议在1993年开始发布,用来替代更早期大量使用在无盘工作站上的BOOTP协议,配置IP地址仅仅是这个协议的一个功能(很多人所接触到的唯一功能)。但如果仅仅是配置IP地址,那么协议的名字或许就应该叫做IPAP或者IPAAP(IP Address Allocation Protocol),并不会用到Configuration这样的词汇。从协议的功能上来看配置主机其实才是DHCP的最重要要素。要知道DHCP是有数百个选项(Option)的。我们完全可以通过这些选项让自己的网络功能更加优化。
例如我自己家里的DHCP:
实际上就将额外的DHCP设置指向了三台服务器,例如option 代码为4是指时间服务器,后面是以十六进制表示32位IP地址的转码,实际上表示的是172.16.0.27。
为什么要在整个DHCP客户机中额外的声明一台时间服务器呢?这主要是为了让家里通过WIFI连接的一些摄像机、相机和音频设备可以获取到一个相当统一的时间。在拍摄视频和音频素材后本身就可以带有时间码对齐的功能。
再如: CODE 128,这是一台Tftp服务器,在iN的网络里面有一些IP电话机,也是通过DHCP自动分发IP电话的登录配置信息到电话机上。
这些实际上都是DHCP的配置,远远要比分配一个最基础的IP地址更有意义,同时也可以在设备接入网络后就有更高效的自动设置。
为什么说旁路由是一个伪命题瞎折腾呢?实际上很多人根本没有做好DHCP的设置。在DHCP中是有额外的路由和网关发现选项的。
只需要配置了这些选项,你的设备就不仅仅可以通过DHCP获得一个默认网关,而是可以获得其他额外的网关用来连接网络。
而很多关于旁路由的“教程”往往会告诉你不要用DHCP,而是手动的设置一个在自家子网内的IP,同时手动的将默认网关设置为旁路由的地址……明明DHCP就可以干到的事情,那为啥还得这么折腾呢?
这时候,问题很多的小明就会问了,如果我只需要家里的某几台设备可以连接到旁路由,而其它的设备不需要连接旁路由怎么办?
实际上,DHCP是可以设置过滤选项的,可以通过Radius的设置,绑定某些MAC地址从而选择正确的DHCP服务,让特定的设备去获得特定的option设置选项。
这样一来,反复横跳来修改设备网络选项的操作实际上是不存在的。
当然了,说到这里,还是得说旁路由本身是一个伪命题。
这里咱们还是要说回IP网络的基础概念,一般的来说一个IP网络中的主机会包含三个重要参数:IP地址、子网掩码、默认网关。
在家用“路由器”中这三个参数依靠DHCP下发,很难将DHCP的option选项自定义分发。我们就不得不手动的对IP地址参数做出修改。
而实际上,大部分IP主机都可以支持多网关的设定:
例如我们可以为系统设置多个不同的默认网关参数,以windows为例:如果键入命令 route print命令我们就可以看到清晰的系统路由设定:
系统是可以i根据不同的IP地址目标来选择不同的网关的,这个时候实际上网关的选择是一个随机选择的状态,当然了,我们还可以优化,例如命令“route add 122.101.0.0 MASK 255.255.0.0 10.10.10.1”就是将一个特定目标网段内的数据全部交给上图设置的第二个网关也就是10.10.10.1来处理。
再用router print来看你就会发现路由表中出现了这样的一条记录:
但是,这种操作实际上并不是一个很标准的网络操作,因为任何有理智的网络工程师都不会直接在主机上进行这样的设定。原因也和不直接修改DHCP的网络设定和给非特殊主机赋予一个固定的IP地址一样——这样管理起来太分散了。像这样直接在非特殊的主机上做设置的方式仅仅是应急和调试所用。
一个理智的网络工程师实际上是会修改路由器的路由表,将这一条指向记录直接加入到路由表中:
原因也很简单,你可以在一个屏幕、一个界面、一张表上看到自己控制的网络上的所有路由和转发情况而不必在每个不同的机器上去看所谓的旁路由设置,当你的机器很多的时候这是一种幸福。
iN很理解很多人用所谓的旁路由是为了留学或科学,但我们依然是可以在一台路由器上完成这些操作的。
我们管这件事归纳到路由策略中,就问一台机器可以解决的事情,干什么还要一个“旁路由”脱裤子放气呢?
当然了,还有小可爱会说“AD钙奶”的问题,以后这种黑话就少说一点,所谓的ADguard广告拦截其实也不是旁路由的强项。普通路由器照样是可以做的很棒的。只不过限于篇幅咱们回头再讲吧。
到这里,你应该再了解了两个概念,DHCP的真正意义和“旁路由”就是无用功。当然了,讲这些是希望iN自己的读者真正能了解最基础的概念,以及可以渐渐的对一些所谓的数码产品有一点点理性认识,现在网络上的各种“骚操作”很多,但真的有点越来越像跳大神了。软路由、旁路由等等一系列的东西你还可以以各种理由去用,发东西就是为了图一乐,但自知“好良言难劝该死的鬼、大慈悲不度自绝的人”
就这样吧!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
gecao
家里给自己一个清净的耳根,公司也更别给自己找活了吧
校验提示文案
值友6613270205
校验提示文案
absolute_
校验提示文案
kaaye
校验提示文案
Prosus
校验提示文案
Rot_
校验提示文案
microten
校验提示文案
chinanoahli
当然最好还是有中文的,英文也不是不能看,但是水平不高容易误解
校验提示文案
值友2561376742
校验提示文案
jiaoting
校验提示文案
昵称被她吃了
校验提示文案
人生如梦Shadow
校验提示文案
ArtvisionV
校验提示文案
五十包郵解君愁
校验提示文案
棠溪2022
校验提示文案
值友9306749030
校验提示文案
值友6118403694
校验提示文案
虾仔7211
校验提示文案
虾仔7211
校验提示文案
值友6118403694
校验提示文案
值友9306749030
校验提示文案
棠溪2022
校验提示文案
值友6613270205
校验提示文案
五十包郵解君愁
校验提示文案
microten
校验提示文案
ArtvisionV
校验提示文案
人生如梦Shadow
校验提示文案
昵称被她吃了
校验提示文案
Rot_
校验提示文案
jiaoting
校验提示文案
Prosus
校验提示文案
absolute_
校验提示文案
值友2561376742
校验提示文案
chinanoahli
当然最好还是有中文的,英文也不是不能看,但是水平不高容易误解
校验提示文案
gecao
家里给自己一个清净的耳根,公司也更别给自己找活了吧
校验提示文案
kaaye
校验提示文案