【计算机网络】计算机网络的定义和分类
🚩本文已收录至专栏:计算机网络学习之旅
一.定义
计算机网络并没有一个精确和统一的定义,在计算机网络发展的不同阶段,人们对计算机网络给出了不同的定义,这些定义反映了当时计算机网络技术的发展水平。
例如计算机网络早期的一个最简单定义:计算机网络是一些互连的、自治的计算机集合。
-
互连:计算机之间可以通过有线或无线的方式进行数据通信。
-
自治:有自己硬件和软件可以独立运行的计算机。
-
计算机的集合:至少两台以上计算机。
现阶段计算机网络的一个较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
- 可编程的硬件:计算机网络所连接的硬件不限于计算机,而是包括了智能手机、具有网络功能的传感器以及智能家电等智能硬件,这些硬件一定包含有中央处理单元(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…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...

相关类相关的可视化图像总结
目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...