本章主要介绍网络协议,这个协议就叫做OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。我们谈到在任何联网的协议时,就会谈到 OSI(网络七层协议模型),必须遵循这个协议模型,我们的手机和电脑才可以联网通信,接下来我们就一起来看一下 OSI(网络七层协议模型)七层协议。
以上是七层协议,业界还产生出了一些其他协议模型。例如TCP/IP四层协议以及五层协议。
TCP/IP四层协议模型:
主要包括:
- 应用层
- 传输层
- 网络层
- 物理链路层
五层协议模型
主要包括:
- 应用层
- 传输层
- 网络层
- 数据链路层
- 物理层
网图:
通过看上面硬性的概念,可能我们很难理解 网络七层协议到底都是怎么一回事。接下来我会用一个小故事来帮助大家一起来理解记忆这 网络七层协议。
小故事
我们的故事以五层协议为基础,小王表白小红为主线。
小王暗恋小红很久了,可是却羞于当面表达爱意。于是他决定写一份email发给小红,来表白。
小王从商店买了一堆物理线、网线接口、光纤等。一头连自己家,另一头连小红家。小王想到的问题是:怎么才能让这个两个物理硬件之间进行通信呢?
于是小王发明了比特流,通过 1与 0之间转化为电流的强弱进行信号的传输也就人们常说的数模转换与模数转换。这时候已经完成了两个物理硬件之间的通信。这也就是我们通常所说的物理层
第二步:
小王想啊:我这两个物理硬件之间已经完成了通信,但是我怎么确保传输的数据是可靠的、安全的呢?因为小王想要求这封信是可靠的,安全的。他不想别人知道他喜欢小红。
因为在我们实际生活当中物理线路往往是不可靠,不安全的。可能会被别人偷听到,网线被别人挖了等等。
于是小王发明了数据链路层。通过数据链路层来确保数据的正确传输。当中就有一个叫数据包的家伙,通过一个个数据包来传输数据。数据包通过奇偶校验的形式或者其他的形式来校验数据是不是正确的。这个时候我们就完成了一个节点到另外一个节点数据包的传递。
第三步:
小王心想,这时候我已经可以把信发送到小红家了,可是万一小红不在家呢?在学校或者在其他某个地方旅游呢?那岂不是看不到我的信了?
这时候小王发明了网络层,即路由器。这时候小王会先把他的数据包发送给路由器,然后路由器发送给路由器,一路传过去,发送到了小红所在的电脑上,这就是网络层。同时,小王为了标识网络层的各个节点,他定义了Ip协议。因此每个节点都会有个IP。
第四步:
小王心想,这时候在我们数据链路层,能保证数据是否是正确的,但是不能保证我们的数据是不是可靠的。这个时候,我们需要一个能够保证我们数据传输出错后,能够自动重传机制。自动校验数据是否是发对了。
这时候小王发明了传输层。在传输层里面小王又制定了TCP/UDP协议。TCP协议是基于连接的,会在小王和小红电脑之间建立连接,在这个连接上去传输数据。
第五步:
这时候小王该做的也做了。可是我们的数据是为哪个应用服务的呢?是一个HTTP?还是一个FTP?还是一个Email的协议呢?这个就是小王发明的一个协议——应用层协议。
这样小王就完成了从不可靠、不安全的一层到应用层,可靠又安全的五层协议。小王如愿的像小红表了白。至于小王有没有和小红在没在一起,那我不知道了。这也就是我们后来所熟知的OSI(网络七层协议模型)在七层协议中会有两层会被淡化,所以我们这里只讨论五层协议。
不可靠
- 丢包,重复包
- 出错(只能通过重传来解决)
- 乱序
不安全
- 容易被窃取信息(在网络层,通过路由打电话,随时都可能被黑客监听)
- 窃取
- 篡改
参考文章:
https://www.cnblogs.com/carlos-mm/p/6297197.html https://blog.csdn.net/taotongning/article/details/81352985