一、什么是协议
协议,就是大家共同遵守的一些约定,协议是一种约定,是指通信双方共同指定的一个标准约定
举两个例子:
例子1:一个宿舍的人来自五湖四海,开学来到宿舍后,如果大家都说自己家乡的方言,那就无法沟通了,谁都听不懂对方在讲什么,但是这时寝室长站出来说大家做个约定,在宿舍里统一用普通话沟通,这个约定在大家都遵守后生效,沟通就没有障碍了,这种约定就是协议
例子2: 现在是古代战争时期,攻城的将军和城内的内鬼在城内秘密接头后说好了,今晚三更,内鬼在城头举起三根火把,作为攻城信号,这里的三根火把,就是约定,而这种约定就可以看作是协议
但在计算机领域两台主机的通信过程中,并不是只要通信的双方约定好通信协议就可以正常通信了
- 计算机的生产厂商有很多,计算机的操作系统也有很多,计算机网络的硬件设备还是有很多
- 要使得不同厂商,不同操作系统之间可以通信,就需要有一个人站出来,约定一个共同的标准,大家都来遵守这个标准以达到通信的目的,这个标准就是网络协议
1.1 什么是网络协议
网络协议(network protocol),简称协议,是为了进行网络中的数据交换而建立的规则、标准、或约定
协议规定了通信实体之间所交换消息的格式、意义、顺序以及针对收到信息或发生事情所采取的行动
1.2 网络协议的三要素
- 语法:数据与控制信息的结构或形式
- 语义:要发出何种信息,要完成何种动作或是收到数据要做出何种响应
- 时序: 事件实现顺序详细说明
1.3 协议分层
举例:两个人进行电话通话,人与人之间这层规定的协议是使用普通话沟通,电话与电话这层规定的协议是1高电压,0低电压,传输比特流
从这个例子中,可以就看出分层的好处在于封装,在通信的过程中将相似的功能封装成一层,就便于管理和实现,对于网络的实现,也是采用分层的思想,这样可以将一个最大程度的将一个复杂的系统简化为各个分层