IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 五、OSI参考模型 -> 正文阅读

[网络协议]五、OSI参考模型

1、OSI模型是怎么来的

\qquad 为了解决计算机网络复杂的“大问题”,将这个“大问题”划分为一些列“小问题”,这就有了计算机网络分层结构。IBM公司首先提出了SNA网络体系结构,之后还有其他组织各自提出自己的网络体系结构,包括美国国防部提出的TCP/IP计算机网络体系。但是不同公司之间的体系只能在自己公司内部的软件之间互相使用,不同呢公司之间不能进行互联互通。所以为了支持异构网络系统的互联互通,国际标准化组织(ISO)于1984年提出开放系统互联(OSI)参考模型,但是由于TCP/IP在市场上应用良好,所以OSI模型只能作为一个理论模型,没有广泛投入时长使用。

2、OSI参考模型

\qquad OSI参考模型包括7层,自下而上依次是:物理层,数据链路层、网络层、传输层、会话层、表示层和应用层。OSI七层模型如下图所示。
在这里插入图片描述

2.1 OSI参考模型解释通信过程-数据封装的过程

\qquad 下图介绍了一个由主机A发送信息通过中间系统(路由器,网桥,交换机等)传送到主机B的过程。其中OSI模型中的4-7层实现的是端到端的传输,1-3层实现的是点到点的传输。
在这里插入图片描述
\qquad 发送端完成的是数据打包的过程,接收端完成的是数据拆包的过程。在打包和拆包过程中比较特殊的是数据链路层,它要为4-PDU(Protocal Data Unit)添加头部和尾部两部分“包装”,除物理层外的其他层都只需要为PDU添加头部“包装”即可。
在这里插入图片描述

2.2 OSI参考模型各层的功能和对应的协议

应用层
\qquad 应用层是用户与网络的界面,包括所有能和用户交互产生网络流量的程序。应用层程序包括QQ,邮件软件等等,典型的应用层服务包括:文件传输(FTP),电子邮件(SMTP),万维网(HTTP)… …
表示层
\qquad 表示层用于处理两个通信系统中交换信息的表示方式(包括语法和语义等)。表示层的功能包括以下三个:
\qquad (1) 数据格式变换,i.e., 将二进制数字转化为图片文字等
\qquad (2) 数据加密和解密
\qquad (3) 数据压缩和恢复
\qquad 表示层在TCP/IP中不是一个单独的层面,会被纳入到应用层规划层里面,所以表示层没有太多单独的协议,跟表示层有关的协议包括:JPEG、ASCII等。
会话层
\qquad 会话层向表示层实体/用户进程提供建立连接并在连接上有序传输数据。这是会话,也是建立同步(SNY)。会话层的功能包括以下两个:
\qquad (1) 建立、管理、终止会话
\qquad (2) 使用校验点可以使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。适用于传输大文件。
传输层
\qquad 传输层负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或者用户数据报。传输层的功能包括以下四个:
\qquad (1) 可靠传输、不可靠传输。带有反馈机制的传输叫做可靠传输,不带反馈机制的传输较不可靠传输。
\qquad (2) 差错控制,纠正发送出现错误的报文段
\qquad (3) 流量控制,控制发送端的发送速率
\qquad (4) 复用分用,复用指的是:多个应用层进程可以同时使用下面传输层的服务;分用指的是:传输层把收到的信息分别交付给上面应用层中相应的程序。
\qquad 传输层的主要协议包括: TCP 、IP
网络层
\qquad 主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络传输层的单位是数据报。当数据报过长的时候就可以将数据报进行切割,切割成一个个小的分组,之后再放到链路上面进行传递,这样可以适当数据在链路上传递更加灵活,损失也会更小。网络层的功能包括以下四个:
\qquad (1) 路由选择,选择一个最佳路径将数据从发送端传送到接收端;
\qquad (2) 流量控制,协调发送端和接收端的速度问题
\qquad (3) 差错控制, 纠正发送出现错误的报文段
\qquad (4) 拥塞控制,从整个网络全局的角度调节数据传输速度。若网络中所有的节点(路由器等)都来不及接受分组,而要对其大量分组的话,网络就处于拥塞状态。因此要采取一定额措施缓解这种拥塞。
\qquad 网络层的协议包括:IP、IPX、ICMP、IGMP、ARP、RARP和OSPF等。
数据链路层
\qquad 数据链路层的主要任务是把网络层传下来的数据报组装成帧,所以数据链路层/链路层的传输单位是。数据链路层的功能包括以下三个:
\qquad (1) 成帧,定义帧的开始和结束;
\qquad (2) 差错控制,检测帧错+位错,可以检错和纠错
\qquad (3) 流量控制,发送发和接收方的速度协调问题
\qquad (4) 访问(接入)控制,控制对共享信道的访问
\qquad 数据链路层的主要协议包括:SDLC,HDLC,PPP,STP
物理层
\qquad 物理层的主要任务是在物理媒体(电缆,光纤,无线电波等)上实现比特流的透明传输。物理层的传输单位是比特
\qquad 透明传输指的是不管所传输的数据是什么样的比特组合,都应当能够在链路上进行传输。物理层的功能包括以下 个:
\qquad (1) 定义接口特性
\qquad (2) 定义传输模式,单工,半双工,双工
\qquad (3) 定义传输速率
\qquad (4) 比特同步
\qquad (5) 比特编码
\qquad 物理层的主要协议包括:Rj45和802.3

THE END

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 15:11:52  更:2021-10-24 15:12:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/1 21:26:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码