【计算机网络】计算机网络的定义和分类
🚩本文已收录至专栏:计算机网络学习之旅
一.定义
计算机网络并没有一个精确和统一的定义,在计算机网络发展的不同阶段,人们对计算机网络给出了不同的定义,这些定义反映了当时计算机网络技术的发展水平。
例如计算机网络早期的一个最简单定义:计算机网络是一些互连的、自治的计算机集合。
-
互连:计算机之间可以通过有线或无线的方式进行数据通信。
-
自治:有自己硬件和软件可以独立运行的计算机。
-
计算机的集合:至少两台以上计算机。

现阶段计算机网络的一个较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
- 可编程的硬件:计算机网络所连接的硬件不限于计算机,而是包括了智能手机、具有网络功能的传感器以及智能家电等智能硬件,这些硬件一定包含有中央处理单元(CPU)。
- 各类应用:计算机网络并非只用来传送数据,而是能够基于数据传送进而实现各种各样的应用,包括今后可能出现的各种应用。
二.分类
可以从不同的角度对计算机网络进行分类,例如交换方式、使用者、传输介质、覆盖范围、拓扑结构。
(1) 交换方式
按交换方式可以分为电路交换、报文交换、分组交换。
(1.1) 电路交换
在早期专为电话通信服务的电信网络中,需要使用很多相互连接起来的电话交换机来完成全网的交换任务,电话交换机接通电话线的方式就是电路交换。
使用电路交换进行通信需要经历建立连接、通话、释放连接三个步骤。
建立连接:在使用电路交换打电话之前,主叫方必须先进行拨号以请求建立连接,当被叫方听到电话交换机送来的振铃音并接听后,从主叫方到被叫方之间就建立了一条专用的物理通路。这条连接为通话双方提供了通信资源。
通话:主叫方和被叫方可以基于已建立的连接进行通话,在整个通话期间,通话双方始终占用着连接。该物理通路的通信资源不会被其他用户再占用。
释放连接:通话完毕挂机后,将释放从主叫方到被叫方之间的物理通路。

计算机之间的交换方式适合采用电路交换吗?
通常我们的计算机都运行着即时通信工具,例如QQ、微信。为了能够随时接收和发送消息,我们会让其一直处于上线状态,如果使用电路交换,这将导致长时间占用物理通路而不使用进而浪费通信资源。
通常情况下,计算机之间的数据传送是突发式的,由于电路交换会一直占用连接,当使用电路交换来传送计算机数据时,其线路的传输效率一般都会很低,线路上真正用来传送数据的时间往往不到10%甚至1%,因此计算机网络通常采用分组交换。
(1.2) 分组交换
假设主机H1要给主机H3的用户发送一条消息,通常,我们把表示消息的整块数据称为一个报文,较长的报文一般不适宜直接传输,需要将较长的报文划分成若干个较小的等长数据段,在每个数据段前面添加一些由必要的控制信息(例如目的地址)组成的首部,这样就构造出了一个个分组。

源主机H1将所构造的分组依次发送到分组交换网中,分组交换网中的交换节点收到一个分组后,先将其缓存下来,然后从首部中提取出目的地址,按照目的地址查找自己的转发表,将分组交给下一个交换节点,经过多个交换节点的存储转发,分组最终被转发到目的主机,主机H3收到这些分组后,去掉它们各自的首部,将个数据段组合还原出原始消息。

优点:
- 没有建立连接和释放连接的过程。
- 分组传输过程中逐段占用通信链路,有较高的通信线路利用率。
- 交换节点可以为每一个分组独立选择转发路由,使得网络有很好的生存性。
缺点:
- 分组首部带来了额外的传输开销。
- 交换节点存储转发分组会造成一定的时延。
- 无法确保通信时端到端通信资源全部可用,在通信量较大时可能造成网络拥塞。
- 分组可能会出现失序和丢失等问题。
(1.3) 报文交换
报文交换是分组交换的前身。在报文交换中,报文(消息)被整个地发送而不是拆分成若干个分组进行发送。交换节点将报文整体接收完成后才能查找转发表,将整个报文转发到下一个节点。因此,报文交换比分组交换带来的转发时延要长很多,而且需要交换节点具有的缓存空间也大很多,否则无法完整接收报文。
(1.4) 方式对比

- 若要连续传送大量的数据,并且数据传送时间远大于建立连接的时间,则使用电路交换可以有较高的传输效率。然而计算机的数据传送往往是突发式的,采用电路交换时通信线路的利用率会很低。
- 报文交换和分组交换都不需要建立连接(即预先分配通信资源),在传送计算机的突发数据时可以提高通信线路的利用率。
- 将报文构造成若干个更小的分组进行分组交换比将整个报文进行报文交换的时延要小,并且还可以避免太长的报文长时间占用链路,有利于差错控制同时具有更好的灵活性。
(2) 使用者
按使用者可以分为公用网、专用网。
公用网:通常是由电信公司出资建造的大型网络,公众只要按照电信公司的规定缴纳费用即可使用这种网络。
专用网:通常是由某个部门为满足本单位特殊业务的需要而建造的网络,例如军队、铁路、银行等部门的专用网,这种网络不向本单位以外的人提供服务。

(3) 传输介质
按传输介质可以分为有线网络、无线网络。
有线网络:包括双绞线网络、光纤网络等。
无线网络:包括WIFI技术等。

(4) 覆盖范围
按覆盖范围可以分为广域网(WAN)、城域网(MAN)、局域网(LAN)、个域网(PAN)。
-
广域网 (WAN):
- 覆盖范围:覆盖范围较大的网络,通常为几十到几千千米,跨越城市、国家甚至跨越大洲。
- 连接方式:通过公共或专用的线路和设备连接远距离地理位置的计算机和网络设备。
- 功能:广域网是因特网的核心部分,它提供高速、可靠的数据传输和互联互通功能,使得远距离地理位置的组织机构和用户能够进行远程访问、数据共享和通信。
-
城域网 (MAN):
- 覆盖范围:覆盖范围较小的网络,通常为5~50km,覆盖一个城市或一个城市的几个区域。
- 连接方式:通过光纤、无线电或其他通信介质连接具有高带宽要求的区域网络。
- 功能:通常作为城市骨干网,互连大量机构、企业以及校园局域网。
-
局域网 (LAN):
- 覆盖范围:覆盖范围相对较小的网络,通常在1km左右,局限在一个建物、办公室、校园等小范围内。
- 连接方式:通过以太网等局域网技术将计机、服务器、打印机等设备连接在一起。
- 功能:局域网为内部用户提供高速数据传输、文件共享、打印共享等功能,用于组织内部的信息交流和资源共享。
-
个域网 (PAN):
- 覆盖范围:覆盖范围最小的网络,通常在10米左右,仅限于个人用户的工作区域。
- 连接方式:个域网通常使用无线技术,如蓝牙或红外线,将个人设备(如手机、平板电脑、智能手表等)连接在一起。
- 功能:个域网用于个人设备之间的数据传输、文件共享、个人助手功能等。

(5) 拓扑结构
按拓扑结构可以分为总线型、星型、环形、网状型等。
总线型:使用单根传输线把计算机连接起来。
- 优点:建网容易、增减节点方便、节省线路。
- 缺点:重负载时通信效率不高、总线任意一处出现故障则全网瘫痪。

星型:每个计算机都以单独的线路与中央设备相连。
- 优点:便于网络的集中控制和管理。
- 缺点:成本高、中央设备对故障敏感。

环型:所有计算机的网络接口都连接形成一个环,环可以是单环也可以是双环,环中信号是单向传输的。

网状型:一般情况下,每个节点至少有两条路径与其他节点相连,多用在广域网中。
- 优点:可靠性高。
- 缺点:控制复杂、线路成本高

相关文章:
【计算机网络】计算机网络的定义和分类
🚩本文已收录至专栏:计算机网络学习之旅 一.定义 计算机网络并没有一个精确和统一的定义,在计算机网络发展的不同阶段,人们对计算机网络给出了不同的定义,这些定义反映了当时计算机网络技术的发展水平。 例如计算机…...
天机学堂—学习辅助功能(含场景问答和作业)
我的课表 需求分析 原型图 管理后台 用户端 流程图 数据设计 接口设计 支付成功报名课程后, 加入到我的课表(MQ)分页查询我的课表查询我正在学习的课程根据id查询指定课程的学习状态删除课表中的某课程 代码实现 数据表设计 添加课程到课表(非标准接口&#x…...
Stable Diffusion AI绘画
我们今天来了解一下最近很火的SD模型 ✨在人工智能领域,生成模型一直是研究的热点之一。随着深度学习技术的飞速发展,一种名为Stable Diffusion的新型生成模型引起了广泛关注。Stable Diffusion是一种基于概率的生成模型,它可以学习数据的潜…...
linux性能监控之sar
1.sar命令介绍 sar是一个非常全面的分析工具,可以对文件的读写,系统调用的使用情况,磁盘IO,CPU相关使用情况,内存使用情况,进程活动等都可以进行有效的分析。 sar工具将对系统当前的状态进行取样&am…...
react框架对Excel文件进行上传和导出
1.首先需要安装xlsx第三方的库库 引入插件 npm install xlsx在react引入 import * as XLSX from xlsx;1,首先设置jsx部分的 以下代码包含有导入excel文件和导出excel文件,读着可以根据需要,自己选择想要实现的功能 代码如下࿰…...
【前端】-【前端文件操作与文件上传】-【前端接受后端传输文件指南】
目录 前端文件操作与文件上传前端接受后端传输文件指南 前端文件操作与文件上传 一、前端文件上传有两种思路: 二进制blob传输:典型案例是formData传输,相当于用formData搭载二进制的blob传给后端base64传输:转为base64传输&…...
【IC前端虚拟项目】验证环境env与base_teat思路与编写
【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 上一篇里解决了最难搞的axi_ram_model,接下来呢就会简单又常规一些了,比如这一篇要说的env和base_test的搭建。在这里我用了gen_uvm_tb脚本: 【前端验证】验证自动化脚本的最后一块拼图补全——gen_t…...
使用Remix部署智能合约到币安链(Remix的操作介绍 币安链合约的部署) 点赞收藏哦
大家好,我是程序员大猩猩呀。 据我所知,很多人进入币圈之后,想要通过炒币一夜暴富!另一部分人呢他们希望自己能创建一个项目,然后发行自己的数字货币然后暴富。 不管是什么方式吧,只要不违法,…...
为什么Redis6.0引入了多线程
Redis 6.0引入了多线程,主要原因有以下几点: 提高网络I/O的吞吐量:多线程可以更有效地处理大量的并发连接和请求,特别是在多核心服务器上。通过使用多线程来处理读写网络套接字,Redis能够更充分地利用系统资源&#x…...
速盾:高防ip和高防cdn有什么相同点?
高防IP(Dedicated IP)和高防CDN(Content Delivery Network)都是用来保护网站免受各种网络攻击的技术手段,它们在一定程度上具有相同的作用和效果。下面将详细介绍它们的相同点。 首先,高防IP和高防CDN都能…...
设计模式之拦截过滤器模式
想象一下,在你的Java应用里,每个请求就像一场冒险旅程,途中需要经过层层安检和特殊处理。这时候,拦截过滤器模式就化身为你最可靠的特工团队,悄无声息地为每一个请求保驾护航,确保它们安全、高效地到达目的…...
【联通支付注册/登录安全分析报告】
联通支付注册/登录安全分析报告 前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨…...
c++ - 在循环中使用迭代器删除 unordered_set 中的元素
标签 c unordered-set 请考虑以下代码: Class MyClass 为自定义类:class MyClass { public:MyClass(int v) : Val(v) {}int Val; };然后下面的代码将在调用 it T.erase(it); 之后在循环中导致 Debug Assertion Failed: unordered_set<MyClass*> T; unordered_set<…...
深入了解哈希映射(HashMap)
一、哈希映射(HashMap)简介 在计算机科学中,哈希映射(HashMap)是一种基于键值对(Key-Value pair)存储数据的数据结构,它提供了高效的数据查找、插入和删除操作。哈希映射的核心思想…...
Public Key Retrieval is not allowed
Public Key Retrieval is not allowed 最近使用 JDBC 连接 MySQL 频繁出现如下报错: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowe 这段代码是一个 Java 异常错误信息,其中包含了以下关键信息: 错误类…...
iphone进入恢复模式怎么退出?分享2种退出办法!
iPhone手机莫名其妙的进入到了恢复模式,或者是某些原因需要手机进入恢复模式,但是之后我们不知道如何退出恢复模式怎么办? 通常iPhone进入恢复模式的常见原因主要是软件问题、系统升级失败、误操作问题等导致。那iphone进入恢复模式怎么退出&…...
Leetcode 107:二叉树的层次遍历II
给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)。 思路:翻转title102的结果即可。 //层次遍历二叉树public static List<List<Integ…...
LNMP一键安装包
LNMP一键安装包是什么? LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/Amazon/Mint/Oracle/Rocky/Alma/Kali/UOS/银河麒麟/openEuler/Anolis OS Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQ…...
[机器学习-05] Scikit-Learn机器学习工具包进阶指南:协方差估计和交叉分解功能实战【2024最新】
🎩 欢迎来到技术探索的奇幻世界👨💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…...
多线程的情况下 AopContext.currentProxy()切面代理失效问题
多线程的情况下 AopContext.currentProxy()切面代理失效问题 在多线程环境下,AopContext.currentProxy() 可能会遇到问题,特别是在某些情况下,它无法正确地获取到当前线程的代理对象。这通常发生在以下几种情况: 线程不是由Spri…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
