【网络奇遇记】那年我与计算机网络的初相识 —— 网络的体系结构

在这里插入图片描述
🌈个人主页:聆风吟
🔥系列专栏:网络奇遇记、数据结构
🔖少年有梦不应止于心动,更要付诸行动。


文章目录

  • 一. 常见的三种计算机网络体系结构
    • 1.1 开放系统互连参考模型
    • 1.2 TCP/IP参考模型
    • 1.3 原理参考模型
  • 二. 计算机网络各层的主要功能
    • 2.1 物理层
    • 2.2 数据链路层
    • 2.3 网络层
    • 2.4 运输层
    • 2.5 应用层
  • 📝全文总结

一. 常见的三种计算机网络体系结构

1.1 开放系统互连参考模型

    为了使不同体系结构的计算机网络都能互连起来,国际标准化组织(简称:ISO)于1977年成立了专门机构研究该问题。不久,它们提出了一个使全世界各种计算机可以互连成网的标准框架,这就是著名的开放系统互连参考模型,简称OSI。在1983年形成了开放系统互连参考模型的正式文件(ISO 7498国际标准)。

    OSI参考模型是一个七层协议的体系结构,自下而上依次是物理层、数据链路层、网络层、运输层、会话层、表示层以及应用层,如下图所示:
在这里插入图片描述
    OSI体系结构是法律上的国际标准,只获得了一些理论研究的成果,但在市场化方面却输给了TCP/IP标准。OSI失败的原因有以下几点:

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

1.2 TCP/IP参考模型

    因特网是全球覆盖范围最广、用户数量最多的互联网,它采用TCP/IP参考模型。TCP/IP参考模型是一个四层协议的体系结构,自下而上依次是网络接口层、网际层、运输层以及应用层,TCP/IP体系结构相当于将OSI体系结构的物理层和数据链路层合并为了网络接口层,将会话层和表示层合并到了应用层,如下图所示:
在这里插入图片描述

TCP/IP体系结构各层包含的主要协议如下图所示:
在这里插入图片描述

(1) TCP/IP体系结构的网络接口层并没有规定什么具体内容,这样做的目的是可以互连全世界各种不同的网络接口,例如有线的以太网接口、无线局域网的Wi-Fi接口,而不限定仅使用一种或几种网络接口。因此,TCP/IP体系结构在本质上只有上面个三层。

(2) 国际协议IP是TCP/IP体系结构网际层的核心协议。

(3) 传输控制协议(TCP)和用户数据报协议(UDP)是TCP/IP体系结构传输层的两个重要协议。

(4) TCP/IP体系结构的应用层包含了大量的应用层协议,例如超文本传送协议(HTTP)、简单邮件传送协议(SMTP)、域名系统(DNS)以及实时运输协议(RTP)等。

    由于TCP/IP协议体系中包含大量的协议,而IP协议和TCP协议是其中非常重要的两个协议,因此用TCP和IP这两个协议来表示整个协议大家族,常称为TCP/IP协议族。

补充:在嵌入式系统开发领域,TCP/IP协议族也常称为TCP/IP协议栈。这是因为TCP/IP协议体系的分层结构与数据结构中的栈在图形画法上是类似的。


1.3 原理参考模型

原理参考模型是一个五层协议的体系结构,自下而上依次是物理层、数据链路层、网络层、运输层以及应用层。五层协议的原理体系结构将TCP/IP体系结构的网络接口层又重新划分为物理层和数据链路层,这样更利于我们对计算机网络的学习。
在这里插入图片描述



二. 计算机网络各层的主要功能

    我们以五层原理体系结构为例,自下而上、非常简单地介绍一下各层的主要功能。实际上,如果要真正弄清楚各层作用还需要学习了后面章节中协议的之后,让我们细水长流,以后的事情交给以后,不给当下造成学习障碍。

2.1 物理层

计算机网络物理层的主要功能是将数字信号转换为传输介质上的模拟信号,以便在传输介质中传输。它的主要任务包括:

  1. 通过传输介质传输比特流:物理层负责将比特流转换为适合传输介质的电信号,并将这些电信号传输到接收方。

  2. 建立、维护和释放物理连接:物理层负责建立物理连接,以便在通信中传输数据。在通信完成后,物理层负责释放连接,以便其他设备可以使用传输介质。

  3. 传输介质的管理:物理层负责管理传输介质的使用,包括传输速率、电气特性、机械特性等。

  4. 差错检测和纠正:物理层负责检测和纠正传输过程中出现的错误,以确保传输的准确性和可靠性。

2.2 数据链路层

在这里插入图片描述
它的主要功能包括:

  1. 封装数据:数据链路层将网络层传输过来的IP数据报封装成帧,加上帧头和帧尾,以便在物理层进行传输。

  2. 传输控制:数据链路层负责控制帧的传输,包括数据帧的发送和接收,以及处理出现的差错和重传。

  3. 访问控制:数据链路层通过媒体访问控制协议(MAC协议)来控制网络上的节点访问媒介的顺序和方式,以避免数据碰撞和冲突。

  4. 差错检测:数据链路层通过循环冗余校验(CRC)等技术来检测数据传输中出现的差错,以保证数据的可靠传输。

  5. 流量控制:数据链路层通过设置窗口大小等机制来控制发送方的发送速率,以避免网络拥塞和数据丢失。

  6. 链路管理:数据链路层负责维护链路状态信息,包括链路地址、链路状态、链路速率等,以提供更高层次的服务。

2.3 网络层

在这里插入图片描述
网络层主要功能是提供端到端的逻辑通信,为各个主机之间的通信建立逻辑上的路径。具体来说,它的主要功能包括:

  1. 路由选择:网络层通过路由选择算法,选择最优路径将数据包从源主机发送到目标主机。

  2. 分组转发:网络层将报文分组,每个数据包都有自己的目的地址和源地址,通过路由选择算法将分组转发到正确的目的地。

  3. 差错控制:网络层对分组进行差错检测和处理,保证数据的正确性。

  4. 流量控制:网络层负责控制数据包的流量,以避免网络拥塞。

  5. 拥塞控制:网络层监测网络负载情况,通过拥塞控制机制,保证网络的稳定性和可靠性。

    总之,网络层是计算机网络中非常重要的一层,它为逻辑通信提供了基础,保障了网络的正常运行。

2.4 运输层

在这里插入图片描述
他的主要功能包括:

  1. 可靠性传输:运输层通过使用流量控制、差错控制和重传机制等技术,确保数据的可靠传输,即使在网络出现故障时也能够保证数据的完整性和可靠性。

  2. 分段和重组:运输层将应用层传输过来的数据进行分段和重组,以便于网络传输和接收。

  3. 连接控制:运输层通过建立、维护和终止传输层连接,确保数据的可靠传输和正确接收,同时还可以对连接进行管理和监控。

  4. 流量控制:运输层通过流量控制机制,控制数据的发送和接收速率,避免网络拥塞和资源浪费。

  5. 差错控制:运输层通过差错控制机制,检测和纠正数据传输过程中出现的差错。

  6. 多路复用和分解:运输层可以同时处理多个数据流,实现多路复用和分解,提高网络的性能和效率。

    总的来说,运输层在计算机网络中具有重要的作用,它能够保证数据的可靠传输和正确接收,提高网络的性能和效率,同时也是实现各种应用程序之间通信的基础。

2.5 应用层

应用层是计算机网络中最高层的一个层次,主要功能包括:

  1. 提供数据交换的应用程序接口,使得应用程序可以通过网络传输数据。
  2. 提供各种服务和协议,如文件传输、电子邮件、网络电话、视频会议、网络游戏等。
  3. 实现数据的编解码、压缩、加密等处理,增强数据传输的安全性和可靠性。
  4. 实现应用程序的网络管理,包括网络资源的分配、调度和控制等。
  5. 提供网络故障的诊断、测试和修复功能,保证网络的正常运行。

    总之,应用层是网络通信的最高层,主要提供各种高层次服务和协议,方便用户在网络中进行数据交换和各种应用程序的实现。



📝全文总结

本文主要讲解:
    本文主要讲解了常见的三种计算机网络体系结构 —— 开放系统互连参考模型、TCP/IP参考模型、原理参考模型,以及介绍了计算机网络各层的主要功能。

     今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,聆风吟的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/145777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s pod常用运维命令

1. 概述 kubectl 命令是操作 Kubernetes 集群的最直接和最高效的途径,熟练掌握命令的使用能起到事半功倍的效果,整理命令有助于加深记忆,该文仅记录关于pod常用的操作运维命令。 2. 查看namespaces 查看k8s集群中目前存在的namespaces kub…

【设计一个缓存--针对各种类型的缓存】

设计一个缓存--针对各种类型的缓存 1. 设计顶层接口2. 设计抽象类 -- AbstractCacheManager3. 具体子类3.1 -- AlertRuleItemExpCacheManager3.2 -- AlertRuleItemSrcCacheManager 4. 类图关系 1. 设计顶层接口 // 定义为一个泛型接口,提供给抽象类使用 public interface Cach…

02-2解析JsonPath

一、jsonpath的安装及使用方式 pip安装 pip install jsonpathjsonpath的使用 obj json.load(open(json文件, r, encodingutf‐8)) ret jsonpath.jsonpath(obj, jsonpath语法)可以参考以下这篇博客进行jsonpath的简单入门JSONPath-简单入门

Centos7安装Redis

1.背景 2.步骤 1.安装gcc依赖 检查是否已安装gcc gcc -v 上图表示已安装,如果没有安装执行如下命令 [rootlocalhost local]# yum install -y gcc 2.下载并解压安装包 [rootlocalhost local]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz [rootlocalhost lo…

《011.SpringBoot之餐厅点餐系统》

《011.SpringBoot之餐厅点餐系统》【界面简洁功能简单】 项目简介 需要源码及数据库的私信… [1]本系统涉及到的技术主要如下: 推荐环境配置:DEA jdk1.8 Maven MySQL 前后端分离; 后台:SpringBootMybatisPlus; 前台:Layuivue; …

SHELL中case的使用

快捷查看指令 ctrlf 进行搜索会直接定位到需要的知识点和命令讲解(如有不正确的地方欢迎各位小伙伴在评论区提意见,博主会及时修改) shell中的case语句 在shell脚本中,case语句用于匹配一个变量的值。它类似于if语句,…

【python】OpenCV—Image Pyramid(8)

文章目录 1 图像金字塔2 拉普拉斯金字塔 1 图像金字塔 高斯金字塔 在 OpenCV 中使用函数 cv2.pyrDown(),实现图像高斯金字塔操作中的向下采样,使用函数 cv2.pyrUp() 实现图像金字塔操作中的向上采样 import cv2img cv2.imread(C://Users/Administrat…

Mysql中的进阶增删查改操作(二)

联合查询和合并查询 一.联合查询1.内连接2.外链接2.1左外连接2.2右外连接 3.自连接4.子查询5.合并查询 一.联合查询 步骤 1.进行笛卡尔积 2.列出连接条件 3.根据需求再列出其他条件 4.针对列进行精简(可以使用聚合函数) 我们先搭建一个多表查询的框架 这样一个多表查询就搭建出…

基于JAVA SpringBoot和HTML美食网站博客程序设计

摘要 美食网站是一个提供各种美食信息和食谱的网站,旨在帮助用户发现、学习和分享美食。旨在探讨美食网站在现代社会中的重要性和影响。随着互联网的普及,越来越多的人开始使用美食网站来获取各种美食信息和食谱。这些网站不仅提供了方便快捷的搜索功能&…

MySQL8.0学习笔记

1. CMD命令 1.1 数据库启动与停止 (1) 启动数据库:net start mysql80 (2) 停止数据库:net stop mysql80 1.2 数据库连接与退出 (1) 连接数据库:mysql [-hlocalhost -P3306] -uroot -p[123456] // 本地数据库可省略-h -P (2) 退出数据库…

在市场发展中寻变革,马上消费金融树行业发展“风向标”

11月11日,2023金融街论坛年会第三届全球金融科技大会“金融科技创新与合规安全”平行论坛在北京召开。会上,马上消费金融副总经理孙磊就数据对金融的赋能作用、数据安全治理等方面展开了深度讨论。 公开信息显示,马上消费金融是一家经中国银保…

CodeWhisperer--手把手教你使用一个十分强大的工具

Amazon CodeWhisperer 是一款能够帮助我们智能生成代码的工具。经过数十亿行代码的训练,可以根据提示和现有代码实时生成从片段到完整功能的代码建议。类似 Cursor 和 Github Copilot 编码工具。目前,CodeWhisperer 兼容 Python、Java 和 JavaScript&…

Vue 路由props 多路由参数时使用

传统路由参数获取 this.$route.query.id this.$route.query.a this.$route.query.b this.$route.query.c this.$route.query.d this.$route.query.e ......如果参数很多,特别麻烦 第一种接收parpas参数 使用props http.www.csdn.net/123/321 {name: user,path: /us…

mysql数据模型

创建数据库 命令 create database hellox : ( hellox名字) sql语句 创建 数据库 命令 create database hell; 也是创建但是有数据库不创建 命令 create database if not exists hell ; 切换数据库 命令 use hello&…

MacBook 常用快捷键使用

MacBook 常用快捷键使用 官方使用地址: https://support.apple.com/zh-cn/HT201236 commandn 新建 如果QQ要开多个,可以打开QQ后按commandn 又打开一个了 终端 commandn重新打开一个,commandt在当前终端在打个一个选项卡commandw 关闭最前面的窗口…

2023解析企业数据中台:突破数据孤岛,实现数据化管理升级-亿发

当前,各大企业纷纷将业务中台、数据中台、安全中台等纳入建设计划,其中,数据中台被视为重中之重。但是,对于初接触者而言,对数据中台的定义可能存在一些模糊。 下面我们将讨论和讲解对企业建设数据中台的3点建议&#…

小型机房380V断电报警门磁开关状态检测远程控制RTU

在现代社会中,小型机房起到了至关重要的作用,为各种系统和设备提供稳定的电力供应。然而,由于各种原因,如供电故障、设备故障或非法侵入等,机房的正常运行可能会受到威胁。为了保障机房的安全和可靠性,我们…

使用WildCard充值ChatGPT Plus 会员

登录 wildCard官网 基于国内手机号注册账号,使用支付宝验证付款即可自动申请国外银行卡,WildCard的开卡费是9.9美元, 没有后续的月费用.订阅chatgpt plus会员服务的操作图文指南见链接 chatgpt plus会员订阅指南

ROS 通信机制

ROS是一个分布式框架,为用户提供多节点(进程)之间的通信服务,所有软件和功能都建立在这种分布式通信机制上,ROS的通信机制是最底层也是最核心的技术。 一、话题通信机制 话题在 ROS 中使用最为频繁,其通信…