网络管理之OSI七层模型篇 Linux详解-阿里云开发者社区

开发者社区> 开发与运维> 正文

网络管理之OSI七层模型篇 Linux详解

简介: 哈,终于到了网络知识篇了。一直不知道该怎么来写这一篇博客,因为知识点实在是太多,内容也实在是不好写啊!但是,毕竟作为一个IT人员,不学好网络知识怎么好意思出门呢?那么,言归正传,在讲解之前,我先来科普一个概念,什么是OSI七层模型? 所谓的七层模型实际上是不存在的,是一种假想的网络模型。

哈,终于到了网络知识篇了。一直不知道该怎么来写这一篇博客,因为知识点实在是太多,内容也实在是不好写啊!但是,毕竟作为一个IT人员,不学好网络知识怎么好意思出门呢?那么,言归正传,在讲解之前,我先来科普一个概念,什么是OSI七层模型?

所谓的七层模型实际上是不存在的,是一种假想的网络模型。什么意思呢?

请看下面这张图:

wKiom1gW_0ySVZaoAABAtVAZr1E986.png-wh_50


这张图应该显示的很清楚了吧!

解释一下每一层对应的单位:

① 物理层:比特:机器语言都是0101,其中每一个0或者1代表一个比特位,这也是计算机中最小单位

② 数据链路层:帧:数据帧,是一个相对于比特更复杂的单位,其中写入的数据包含计算机的硬件地址(也就是网卡的物理地址【MAC地址】),MAC地址是用来进行局域网通信的,也就是内网通信。

wKiom1gXAIqSGczTAACIQIF77eo841.png-wh_50


③ 网络层:报文:主要用来存放IP地址的,其中IP地址是用于外网通信。

④ 传输层:TPDU(段):传输协议数据单位--模糊的概念,作用不大,包括一下的几个段

⑤ 会话层:SPDU:会话协议数据单元

⑥ 表示层:PPDU:表示协议数据单元

⑦ 应用层:APDU:应用协议数据单元


注意:

实际传输数据都只在物理层,以上几层都是为了记录相应信息的。


下面我来分别解释一下每一层是用来干嘛的?以及有什么作用呢?

① 物理层:前面我们已经说过,物理层其实就是真正用来传递数据的,为什么这么说?我们的计算机实际上只识别机器语言0101,而物理层传递的数据单元为比特,也就是0101。所以不言而喻了吧!

物理层最典型的设备就是:网线,网卡


② 数据链路层:组帧,记录MAC地址(发送人的MAC地址和收件人的MAC地址)如果出错会有提示需要重新传输数据


③ 网络层:记录发件人的IP和收件人的IP,还有一个作用就是选路。所谓选路,就是选择什么样的节点传递数据


④ 传输层:两个作用,第一是选择可靠传输协议还是不可靠传输协议(协议有两个:TCP【传输控制协议】和UDP【用户数据报协议】,其中TCP可靠,DUP不可靠但是传输速度快。)

第二个作用是传输前的错误检测。

牢记一点就行了,传输层是用来确定端口号的。有人会问端口号是干嘛的?好吧,端口号其实就是用来确定你对哪个服务发送了请求的,每种服务都有不同的端口号,比如你要浏览网页那肯定访问的就是www服务喽!


⑤ 会话层:判断数据是否需要进行网络传递,假如说用户写的是一个word文档,那么到会话层就结束了,因为直接保存到硬盘就行了,不是类似与邮件之类的需要网络传递的东西。


⑥ 表示层:用来把我们的输入的语言翻译成机器语言或者把机器语言翻译成我们能看懂的语言


⑦ 应用层:给用户提供接口进行操作

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章