2.1 常用计算机网络体系结构

2024-01-14 16:52

本文主要是介绍2.1 常用计算机网络体系结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2.1 常用计算机网络体系结构

2.1.1 OSI体系结构

1、为了使不同体系结构的计算机网络都能够互联,国际标准化组织于1977年成立了专门机构研究该问题,不久他们就提出了一个试图使各种计算机在世界范围内都能够互连成网的标准框架,也就是著名的“开放系统互连参考模型”,简称为OSI,OSI体系结构有时候我们也称之为OSI模型

2、OSI是一个七层协议的体系结构:从下往上依次是物理层、数据链路层、网络层、运输层、会话层、表示层、应用层
在这里插入图片描述
3、OSI试图达到一种理想境界,即全球计算机网络都遵循这个统一标准,因而全球的计算机将能够很方便地进行互连和交换数据。在20世纪80年代,许多大公司甚至一些国家的政府机构纷纷表示支持OSI。当时看来似乎在不久的将来全世界一定会按照OSI制定的标准来构造自己的计算机网络。

4、然而到了20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来了,但由于基于TCP/IP的互联网已抢先在全球相当大的范围成功地运行了,而与此同时却几乎找不到有什么厂家生产出符合OSI标准的商用产品。因此人们得出这样的结论:OSI只获得了一些理论研究的成果,但在市场化方面则事与愿违地失败了

现今规模最大的、覆盖全球的、基于TCP/IP的互联网并未使用OSI标准

5、OSI失败的原因可归纳为:

  • OSI的专家们缺乏实际经验,他们在完成OSI标准时缺乏商业驱动力;
  • OSI的协议实现起来过分复杂,而且运行效率很低;
  • ·OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场;
  • OSI的层次划分不太合理,有些功能在多个层次中重复出现。

6、OSI体系结构是法律上的国际标准,TCP/IP体系结构是事实上的国际标准

2.1.2具有五层协议的体系结构

1、TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互连问题)。

2、OSI的七层协议体系结构概念清楚,理论也比较完整,但是太过于复杂不实用。TCP/IP体系结构不同,但是现在却得到了非常广泛的应用。

3、在学习计算机网络的原理时往往采取折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。有时为了方便,也可把最底下两层称为网络接口层
在这里插入图片描述
4、下面我们结合互联网的情况,自上而下地,非常简要的介绍一下各层的主要功能。

  • 应用层(applicationlayer)。
    应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,等等。我们把应用层交互的数据单元称为报文(message)。
  • 运输层(transportlayer)。
    • 运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。
    • 运输层主要使用以下两种协议:
      • 传输控制协议TCP(Transmission Control Protocol):提供面向连接的、可靠的数据传输服务
      • 用户数据报协议UDP(User Datagram Protocol):提供无连接的、尽最大努力(best-effort)的数据传输服务 (不保证数据传输的可靠性)。
    • TCP和UDP协议都有固定的格式,数据在经过运输层时会根据所选择的运输协议在应用层传递过来的数据基础上加上对应协议的头部。
  • 网络层(network layer)
    • 主要作用是实现两个网络系统之间的数据透明传送,具体包括路由选择,拥塞控制和网际互连等。
    • 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,简称为数据报。
    • 数据在经过网络层时会加上IP协议的头部
  • 数据链路层(data link layer)。
    • 数据链路层常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息如同步信息、地址信息、差错控制等)。
  • 物理层(physical layer)
    • 利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。
    • 物理层上所传输数据的单位是比特
      在这里插入图片描述

这篇关于2.1 常用计算机网络体系结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java 枚举的常用技巧汇总

《Java枚举的常用技巧汇总》在Java中,枚举类型是一种特殊的数据类型,允许定义一组固定的常量,默认情况下,toString方法返回枚举常量的名称,本文提供了一个完整的代码示例,展示了如何在Jav... 目录一、枚举的基本概念1. 什么是枚举?2. 基本枚举示例3. 枚举的优势二、枚举的高级用法1. 枚举

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

019、JOptionPane类的常用静态方法详解

目录 JOptionPane类的常用静态方法详解 1. showInputDialog()方法 1.1基本用法 1.2带有默认值的输入框 1.3带有选项的输入对话框 1.4自定义图标的输入对话框 2. showConfirmDialog()方法 2.1基本用法 2.2自定义按钮和图标 2.3带有自定义组件的确认对话框 3. showMessageDialog()方法 3.1