简述OSI七层模型及每层的功能任务和协议

2024-04-12 15:52

本文主要是介绍简述OSI七层模型及每层的功能任务和协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、OSI七层模型的功能和任务
    • 1.物理层
    • 2.数据链路层
    • 3.网络层
    • 4.传输层
    • 5.会话层
    • 6.表示层
    • 7. 应用层
  • 二、OSI七层模型每层的协议

在这里插入图片描述

开放系统互连参考模型(Open System Interconnect,简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。OSI模型是一个具有七层协议结构的开放系统互连模型,旨在使全球范围的计算机能够进行开放式通信。每一层都包含多个实体,处于同一层的实体称为对等实体。每一层都实现不同的功能,并以协议的形式正规描述这些功能,这些协议定义了某层同远方一个对等层通信所使用的一套规则和约定。每一层向相邻上层提供一套确定的服务,并且使用与之相邻的下层所提供的服务。

 OSI参考模型是具有7个层次的框架自底向上的7个层次分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层

以下是OSI模型与TCP/IP四层模型和五层协议的关系:

在这里插入图片描述

在数据传输过程中,每一层都承担不同的功能和任务,以实现对数据传输过程中的各个阶段的控制。

一、OSI七层模型的功能和任务

1.物理层

  物理层的主要功能是透明地完成相邻节点之间原始比特流的传输。其中“透明”的意思是指物理层并不需要关心比特代表的具体含义,而要考虑的是如何发送“0”和“1”,以及接收端如何识别。物理层在传输介质上作为系统和通讯介质的接口,为数据链路层提供服务。
解决两个硬件之间的通信。

2.数据链路层

  数据链路层负责在两个相邻节点之间的线路上无差错地传送以为单位的数据,通过流量控制和差错控制,将原始不可靠的物理层连接变成无差错的数据通道,并解决多用户竞争问题,使之对网络层显现一条可靠的链路。

3.网络层

  网络层是通讯子网的最高层,其主要任务是在数据链路层服务的基础上,实现整个通讯子网内的连接,并通过网络连接交换网络服务数据单元(packet)。它主要解决数据传输单元分组在通信子网中的路由选择、拥塞控制和多个网络互连的问题。网络层建立网络连接为传输层提供服务。

4.传输层

  传输层既是负责数据通讯的最高层,又是面向网络通信的低三层(物理层、数据链路层和网络层)和面向信息处理的高三层(会话层。表示层、应用层)之间的中间层,是资源子网和通信子网的桥梁,其主要任务是为两台计算机的通信提供可靠的端到端的数据传输服务。传输层反映并扩展了网络层子系统的服务功能,并通过传输层地址为高层提供传输数据的通信接口,使系统之间高层资源的共享不必考虑数据通信方面的问题。

5.会话层

  会话层利用传输层提供的端到端数据传输服务,具体实施服务请求者与服务提供者之间的通信、组织和同步它们的会话活动,并管理它们的数据交换过程。会话层提供服务通常需要经过建立连接、数据传输和释放连接三个阶段。会话层是最薄的一层,常被省略。作用:建立和管理应用程序之间的通信。

6.表示层

  负责数据格式的转换,将应用处理的信息转换为适合网络传输的格式,或者将来自下一层的数据转换为上层能处理的格式。
  表示层处理的是用户信息的表示问题。端用户(应用进程)之间传送的数据包含“语义”和“语法”两个方面。语义是数据的内容及其含义,它由应用层负责处理;语法是与数据表示形式有关的方面,例如,数据的格式、编码和压缩等。表示层主要用于处理应用实体面向交换的信息的表示方法,包括用户数据的结构和在传输时的比特流(或字节流)的表示,这样,即使每个应用系统有各自的信息表示法,但被交换的信息类型和数值仍能用一种共同的方法来描述。

7. 应用层

  作用是通过应用程序之间的交互完成特定的网络应用。应用层是直接面向用户的一层,是计算机网络与最终用户之间的界面,在实际应用中,通常把会话层和表示层归入到应用层,使OSI/RM成为一个简化的五层模型。



二、OSI七层模型每层的协议

在这里插入图片描述

  • SMTP:25端口,邮件发送
  • FTP:20数据端口/21控制端口,文件传输协议
  • HTTP:80端口,超文本传输协议,网页传输
  • DHCP:67端口,IP地址自动分配
  • SNMP:161端口,简单网络管理协议
  • DNS:53端口,域名解析协议,记录域名与IP的映射关系
  • TCP:可靠的传输层协议
  • UDP:不可靠的传输层协议
  • ICMP:因特网控制协议,PING命令来自该协议
  • IGMP:组播协议
  • ARP:地址解析协议,IP地址转换为MAC地址
  • RARP: 反向地址解析协议,MAC地址转IP地址

在这里插入图片描述

这篇关于简述OSI七层模型及每层的功能任务和协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897579

相关文章

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

Java反射实现多属性去重与分组功能

《Java反射实现多属性去重与分组功能》在Java开发中,​​List是一种非常常用的数据结构,通常我们会遇到这样的问题:如何处理​​List​​​中的相同字段?无论是去重还是分组,合理的操作可以提高... 目录一、开发环境与基础组件准备1.环境配置:2. 代码结构说明:二、基础反射工具:BeanUtils

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo