摘要:小故事我们的故事以五层协议为基础,小明表白小红为主线。同时,小明为了标识网络层的各个节点,他定义了协议。在传输层里面小明又制定了协议。这样小明就完成了从不可靠不安全的一层到应用层,可靠又安全的五层协议。
本章主要介绍网络协议,这个协议就叫做OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。我们谈到在任何联网的协议时,就会谈到OSI(网络七层协议模型),必须遵循这个协议模型,我们的手机和电脑才可以联网通信,接下来我们就一起来看一下OSI(网络七层协议模型)
七层协议OSI层 | 功能 | TCP/IP协议 |
---|---|---|
应用层 | 文本传输,电子邮件,文件服务,虚拟终端 | FTP,HTTP,SNMP,DNS等 |
表示层 | 数据格式化,代码转换,数据加密 | 没有协议 |
会话层 | 解除或建立与其他节点的联系 | 没有协议 |
传输层 | 提供端对端的接口 | TCP,UDP |
网络层 | 为数据包选择路由 | IP,ICMP,RIP,OSPF,BGP,IGMP |
数据链路层 | 传输有地址的帧,错误检测功能 | SLIP,CSLIP,PPP,ARP,RARP,MTU |
物理层 | 以二进制数据形式在物理媒体上传输数据 | ISO2110,IEEE802,IEEE802.2 |
以上是七层协议,业界还产生出了一些其他协议模型。例如TCP/IP四层协议以及五层协议。
TCP/IP四层协议模型:主要包括:
应用层
传输层
网络层
物理链路层
五层协议模型主要包括:
应用层
传输层
网络层
数据链路层
物理层
来自网图
通过看上面硬性的概念,可能我们很难理解网络七层协议到底都是怎么一回事。接下来我会用一个小故事来帮助大家一起来理解记忆这网络七层协议。
小故事
我们的故事以五层协议为基础,小明表白小红为主线。
小明暗恋小红很久了,可是却羞于当面表达爱意。于是他决定写一份email发给小红,来表白。
万里长城第一步:小明从商店买了一堆物理线、网线接口、光纤等。一头连自己家,另一头连小红家。小明想到的第一个问题是:怎么才能让这个两个物理硬件之间进行通信呢?
于是小明发明了比特流,通过 1与 0之间转化为电流的强弱进行信号的传输也就人们常说的数模转换与模数转换。这时候已经完成了第一步,两个物理硬件之间的通信。这也就是我们通常所说的物理层
万里长城第二步:小明想啊:我这两个物理硬件之间已经完成了通信,但是我怎么确保传输的数据是可靠的、安全的呢?因为小明想要求这封信是可靠的,安全的。他不想别人知道他喜欢小红。
因为在我们实际生活当中物理线路往往是不可靠,不安全的。可能会被别人偷听到,网线被别人挖了等等。
于是小明发明了数据链路层。通过数据链路层来确保数据的正确传输。当中就有一个叫数据包的家伙,通过一个个数据包来传输数据。数据包通过奇偶校验的形式或者其他的形式来校验数据是不是正确的。这个时候我们就完成了一个节点到另外一个节点数据包的传递。
万里长城第三步:小明心想,这时候我已经可以把信发送到小红家了,可是万一小红不在家呢?在学校或者在其他某个地方旅游呢?那岂不是看不到我的信了?
这时候小明发明了网络层,即路由器。这时候小明会先把他的数据包发送给路由器,然后路由器发送给路由器,一路传过去,最后发送到了小红所在的电脑上,这就是网络层。同时,小明为了标识网络层的各个节点,他定义了Ip协议。因此每个节点都会有个IP。
万里长城第四步:小明心想,这时候在我们数据链路层,能保证数据是否是正确的,但是不能保证我们的数据是不是可靠的。这个时候,我们需要一个能够保证我们数据传输出错后,能够自动重传机制。自动校验数据是否是发对了。
这时候小明发明了传输层。在传输层里面小明又制定了TCP/UDP协议。TCP协议是基于连接的,会在小明和小红电脑之间建立连接,在这个连接上去传输数据。
万里长城第五步:这时候小明该做的也做了。可是我们的数据是为哪个应用服务的呢?是一个HTTP?还是一个FTP?还是一个Email的协议呢?这个就是小明发明的最后一个协议——应用层协议。
这样小明就完成了从不可靠、不安全的一层到应用层,可靠又安全的五层协议。最后小明如愿的像小红表了白。至于小明有没有和小红在没在一起,那我不知道了。这也就是我们后来所熟知的OSI(网络七层协议模型)在七层协议中会有两层会被淡化,所以我们这里只讨论五层协议。
不可靠
丢包,重复包
出错(只能通过重传来解决)
乱序
不安全
容易被窃取信息(在网络层,通过路由打电话,随时都可能被黑客监听)
窃取
篡改
文末本章节主要介绍了OSI(网络七层协议模型)如有不对的地方还望大家在下方留言欢迎关注公众号:Coder编程
获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识!
Github个人主页目录
Gitee个人主页目录
参考文章:
https://www.cnblogs.com/carlo...
https://blog.csdn.net/taotong...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/11677.html
摘要:问题一如何保证次序提出问题在我们滑动窗口协议之前,我们如何来保证发送方与接收方之间,每个包都能被收到。文末从我们为了增加网络的吞吐量,想讲数据包一起发送过去,这时候便产生了滑动窗口这种协议。 前言 你现在的努力,是为了以后有更多的选择。 在上一篇文章通过表白方式,让我们快速了解网络七层协议 了解了网络七层协议。接下来我们要把重心放在网络传输的可靠性上面。一起来看TCP协议,它是如何解决...
摘要:今天,我们来认识下物理层和层。这叫做随机接入协议。著名的以太网,用的就是这种方式。对于以太网,第二层的最后面是,也就是循环冗余检测。 在上一篇博文中,我们见证了 IP 地址的诞生,机器一旦有了 IP,就可以在网络的环境里和其他的机器展开沟通了。 今天,我们来认识下 物理层 和 MAC 层。 日常生活中,身为 90 后的我们,如果不是通信相关专业出身的,应该从来没...
摘要:今天,我们来认识下物理层和层。这叫做随机接入协议。著名的以太网,用的就是这种方式。对于以太网,第二层的最后面是,也就是循环冗余检测。 在上一篇博文中,我们见证了 IP 地址的诞生,机器一旦有了 IP,就可以在网络的环境里和其他的机器展开沟通了。 今天,我们来认识下 物理层 和 MAC 层。 日常生活中,身为 90 后的我们,如果不是通信相关专业出身的,应该从来没...
摘要:本次会介绍数据库中的的用法以及它们之间的区别。所以一共有种选择了,也就是笛卡尔积。文末本章节主要介绍了数据库中的用法,以及其他方面的小知识点。 前言 欢迎关注公众号:Coder编程获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识! 本章主要介绍数据库中Join的的用法,也是我们在使用数据库时非常基础的一个知识点。本次会介绍数据库中的inner join、left join、...
摘要:本次会介绍数据库中的的用法以及它们之间的区别。所以一共有种选择了,也就是笛卡尔积。文末本章节主要介绍了数据库中的用法,以及其他方面的小知识点。 前言 欢迎关注公众号:Coder编程获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识! 本章主要介绍数据库中Join的的用法,也是我们在使用数据库时非常基础的一个知识点。本次会介绍数据库中的inner join、left join、...
阅读 2869·2021-11-24 09:39
阅读 3411·2021-11-23 09:51
阅读 1289·2021-11-23 09:51
阅读 1593·2021-11-11 16:55
阅读 3511·2021-10-12 10:11
阅读 614·2019-08-30 15:53
阅读 3451·2019-08-30 15:45
阅读 528·2019-08-30 14:10