目录
推荐
一、认识协议
1.概念
简单来说:就是一种通信双方,对于通信规则的约定(标准),一定是通信双方都认可的
但是这个协议不一定是认可面非常广的,即使是两个人之间的也可叫做协议
就好⽐⻅⽹友,彼此协商胸⼝插⽀玫瑰花⻅⾯,这就是⼀种提前的约定,也可以称之为协议
2.作用(为什么需要协议?)
两个用来通信的主机设备有着不同的硬件,不同的操作系统,不同的应用程序,有了协议,即使上述内容不同,通信也能正常进行
进行网络通信的时候,通信协议是非常关键的环节
二、协议分层
1.为什么需要⽹络协议的分层?
网络通信是一个非常复杂的事情,这个过程涉及到很多细节问题
如果你使用一个协议来约定上述所以的细节,这个协议就会非常的庞大,非常的复杂
——>拆分:为了管理复杂程度,不要让这个东西太复杂,每个部分负责一个功能
这样一个功能复杂的协议,就拆分成多个功能更单一的协议了
但是拆出来的协议太多了,就要对这个协议进行分类,甚至要“分层”
2. 协议分层是什么
协议分层:把很多的协议,按照功能分成不同的层级,每个层级都有对应的主线任务(目标/要解决的问题),上层协议会调用下层协议的功能,下层协议会给上次协议提供服务
注意:不能“越级调用”
3.分层带来的好处
好处主要有两个方面:
(1)封装的效果:某层协议,不必知道其他层协议的细节,降低学习使用成本
eg:只要会说汉语,不需要理解电话的工作原理,就能打电话;
设计电话的人,可能是老外,不必懂汉语,也不妨碍他设计开发电话
(2)任意层次的协议,都是可以灵活替换的(也就是解耦合),这样就给整个网络体系,升级迭代,带来了很大的便利
eg:将电话机协议改为无线电协议:站在使用者的角度,完全感知不到任何的区别,电话该咋打还是咋打;
将汉语协议改为英语协议:虽然语言变了,电话这一层,没有任何影响,设计电话的人不需要针对“英语”做任何的改变和特殊处理
当前网络的现状,就是有很多的协议,这些协议就是按照一定的分层规则组织起来的,业内普遍的分层方式有两种:
(1)OSI七层模型:
只是存在于教科书上,实际客观世界中并不存在,因为它搞得有点复杂ÿ