Protocol协议
学习协议之前首先要明白几个理念.
协议是协调行为的规则, 制定规则之后才能够遵循这个规则更好的进行行为.
Web开发中所经常见到的主流协议, 一般都有所归属, 有一个更大的协议簇.
协议簇里面包含有各种各样的协议, 根据阶段或步骤分成不同层级, 一个个层级有一个个协议, 根据步骤遵循协议来完成一整个流程, 可以称之为是一个完善的协议簇.
每层各负责一个功能, 且层与层之间相互隔离解耦.
协议不是一成不变的, 协议簇同样也是.
时代在进步, 当已有的协议或者协议簇不能满足需求的时候, 就要制定新的协议, 甚至于制定新的协议簇.
协议就像是生活中的各种各样的规矩.
举个日常生活例子:
长辈常说吃饭的时候不能玩手机, 这就是规矩.(协议1)
喝水的时候不能笑.(协议2)
过马路的时候要注意车辆.(协议3)
...
这许许多多的规矩, 组合在一起, 就是'每日应该遵循的规矩1'(协议簇1)
时光如梭,某专家证实,吃饭玩手机不仅无害,还大大滴好.
于是协议1被从'每日应该遵循的规矩1'中剔除了.
又过了一段时间又有新协议增加,或者旧的协议剔除.
原本的'每日应该遵循的规矩1'的分层结构有些不太合理.
于是大家又商量着制定了一个新的, 叫'每日应该遵循的规矩2'(协议簇2)
这就是协议和协议簇.
常见两个协议簇:
TCP/IP(Transmission Control Protocol/Internet Protocol)传输控制协议/网际协议
OSI(Open System Interconnection)开放式系统互联
我们最常用的协议簇是TCP/IP.
TCP/IP协议参考了OSI协议簇, 可以理解为OSI的简化版.
原本OSI协议簇有七层.
1.物理层
2.数据链路层
3.网络层
4.传输层
5.会话层
6.表示层
7.应用层
TCP/IP协议有四层.
1.网络接口层
2.网络层
3.传输层
4.应用层
关于分层, OSI和TCP/IP的两者间的分层方式有所差别. 一个七层, 一个四层.
但是在实际使用中,更常见的是把协议栈分为五层(五层因特尔协议栈).
1.物理层
2.链路层
3.网络层
4.传输层
5.应用层
如果用五层作为标准的话.
TCP/IP把
1.物理层
2.链路层
两部分归纳为网络接口层
OSI则是把5.应用层分解为
5.会话层
6.表示层
7.应用层
在开发过程中,理解TCP/IP协议簇的时候, 只需要知道最底层的网络接口层,对应两个不同深度的领域即可(1.物理层,2.链路层)