热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何理解OSI参考模型

如何理解OSI参考模型文章目录前言:什么是OSI七层网络模型?一、了解OSI七层网络模型二、了解数据传输的封装和解封装的过程三、数据传输过程1.应用层2.传输层3.网络层4数据链路
如何理解OSI参考模型

文章目录

前言:什么是OSI七层网络模型?

一、了解OSI七层网络模型

二、了解数据传输的封装和解封装的过程

三、数据传输过程

1. 应用层
2. 传输层
3. 网络层
4 数据链路层
5. 物理层

前言:什么是OSI七层网络模型?

意为开放式系统互联。ISO(国际标准化组织)于1984年1制定了OSI(Open System Interconnection)模型。这个模型把网络通信的工作分为7层,分别是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。1至4层被认为是低层,这些层与数据移动密切相关。5至7层是高层,包含应用程序级的数据。每一层负责一项具体的工作,然后把数据传送到下一层。

一、了解OSI七层网络模型

首先,我们要知道,为什么要进行网络分层,或者说,意义在哪?
为了将复杂的流程分解为几个功能相对单一的子过程,就是网络分层的意义。
这样做的意义是:
①整个流程更加清新,复杂问题简单化。
②更容易发现问题并针对性的解决问题。
为此1984年ISO(国际标准化组织)在1984年颁布开发了OSI(开放式系统互联)参考模型,并将网络划分为了七层:
分类具体功能
应用层网络服务与最终用户的一个接口
表示层数据的表示、安全、压缩
会话层建立、管理、中止回话
传输层定义传输数据的协议端口号,以及流控和差错校验
网络层进行逻辑地址寻址,实现不同网络之间的路径选择
数据链路层建立逻辑连接,进行硬件地址寻址,差错校验等功能
物理层建立、维护、断开物理连接
那么数据是怎么在七层网络上传输的呢?这就是要涉及到数据的封装和解封装的过程了。

二、了解数据传输的封装和解封装的过程

在 OSI 7层参考模型中,每层主要负责与其它机器上的对等层进行通信。该过程是在“协议数据单元”(PDU)中实现的,其中每层的 PDU 一般由本层的协议头、协议尾和数据封装构成。

PDU

层数数据单元
传输层数据段
网络层数据包
网络链路层数据帧
物理层比特流
顾名思义PUD(协议数据单元),主体现在协议上面。每一层都有各自的协议,而且每层的协议各不相同。因每一层的传输数据单元不同,所以需要封装TCP报文头部,以此使下一层能够看懂识别。
传输层:传输层有TCP/IP两个协议,TCP(传输控制协议)和UDP(用户数据报协议)。TCP协议传输更加稳定可靠,UDP协议传输效率更高。所以,上层数据到达传输层后需要封装TCP头部或者UDP头部。
网络层:同理,上层数据到达这里需要封装IP头部。
TCP/IP定义了网络互联协议(IP)(英文是Iternet Protocol)。而IP又由四个支撑协议组成:ARP(地址解析协议),RARP(逆地址解析协议),ICMP(网际控制报文协议)和IGMP(网际组管理协议)。
数据链路层:同理,上层数据到此需要封装MAC头部。
物理层:到达物理层就直接由计算机通过信号接收了。

数据封装

《如何理解OSI参考模型》

数据解封装《如何理解OSI参考模型》

三、数据的具体传输过程

1、应用层:

①需通过计算机传输的形式千变万化,各种各样有字母、数字、汉字、图片、声音等。
②在应用层,数据被翻译为网络世界使用的语言—-二进制编码数据

2、传输层:

①在传输层,上层数据被分割成小的数据段,并为每个分段后的数据封装TCP报文头部。
②在TCP头部有一个关键的字段信息—-端口号。它用于表示上层 的协议或应用程序,确保上层应用数据的正常通信。
③计算机是可以进行多进程并发运行的。例如在发送的邮件的同时也可以通过IE流浪器的web页面。这两种应用就是通
过端口号来区分的。

3、网络层传输过程:

①在网络层,上层数据被封装上新的报文头部—-IP头部。值得注意的是这里所说的上层数据包括TCP头部也就是说,这
里的上层是指传输层,对于网络而言,它是“看不懂”TCP包头中的内容的,在它看来,无论是应用层的应用数据,还
是TCP头部信息,都属于上层数据。
②在IP头部中,有一个关键的字段信息—-IP地址,用于标识网络的逻辑地址,在IP头部中包含目标IP地址和源IP地址。
在网络传输过程中的一些中间设备,如路由器,会根据目标IP地址,找到正确的路径将数据转发到目的端。

4、数据链路层传输过程:

①在数据链路层,上层数据被封装一个MAC头部,其内部有一个关键的字段信息—-MAC地址
②在目前阶段,我们可以先把它理解为固化在硬件设备中的物理地址,具有全球唯一性。
③二层封装不涉及尾部的封装。

5、物理层传输过程:

无论在之前哪一层封装的报文头部还是上层数据信息都是由二进制数组成的。物理层将这些二进制数组成的比特流转换成电信号在网络中传输。

推荐阅读
  • 计算机网络计算机网络分层结构
    为了解决计算机网络复杂的问题,提出了计算机网络分层结构。计算机网络分层结构主要有OSI7层参考模型,TCPIP4层参考模型两种。为什么要分层不同产商 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • UDP千兆以太网FPGA_verilog实现(四、代码前期准备UDP和IP协议构建)
    UDP:userDatagramprotocol用户数据报协议无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETFRFC76 ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
  • c# java socketn 字节流_C#Socket编程详解(一)TCP与UDP简介
    一、TCP与UDP(转载)1、TCP1.1定义TCP(TransmissionControlProtocol)传输控制协议。是一种可靠的、面向连接的协议(eg:打电话)、传输效率低 ... [详细]
  • 实例详解ISA防火墙策略元素
    我们在前面的工作中已经实现了ISA2006的代理服务器功能,接下来我们要实现ISA的访问控制功能。很多公司都有控制员工访问外网的需求,例如有的公司不允许 ... [详细]
  • 前端性能优化无损压缩webp格式的图片
    一、什么是webpWebP格式,谷歌开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的23,并能节省大量的服务器宽带资源和数据空 ... [详细]
  • IP、ARP、TCP、UDP、ICMP、DNS、路由协议、DHCP协议的缺陷,容易受到的攻击,以及防御措施1、IP协议1.1、介绍: ... [详细]
  • https:www.bilibili.comvideoav43996494?p61补充说明(修正前面代码存在问题):#先验框筛选defchoose_anchor_boxes(sel ... [详细]
  • Linux内核那些事之连接跟踪
    “本文分析了Linux内核连接跟踪的关键实现”连接跟踪(也叫会话管理)是状态防火墙关键核心,也是很多网元设备必不可少的一部分。各厂商的实 ... [详细]
  • 计算机网络概述计算机网络基本概念计算机网络计算机网络是互连的、自治的计算机集合。协议计算机网络中的实体在进行数据交换的过程中必须遵循的规定或约定,称为网络协议。协议的三个要素:语法 ... [详细]
author-avatar
可可伦-惊叹号
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有