1.1 计算机网络的概念

首先来看什么是计算机网络,关于计算机网络的定义并没有一个统一的标准,不同的教材有
不同的说法(这是王道书对于计算机网络的定义),我们可以结合自己的生活经验去体会这个
定义。

可以用不同类型的设备去连接计算机网络比如手机,笔记本电脑或者台式机,现在还有智能手表、智能电视这些都可以连接计算机网络。无论是智能手表、智能电视还是手机,它们都属于计算机系统,不同的设备连接计算机网络的方式也各不相同,笔记本电脑可以通过 wifi 连接这个路由器从而接入计算机网络,台式机可以通过网线连接这个路由器从而接入网络,另外平时在外面使用手机都是通过5G通信的技术去连接5G基站,从而接入计算机网络。在这些电脑和手机当中我们会安装一些方便易用的软件,比如说百度网盘或者微信,我们可以用百度网盘去共享一些资源以及可以用微信这样的软件去聊天去传文件等等。

计算机网络是一个将众多分散的资源,自治的计算机系统通过通信设备和线路连接起来由功能完善的软件,实现资源共享和信息传递的系统。首先连接计算机网络的手机、笔记本电脑、台式机这些计算机系统都是分散的,同时也是自治的。自治是什么意思?就是说如果其中一台设备坏掉,并不会影响另外一台设备的运行,所以这些计算机系统是相互独立的,是自治的。这些计算机系统和通信设备进行连接。家用路由器是一种通信设备,5G基站也是一种通信设备,并且连接的方式有很多,可能是通过 wifi 、5G这种无线的线路进行连接也有可能是通过网线这种有线的线路进行连接,这样的话就构成了一个计算机网络,通过计算机网络我们可以实现资源共享和信息传递,
那这就是王道书对计算机网络的定义。

接下来我们要区分几个术语:计算机网络、互连网和互联网。接下会展开探讨。首先先让大家猜几个问题,下面这几句话当中提到的网指的是计算机网络还是互连网还是互联网。

首先我们来看计算机网络描述的范畴是什么?

计算机网络由若干个节点和连接这些节点的链路组成。不知道大家有没有玩过一些局域网联机对战的游戏,比如说红警帝国时代、极品飞车还有我的世界等等,很多游戏都支持局域网联机。以前大学的时候我和我的舍友想要联机打帝国时代这个游戏,我和他分别有一台电脑当时我们用一根网线,分别接到他的电脑和我的电脑上,通过这根网线我和我的舍友两台计算机就组成了一个最简单的计算机网络,在我和他搭建的这个计算机网络当中只有两个节点分别就是两台计算机,这两个结点当中也只有一条链路是用网线构建的。

当时我们宿舍每天晚上十点断网但是断网之后我和他还可以快乐的打游戏,这让其他的舍友非常羡慕,于是,其他的舍友也想要加入我们呃在断网之后和我们一起联机打游戏,但此时问题发生了,每一台笔记本电脑只有一个网线的插口,如果多台电脑想要联机怎么办呢?我们可以买一个集线器。

集线器长这个样子。可以看到它有很多网线的插口,我们可以用四条网线把四台电脑连接到同一个集线器上,这样我们就把多个节点连接了起来,从而组成了一个计算机网络,在这个小型的计算机网络当中总共有五个节点,分别是四台电脑以及一个集线器,有四条有线链路都是用网线来搭建的。有了集线器我们四个舍友就可以一起联机打游戏了,后来我们发现用集线器组建的这个网络在打游戏的时候经常容易出现卡顿的情况,原因是集线器不能避免数据冲突的情况。什么意思呢?如果说这两台电脑同时在往集线器这边发送数据,那么他俩的数据发送就会出现数据冲突的情况,最后就导致这台电脑的数据也发不出去,另一台电脑的数据也发不出去。所以集线器这种网络设备通常不太好用,现在大家在网上搜集线器基本上已经买不到了。集线器这种网络设备的具体原理我们会在第二章展开学习,现在我们只需要知道通过集线器可以组建一个简单的计算机网络,但是集线器这种设备现在用的很少,它的效率不高。现在如果要搭建一个计算机网络的话通常不用集线器而是会采用交换机这种网络设备。

交换机的长相和集线器很像。这是一个交换机,它的背面也有几个网口,于是几台电脑都可以通过网线接入这个交换机,和集线器类似,交换机这种设备也可以把多个节点连接起来组成一个计算机网络,并且交换机这种设备并不会发生数据冲突。也就是说两台电脑同时发送数据,他们的这个数据不会打架都可以成功的发出去。关于交换机的具体原理我们还会在第三章详细学习。

通常来说现在一个家庭、一个公司或者一个学校要组建内部网络都会用到交换机,一个交换机还可以连接另一个交换机,如果要构建一个比较大的内部网络,比如说要构建一个校园网,那么在这个校园网的内部,可能就会使用到很多很多台交换机。并且会需要一些高性能的交换机。这儿先不展开,总之无论是集线器还是交换机都可以用于构建一个计算机网络。计算机网络我们通常会用一个云朵来表示。通过集线器交换机这些设备可以构建一个计算机网络,不同的计算机网络之间又怎么实现互联互通呢?这就需要使用到另一个设备叫做路由器,通过路由器可以把两个或者多个计算机网络互相连接起来,这样就形成了更大规模的计算机网络。我们可以把这样的一个大型的计算机网络称为互连网。因为它是通过路由器把多个计算机网络互相连接起来而形成的一个更大的网络,当然路由器还可以连接别的路由器,从而再连接更多的计算机网络这样就可以让这个互连网的规模不断的扩大,关于路由器的具体原理我们会在第四章进行学习。

通过路由器可以把多个计算机网络互相连接起来,给大家举个例子有一些银行的内部网络就是典型的互联网。比如说某个大型银行的内部网络它可能长这个样子。

假设这个银行它有一个总行和四个分行每一个分行都是一个相互独立的计算机网络,另外这个银行的总部,也就是总行那儿会有一个数据中心,这些分行通过路由器和总部的这个数据中心都可以互联互通。假设一位客户在A分行存了一千块钱,那么存钱的这个信息就可以通过路由器逐层的传到总行的数据中心,这样他的账户余额就增加了一千。下一次即便客户在D这个分行去取钱的话,他的账户余额也可以从总行的数据中心进行查询。可以看到这个银行的内部网络是通过路由器把它们相互连接起来的。

这就是一个典型的互联网,像银行这种机构它的内部数据都是非常敏感的都是直接和钱挂钩,所以为了保证银行内部数据的安全性,通常来说他们会构建一个专属于自己的内部网络。你从你的家里是无法去访问他们的内部网络的,因为你家连接的那个网络和银行内部的这个网络并没有实现互联互通。

跟大家说明一下在计算机网络这门课程当中我们提到的路由器,和你的家用路由器是有一些区别的。

你的家用路由器其实是路由器和交换机以及其他功能的一个集合,为了简化理解我们可以把家用路由器看作是交换机和路由器这两种设备的结合,交换机的作用刚才我们已经说过了它可以构建一个内部的网络,比如你的智能电视还有你的电脑可以通过网线去连接你的家用路由器。逻辑上我们可以把它理解为是连接到了这个交换机上面。另外你的手机也可以通过 wifi 这种无线连接的方式把它连到交换机上,这些设备连接了同一个交换机所以这些设备就组成了一个最简单的计算机网络。也就是你家庭内部的网络。现在你的家用路由器它还有一个路由器的功能,刚刚我们说过路由器可以把你家庭内部的网络和其他的网络进行连接,那把你家的网络和外面的网络连接起来之后你家的这些设备就可以上网了,路由器的后面,你的家庭里这些设备它们共处于一个网络。而路由器的外面又是另一个网络,如果大家用过电视投屏的功能你应该知道,使用这个功能的前提条件是手机和电视要连接到同一个网络当中,现在我们知道了当我们把手机和电视同时连上家里的路由器之后,这就相当于他们俩连接了同一个交换机,也就是说它们俩就处于同一个网络之下。这样我们就可以使用电视投屏的功能,现在大家可以结合家用路由器的这个例子再来感受路由器和交换机它们的一个作用。

交换机可以把多个节点连接起来组成一个计算机网络,这是交换机的功能。路由器的功能是可以把两个或者多个计算机网络互相连接起来。既然路由器这种设备可以把多个计算机网络互相连接起来,那为什么我们不能把全世界范围内的计算机网络,用路由器全部把它们连接起来呢?

事实上有一些公司和组织就是在干这件事情这一类的公司通常就是互联网服务提供商,英文缩写叫 ISP,Internet Service Provider,比如说中国电信、中国移动中国联通。在全球范围内有很多这样的企业。以及还有一些国际机构他们共同构建了可以覆盖全球范围的互联网,这个覆盖全球范围的互联网就是所谓的英特网,现在在中文的语境当中,我们一般用互联网联合国的联去特指这个因特网。这个互联网的世界是对每一个公众开放的,只要你交钱交网费就可以接入这个互联网。不知道大家有没有办过宽带业务,在开通宽带的那天会看到那个师傅会把一根网线接到你家的这个路由器上,这根网线的一头接的是你家的路由器,这根网线的另一头最终肯定会接到这个公司的某一个商用路由器上,这样就把你们家的内部网络和整个互联网连接起来了,只要你按时交网费你就可以在家里上网,所以平时我们说的上网这个动作,其实这个网指的是互联网也就是因特网。

这地方有必要和大家解释一下。你家的这个路由器,它接出去的这根线通常来说并不会直接连上网络运营商的这个路由器这条线路它中间还会经过更复杂的一些连接,这么画是为了让大家理解起来更简单一些。

在世界范围的这个互联网上,各个设备之间必须使用TCP/IP协议去进行通信,而一个自主构建的互联网内部可以使用别的协议去进行网络通信,怎么理解通信协议这个东西呢?

用一个例子来解释一下,我们知道秦始皇他统一六国之后,提出了车同轨、书同文统一度量衡这样的要求,书同文是什么意思啊,就是说在我统一之前,秦国有秦国的文字,楚国有楚国的文字,韩国有韩国的文字,这会导致一个问题,秦国的人只能给秦国的人写信,而楚国的人也只能给楚国的人去写信、通信。因为两个地方的文字不一样或者也可以说各国的这种通信协议各不相同,秦王统一天下之后他要求全天下的人都使用大秦的文字,也就是说统一了通信协议。这样就可以保证咸阳的人和邯郸的人都可以用统一的规则,统一的文字去相互通信。

覆盖全世界范围的互联网为了确保各个节点之间可以畅通无阻的通信,它就需要规定一个所有的节点都必须遵守的一种通信协议,相比之下第二个互联网它有可能是一个小范围的内部网络,比如刚才我们提到某个银行它也许会构建一个专门供内部使用的互联网,由于它的这个内部网络和外面的互联网不需要互联互通因此它内部要怎么通信使用什么样的通信协议这是他自己可以决定的一个事情。

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

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

相关文章

用LLama factory时报类似Process 2504721 got signal: 1的解决方法

之前用nohup来远程跑LLama factory微调脚本,是没有问题的,但今天发现运行类似下面这个命令时, nohup llamafactory-cli train examples/train_qlora/qwen_lora.yaml 只要一关闭ssh session,就会终止训练,报类似&…

python常用内置时间函数+蓝桥杯时间真题

1.time 1.1 time.time() 时间戳指:1970年1月1日开始到现在所经过的秒数 import time print(time.time()) # 输出可得1970年1月1日开始到执行此代码所经过的秒数 1.2 time.localtime() 返回一个当前时间的时间对象,具体信息,并且可以单独…

一个用 C 语言打印出所有三位数水仙花数的程序

水仙花数(Narcissistic number)是指一个三位数,其各位数字的立方和等于该数本身。例如:153 是一个水仙花数,因为 (1^3 5^3 3^3 153)。 以下是一个用 C 语言打印出所有三位数水仙花数的程序: 代码实现 …

利用 VSCode 配置提升 vibe coding 开发效率

利用 VSCode 配置提升 vibe coding 开发效率 Vibe Coding(氛围编程)是一种基于AI的编程方法,其核心在于通过自然语言描述软件需求,再由大规模语言模型(LLM)自动生成代码,从而实现对传统手写编程…

练习题:110

目录 Python题目 题目 题目分析 需求理解 关键知识点 实现思路分析 代码实现 代码解释 函数定义: 计算值的总和: 测试函数: 运行思路 结束语 Python题目 题目 定义一个函数,接受一个字典作为参数,返回字…

处理 Linux 信号:进程控制与异常管理的核心

个人主页:chian-ocean 文章专栏-Linux 前言: 在 Linux 操作系统中,信号是用于进程间通信的一种机制,能够向进程发送通知,指示某些事件的发生。信号通常由操作系统内核、硬件中断或其他进程发送。接收和处理信号是 Li…

通信协议之串口

文章目录 简介电平标准串口参数及时序USART与UART过程引脚配置 简介 点对点,只能两设备通信只需单向的数据传输时,可以只接一根通信线当电平标准不一致时,需要加电平转换芯片(一般从控制器出来的是信号是TTL电平)地位…

Unity编辑器功能及拓展(1) —特殊的Editor文件夹

Unity中的Editor文件夹是一个具有特殊用途的目录,主要用于存放与编辑器扩展功能相关的脚本和资源。 一.纠缠不清的UnityEditor 我们Unity中进行游戏构建时,我们经常遇到关于UnityEditor相关命名空间丢失的报错,这时候,只得将报错…

工具类-csv文件导入数据库思路

首先,让我们来看下数据库建表语句: CREATE TABLE behavior_reports (id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 报告ID,report_type VARCHAR(50) NOT NULL COMMENT 报告类型(daily, weekly, monthly),start_date DATE NOT NULL COMMENT 开始日期,e…

软件工程之软件开发模型(瀑布、迭代、敏捷、DevOps)

1. 瀑布模型(Waterfall Model) 定义与流程 瀑布模型是线性顺序的开发流程,包含需求分析、设计、编码、测试、维护等阶段,每个阶段完成后才能进入下一阶段,类似“瀑布流水”逐级推进。 核心特点 严格阶段划分&#…

FreeRTOS与RT-Thread内存分配对比分析

一、动态内存分配策略 ​FreeRTOS ​分配算法多样性:提供5种动态内存管理算法(heap_1至heap_5),覆盖从简单到复杂的场景。例如: heap_1:仅支持分配不支持释放,适用于固定任务栈分配。heap_4&…

202519 | Mybatis-Plus

快速入门 MyBatis-Plus(简称 MP)是 MyBatis 的增强工具,它在 MyBatis 的基础上只做增强不做改变,简化了开发,提高了效率。以下是 MyBatis-Plus 的快速入门指南,帮助您快速上手使用。 1. 环境准备 JDK&…

Linux C语言调用第三方库,第三方库如何编译安装

在 Linux 环境下使用 C 语言调用第三方库时,通常需要先对第三方库进行编译和安装。以下为你详细介绍一般的编译安装步骤,并给出不同类型第三方库(如使用 Makefile、CMake 构建系统)的具体示例。 一般步骤 1. 获取第三方库源码 …

linux基本命令(1)--linux下的打包命令 -- tar 和gzip

tar 解压 ,打包 语法:tar [主选项辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。 主选项: c 创建新的档案文件。如果用户想备…

Python 序列构成的数组(对序列使用+和_)

对序列使用和* Python 程序员会默认序列是支持 和 * 操作的。通常 号两侧的序列由 相同类型的数据所构成,在拼接的过程中,两个被操作的序列都不会被 修改,Python 会新建一个包含同样类型数据的序列来作为拼接的结果。 如果想要把一个序列…

[ C语言 ] | 从0到1?

目录 认识计算机语言 C语言 工欲善其事必先利其器 第一个C语言代码 这一些列 [ C语言 ] ,就来分享一下 C语言 相关的知识点~ 认识计算机语言 我们说到计算机语言,语言,就是用来沟通的工具,计算机语言呢?就是我们…

【通道注意力机制】【SENet】Squeeze-and-Excitation Networks

0.论文摘要 卷积神经网络建立在卷积操作的基础上,通过融合局部感受野内的空间和通道信息来提取有意义的特征。为了增强网络的表示能力,最近的一些方法展示了增强空间编码的好处。在本研究中,我们专注于通道关系,并提出了一种新颖…

kubernetes Calico(CNI) NetworkPolicy 流量管理 设置networkpolicy 策略 下集

1、kubernetes 网络策略(网络隔离策略) Network Policy 是 Kubernetes 中用于控制 Pod 之间网络通信的一种机制。它通过定义规则,限制哪些 Pod 或外部实体可以与目标 Pod 通信(基于标签、命名空间、端口等)。Network …

sqlmap基础命令总结

​注意事项:仅用于授权测试,避免非法使用。 目录 ​一、基础命令 ​二、数据库信息获取 ​三、绕过 WAF/IDS ​四、文件系统与系统命令 ​五、高级功能与优化 ​六、实战示例 ​一、基础命令 ​检测注入点 sqlmap -u "http://target.com/index.php?id1&…

Unity光线传播体积(LPV)技术实现详解

一、LPV技术概述 光线传播体积(Light Propagation Volumes)是一种实时全局光照技术,通过将场景中的间接光信息存储在3D网格中,实现动态物体的间接光照效果。 核心优势: 实时性能:相比传统光照贴图,支持动态场景 硬件…