计算机网络第1章(上):网络组成与三种交换方式全解析

目录

  • 一、计算机网络的概念
  • 二、计算机网络的组成和功能
    • 2.1 计算机网络的组成
    • 2.2 计算机网络的功能
  • 三、电路交换、报文交换、分组交换
    • 3.1 电路交换(Circuit Switching)
    • 3.2 报文交换(Message Switching)
    • 3.3 分组交换(Packet Switching)
    • 3.4 虚电路交换(Virtual Circuit Switching)
    • 3.4 性能分析
  • 四、计算机网络的分类

简单来说计算机网络学习的是数据如何通过网络正确、可靠地从 A 传送到 B

一、计算机网络的概念

什么是计算机网络?计算机网络(Computer networking)是一个将众多 分散的、自治的 计算机系统,通过 通信设备与线路 连接起来,由功能完善的 软件 实现 资源共享信息传递 的系统。下图中的手机、电脑都是分散的,自治的意思是其中一个设备坏了,但是不会影响其他的设备正常运行,通信设备如下图所示的路由器、5G 基站等,连接的方式很多,可能是通过 WIFI、5G 这种无线的线路进行连接,也可能通过网线这种有线的线路连接,软件就是百度网盘、微信。

计算机网络(computer networking): 计算机网络(简称网络):由若干 结点(node) 和连接这些结点的 链路(link) 组成。结点可以是计算机、集线器、交换机、路由器等,链路可以是有线链路、无线链路。

每台电脑只有一个网线插口,如果多台电脑要联机怎么办?集线器(Hub): 可以把多个结点连接起来,组成一个计算机网络,普通民用领域已很少用集线器,集线器工作在物理层,将在后续进行深入学习。----集线器可能会卡,数据冲突

交换机(Switch): 可以把多个结点连接起来,组成一个计算机网络,家庭、公司、学校通常用交换机组建内部网络,"交换机" 工作在数据链路层,也是在后续详细进行学习。

计算机网络通常使用云朵表示,路由器(router): 可以把两个或多个计算机网络互相连接起来,形成规模更大的计算机网络,也可称为 "互连网",路由器工作在网络层。

例子:某银行的内部网络(互连网)

计算机网络课程中的 "路由器""家用路由器" 有一些区别,家用路由器=路由器+交换机+其他功能

互联网(或因特网,Internet):

如何理解 TCP/IP协议,类似于秦始皇统一六国后:车同轨,书同文(大秦文字)----- 通信协议,统一度量衡:

知识点小结:

二、计算机网络的组成和功能

2.1 计算机网络的组成

① 从组成部分看 分为三个部分:硬件、软件、协议。硬件:

  1. 主机,即端系统(end system) ----- 如:电脑、手机、物联网设备
  2. 通信设备 ----- 如:集线器、交换机、路由器
  3. 通信链路 ----- 如:网线、光纤、同轴电缆

软件: 方便用户使用,实现资源共享。如:Email 客户端、聊天软件、网盘软件。协议: 规定计算机网络中的通信规则,由硬件、软件共同实现,如:网络适配器+软件(固件----特殊的软件----厂家安装在了网络适配器 ROM 芯片上的东东) 实现网络通信协议。主机内部安装 网络适配器(网卡) 和协议结合将主机数据发到网络上或者接收来自网络的数据。

网络适配器拓展:

② 从工作方式看 分为两个部分边缘部分与核心部分,边缘部分工作方式,直接为用户服务(通信、资源共享),主要由连接到互联网上的主机及其软件组成。核心部分工作方式为边缘部分提供服务(连通性、交换服务),由大量网络和连接这些网络的路由器组成。

③ 从逻辑功能看 分为两类,资源子网与通信子网。资源子网为计算机网络中运行应用程序,向用户提供可共享的硬件、软件和信息资源的部分,主要由连接到互联网上的主机组成。通信子网为计算机网络中负责计算机间信息传输的部分,即把计算机和其他用户装置互连在一起的所有通信设备和介质的总称,主要由 通信链路+通信设备+协议 构成,ps:主机内部实现信息传输的网络适配器、底层协议属于通信子网的范畴。

2.2 计算机网络的功能

计算机网络的功能主要是分为以下几种:

  1. 数据通信: 实现计算机之间数据传输。是最基本、最重要的功能。没有这个功能后面的都无法实现
  2. 资源共享: 硬件资源共享,如:智能音箱 请求服务器处理等,软件资源共享,如:应用商店等,数据资源共享,如:分享视频等
  3. 分布式处理: 将某个复杂任务分配给网络中多台计算机处理-----如:大矩阵运算、MapReduce
  4. 提高可靠性: 网络中各台计算机互为替代机 ---- 如:某网盘服务器集群网络,数据冗余备份
  5. 负载均衡: 网络中各台计算机共同分担繁重工作 ----- 如:某游戏用多台服务器均衡处理玩家请求
  6. 其他: 满足社会需求、生活需求 ----- 如:远程办公、远程教育、娱乐等

三、电路交换、报文交换、分组交换

人类历史上的通信网络:

计算机网络发展初期面临的问题:

接下来详细讲解计算机网络中的三种交换方式:电路交换(Circuit Switching)、报文交换(Message Switching)、分组交换(Packet Switching),它们是实现网络通信的三种基本方式,各有优缺点,下面是逐一对比讲解。

3.1 电路交换(Circuit Switching)

电路交换(Circuit Switching):通过物理线路的连接,动态地分配传输线路资源。代表系统:电话系统(传统固定电话)


早期的电话交换机:

工作方式: ① 建立连接: 通信前先建立一条端到端的物理路径。② 传输数据: 建立完成后,整条路径被独占,数据按顺序传输。③ 释放连接: 通信结束后,释放整条路径资源。看个图示:

如果计算机网络采用 "电路交换" 技术?

"电路交换" 的优缺点:

  1. 电路交换的优点:通信前从主叫端到被叫端建立一条专用的物理通路,在通信的全部时间内,两个用户始终占用端到端的线路资源。数据直送,传输速率高(电路交换更适用于:低频次、大量地传输数据)
  2. 电路交换的缺点:
    • 建立/释放连接,需要额外的时间开销(计算机之间数据往往是 "突发式" 传输,即往往会高频次、少量地传输数据)
    • 线路被通信双方独占,利用率低
    • 线路分配的灵活性差
    • 交换节点不支持 "差错控制"(无法发现传输过程中的发生的数据错误)

想一想:打电话,等电话2分钟,讲话5秒(体验差)。打电话,等电话2分钟,讲话1小时(体验好)。
在这里插入图片描述

3.2 报文交换(Message Switching)

工作方式: 整个报文(消息)作为一个整体传送。中间节点 "存储转发" 整个报文先完整接收,然后再转发到下一个节点。没有固定路径,可以动态选择路由。代表系统:早期的电报网络

如果计算机网络采用 "报文交换" 技术?

报文交换的优点:

  1. 通信前无需建立连接
  2. 数据以 "报文" 为单位被交换节点间 "存储转发",通信线路可以灵活分配
  3. 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高
  4. 交换节点支持 "差错控制"(通过校验技术)

报文交换的缺点:

  1. 报文不定长,不方便存储转发管理
  2. 长报文的存储转发时间开销大、缓存开销大
  3. 长报文容易出错,重传代价高

3.3 分组交换(Packet Switching)

工作方式: 报文被分割成多个小包(称为分组或数据包),每个分组独立发送,可以走不同路径,接收端再按序组装还原原始报文。代表系统:互联网(Internet)

现代计算机网络采用 "分组交换" 技术:

分组交换的优点:

  1. 通信前无需建立连接
  2. 数据以 "报文" 为单位被交换节点间 "存储转发",通信线路可以灵活分配
  3. 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高
  4. 交换节点支持 "差错控制"(通过校验技术)

相比于报文交换,分组交换改进了如下问题:

  1. 分组定长,方便存储转发管理
  2. 分组的存储转发时间开销小、缓存开销小
  3. 分组不易出错,重传代价低

分组交换的缺点:

  1. 相比于报文交换,控制信息占比增加
  2. 相比于电路交换,依然存在存储转发时延
  3. 报文被拆分为多个分组,传输过程中可能出现失序、丢失等问题,增加处理的复杂度

3.4 虚电路交换(Virtual Circuit Switching)

"虚电路交换" 技术(基于分组交换):虚电路交换(Virtual Circuit Switching)是一种分组交换方式,在通信前会先 "建立一条逻辑上的路径",然后所有的分组按这个路径依次传输。特点:

  1. 每个分组都走同一路由
  2. 需要建立连接(虚电路)
  3. 分组按序送达,中间节点维护 "状态表",常用于 ATM(异步传输模式)、X.25、帧中继等网络技术。

从多个角度对比,来看现代网络为什么选了数据报分组交换(也就是现在的 IP 网络):

对比维度虚电路交换数据报分组交换(IP)说明
连接建立需要不需要节省连接时间
路由灵活性固定路径可动态变化数据报适应性更强,适合大型互联网
中间设备需维护连接状态无连接状态简化路由器设计,增强可扩展性
故障恢复不灵活灵活某一链路故障时,数据报可自动绕过
网络拓展性数据报结构更适合全球范围发展
协议复杂度相对简单简洁的 IP 层设计符合“尽力而为”理念

思想层面的原因(互联网设计哲学):"The network should be dumb, and the endpoints should be smart." 这是互联网架构的一个核心思想:网络层做得越 "傻",扩展性和鲁棒性越好。虚电路:中间设备需 "维护状态",网络复杂;数据报:中间设备 "无状态",转发简单,端到端可靠性交给 TCP;正因为如此,IP 协议选择了 "无连接、不可靠" 的数据报服务,而不是复杂的虚电路机制。总结一句话: 虚电路交换虽然能提供有序、稳定的传输,但代价是中间节点必须维护连接状态,扩展性差、灵活性低,不适合全球范围、海量终端接入的互联网环境;相反,数据报分组交换结构简单、灵活、易于故障恢复,是构建现代互联网的最优选择。

3.4 性能分析

电路交换性能分析:

报文交换性能分析:

分组交换性能分析:

三种交换方式的性能对比(自己去加一下秒):

三种主要交换方式小结:

四、计算机网络的分类

按分布范围分类:

网络类型英文缩写覆盖范围举例
个人区域网PAN(Personal Area Network)几十米以内,家庭/个人使用,通常是通过无线技术将个人设备连接起来的网络,因此也常称为无线个域网(WPAN)蓝牙耳机连接手机
局域网LAN(Local Area Network)几十米~几千米,一栋楼或一个房间,通信技术:以太网技术学校/企业/工作单位/家庭/公司内部网络
城域网MAN(Metropolitan Area Network)几千米~几十千米,一个或几个相邻城市,通信技术:常采用 "以太网技术",因此常并入局域网范畴探讨城市宽带、城域骨干网
广域网WAN(Wide Area Network)几十~几千公里,跨省/跨国/跨洲即国家或全球范围互联网、电信运营商骨干网

ps: 如今的局域网几乎都是采用 "以太网技术" 实现,因此 "以太网" 几乎成了 "局域网" 的代名词。举例:广域网(WAN)、局域网(LAN):

例子:个域网(PAN)

按传输技术分类:

分类方式类型说明示例
按传输方式广播式网络(Broadcast Network)所有主机共享同一条通信信道,数据广播发送,每个主机都能接收到,目的主机通过地址识别自己。可以理解为@某人的群消息,在群里的大家都能看到,但是只有被@的那个人才能接收到消息传统以太网、Wi-Fi(所有无线网络都是广播式)
点对点网络(Point-to-Point Network)网络中各设备之间 通过专用连接通信,数据只发给目标主机。一对一私信ATM、帧中继、互联网

按拓扑结构分类(网络中设备的连接方式):

拓扑结构图示概念优缺点
总线型所有节点连接在一根主干线上,数据 "广播式" 传输;存在 "总线争用" 问题,典型代表:集线器连接的设备(物理上:星型,逻辑上: 总线型)构造简单,但容易冲突
星型所有节点连接到中心节点(如交换机),由中央设备实现数据的 "点对点" 传输;不存在 "总线争用" 问题,典型代表:以太网交换机连接的设备常用于局域网,可靠性高
环型节点首尾相连形成一个环,数据 "广播式" 传输;通过 "令牌" 解决总线争用问题,令牌顺环形依次传递,拿到令牌者可使用总线,典型代表:令牌环网(流行于2000年以前的局域网技术)故障一个点会影响整体
网状型每个节点可连接多个节点,数据通过各中间节点逐一存储转发;属于 "点对点" 传输,典型代表:由众多路由器构建的广域网冗余高、稳定性强,但成本高

总线型结构图示:

星型结构图示:

环型结构图示:

网状型结构图示:

小故事:局域网技术的发展

按使用者分类:

类别特点
公用网(公共网络)给钱就行------向公众开放的网络。如:办宽带、交手机话费即可使用的互联网
专用网(私有网络)给钱也不行------仅供某个组织内部使用的网络。如:政府、军队、电力、银行的内部网络

按传输介质分类:

类别特点举例
有线网络传输稳定、带宽大、干扰小网线(以太网)、光纤
无线网络灵活、移动性强Wi-Fi、蓝牙、4G/5G、卫星通信

这玩意,只能说:
在这里插入图片描述
小结:

本文为个人学习记录与复习整理之用,旨在帮助自己系统巩固计算机网络相关知识,同时也希望能为正在学习该领域的同学提供一些参考与帮助。部分内容参考了公开课资料、他人学习笔记或网络公开资源,其中部分图片或示意图来自网络,仅用于非商业性质的学习交流。如有侵权或不当引用之处,敬请联系我删除或更正。
在这里插入图片描述

    好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
    如果我的博客对你有帮助、如果你喜欢我的博客内容,请 点赞评论收藏 一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
 编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了 关注 我哦!

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

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

相关文章

[总结]前端性能指标分析、性能监控与分析、Lighthouse性能评分分析

前端性能分析大全 前端性能优化 LightHouse性能评分 性能指标监控分析 浏览器加载资源的全过程性能指标分析 性能指标 在实现性能监控前,先了解Web Vitals涉及的常见的性能指标 Web Vitals 是由 Google 推出的网页用户体验衡量指标体系,旨在帮助开发者量…

Windows商店中的免费扫雷游戏应用

《扫雷》是一款经典的单人益智小游戏,1992年微软发布的Windows 3.1中加入该游戏,从此风靡全世界。游戏目标是通过逻辑推理,在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷。 此Windows应用实现了经典扫雷的…

ActiveMQ 可观测性最佳实践

ActiveMQ 介绍 ActiveMQ 是一款高性能、开源的消息中间件,支持多种消息协议(如 JMS、AMQP、MQTT 等),能够实现应用程序之间的异步通信和消息传递。它提供点对点(Queue)和发布/订阅(Topic&#…

【Linux命令】scp远程拷贝

文章目录 1. 基本语法与常用选项2. 使用场景和使用示例本地文件->远程主机远程主机文件->本地远程主机->另一台远程主机 3. 使用注意事项 scp(Secure Copy Protocol)是linux中基于ssh的安全文件传输工具,用于在本地和远程主机之前安…

如何优化 Harmony-Cordova 应用的性能?

以下是针对 ‌Harmony-Cordova 应用性能优化‌的完整方案,结合鸿蒙原生特性和Cordova框架优化策略: ‌⚡一、渲染性能优化‌ ‌减少布局嵌套层级‌ 使用扁平化布局(如 Grid、GridRow)替代多层 Column/Row 嵌套,避免冗…

c++学习之---模版

目录 一、函数模板: 1、基本定义格式: 2、模版函数的优先匹配原则: 二、类模板: 1、基本定义格式: 2、类模版的优先匹配原则(有坑哦): 3、缺省值的设置: 4、ty…

SpringAI(GA):RAG下的ETL快速上手

原文链接:SpringAI(GA):RAG下的ETL快速上手 教程说明 说明:本教程将采用2025年5月20日正式的GA版,给出如下内容 核心功能模块的快速上手教程核心功能模块的源码级解读Spring ai alibaba增强的快速上手教程 源码级解读 版本&a…

用dayjs解析时间戳,我被提了bug

引言 前几天开发中突然接到测试提的一个 Bug,说我的时间组件显示异常。 我很诧异,这里初始化数据是后端返回的,我什么也没改,这bug提给我干啥。我去问后端:“这数据是不是有问题?”。后端答:“…

DataAgent产品经理(数据智能方向)

DataAgent产品经理(数据智能方向) 一、核心岗位职责 AI智能体解决方案设计 面向工业/政务场景构建「数据-模型-交互」闭环,需整合多源异构数据(如传感器数据、业务系统日志)与AI能力(如大模型微调、知识图…

Ubuntu取消开机用户自动登录

注:配置前请先设置登录密码,不同显示管理器配置方法不同,可用命令查看:cat /etc/X11/default-display-manager 一、LightDM 显示管理器,关闭 Ubuntu 系统用户自动登录 查找自动登录配置文件,可以看到类似 a…

使用lighttpd和开发板进行交互

文章目录 🧠 一、Lighttpd 与开发板的交互原理1. 什么是 Lighttpd?2. 与开发板交互的方式? 🧾 二、lighttpd.conf 配置文件讲解⚠️ 注意事项: 📁 三、目录结构说明💡 四、使用 C 编写 CGI 脚本…

Apache IoTDB V2.0.3 发布|新增元数据导入导出脚本适配表模型功能

Release Announcement Version 2.0.3 Apache IoTDB V2.0.3 已经发布! V2.0.3 作为树表双模型正式版本,主要新增元数据导入导出脚本适配表模型、Spark 生态集成(表模型)、AINode 返回结果新增时间戳,表模型新增部分聚…

车辆检测算法在爆炸事故应急响应中的优化路径

视觉分析赋能车辆管控:以山东应急场景为例 背景:应急场景下的车辆管控痛点 近期山东多起爆炸事故暴露了应急响应中的车辆管理短板:消防车、救护车因违停车辆堵塞通道,违规车辆闯入事故核心区,传统监控系统依赖人工识别…

∑ 1/n 调和级数 是 发散的

为什么 ∑ 1 u \sum \frac{1}{u} ∑u1​(即 ∑ 1 n \sum \frac{1}{n} ∑n1​,通常称为调和级数)是发散的? ✅ 一、首先明确你问的是这个级数: ∑ n 1 ∞ 1 n \sum_{n1}^{\infty} \frac{1}{n} n1∑∞​n1​ 这个级数…

Android第十二次面试-多线程和字符串算法总结

多线程的创建与常见使用方法 ​一、多线程创建方式​ ​1. 继承Thread类​ class MyThread extends Thread {Overridepublic void run() {// 线程执行逻辑System.out.println(Thread.currentThread().getName() " is running");} }// 使用 MyThread thread new …

大模型调用数据库表实践:基于自然语言的SQL生成与数据查询系统

# 大模型调用数据库表实践:基于自然语言的SQL生成与数据查询系统 ## 一、背景与目标 在企业数据管理场景中,非技术人员(如业务人员、管理人员)常常需要通过数据库查询获取关键信息,但直接编写SQL语句存在技术门槛。传…

28 C 语言作用域详解:作用域特性(全局、局部、块级)、应用场景、注意事项

1 作用域简介 作用域定义了代码中标识符(如变量、常量、数组、函数等)的可见性与可访问范围,即标识符在程序的哪些位置能够被引用或访问。在 C 语言中,作用域主要分为三类: 全局作用域局部作用域块级作用域 需注意&am…

Tomcat运行比较卡顿进行参数调优

在Tomcat conf/catalina.bat或catalina.sh中 的最上面增加参数 1. 初步调整参数(缓解问题) set JAVA_OPTS -Xms6g -Xmx6g -Xmn3g # 增大新生代,减少对象过早晋升到老年代 -XX:MetaspaceSize256m -XX:MaxMetaspaceS…

WSL2 安装与Docker安装

注意:如没有科学上网请勿尝试,无法判断是否会因网络错误导致的安装失败!!! WSL2(Windows Subsystem for Linux 2) 功能简介: WSL2 是微软提供的在 Windows 上运行完整 Linux 内核的…

Redis的安装与使用

网址:Spring Data Redis 安装包:Releases tporadowski/redis GitHub 解压后 在安装目录中打开cmd 打开服务(注意:每次客户端连接都有先打开服务!!!) 按ctrlC退出服务 客户端连接…