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

简介:

哈,终于到了网络知识篇了。一直不知道该怎么来写这一篇博客,因为知识点实在是太多,内容也实在是不好写啊!但是,毕竟作为一个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文档,那么到会话层就结束了,因为直接保存到硬盘就行了,不是类似与邮件之类的需要网络传递的东西。


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


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



本文转自 Super康 51CTO博客,原文链接:http://blog.51cto.com/zhengkangkang/1867728,如需转载请自行联系原作者

相关文章
|
4月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
151 2
|
4月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
150 1
|
4月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
1月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
2月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
177 2
|
2月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
94 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
2月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
|
3月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
210 18
|
3月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
186 5
|
3月前
|
算法 安全 网络安全
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
171 0

热门文章

最新文章