🌏博客主页:PH_modest的博客主页
🚩当前专栏:Linux跬步积累
💌其他专栏:
🔴 每日一题
🟡 C++跬步积累
🟢 C语言跬步积累
🌈座右铭:广积粮,缓称王!
文章目录
一、认识“协议”
什么是“协议”
“协议”是一种约定,这个约定的作用就是用来减少通信成本和沟通成本;
计算机协议就是计算机之间的约定;
例如:
计算机生产厂商有很多,计算机操作系统也有很多,计算机网络硬件设备还是有很多。那么如何让这些不同厂商之间生产的计算机能够相互顺畅的通信呢?就需要有人站出来,约定一个共同的标准,大家都在遵守,这就是网络协议。
二、网络协议初识
网络的分层结构——网络 vs OS之间的关系
为什么要进行网络分层?
答:层和层之间是松耦合的,可以随时替换或者方便维护。
为什么要存在网络?主要解决什么问题?
首先我们需要知道一个客观事实,就是主机通信距离变远,一旦通信距离变远,必定会引发新的问题:
- 如何使用数据的问题
- 可靠性问题
- 主机定位的问题
- 数据包局域网转发的问题
有了以上的问题之后我们就需要解决这些问题,那么我们如何解决呢?
使用网络协议(tcp/ip协议),这些协议是为了解决在网络通信当中,因为通信距离变远而引发的一系列问题。网络协议其实就是一种解决方案,既然是一个解决方案,就可以有好的解决方案和坏的解决方案。
衡量解决方案的标注是什么呢?
可扩展,方便维护。
所以为了满足可扩展和可维护,大佬们就将网络协议设计成了层状结构。
那么为什么要将网络协议设计成层状结构呢?
原因是层状结构可以减少层与层之间的耦合度,松耦合度就可以实现随时替换、随时扩展、方便维护,一层不影响另一层,所以最终网络协议就表现成一种层状结构了
OSI七层模型
OSI七层模型是一种框架性的设计方法,其中最主要的功能就是帮助不同的主机