🥊作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。
本期讲解协议、OSI七层模型、TCP/IP五层模型、网络设备所在的分层、数据的封装和分佣。
目录
1. 什么要有协议?
假如网络通信过程中,我给别人发一条信息“你吃饭了吗?紧接着发了一个动图表情包。有一个问题,接收者是如何区分我发的是文字还是图片呢?
我们知道,数据传输的过程是通过 0和1 这样的二进制数据进行发送的。那么发送者和接受者如何区分传输的 0和1 二进制数据是关于文字的还是图片的呢?因此,我们可以通过协议来规定相应的格式。
2. 协议的分层
TCP/IP协议分层模型有:TCP/IP四层模型、TCP/IP五层模型、OSI七层模型。
对于我们程序猿来说,我们需要搞懂 TCP/IP五层协议 中的前四种协议即可。因为物理层主要是一些传输介质(网线等)类似于电脑的硬件部分,我们软件开发无需深入了解。
网络编程是通过应用层进行的,因此我们在后期 网络编程 的学习中,把应用层的一些规范与使用深入学习即可,而其他层我们只需要了解它们是什么就足够了。
2.1 协议分层的好处
分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方遵循这个规范来对接。
调用方,当调用方使用这些接口时候不关心接口具体是怎么实现的。
提供方,提供方利用封装的特性,隐藏了协议实现的细节,只需要开放接口即可。
3. OSI七层模型
OSI:即Open System Interconnection,开放系统互连。它分为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层(由低到高)。
应用层