当前位置: 首页 > news >正文

【计算机网络】第一章——概述

=========================================================================

个人主页直达:小白不是程序媛

系列专栏:计算机网络基础

=========================================================================

目录

前言

计算机网络概述

概念

功能

组成

分类

标准化工作

性能指标

速率

带宽

吞吐量

时延

时延带宽积

往返时延RTT

 利用率

分层

为什么要分层?

分层的基本原则:

正式认识分层结构

ISO/OSI 7层参考模型(法定标准)

ISO/OSI参考模型通信过程 

应用层

表示层

会话层

传输层

网络层

物理层

TCP/IP协议

OSI参考模型与TCP/IP参考模型相同点

OSI参考模型与TCP/IP参考模型不同点

由7层ISO参考模型和5层TCP/IP参考模型衍生出的5层参考模型

 五层参考模型的数据封装和解封装


前言

上篇文章我们对计算机的发展历史对大家进行了简要的描述,通过上篇文章不知道大家对于计算机网络有没有一个初步的认识。今天这篇文章从计算机网络的概念、分类、组成、功能、体系结构等计算机网络的概进行相关的分享,让大家对计算机网络有更深入的了解。


计算机网络概述

概念

三网:计算机网络、电信网络、有线电视网络

计算机网络:将分散的具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。计算机网络时互连的、自治的计算机集合。

互连网:有多个网络通过一些路由器相互连接起来,构成了一个覆盖范围更大的计算机网络。

互联网(Internet):由数量及大的各种计算机网络互连起来的。

通过上面的概念我们初步建立了下面的基本概念网络是把许多计算机连接在一起,而互连网则把许多网络通过一些路由器连接在一起。与网络相连的计算机常称为主机。

功能

其实在上面计算机网络的概念中我们已经提到了

  1. 信息传递
  2. 资源共享
  3. 分布式处理
  4. 提高可靠性
  5. 负载均衡

组成

  • 计算机网络有软件、硬件、协议组成
  • 工作方式 
  1. 边缘部分:用户直接使用(又分为C/S(B/S)方式和P2P方式)
  2. 核心部分:为边缘部分提供服务 
  • 功能组成
  1. 通信子网(实现数据通信)
  2. 资源子网(实现资源共享) 

根据ISO模型,上三层为资源子网、下三成为通信子网 

分类

  • 按分布范围分类
  1. 广域网(交换技术)
  2. 城域网
  3. 局域网(广播技术)
  4. 个人区域网
  • 按使用者分
  1. 公用网
  2. 专用网
  • 按交换方式分
  1. 电路交换
  2. 报文交换
  3. 分组交换
  • 按拓朴结构分
  1. 总线型
  2. 星型
  3. 环型
  4. 网状型(广域网)
  • 按传输技术分
  1. 广播式网络(共享公共信息通道)
  2. 点对点网络使用分组存储交换转发和路由选择机制

标准化工作

标准规定的分类

  1. 法定标准:有权威机构制定的正式的合法的标准(OSI)
  2. 实施标准:某些公司的产品在竞争过程中占据了主流时间长了,这些产品中的协议和技术成了标准。(TCP/IP)

性能指标

速率

也可称为数据率、数据传输率、比特率

连接在计算机网络上的主机在数字信道上传送数据位数的速率

单位:b/s Kd/s Mb/s Gb/s Td/s

1Kb/s=10^3b/s

带宽

表示网络的通信线路传送数据的能力。通常是值单位时间从网络中的某一点到另一点所能通过的“最高数据率”单位是“比特每秒”。也指网络设备所支持的最高速度。

吞吐量

表示在单位时间内通过某个网络、信道或接口的数据量。单位b/s, kb/s, Mb/s等。

时延

  • 指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟延。单位是s。

发送时延(传输时延):从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间。
发送时延 = 数据长度 / 信道带宽(发送速率)
传播时延:电磁波在信道上传播一定距离所花费的时间。
传播时延 = 信道长度 / 电磁波在信道上的传播速率
排队时延:等待输入/输出链路可用。

处理时延:主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等。

时延带宽积

时延带宽积又称为以比特为单位的链路长度,单位为bit。 即“某段链路现在有多少比特”

时延宽带积=传播时延*带宽

往返时延RTT

从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认),总共经历的时延。

RTT = 往返传播时延(传播时延 * 2)+ 末端处理时间+(末端处理时间)(可省略)

 利用率

分为两种

  1. 信道利用率 = 有数据通过时间 / (有+无)数据通过时间
  2. 网络利用率 = 信道利用率加权平均值

分层

为什么要分层?

  1. 发起通信的计算机必须将数据通信的通路进行激活。
  2. 要告诉网络如何识别目的主机。
  3. 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
  4. 发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。
  5. 确保差错和意外可以解决。
  6. ……

由此可见:问题过于庞大,需要细分处理

分层的基本原则:

  1. 各层之间相互独立,每层只实现一种相对独立的功能。
  2. 每层之间界面自然清晰,易于理解,相互交流尽可能少
  3. 结构上可分割开。每层都采用最合适的技术来实现。
  4. 保持下层对上层的独立性,上层单向使用下层提供的服务
  5. 整个分层结构应该能促进标准化工作。

正式认识分层结构

  • 实体:第n层中的活动元素称为n层实体。同一层的实体叫对等实体。
  • 协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议(水平方向)。协议三要素:
  1. 语法:即数据与控制信息的结构或格式。
  2. 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。
  3. 同步:即事件实现顺序的详细说明。
  • 接口(访问服务点SAP):上层使用下层服务的入口,下层为上层提供服务的接口(垂直方向)。
  • 服务:下层为相邻上层提供的功能调用。
  • SDU服务数据单元:为完成用户所要求的功能而应传送的数据。
  • PCI协议控制信息:控制协议操作的信息。
  • PDU协议数据单元:对等层次之间传送的数据单位。
  • 数据传输时,PDU不断成为下一层的SDU,一直向下传递。

ps:

  1. 网络体系结构是从功能上描述计算机网络结构。
  2. 计算机网络体系结构简称网络体系结构是分层结构。
  3. 每层遵循某个/些网络协议以完成本层功能。
  4. 计算机网络体系结构是计算机网络的各层及其协议的集合。
  5. 第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。
  6. 仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
  7. 体系结构是抽象的,而实现是指能运行的一些软件和硬件。
     

ISO/OSI 7层参考模型(法定标准)

目的:支持异构网络系统的互连互通

国际化组织(ISO)于1984年提出开放系统互连OSI模型,但是因为一些原因被淘汰。

ISO/OSI参考模型通信过程 

应用层

  • 应用层距离主机最近,是用户与网络的界面。
  • 所有能和用户交换产生网络流量的程序。
  • 典型的应用层服务:
  1. 文件传输(FTP)
  2. 电子邮件(SMTP)
  3. 万维网(HTTP)

表示层

  • 主要用于处理在两个通信系统中交换信息的表示方式(语法和语义)
  • 主要功能:
  1. 数据的格式变换(编码和解码)
  2. 数据的加密解密
  3. 数据的压缩和恢复
  • 主要协议:JPEG、ASCII

会话层

  • 向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。
  • 这是会话,也是建立同步(SYN)。
  • 主要功能:
  1. 建立、管理、终止会话。
  2. 使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。
  3. 校验点:将一个大文件切分成几个部分,每部分插入一个校验点,当传输出现故障时,可继续从以传输的部分开始继续传输(断点续传)。

主要协议:ADSP、ASP

传输层

  • 负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。
  • 主要功能:
  1. 可靠传输、不可靠传输:可靠传输将数据分成报文段发送,并拥有确认机制,不可靠传输则直接发送。
  2. 差错控制:检查错误
  3. 流量控制:协调发送端和接收端的速度。
  4. 复分复用
  5. 复用:多个应用层进程同时使用一个传输层协议传输数据。
  6. 分用:多个应用层进程同时使用一个传输层协议接收数据。
  • 主要协议:TCP、UD

网络层

  • 主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务,传输单位是数据报。
  • 当数据报过长时,将数据报进行切割成小的分组,在进行传输。
  • 主要功能:
  1. 路由选择:选择最佳路径
  2. 流量控制
  3. 差错控制
  4. 拥塞控制:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。
  • 主要协议:IP、IPX、ICMP、IGMP、ARP.、RARP、OSPF

数据链路层

  • 主要任务是把网络层传下来的数据报组装成帧,传输单位是帧。
  • 主要功能:
  1. 成帧:定义帧的开始和结束
  2. 差错控制:帧错 + 位错
  3. 流量控制
  4. 访问(接入)控制:控制对信道的访问
  • 主要协议:SDLC、HDLC、PPP、 STP

物理层

  • 主要任务是在物理媒体上实现比特流的透明传输,传输单位是比特。
  • 透明传输:指不管所传数据是什么样的比特组合都应当能够在链路上传送。
  • 主要功能:
  1. 定义接口特性
  2. 定义传输模式:单工、半双工、双工
  3. 单工:数据传输只支持数据在一个方向上传输。
  4. 半双工:双方都可以作为发送方和接收方,但不能同时发送信息(对讲机)。
  5. 双工:双方都可以作为发送方和接收方,可以同时发送信息(打电话)。
  6. 定义传输速率
  7. 比特同步
  8. 比特编码
  • 主要协议:Rj45、802.3

TCP/IP协议

OSI参考模型与TCP/IP参考模型相同点

  1. 都分层。
  2. 基于独立的协议栈的概。
  3. 可以实现异构网络互联

OSI参考模型与TCP/IP参考模型不同点

  1. OSI定义三点:服务、协议、接口。
  2. OSI先出现,参考模型先于协议发明,不偏向特定协议。
  3. TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次

由7层ISO参考模型和5层TCP/IP参考模型衍生出的5层参考模型

 五层参考模型的数据封装和解封装

  • 数据传输就是一个“打包拆包”的过程。
  • 数据链路层中需要添加头部信息和尾部信息。
  • 物理层类似一个傻瓜层,只是将数据转换为比特流

今天的内容就分享完了,这篇文章对于初学者来说难度确实有点大,但是没关系后面的文章我们会对每一层讲解,今天只是让大家认识认识!!!希望大家读完文章有很大的收获,也希望大家留言指出我文章中出现的内容,同时也感谢各位看官的三连支持,你们的支持就是我更新的动力!!!

相关文章:

【计算机网络】第一章——概述

个人主页直达:小白不是程序媛 系列专栏:计算机网络基础 目录 前言 计算机网络概述 概念 功能 组成 分类 标准化工作 性能指标 速率 带宽 吞吐量 时延 时延带宽积 往返时延RTT 利用率 分层 为什么要分层? 分层的基本原则&am…...

vue实现在页面拖拽放大缩小div并显示鼠标在div的坐标

1、功能要求&#xff1a; 实现在一个指定区域拖拽div,并可以放大缩小&#xff0c;同时显示鼠标在该div里的坐标&#xff0c;如图可示 缩小并拖动 2、实现 <div class"div_content" ref"div_content"><div class"div_image" id"…...

LuatOS-SOC接口文档(air780E)-- io - io操作(扩展)

示例 -- io模块是lua原生模块,LuatOS增加了一些API -- 请配合os模块一起使用-- 只读模式, 打开文件 local fd io.open("/xxx.txt", "rb") -- 读写默认,打开文件 local fd io.open("/xxx.txt", "wb") -- 写入文件,且截断为0字节 loc…...

【数据结构】线性表(六)堆栈:顺序栈及其基本操作(初始化、判空、判满、入栈、出栈、存取栈顶元素、清空栈)

文章目录 一、堆栈1. 定义2. 基本操作 二、顺序栈0. 顺序表1. 头文件和常量2. 栈结构体3. 栈的初始化4. 判断栈是否为空5. 判断栈是否已满6. 入栈7. 出栈8. 查看栈顶元素9. 清空栈10. 主函数11. 代码整合 堆栈Stack 和 队列Queue是两种非常重要的数据结构&#xff0c;两者都是特…...

父组件可以监听到子组件的生命周期吗?

在 Vue 中,父组件是可以监听到子组件的生命周期的。Vue 提供了一些特殊的钩子函数,可以在父组件中监听子组件的生命周期事件。 以下是一些常用的方法来监听子组件的生命周期: 1:使用$emit: 在子组件的生命周期钩子函数中,使用 $emit 方法触发自定义事件,向父组件发送通…...

[开源]MIT开源协议,基于Vue3.x可视化拖拽编辑,页面生成工具

一、开源项目简介 AS-Editor 基于 Vue3.x 可视化拖拽编辑&#xff0c;页面生成工具。提升前端开发效率&#xff0c;可集成至移动端项目作为通过定义 JSON 直接生成 UI 界面。 二、开源协议 使用MIT开源协议 三、界面展示 四、功能概述 基于Vue可视化拖拽编辑&#xff0c;…...

【C++ Primer Plus学习记录】数组的替代品

目录 1.模板类vector 2.模板类array&#xff08;C11&#xff09; 3.比较数组、vector对象和array对象 模板类vector和array是数组的替代品。 1.模板类vector 模板类vector类似于string类&#xff0c;也是一种动态数组。您可以在运行阶段设置vector对象的长度&#xff0c;可…...

JSP免杀马

JSP免杀马 随着Java框架的进化和程序员的内卷&#xff0c;使用PHP编写的系统越来少&#xff0c;使用Java编写的系统越来越多。JSP马的使用越来越多&#xff0c;但是就目前来看&#xff0c;各大厂商对JSP马的查杀效果还是不尽人意。这里简单通过Java的反射机制和ClassLoader技术…...

2023-10-16 node.js-调用python-记录

NodeJS 作为后端&#xff0c;仅在需要时调用 Python 在某些特殊的场景下&#xff0c;比如复杂耗时的数据处理和运算时&#xff0c;我们可以用 Python 脚本编写&#xff0c;然后使用 Node 的子进程调用 Python 脚本即可&#xff0c;这样可以提升效率。如下代码&#xff0c;我们…...

Kotlin 设置和获取协程名称

1&#xff0c;设置写成名称 创建协程作用域是或者创建协程是有个上下文参数&#xff08;context: CoroutineContext&#xff09; 创建协程作用域 CoroutineScope(Dispatchers.IO CoroutineName("协程A"))//Dispatchers.IO根据实际情况设置可有可无 源码&#xf…...

awk命令的使用

1.概念&#xff1a; awk是Linux以及UNIX环境中现有的功能最强大的数据处理工具 awk是一种处理文本数据的编程语言。awk的设计使得它非常适合于处理由行和列组成的文本数据 awk程序可以读取文本文件&#xff0c;对数据进行排序&#xff0c;对其中的数值执行计算以及生成报表等…...

【面试系列】Vue

引言&#xff1a;下面是一些常见的 Vue 面试题和对应的答案 目录 1. Vue 是什么&#xff1f;它有哪些特点&#xff1f;2. Vue 的生命周期有哪些&#xff1f;请简要描述每个生命周期的作用。3. Vue 组件间通信的有哪些方式&#xff1f;4. Vue 的 computed 和 watch 的区别是什么…...

揭开MyBatis的神秘面纱:掌握动态代理在底层实现中的精髓

一日小区漫步&#xff0c;我问朋友&#xff1a;Mybatis中声明一个interface接口&#xff0c;没有编写任何实现类&#xff0c;Mybatis就能返回接口实例&#xff0c;并调用接口方法返回数据库数据&#xff0c;你知道为什么不&#xff1f; 朋友很是诧异&#xff1a;是啊&#xff…...

结合领域驱动设计,理解TOGAF之架构方法论

TOGAF&#xff08;The Open Group Architecture Framework&#xff09;是一个开放的架构方法论&#xff0c;旨在支持组织制定和实施企业架构。它提供了一种框架来创建和管理企业架构&#xff0c;并包含了一组最佳实践&#xff0c;帮助组织实现其业务目标。 TOGAF框架包括四个主…...

Vue-vue项目Element-UI 表单组件内容要求判断

整体添加判断 <el-formref"ruleFormRef":model"formModel"class"demo-ruleForm"label-position"top"status-icon:rules"rules"><el-form-item label"姓名" prop"applyUsers" class"form-…...

【试题027】C语言宏定义小例题

1.题目&#xff1a; #define MOD(a,b) a%b int main() { int x4,y16,z; zMOD(y,x); printf("%dn".z)&#xff1b;} 则程序执行的结果是? 2.代码分析&#xff1a; #include <stdio.h> #define MOD(a,b) a%b int main() {int x 4, y 16, z;z MOD(y, …...

解决 sharp: Installation error: unable to verify the first certificate

使用 plasmo 时报错如下&#xff1a; E:\chromeplugins>pnpm create plasmo ../.pnpm-store/v3/tmp/dlx-46852 | 2 ../.pnpm-store/v3/tmp/dlx-46852 | Progress: resolved 2, reused 2, downloaded 0, added 2, done &#x1f7e3; Plasmo v0.83.0 &…...

【Java】Java实现100万+ 的高并发、高性能设计

Java实现100万 的高并发、高性能设计 1、简述 现百万级并发编是一项综合性的技术&#xff0c;同时&#xff0c;它与现实生活中 的场景有着紧密的联系。 搞懂并发编程有三大核心问题 分工问题 同步问题 互斥问题 本文就对这三大核心问题进行简单的介绍 2、分工问题 关于分工…...

linux系统下,在vscode的命令行中调试python文件

首先参考vscode官网文档Command line debugging 步骤 1&#xff08;只需一次&#xff09;&#xff1a;安装debugpy 步骤 2&#xff1a;在命令行中运行 python -m debugpy --listen 5678 --wait-for-client -m dir1.dir2.your_script 以上命令使用了端口5678&#xff0c;也可…...

DFS(分布式文件系统)与 DFSR(分布式文件系统复制)的区别

DFS&#xff08;分布式文件系统&#xff09;和 DFSR&#xff08;分布式文件系统复制&#xff09;是两种不同的技术&#xff0c;尽管它们在名称上有一些相似之处&#xff0c;但它们的用途和功能有所不同。 DFS&#xff08;分布式文件系统&#xff09; DFS 是一种用于创建和管理…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...