网络的层次

为什么网络需要分层呢?
可以有两种设计网络的思路:

1.应用程序整体负责所有的功能,把消息打包、然后发给网络设备。
2.应用程序、操作系统和网络设备各自分工。应用程序只负责自己的业务逻辑实现,操作系统负责打包、网络连接,而网络设备进行二进制数据传输。

第一种是从头到尾都是程序负责,那么最后都落到了进行开发的程序员团队肩上,你可以想象程序员心里的阴影吗?不能的话,你就可以想象一下当你开发程序的时候,你们团队中需要配置懂得HTTP、TCP、IP(还不只这些)等协议的人。
第二种,操作系统把网络协议的部分处理好,程序员专注于自己的业务开发,不再考虑网络协议,你能想象其中的轻松吗?这种方法就是把复杂的网络通信划分出多层,不同层次有不同的职责,专心负责自己所在层次的问题,用“分而治之”的思想把一个“大部分”分解成数个“小部分”。

此文章为10月Day 16学习笔记,内容来源于极客时间《网络排查案例课》

你可能感兴趣的:(网络排查案例课,网络协议)