1.1 计算机网络的概念

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

可以用不同类型的设备去连接计算机网络比如手机,笔记本电脑或者台式机,现在还有智能手表、智能电视这些都可以连接计算机网络。无论是智能手表、智能电视还是手机,它们都属于计算机系统,不同的设备连接计算机网络的方式也各不相同,笔记本电脑可以通过 wifi 连接这个路由器从而接入计算机网络,台式机可以通过网线连接这个路由器从而接入网络,另外平时在外面使用手机都是通过5G通信的技术去连接5G基站,从而接入计算机网络。在这些电脑和手机当中我们会安装一些方便易用的软件,比如说百度网盘或者微信,我们可以用百度网盘去共享一些资源以及可以用微信这样的软件去聊天去传文件等等。
计算机网络是一个将众多分散的资源,自治的计算机系统通过通信设备和线路连接起来由功能完善的软件,实现资源共享和信息传递的系统。首先连接计算机网络的手机、笔记本电脑、台式机这些计算机系统都是分散的,同时也是自治的。自治是什么意思?就是说如果其中一台设备坏掉,并不会影响另外一台设备的运行,所以这些计算机系统是相互独立的,是自治的。这些计算机系统和通信设备进行连接。家用路由器是一种通信设备,5G基站也是一种通信设备,并且连接的方式有很多,可能是通过 wifi 、5G这种无线的线路进行连接也有可能是通过网线这种有线的线路进行连接,这样的话就构成了一个计算机网络,通过计算机网络我们可以实现资源共享和信息传递,
那这就是王道书对计算机网络的定义。
接下来我们要区分几个术语:计算机网络、互连网和互联网。接下会展开探讨。首先先让大家猜几个问题,下面这几句话当中提到的网指的是计算机网络还是互连网还是互联网。

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

计算机网络由若干个节点和连接这些节点的链路组成。不知道大家有没有玩过一些局域网联机对战的游戏,比如说红警帝国时代、极品飞车还有我的世界等等,很多游戏都支持局域网联机。以前大学的时候我和我的舍友想要联机打帝国时代这个游戏,我和他分别有一台电脑当时我们用一根网线,分别接到他的电脑和我的电脑上,通过这根网线我和我的舍友两台计算机就组成了一个最简单的计算机网络,在我和他搭建的这个计算机网络当中只有两个节点分别就是两台计算机,这两个结点当中也只有一条链路是用网线构建的。
当时我们宿舍每天晚上十点断网但是断网之后我和他还可以快乐的打游戏,这让其他的舍友非常羡慕,于是,其他的舍友也想要加入我们呃在断网之后和我们一起联机打游戏,但此时问题发生了,每一台笔记本电脑只有一个网线的插口,如果多台电脑想要联机怎么办呢?我们可以买一个集线器。

集线器长这个样子。可以看到它有很多网线的插口,我们可以用四条网线把四台电脑连接到同一个集线器上,这样我们就把多个节点连接了起来,从而组成了一个计算机网络,在这个小型的计算机网络当中总共有五个节点,分别是四台电脑以及一个集线器,有四条有线链路都是用网线来搭建的。有了集线器我们四个舍友就可以一起联机打游戏了,后来我们发现用集线器组建的这个网络在打游戏的时候经常容易出现卡顿的情况,原因是集线器不能避免数据冲突的情况。什么意思呢?如果说这两台电脑同时在往集线器这边发送数据,那么他俩的数据发送就会出现数据冲突的情况,最后就导致这台电脑的数据也发不出去,另一台电脑的数据也发不出去。所以集线器这种网络设备通常不太好用,现在大家在网上搜集线器基本上已经买不到了。集线器这种网络设备的具体原理我们会在第二章展开学习,现在我们只需要知道通过集线器可以组建一个简单的计算机网络,但是集线器这种设备现在用的很少,它的效率不高。现在如果要搭建一个计算机网络的话通常不用集线器而是会采用交换机这种网络设备。
交换机的长相和集线器很像。这是一个交换机,它的背面也有几个网口,于是几台电脑都可以通过网线接入这个交换机,和集线器类似,交换机这种设备也可以把多个节点连接起来组成一个计算机网络,并且交换机这种设备并不会发生数据冲突。也就是说两台电脑同时发送数据,他们的这个数据不会打架都可以成功的发出去。关于交换机的具体原理我们还会在第三章详细学习。
通常来说现在一个家庭、一个公司或者一个学校要组建内部网络都会用到交换机,一个交换机还可以连接另一个交换机,如果要构建一个比较大的内部网络,比如说要构建一个校园网,那么在这个校园网的内部,可能就会使用到很多很多台交换机。并且会需要一些高性能的交换机。这儿先不展开,总之无论是集线器还是交换机都可以用于构建一个计算机网络。计算机网络我们通常会用一个云朵来表示。通过集线器交换机这些设备可以构建一个计算机网络,不同的计算机网络之间又怎么实现互联互通呢?这就需要使用到另一个设备叫做路由器,通过路由器可以把两个或者多个计算机网络互相连接起来,这样就形成了更大规模的计算机网络。我们可以把这样的一个大型的计算机网络称为互连网。因为它是通过路由器把多个计算机网络互相连接起来而形成的一个更大的网络,当然路由器还可以连接别的路由器,从而再连接更多的计算机网络这样就可以让这个互连网的规模不断的扩大,关于路由器的具体原理我们会在第四章进行学习。

通过路由器可以把多个计算机网络互相连接起来,给大家举个例子有一些银行的内部网络就是典型的互联网。比如说某个大型银行的内部网络它可能长这个样子。
假设这个银行它有一个总行和四个分行每一个分行都是一个相互独立的计算机网络,另外这个银行的总部,也就是总行那儿会有一个数据中心,这些分行通过路由器和总部的这个数据中心都可以互联互通。假设一位客户在A分行存了一千块钱,那么存钱的这个信息就可以通过路由器逐层的传到总行的数据中心,这样他的账户余额就增加了一千。下一次即便客户在D这个分行去取钱的话,他的账户余额也可以从总行的数据中心进行查询。可以看到这个银行的内部网络是通过路由器把它们相互连接起来的。
这就是一个典型的互联网,像银行这种机构它的内部数据都是非常敏感的都是直接和钱挂钩,所以为了保证银行内部数据的安全性,通常来说他们会构建一个专属于自己的内部网络。你从你的家里是无法去访问他们的内部网络的,因为你家连接的那个网络和银行内部的这个网络并没有实现互联互通。
跟大家说明一下在计算机网络这门课程当中我们提到的路由器,和你的家用路由器是有一些区别的。
你的家用路由器其实是路由器和交换机以及其他功能的一个集合,为了简化理解我们可以把家用路由器看作是交换机和路由器这两种设备的结合,交换机的作用刚才我们已经说过了它可以构建一个内部的网络,比如你的智能电视还有你的电脑可以通过网线去连接你的家用路由器。逻辑上我们可以把它理解为是连接到了这个交换机上面。另外你的手机也可以通过 wifi 这种无线连接的方式把它连到交换机上,这些设备连接了同一个交换机所以这些设备就组成了一个最简单的计算机网络。也就是你家庭内部的网络。现在你的家用路由器它还有一个路由器的功能,刚刚我们说过路由器可以把你家庭内部的网络和其他的网络进行连接,那把你家的网络和外面的网络连接起来之后你家的这些设备就可以上网了,路由器的后面,你的家庭里这些设备它们共处于一个网络。而路由器的外面又是另一个网络,如果大家用过电视投屏的功能你应该知道,使用这个功能的前提条件是手机和电视要连接到同一个网络当中,现在我们知道了当我们把手机和电视同时连上家里的路由器之后,这就相当于他们俩连接了同一个交换机,也就是说它们俩就处于同一个网络之下。这样我们就可以使用电视投屏的功能,现在大家可以结合家用路由器的这个例子再来感受路由器和交换机它们的一个作用。
交换机可以把多个节点连接起来组成一个计算机网络,这是交换机的功能。路由器的功能是可以把两个或者多个计算机网络互相连接起来。既然路由器这种设备可以把多个计算机网络互相连接起来,那为什么我们不能把全世界范围内的计算机网络,用路由器全部把它们连接起来呢?

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

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

在世界范围的这个互联网上,各个设备之间必须使用TCP/IP协议去进行通信,而一个自主构建的互联网内部可以使用别的协议去进行网络通信,怎么理解通信协议这个东西呢?
用一个例子来解释一下,我们知道秦始皇他统一六国之后,提出了车同轨、书同文统一度量衡这样的要求,书同文是什么意思啊,就是说在我统一之前,秦国有秦国的文字,楚国有楚国的文字,韩国有韩国的文字,这会导致一个问题,秦国的人只能给秦国的人写信,而楚国的人也只能给楚国的人去写信、通信。因为两个地方的文字不一样或者也可以说各国的这种通信协议各不相同,秦王统一天下之后他要求全天下的人都使用大秦的文字,也就是说统一了通信协议。这样就可以保证咸阳的人和邯郸的人都可以用统一的规则,统一的文字去相互通信。
覆盖全世界范围的互联网为了确保各个节点之间可以畅通无阻的通信,它就需要规定一个所有的节点都必须遵守的一种通信协议,相比之下第二个互联网它有可能是一个小范围的内部网络,比如刚才我们提到某个银行它也许会构建一个专门供内部使用的互联网,由于它的这个内部网络和外面的互联网不需要互联互通因此它内部要怎么通信使用什么样的通信协议这是他自己可以决定的一个事情。

相关文章:
1.1 计算机网络的概念
首先来看什么是计算机网络,关于计算机网络的定义并没有一个统一的标准,不同的教材有 不同的说法(这是王道书对于计算机网络的定义),我们可以结合自己的生活经验去体会这个 定义。 可以用不同类型的设备去连接计算机网络…...
Blender绘图——旋转曲线(以LCP与RCP为例)
最近在做左旋圆偏振光(LCP)与右旋圆偏振光(RCP)的研究,因此需要画出他们的图,接下来我就介绍一下用Blender怎么去画LCP与RCP。 首先你需要下载Blender软件,网上直接能搜到,图标如下…...
Spring与Mybatis整合
持久层整合 1.Spring框架为什么要与持久层技术进行整合 JavaEE开发需要持久层进行数据库的访问操作 JDBC Hibernate Mybatis进行持久层开发存在大量的代码冗余 Spring基于模板设计模式对于上述的持久层技术进行了封装 2.Mybatis整合 SqlSessionFactoryBean MapperScannerConfi…...
JDBC FetchSize不生效,批量变全量致OOM问题分析
背景 一个简单的基于 JDBC 采集数据库表的功能,当采集 Postgre SQL 某表,其数据量达到 500万左右的时候,程序一启动就将 JVM 堆内存「6G」干满了。 问题是程序中使用了游标的只前进配置,且设置了 fetchSize 属性: q…...
docker - compose up - d`命令解释,重复运行会覆盖原有容器吗
docker - compose up - d`命令解释,重复运行会覆盖原有容器吗 docker - compose up - d 是一个用于管理 Docker 容器的命令,具体含义如下: 命令含义: up:用于创建、启动并运行容器,会根据 docker - compose.yml 文件中定义的服务配置来操作。-d:表示以“分离模式”(det…...
Python 装饰器(Decorators)
什么是装饰器? 装饰器(Decorator)本质上是一个 修改其他函数功能的函数。它的核心思想是:不修改原函数代码,动态添加新功能。比如: 记录函数执行时间 检查用户权限 缓存计算结果 自动重试失败操作 理解…...
A2 最佳学习方法
记录自己想法的最好理由是发现自己的想法,并将其组织成可传播的形式 (The best reason for recording what one thinks is to discover what one thinks and to organize it in transmittable form.) Prof Ackoff 经验之谈: 做培训或者写文章ÿ…...
蓝桥杯省模拟赛 阶乘求值
问题描述 给定 n,求 n! 除以 1000000007的余数。 其中 n! 表示 n 的阶乘,值为从 1 连乘到 n 的积,即 n!123…n。 输入格式 输入一行包含一个整数 n。 输出格式 输出一行,包含一个整数,表示答案。 样例输入 3样…...
MYTOOL-记事本
一、前言 目录 1.原型设计 2.程序实现 3.最终界面说明 二、环境 windows10 每个软件工具前期会设计大概的原型,我设计的原型工具使用Axure RP9,很不错的一个设计工具 三、正文 1.原型设计 2.程序实现 3.最终界面说明 四、结语...
Golang使用 ip2region 查询IP的地区信息
利用 ip2region 进行 IP 地址定位 import ("fmt""log""github.com/lionsoul2014/ip2region/binding/golang/xdb" )func main() {ip : "213.118.179.98"dbPath : ".\\cmd\\ip\\ip2region.xdb"// 1、初始化查询器//searcher,…...
StarRocks 中 CURRENT_TIMESTAMP 和 CURRENT_TIME 分区过滤问题
背景 本文基于Starrocks 3.3.5 最近在进行Starrocks 跑数据的时候,发现了一个SQL 扫描了所有分区的数据,简化后的SQL如下: select date_created from tableA where date_createddate_format(current_time(), %Y-%m-%d %H:%i:%S) limit 20其…...
OMI(operating mode indication)
OMI(operating mode indication,操作模式指示)是11ax引入的用以交互形式分配兼容性以及信道带宽的协商。可以降终端活跃时间的耗电量. 802.11ax终端使用802.11数据使用OM控制字段(OM Control Subfield,其通常位于数据或者管理帧中),其用来指示改变AP的发送或者接收模式。8…...
4、网工软考—VLAN配置—hybird配置
1、实验环境搭建: 2、实验过程 SW1: 先创建vlan2和vlan3 [Huawei-Ethernet0/0/2]port link-type hybrid //hybird端口 [Huawei-Ethernet0/0/2]port hybrid pvid vlan 2 [Huawei-Ethernet0/0/2]port hybrid untagged vlan 10 //撕掉vlan10的标签 …...
Chrome 开发环境快速屏蔽 CORS 跨域限制!
Chrome 开发环境快速屏蔽 CORS 跨域限制【详细教程】 ❓ 为什么需要临时屏蔽 CORS? 在前后端开发过程中,我们经常会遇到 跨域请求被浏览器拦截 的问题。例如,你在 http://localhost:3000 调用 https://api.example.com 时,可能会…...
第 8 章:使用更好的库_《C++性能优化指南》_notes
使用更好的库 第八章核心知识点解析编译与测试建议总结优化原则重点内容:第一部分:多选题(10题)第二部分:设计题答案与解析多选题答案:设计题答案示例(部分): 测试用例设…...
基于深度学习的图像超分辨率技术研究与实现
一、引言 在数字图像处理领域,图像超分辨率技术一直是一个备受关注的热点话题。随着人们对图像质量要求的不断提高,如何将低分辨率图像提升到高分辨率,同时保持图像的细节和清晰度,成为了一个极具挑战性的问题。传统的图像超分辨率…...
ubuntu22.04 ROS2humble 路径文件
ROS2humble 路径文件 /opt/ros/humble/include/opt/ros/humble/lib/opt/ros/humble/share 下载ros2之后会有下面的文件,在/opt/ros/humble下 /opt/ros/humble/include C/C 头文件(.h, .hpp) /opt/ros/humble/lib 作用: 存放 编译生成的二…...
OpenCV 图形API(或称G-API)
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 引言 OpenCV 图形API(或称G-API)是一个新的OpenCV模块,旨在使常规图像处理更快且更便携。通过引入一种新的基于图的执行…...
数据设计(范式、步骤)
文章目录 数据设计1.数据库设计的三大范式2、数据库设计的具体步骤 数据设计 1.数据库设计的三大范式 关系型数据库的三大范式,指导如何设计一个关系型数据库。 1NF: 关系表的每个字段,都应该是不可再分的,——保证原子性。 字…...
Linux命令大全:从入门到高效运维
适合人群:Linux新手 | 运维工程师 | 开发者 目录 一、Linux常用命令(每天必用) 1. 文件与目录操作 2. 文件内容查看与编辑 二、次常用命令(按需使用) 1. 系统管理与监控 2. 网络与通信 3. 权限与用户管理 三、…...
系统与网络安全------网络应用基础(3)
资料整理于网络资料、书本资料、AI,仅供个人学习参考。 路由器 路由器认识路由器工作原理基本配置直连路由远程管理路由器远程连接测试 路由器 认识路由器 负责在不同网络之间转发数据的设备 路由器决定到达目标的路径 路由器也为直连网络的主机充当”网关“角色…...
常用的测试用例
登录、添加、删除、查询模块是我们经常遇到的,这些模块的测试点该如何考虑 1)登录 ① 用户名和密码都符合要求(格式上的要求) ② 用户名和密码都不符合要求(格式上的要求) ③ 用户名符合要求,密码不符合要求(格式上的要求) ④ 密码符合要求…...
标准库中有uint32_t类型吗?
标准 C 库中有uint32_t类型。它定义在<stdint.h>头文件中,表示无符号 32 位整数类型。 #include <stdio.h> #include <stdint.h>int main() {uint32_t num 4294967295; // 32位无符号整数的最大值printf("The value of num is %u\n"…...
作业(7)
接口ip配置和区域划分: fw1: [fw1]interface GigabitEthernet 0/0/0 [fw1-GigabitEthernet0/0/0]service-manage all permit [fw1]firewall zone trust [fw1-zone-trust]add interface GigabitEthernet 1/0/0 [fw1]security-policy [fw1-policy-secu…...
kafka 报错消息太大解决方案 Broker: Message size too large
kafka-configs.sh --bootstrap-server localhost:9092 \ --alter --entity-type topics \ --entity-name sim_result_zy \ --add-config max.message.bytes10485880 学习营课程...
Burp Suite抓包实战:SQL注入漏洞挖掘
本文系统解析如何利用Burp Suite专业版开展SQL注入漏洞的定向挖掘,涵盖手动探测、自动化利用、WAF绕过等进阶技巧。通过电商、金融等行业的真实渗透案例,详解从流量拦截到漏洞利用的全链路方法论,实现单日最高挖掘23个高危注入点的实战成果。…...
open-cv的安装
python -m pip install numpy matplotlib opencv-python 【记得科学上网,不然太慢了】...
docker-compose自定义网络,解决docker-compose网段路由冲突
问题排查 先route一波查看一下路由表 容器路由19和堡垒机路由冲突 解决方案 更改docker网段更改docker生成容器的网段 > 基本操作 docker network ls :查看docker网络列表 docker network inspect <network id/name>:查看某个docker网络详情…...
数据库三级选择题(2)
C) 分布式数据库的事务管理包括恢复控制和并发控制,恢复控制一般采用的策略是基于两阶段提交协议 采用一定的计算方法定位数据的有 Ⅳ.散列(哈希)索引 下列提供逻辑独立性的是外模式/模式映像 UML所有活动有关判断的部分要用菱形表…...
【入门初级篇】报表基础操作与功能介绍
【入门初级篇】报表的基本操作与功能介绍 视频要点 (1)报表组件的创建 (2)指标组件的使用:一级、二级指标操作演示 (3)表格属性设置介绍 (4)图表属性设置介绍 ࿰…...
