把网线拔掉换成无线,地址、端口、业务程序都不用改,只有最下面那一层换了实现。这就是分层带来的实际便利:每一层只对上下层负责,内部怎么换都可以。同样的道理,硬盘从机械换成固态、浏览器从旧版本升到新版本,底下几层的配置也不用跟着动。代理IP的配置写在网络层之上,换硬件通常不影响它。
具体省下了什么
省掉了全面重配的成本。如果每一层耦合在一起,换一次介质可能要把所有设置都改一遍。分层之后只需要确认新的一层能不能用,上面的配置照旧。这个好处在设备更新的年代尤其明显:介质从双绞线换到光纤、从有线换到无线,中间经历了好几代,业务程序几乎没有因此改动过。代理IP的配置同样如此,换硬件的时候通常不用重做。
| 换掉的东西 | 需要改的层 | 不用改的层 |
|---|---|---|
| 物理介质 | 接口层 | 上面三层 |
| 找路设备 | 网络层 | 上下两层 |
| 业务形式 | 应用层 | 下面三层 |
为什么上层不受影响
因为上层看不到下层的实现细节,它只调用下层给的接口。接口不变,上层就不需要知道下面发生了什么。这个特性是分层设计里最关键的一条。
什么情况下还是会受影响
接口本身变了的时候。比如某一层换了实现方式,对外提供的接口也跟着调整,上面那一层就要跟着改。这种情况不常见,出现时通常伴随一次较大的升级。代理IP的配置如果依赖某一层的具体参数,升级时要一并确认。
对日常配置有什么启发
改配置之前先判断它属于哪一层。属于上层的东西,换硬件不用动;属于下层的东西,换硬件要重新配。按这个思路分类,配置清单会清楚很多。
代理IP的配置算哪一层
算在上面几层,因为它依赖的是连接和地址,不直接依赖物理介质。所以换网线、换无线、换一块网卡,代理设置通常都不用改,只要新硬件能正常连通就行。
接口不变,上层就不用知道下层发生了什么。
改配置之前先判断它属于哪一层,清单会清楚很多。
只有接口本身变了,上层才需要跟着调整。换网线不用改代理设置,就是这个道理。
