【云从】三、计算机网络基础
文章目录
- 1、网络
- 2、网络通信
- 2.1 IP地址
- 2.2 子网掩码
- 2.3 网关
- 2.4 私有地址和公有地址
- 2.5 NAT网络地址转换
- 3、网络架构及设备
1、网络
网络,即通过通信线路(如光纤、网线)和通信设备(如路由器、光猫),将各类计算机以及终端相互连接起来的产物

应用为了给用户提供服务,需要通过网络传输信息,例如客户端在访问网站服务器时,用户请求以及网站资源均通过网络进行传输
2、网络通信
将一台计算机接入网络,实现通信,需要配置以下三项:

2.1 IP地址
IP地址:由32位二进制数组成,以点分十进制格式表示,用来标识计算机设备,就像寄收快递时的发货方和收货方

IP地址中包含了网络位和主机位,网络位代表IP地址所属的网络,主机位则代表IP地址在所属网络中的主机编号。用一个邮政系统来形象化理解IP地址中的网络位和主机位:
想象一下,整个城市就代表一个大的网络。这个城市有很多个街区(网络),每个街区又有很多栋房子(主机)
网络位:在这个例子中,网络位就像是街区的名称。每个街区都有一个唯一的名字,比如“花园街区”,这表示所有在这个街区内的房子都属于这个特定的区域
主机位:而主机位则像是街区内具体每栋房子的编号。例如,在“花园街区”中,房子可以编号为“101号”、“102号”等。这些编号帮助人们找到具体的房子
所以,一个完整的IP地址就像是“花园街区101号”,其中“花园街区”是网络位(指明了所属的网络),而“101号”是主机位(指明了该网络中的特定设备)
通过这样的方式,数据包在网络中传输时,就能快速找到目的地
2.2 子网掩码
前面提到了IP地址 = 网络位 + 主机位,而网络位占四位IP数字中的几位,则是根据子网掩码来判断的

子网掩码与IP 地址长度相同,并一一对应。以连续的“1”标记 IP 地址中的网络位,连续的“0”标记IP地址中的主机位,子网掩码也可以转换成十进制形式,也可以用子网掩码长度表示”1”的个数,如192.10.1.0/24,24个1,即子网掩码为255.255.255.0,因此,这个IP的网段为192.10.1
2.3 网关
网络位相同的两个IP地址,视为同一网段。不同网段的两个主机进行通信,就需要经过网关。
网关是不同网段之间的出入口,路由器可以解决不同网段之间的通信。

主机发送的数据,会通过网关地址,从该网段出去,并从接受方的网关,进入对方网段,找到接受方设备,完成传输,举个形象例子:
想象一下,你住在一个大型社区(网段)中,社区里有很多的房子(主机)。每栋楼的地址都包含社区的名称(网络位)和楼内的房间号(主机位)。
相同网段:
例如:你住在阳光社区,你的地址是“阳光社区 1栋 101号”,你的朋友甲住在“阳光社区 2栋 202号”。由于你们都在阳光社区这个同一个社区(相同的网络位),所以你们可以直接通过电话或走路彼此联系,不需要经过其他人。
不同网段:
例如:现在你还有一个朋友乙住在“星辰社区”,他的地址是“星辰社区 5栋 303号”。由于你们分别属于不同的社区(不同的网络位),你们不能直接通信。如果你想和他联系,就需要通过自己社区的门卫(网关)。你首先拨打门卫的电话,告诉他你要联系“星辰社区 5栋 303号”。门卫会帮你转接到他的社区的门卫,他们社区的门卫找到你的朋友乙,最后让你们可以顺利通话。
总结: 在这个例子中,相同网段的设备可以直接通信,而不同网段的设备则需要通过网关(门卫)进行中转,这样才能实现相互之间的通信
最后,网关地址,可以是这个网段的任何一个地址,但一般设置为本网段的第一给或者最后一个可用地址,如上面的192.10.1.254,自然也可以是192.10.1.1
2.4 私有地址和公有地址
根据互联网通信协议第四版,也就是IPV4,IP地址由32位二进制数构成,可以算出,IP地址的总数有42.9亿左右,随着互联网的发展,IP地址肯定会不够用。鉴于此,将 IP 地址划分为私有地址和公有地址,然后通过NAT网络地址转换技术以缓解IP 地址短缺的问题:
- 私有地址:作局域网内部分配使用的地址
- 公有地址:在公有网络分配使用,可以直接访问互联网的地址
PS:局域网(LAN)通常是指在有限地理范围内(如家庭、办公室或校园)连接的计算机和设备。不同的局域网之间通常是相互隔离的。这意味着,一个局域网中的设备通常无法直接访问另一个局域网中的设备。隔离可以通过路由器、防火墙等实现。
计算机规定了三个私有地址范围,其余的IP地址,均为公有地址。私有地址只能在私有网络中使用,互联网如果识别到一个数据的来源或者目标IP地址是私有IP,就会立刻终止这一次的网络传输。如此划分后,因为私有网络之间是相互隔离的,因此,即使私有地址重复,也不会引起冲突,这样就很大程度的缓解了IP地址枯竭的问题。形象的说,私有IP地址就像学号,可以在A学校使用,也可以在B学校使用,但公有IP地址就像身份证号,要有唯一性。

私有地址范围:
10.0.0.0-10.255.255.255
172.16.0.0-172.31.255.255
192.168.0.0-192.168.255.255
根据这个IP地址,以10.0.0.0-10.255.255.255为例,其32位IP地址的二进制数中,可改变的有32-8 = 24位,因此,这个范围的可用IP地址有2的24次方个,再减去网络地址和广播地址,即2^24 - 2个可用地址,同理,下面两个的可用地址数为2^20- 2和2^16 - 2,自然的:
- 小型公司:推荐使用192.168.x.x 范围,因为地址管理相对简单
- 中型公司:推荐使用172.16.x.x 范围
- 大型公司:推荐使用10.x.x.x 范围
2.5 NAT网络地址转换
生活中,连接了家庭网络的手机电脑等,即使分配了私有网络地址,也可以访问互联网,这是因为家庭网络设备默认开启NAT网络地址转换功能。NAT可以将私有IP地址转换成公有IP地址。

私有网络连通公有网络需要通过 几AT网络地址转换技术来实现。
3、网络架构及设备

如上图,公司分办公区和机房两个空间,前者是办公用的计算机,后者则是服务器,为了区分,通常会给他们设置不同的网段。同一个区域的设备通过交换机连接在一起,交换机解决的是同网段计算机之间的数据传输,还可以将发送到其他网段的数据,交给其上层的设备 – 路由器,进行路由转发,路由器一般与交换机相连,负责解决不同网段之间计算机的通信问题,此外,企业私有网络中的计算机要访问互联网时,路由器会将这部分流量指引流向通信运营商的设备,最后,为了保障整个私有网络的安全,流量进出公网之前通常会经过防火墙的过滤。
相关文章:
【云从】三、计算机网络基础
文章目录 1、网络2、网络通信2.1 IP地址2.2 子网掩码2.3 网关2.4 私有地址和公有地址2.5 NAT网络地址转换 3、网络架构及设备 1、网络 网络,即通过通信线路(如光纤、网线)和通信设备(如路由器、光猫),将各…...
读书笔记《向上生长》关于记忆、链接的一些思考
摘录 NOTES 1.大脑非常低效,记性不好,还会自圆其说。很多成绩不好的学生绝大部分不记笔记,记了也不看。 2.注意力和肌肉一样,存在耗损,也可以通过锻炼来加强。 3. 所有知识必须链接到已经有的知识,到用的时…...
Kubesphere4.1版本创建应用Mysql并实现外网访问
目前Kubesphere4.1版本可查创建应用资料较少,特此记录作为参考。 目标 使用Kubesphere4.1完成Mysql服务部署并实现外网访问。 具体流程如下: 1.创建企业空间 2.创建项目 3.创建应用仓库 4.创建应用(mysql) 5.配置外网访…...
小猿口算跟风版——没想到吧,这也能暴力
前言 “接口也是口,算法也是算”,综合来看就是口算! 看到全网都在炸鱼也忍不住来玩一玩… 参考了大佬的OCR版,试用后发现影响速度的最大卡点并不是识别速度等,而是““由于检测异常导致的等待”。 基于体验几局的感受…...
【RabbitMQ——消息应答机制——分布式事务解决方式】
1. RabbitMQ高级-消息确认机制的配置 NONE值是禁用发布确认模式,是默认值 CORRELATED值是发布消息成功到交换器后会触发回调方法,如1示例SIMPLE值经测试有两种效果,其一效果和CORRELATED值一样会触发回调方法,其二在发布消息成功…...
Android Studio Koala中Kotlin引入序列化Parcelable
找了一堆资料没有新构建序列化的方法,踩坑经历如下: 前提是使用Kotlin创建的项目 之前的build.gradle版本写法如下: 但是新版Android Studio Koala使用序列化模式发生了改变,如下: 测试成功如下: 发出来…...
安装postgresql和对应wal2json和pg_tm_aux插件避坑
1、安装原则:要用源码都用源码,要用yum都用yum 安装wal2json避坑 涉及的yum源,可以解决安装postgresql缺少依赖导致的wal2json和pg_tm_aux的报错问题 [centos-sclo-rh] nameCentOS-7 - SCLo rh baseurlhttps://mirrors.aliyun.com/centos/7/…...
OneDrive 全新时代:AI、生产力和回忆触手可及
OneDrive,无人不知,无人不晓。 无论您是在公司、家庭还是在通勤的路上,OneDrive 都能让您无缝管理文件、照片和回忆。OneDrive 受到 94% 的财富 500 强公司、数百万小型企业和无数个人的信赖,它正在改变世界协作、存储和连接的方…...
List子接口
1.特点:有序,有下标,元素可以重复 2.方法:包含Collection中的所有方法,还包括自己的独有的方法(API中查找) 还有ListIterator(迭代器),功能更强大。 包含更多…...
快来了解 Java 内存数据库 H2,不要错过哦
H2 是一个用 Java 编写的开源关系型数据库管理系统,它具有小巧、快速、易于嵌入等特点。 H2 数据库可以以多种模式运行,包括嵌入式模式、服务器模式和内存模式。 在嵌入式模式下,H2 数据库直接嵌入到应用程序中,就像一个本地的库…...
基于Java的可携宠物酒店管理系统的设计与实现(论文+源码)_kaic
摘 要 随着社会经济的不断发展,现如今出行并住酒店的人越来越多,与之而来的是酒店行业的工作量日益增加,酒店的管理效率亟待提升。此外很多人出门旅游时会有携带宠物的情况,但是现如今酒店对宠物的限制,导致许多…...
吸毛效果好的宠物空气净化器分享,希喂、霍尼韦尔、米家实测
说起宠物空气净化器,几年前我可能会一脸鄙夷:为啥要花这种智商税冤枉钱? 直到之前养了一只猫,被家中乱飞的浮毛和滂臭的异味搞到头晕,于是作为i一个养宠的家电测评博主,索性对宠物空气净化器这玩意做了超级…...
Sqlite3入门看这一篇就够(超级详细,从零学起)
Sqlite3入门看这一篇就够(超级详细,从零学起) 一、SQLite3 基础1.1 SQLite3 的特点1.2 SQLite3 安装与使用1.2.1 debian操作系统安装SQLite31.2.2 window操作系统安装SQLite3二、下载 SQLite3三、配置 SQLite 环境四、使用 SQLite34.1. **创建数据库**:4.2. **常用命令**:…...
搭建知识库:助力大健康零售电商的快速发展
一、大健康零售电商行业的快速发展及其对知识库的需求 随着互联网技术的飞速发展和人们对健康意识的显著提升,大健康零售电商行业迎来了前所未有的发展机遇。这一行业不仅涵盖了传统零售业的商品销售,还融入了健康管理、健康咨询、健康数据分析等多元化…...
纠删码参数自适应匹配问题ECP-AMP实验方案(中)
6.方法设计 6.1.数据获取 为了收集不同的文件大小和纠删码参数对性能指标的影响,本文在Hadoop平台上进行了模拟实验。Hadoop是一种开源的分布式存储和计算框架,它可以支持不同类型的纠删码,并提供了一些应用程序接口和工具来测试和评估纠删…...
在设计接口时,什么时候应该用路径参数,什么时候将数据保存到方法体中,它们各自的优势是什么?
在设计 RESTful API 接口时,选择将数据放在路径参数(Path Parameters)还是方法体(Request Body)中,取决于具体的需求和使用场景。每种方式都有其优势和适用的场景。 路径参数(Path Parameters&a…...
JVa冒泡排序
------------------------------冒泡排序--------------- let arry[1,2,3,4,5,6]; let temo;//容器交换 //两层循环 for(let i1;i<arry.length;i){ for(let j0;j<arry.length-i;j){ if(arry[j]>arry[j1]){ temparry[j]; arry[j]arry[j1]; arry[j1]temp; } } } console…...
10/11
一、ARM课程大纲 二、ARM课程学习的目的 2.1 为了找到一个薪资水平达标的工作(单片机岗位、驱动开发岗位) 应用层(APP) 在用户层调用驱动层封装好的API接口,编写对应的API接口 ----------------------------------------------------…...
C语言复习第6章 指针(未完成)
目录 一、内存单元与指针1.1 内存单元与内存单元的编号(地址/指针)1.2 内存单元的编号是如何产生的?1.3 地址/内存单元的编号/指针 本身是不需要保存的1.4 32/64位机器最多可以管理多大的内存空间?1.5 怎么计算指针(地址/编号)的大小 二、指针到指针变量2.1 怎么把二进制转换…...
Carrier Aggregation 笔记
### Carrier Aggregation 笔记 #### 引言 - Carrier Aggregation(CA)是 LTE 高级技术之一,srsRAN 4G 支持在 srsENB 和 srsUE 中进行双载波聚合。 - 使用 srsRAN 4G 进行 CA 实验需要能够调谐不同频率的 RF 设备,例如 Ettus Rese…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...
算法—栈系列
一:删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i 0; i < s.size(); i){char target s[i];if(!st.empty() && target st.top())st.pop();elsest.push(s[i]);}string ret…...
边缘计算网关提升水产养殖尾水处理的远程运维效率
一、项目背景 随着水产养殖行业的快速发展,养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下,而且难以实现精准监控和管理。为了提升尾水处理的效果和效率,同时降低人力成本,某大型水产养殖企业决定…...
