一、OSI模型
七层模型存在于理论课本上,真实的网络模型是TCP/IP五层模型~
二、为什么分层?
1.避免某个协议过于庞大复杂(和写代码是一个道理,如果某个文件太大了,就需要拆分成多个文件)
2.分层之后,协议之间“解耦合”,上层协议不需要理解下层协议的细节实现,相当于“封装”
3.分层之后,任意层次的协议,可以灵活替换
TCP/IP五层(或四层)模型 这里包含的协议很多,其中典型代表,就是TCP协议和IP协议
- 传输层:负责端到端之间的传输(只关注起点和终点)
- 网络层:负责点到点之间的传输(需要规划路径)
- 数据链路层:负责相邻点之间具体如何传输
- 物理层:网络通信的基础硬件设施 (网线,基站,光纤)
- 应用层: 应用程序直接打交道的协议(实际开发中涉及最多的部分,甚至需要自己涉及应用层协议)
【注意】
应用层和应用程序打交道
传输层和网络层都是纯软件的协议,由操作系统内核实现
数据链路层和物理层与系统没有直接关系,而是取决于具体的硬件设备(以及硬件设备配套的驱动程序)
- 对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容;
- 对于一台路由器, 它实现了从网络层到物理层;
- 对于一台交换机, 它实现了从数据链路层到物理层;
- 对于集线器, 它只实现了物理层;