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

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


文章目录

  • 一. 常见的三种计算机网络体系结构
    • 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.rhkb.cn/news/195261.html

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

相关文章

golang学习笔记——斐波纳契数列

斐波纳契数列 编写一个程序来计算某个数字的斐波纳契数列。 斐波那契数列是一个数字列表,其中每个数字是前两个斐波那契数字之和。 例如,数字 6 的序列是 1,1,2,3,5,8,数字 7 的序列是 1,1,2,3,5,8,13,数字 8 的序列是 1,1,2,3,5…

【机器学习7】优化算法

1 有监督学习的损失函数 1.1 分类问题 对二分类问题, Y{1,−1}, 我们希望sign f(xi,θ)yi, 最自然的损失函数是0-1损失, 函数定义特点0-1损失函数非凸、非光滑,很难直接对该函数进行优化Hinge损失函数当fy≥1时&…

leetcode刷题日记:141. Linked List Cycle(环形链表)

这一题是给我们一个链表让我们判断这是否是一个环形链表,我们知道如果一个链表中有环的话这一个链表是没有办法访问到尾的, 假若有如图所示的带环链表: 我们从图示中很容易看出来这一个链表在访问的时候会在里面转圈,我们再来看看…

群晖Docker(Container Manager)中安装Home Assistant Container

群晖Docker(Container Manager)中安装Home Assistant Container 不要使用 套件里面的 Home Assistant,不利于后期拓展 方式一: docker run -d --name"home-assistant-1" -v /volume1/docker/homeassistant/config:/c…

前端实现页面内容的截图与下载(html2canvas)

今天是一个发文的好日子😀~ 👇👇👇 一个需求,要截取页面中的内容并截图保存,来看一看我是怎么实现的吧: 这里需要使用到插件--html2canvas 1.安装并引入html2canvas npm install html2canv…

分类预测 | Matlab实现PSO-GRU-Attention粒子群算法优化门控循环单元融合注意力机制多特征分类预测

分类预测 | Matlab实现PSO-GRU-Attention粒子群算法优化门控循环单元融合注意力机制多特征分类预测 目录 分类预测 | Matlab实现PSO-GRU-Attention粒子群算法优化门控循环单元融合注意力机制多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现PSO…

Skywalking流程分析_8(拦截器插件的加载)

前言 在之前的文章中我们将,静态方法、构造方法、实例方法的增强逻辑都分析完毕,但在增强前,对于拦截类的加载是至关重要的,下面我们就来详细的分析 增强插件的加载 静态方法增强前的加载 //clazz 要修改的字节码的原生类 Sta…

【运维】-- 在线网络工具

1、https://ping.pe/ 一个免费的在线网络工具,可以帮助您检测和分析IP地址的连接情况。 这是搬瓦工官方做的一个 ping 在线测试网站工具。比较适合测试短时间的 ping 统计,并且在网页上以图表形式统计显示出来。 PS: a、丢包会以红色显示出…

C语言调用【Python3】

一、搭建编译环境 终端查询系统及软件版本dpkg -l 列出所有已安装的软件包 二、C语言中调用Python 使用 GCC编译并链接 Python 3.10 的共享库如何在C中获取和修改 sys.path 三、C语言调用无参python函数 四、C语言调用有参python函数 一、搭建编译环境 通过C语言调用Pyth…

【MySQL】事务(中)

文章目录 事务异常与产出结论手动提交 和自动提交 对 回滚的区别 事务隔离性理论如何理解隔离性?MySQL的隔离级别事务隔离级别的查看设置隔离级别 事务异常与产出结论 在没有启动事务之前,account表中存在孙权和刘备的数据 在启动事务后, 向 …

PyTorch - 高效快速配置 Conda + PyTorch 环境 (解决 segment fault )

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/134463035 在配置算法项目时,因网络下载速度的原因,导致默认的 conda 与 pytorch 包安装缓慢,需要配置新的 co…

html实现图片裁剪处理(附源码)

文章目录 1.设计来源1.1 主界面1.2 裁剪界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/134455169 html实现图片裁剪处理(附源码),支持图片放大缩小&#…

keil和proteus联动要点

一、keil与proteus如何进行联动? 1.先安装vdmagdi.exe,这是驱动 2.要保证keil工程编译通过,左上角红色图标进行编译,黑色框图标进行链接。 3.生成hex文件 先点击这个图标 按照顺序点击,生成HEX文件。 4.在打开的prot…

【Mysql】学习笔记

目录 基本操作登录指令:启动、关闭、重启mysql指令(适用于centos7):查看mysql运行状态:删除和创建表 修改密码(ubuntu18.04可行,其余版本行不行不知道)3 使用MYSQL了解数据库和表 4 …

Zookeeper学习笔记(1)—— 基础知识

Zookeeper概述 Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目 工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受…

MXNet中图解稀疏矩阵(Sparse Matrix)的压缩与还原

1、概述 对于稀疏矩阵的解释,就是当矩阵里面零元素远远多于非零元素,且非零元素没有规律,这样的矩阵就叫做稀疏矩阵,反过来就是稠密矩阵,其中非零元素的数量与所有元素的比值叫做稠密度,一般稠密度小于0.0…

springboot集成xxl-job详解

文章目录 springboot集成xxl-job详解1、springboot集成xxl-job:(1)pom文件里引入xxl-job依赖(2)application.properties配置文件:(3)在你的项目里新建文件结构如下:XxlJo…

洛谷 P3131 [USACO16JAN] Subsequences Summing to Sevens S

被普及-卡的没思路真是蒟蒻啊233 优化思路 每次都在枚举(a[r]-a[l-1])%70,所以可以认为数组大小对最终答案没有影响,考虑对前缀和数组取模,那么如果有a[r]的值等于a[l-1]的值相等(即余数相等),那么两者相减…

进程控制3——进程程序替换

进程的创建有fork,进程的退出有main函数的return,exit,_exit函数 而进程的退出中,一个进程的退出只能有三种情况,退出成功结果对/不对,或者是运行异常收到信号终止 但是我们发现我们用代码创建的子进程它是…

Spring lOC的注解使用与开发

Spring Spring IoC注解式开发为什么使用注解Spring注解的使用Value注解Autowired注解全注解式开发 Spring IoC注解式开发 为什么使用注解 注解的存在主要是为了简化XML的配置,注解的开发能大大提高我们的开发效率的,但它在一定程度上违背了OCP原则。 …