一道计算机网络的面试题目,为什么分层?
问:在OSI七层协议或者TCP/IP五层协议里面,为什么要对其进行分层,为啥不将其写在一起?
我个人回答了几个点:
-
每一个层次都负责不同的功能,类如物理层实现透明传输,数据链路层保证正确的传输...个个层次之间可以各司其职。
ps:当然似乎写在一起我也可以保证所有的功能。
-
每个层次之间都是松耦合关系,我可以在不同的层次使用不同的协议以达到我想要的效果。例如我们现在是视频面试,网络可能更需要保证的是实时传输,而类似于卡牌游戏,我们可能更需要的是准确无误的传输数据。
追问:我写在一起也可以保证这样的功能啊。
我继续回答,如果写在一起那为了实现更加注重于实时传输,可能就需要写一套这样的协议,而对于可靠传输我又要重写一套这样的协议...太麻烦了
追问:这不是刚需,我完全可以这样子,有没有必须的原因。
-
可以让各个网络设备各司其职,例如路由器我们只需要把他做成一个三层协议的设备,而不需要让他对所有的内容进行解析,加快时间。类似的像交换机,二层协议设备,各种设备可以负责尽可能少的内容。
追问:不对,这也不是刚需,你再去了解一下。