把一整件事拆成几段,每段只管自己那一份,这就是分层的思路。数据要从一台设备送到另一台,中间涉及找路、纠错、落到具体的物理连接,全部塞在一起会非常难维护。拆开之后,每一段只关心自己的输入和输出,换掉其中一段不会影响其他部分。这套思路沿用了几十年,现在的网络设备仍然是按这个框架设计的。代理IP的转发本身也发生在其中某一层,理解分层有助于看清它处在什么位置。
一共分成几层
常用的分法是四层:负责具体业务应用的一层、负责端到端连接的一层、负责找路的一层、以及负责在物理介质上收发的一层。四层从下往上依次叠起来,每一层用下一层提供的通道,同时给上一层提供更省事的接口。上层看不到下层的细节,下一层也不知道上层在传什么内容。
- 应用层管具体业务,比如网页、文件传输
- 传输层管端到端的连接与端口
- 网络层管找路,地址就在这一层
- 接口层管物理介质上的收发
分层解决了什么问题
最直接的好处是替换成本低。物理介质从网线换成无线,上三层几乎不用改动,因为它们不关心数据是怎么发出去的。同样,业务从网页换成别的形式,底下三层也不用动。第二个好处是分工清晰,某一层出问题的时候,现象往往有特征,按特征就能判断大概位置。
各层之间怎么衔接
每一层给上一层留一组接口,上层只管调用,不问实现。数据往下走的时候逐层加上本层需要的信息,往上传的时候逐层剥掉。加和剥的过程对使用者完全透明。
分层和实际设备怎么对应
负责找路的那一层通常由网络设备实现,负责连接的那一层更多在设备本机上完成,物理收发交给网卡。代理IP的转发会改变找路这一层看到的内容,连接那一层则由转发程序自己维护,两边配合才能把一条请求送到目的地。
每层只管自己那一份,层与层之间通过接口衔接。
四层从下往上叠,上层看不到下层的细节。
代理IP的配置改的同样是其中一层,其余几层照旧。
分层带来的最大好处是替换成本低。换介质不动上层,换业务不动下层。
