【云从】三、计算机网络基础
文章目录
- 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…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
sshd代码修改banner
sshd服务连接之后会收到字符串: SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢? 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头,…...
