2024Node.js零基础教程(小白友好型),nodejs新手到高手,(四)NodeJS入门——网络基础概念

news2024/9/22 5:02:21

041_网络基础概念_IP的介绍

hello,大家好,我们来一起认识一下IP。

在开始介绍 IP 之前,我们首先来介绍一个场景,方便大家去理解 IP 这个概念。比如这会儿强哥正在成都,然后还有另外一个小伙伴,谁呢?

大家看一下看起来是不是很眼熟?这其实就是天宇老师,他异父异母的亲妹妹。不开玩笑啊。这其实就是天宇老师,只不过被 PS 了一下子。那么此时天宇老师他在哪呢?他是在北京。

然后天宇老师有一个爱好,就是特别喜欢吃辣的,也特别能吃辣的,就是我长这么大没有见过一个能比他还能吃辣的,所以我就打算给他邮寄一些当地,就是成都当地的一些特产火锅底料,

东西我已经准备好了,而且已经装箱了,要想邮寄这个东西,我们还需要填写一个单子。

什么单子呢?就这个快递单,在快递单上面要填写寄件人的相关信息,名字、地址、电话,还要填写收件人信息、名字、地址、电话等。

把单子填完之后,把这个单子往箱子上一贴,当然了还要付钱,

把钱一结,然后这个箱子就可以在快递系统里边儿发到北京编写,交到天宇老师的手上。

那么在刚才这个场景当中有一个非常重要的角色,谁就是收件人地址这个东西跟我们今天所要学习的这个 IP 就非常非常的相似,不过它们的作用略微有点不太一样,这个收货地址它是用来寻找收件人的,而这个 IP 地址它是为了寻找网络设备的,比如说手机、电脑,是吧?然后智能手表等等,为了寻找这些设备

那么什么是IP?下边我们来给大家介绍一下子,这个 IP 也被称之为是 IP 地址,其本质就是一个数字标识,比如说这里有 192 点儿, 168 点儿, 1 点儿3。这其实就是一个 IP 地址,

唉,同学可能会说,唉,强哥,你这这这对不对啊?是吧?你说它是个数字,怎么这还有点呢?这个,这我看着也不像,是个小数。

别急,下边的话咱们展开来说一下子,这个 IP 它其实本质是一个 32 bit 的二进制数字长成这个样子。

但是这种形式是非常不利于咱们去使用的,特别不方便,所以我们就对这个 32 的 bit 的数字进行一个拆分组,每 8 bit 一组,其实这个 8 bit 就是一个字节,就是每一个字节一组,

然后把这一个字节的二进制我们转成十进制的数字,

然后再把这个十进制数字合在一起,然后用点去分开,就形成了我们这个 IP 地址了。

所以说面上来看它长成192.168.1.3,而其本质还是一个二进制的数字。

那么下边我们来说一下这个 IP 地址它究竟有什么作用?它的作用主要是来标识网络中的设备,实现设备间的一个通信。

这里我们要说明一点,每一个接入到互联网的设备,比如说手机,是吧?笔记本,然后平板,再比如说这个网络摄像头,再比如说其他一些什么手表,然后音响、电视、主机等等,

只要他接入了互联网,它都会有一个属于自个的 IP 地址。而且有了 IP 地址之后,这些设备和设备之间才能够进行通信。

咱们再举个例子,比如说强哥还是在成都,天宇老师还是在北京,我们两个人都有一个手机,哎,我呢?这有一个华为的,他那有一个一加的都是国产的,我们两个手机的他们都接入到互联网,所以说两个手机都会有属于自个的 IP 地址。左边这个,我这个是什么?107.254,他这个是240.3。

那么现在的话,我想给天宇老师发一个视频,在成都街头走一走,是吧?拍来几段小视频。我呢先给大家发一发,那么在发送的数据内容当中会包含我的 IP 地址,也会包含他的 IP 地址,有了这个 IP 标识之后,这个数据就能够在网络当中找到天宇老师他这个设备,然后天老师就可以收到这信息,并且就可以看到这个我所发送过来的视频。

所以你看这个有了 IP 之后,就可以让设备和设备之间进行通信,当然他还可以回给我回一些消息说,嗯,真好看。

好了,那么下边的话咱们对这个内容做一个总结, IP 它本身就是个数字标识,然后作用用来标识网络中的设备,然后实现设备间的同性。

042_网络基础概念_IP的分类

hello,大家好,我们来介绍一下 IP 的分类,

在开始介绍 IP 的分类之前,首先我们先说一个 ip 目前存在的问题。

我们知道每一个接入互联网的设备都会有一个属于自个的 IP 地址,而这个 IP 地址是由 32 位的二进制数字所组成的。那么这个 32 位的二进制数字,它最多能表示的是 2 的 32 次方个 IP 地址,那么这个数字是 4, 294, 967, 296(42亿...)。

听起来的话,这个 IP 地址的数量还是挺多的,但是大家来看一下另外一组数据,就感觉它不是那么多了。

那么在 2022 年 11 月 15 号的时候,联合国宣布世界人口到达了 80 亿,大家可以想象一下, 80 亿人口人手一个手机,那就是 80 亿个手机。当然很多人的话,一个设备根本是不够的。有手机、电脑,还有手表等等这样的智能设备,他们都要接入到互联网,都要有IP,甚至有些人还要开公司、开网吧,拥有更多的设备,他们也需要接入到互联网,所以说这个 40 亿的 IP 地址显然是有点不太够用了。

那不够用怎么办呢?下边儿来说一个目前解决 IP 不够用的方法,

那就是共享IP,比如说区域共享。什么是区域共享呢?

就是在某个区域里边的设备,他们共用一些IP,或者说是家庭共享,家庭里边的设备共用一个IP。接下来我就以我家里边的设备来为例,给大家演示一下 IP 的共享。那在我家里边有这样几个设备,第一个是手机,第二个是笔记本,第三个是打印机,第四个是电视。这些设备他们都连接到了路由器上边,有的是通过无线 Wifi 连接的,有的是通过网线连接的。当我们的设备在连接到路由器之后,路由器会被每一个设备分配一个 IP 地址,这个时候同学可能会说,强哥,你不是说要共享 IP 吗?怎么这设备又是一人一个IP?别急,待会儿我会给你解释这个点,而路由器它本身也是有一个 IP 地址的,我家里边儿这个路由器它的 IP 地址就是192.168.1.1

我们的设备通过路由器连接在了一起,就形成了一个网络,我们把这个网络称之为是局域网,而路由器给我们分配的 IP 地址,我们把它称之为是局域网 IP 又称之为是私网IP。在这个网络里边儿,我们的设备之间是可以相互通信的,比如说我可以拿用手机给电脑发一个文件,电脑可以给我的手机发一个视频,这些都是 OK 的。但是如果你想跟小伙伴去开黑玩游戏或者视频通话,你目前的网络是达不到的。

要想达到这样的效果,我们就必须要接入到互联网,而接入互联网我们需要到通信公司去办理业务。国内的通信公司主要有三家,有电信、有联通、有移动。

我们在公司办理完业务之后,就会有师傅上门从外边往家里边拉一根线,这根线一般都需要做一些处理,等处理完毕之后就可以给我们的路由器再接一根线,而接上这根线之后,我们的路由器就会拥有另外一个IP。比如说我现在 IP 是180.91.213.152,而这个 IP 我们把它称之为是公网 ip,或者也称之为是广域网 ip。

而刚才我们所说的共享 IP 其实指的是共享公网IP,有了这个 IP 之后,我们就可以跟外部的网络进行通信,可以跟小伙伴一起视频通话,也可以跟朋友一起开黑玩游戏,都是 OK 的。

那么这个时候同学可能会说,那我也没感觉这样的这个操作减少了 IP 占用,你先别急,你看这个图,这个是我家的网络情况,还有很多家庭,每一个家庭都可以去按照这样的方式分配 IP 地址,就是我的手机,比如说在家里边是192.168.1.2,对不对?那你在你家里边你也可以用这个IP,然后比如说这个天宇老师他也可以用这个IP,所以这个局域网 IP 它是可以被复用的,这样一来的话就大大减少了 IP 的占用,实现了 IP 的一个复用。

而我们每一个家庭在通过一个公网 IP 就可以实现相互之间的一个通信了。当然不光是家庭,还有公司或者说大楼里边的设备都可以用类似的方式来实现局域网的一个构建,并且用一个公网 IP 跟外界进行通信,这样一来就在一定程度上解决了 IP 不够用的问题。

好,那么接着的话我们再来说一下另外一种IP,它叫做本地回环 IP 地址,有一个地址大家必须要记住了,就是这个127.0.0.1,这个 IP 地址它比较特别,它永远是指向当前这个本机的。比如说我拿电脑去访问 127.0.0.1 这个主机其实访问的就是自己啊。那我拿手机访问,那我如果拿手机去访问,其实访问的也是自己,

那顺便再说一下这个本地回还地址,它并非只有127.0.0.1,在这个区间内的这个 IP 地址都是回还地址,都是指向当前本机的。

好,那么下边的话我们对这个小节讲的 ip 的分类做一个小节,我们讲了三大类,

第一个是本地的回环地址,就是这一个网段内的IP。

第二个是局域网IP,也被称之为是私网IP。可以看一下这些网段内的IP,它们都是局域网IP,不过我们在用的时候,第一种类型用的比较多,第二种和第三种的话我们用的相对来说比较少。

第三个是广域网IP,又被称之为是公网IP,大家可以这样理解,就是除了上述 IP 之外的其余的 IP 都是广域网IP。

当然了,再做一个补充,就是我们做这样的 IP 分类,纯粹是为了方便大家去理解、去记忆,如果大家想知道这个 IP 的标准分类,可以看一看最后准备的这个网址,有兴趣同学可以打开这个网址去看一看他对 IP 的一个分类啊。不过我补充一点,这个对于新人来说是稍微的不太友好的。

043_网络基础概念_端口

hello,大家好,那这道题呢?我们来一起学习一下端口,在开始介绍端口之前,我们首先先介绍一个场景,通过这个场景方便大家更好的去理解端口。不知道大家小时候有没有赶过集,所谓赶集就是在这个路的旁边有很多摊位,比如说有水果摊,有五金摊,是吧?有凉皮摊,然后蔬菜摊、衣服摊、零食摊等等很多摊位。然后每一个摊位都有属于自个儿的一个编号,比如说水果摊儿21,然后五金摊儿22,然后以此类推。

当然这里我得解释一下子,有些地方,那个摊位它是有编号的,有些地方那个摊位它没有编号,而我们那块它这个摊位就是有编号的。

然后这个人就在这个街上走,然后碰到喜欢或者感兴趣的内容,就到这个摊位去问一问老板究竟是怎么一个情况。那么我们其实可以把整个这个集市当作是一台计算机,而在这个集市里边的摊位比作是计算机当中运行的程序。比如说英雄联盟、微信、 QQ 等等这些软件,他们就好比是摊位,而我们这个摊位的编号就好比是咱们今天所要学习的这个端口,

那么究竟什么是端口呢?它其实是应用程序的数字标识,一台现代计算机它有 6553 六个端口,数字标识从 0 到65535,然后一个应用程序它可以使用一个或者多个端口。

同学可能会想说,那这个数字标识这个端口它究竟有什么作用呢?

这个端口它的主要作用是实现不同主机应用程序之间的通信。我再说一遍,这个端口的一个主要作用是实现不同主机应用程序之间的一个通信。

我来举个例子,比如说咱们这儿有一台计算机,它的 IP 是这个我就不念了,因为每次念 IP 的话特别耗费时间,然后这个计算机安装了一些程序。比如说有英雄联盟、有微信,然后有网易云音乐,

然后这有另外一台电脑,它也有一个IP,然后咱们左边这个主机给右边这个主机发送了一个数据报文过来,发送过来之后你就会发现有个问题。

啥问题呢?究竟是哪个程序来处理这个报文的?对不对?

仅仅通过 IP 没有办法去确定这个报文应该要交给哪个程序去处理,这个时候咱们这个端口它就起到作用了。说明一下,这个端口是随便写的,21、22、23,然后主机和主机之间在进行通信时,就不再是仅仅只有 ip 了。这个时候会加上端口,左侧把数据发过来之后,你看有 21 这个端口,哎,这个计算机一看 21 就会把这个数据报文呐交给LOL这个程序去处理。

那么对应的咱们这个主机可能也会返回数据,在返回数据时也是一样,不仅有IP,而且还会有端口,当这个数据报文再返回回来之后,这个计算机也会通过端口去寻找对应的应用程序,然后由这个程序来处理这个报文。

所以说你看有了端口之后,它是可以实现不同主机间应用程序的一个通信的。

对这块内容咱们做一个小结,什么是端口呢?这个端口它其实是应用程序的一个数字标识,其主要作用是实现不同主机应用程序之间的一个通信。

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

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

相关文章

数据库分库分表:提升系统性能的必由之路

欢迎来到我的博客,代码的世界里,每一行都是一个故事 数据库分库分表:提升系统性能的必由之路 前言为什么分库分表是必要的分库分表的基本概念和原理性能提升和负载均衡 前言 在数字化时代,数据被认为是企业最宝贵的资产之一。然而…

STA双WiFi连接

STA双WiFi连接 1、STA/STA双WiFi开关1.1 相关属性1.2 STA/STA支持判断 2、STA双WiFi命令测试2.1 adb shell cmd wifi add-suggestion guest_5G wpa3 12345678 -p2.2 adb shell cmd wifi remove-suggestion guest_5G2.3 查看dumpsys wifi信息WifiConfigStore 3、STA双WiFi连接流…

Graal编译器和GraalVM虚拟机

文章目录 说明Java程序执行流程JVM的语言无关性JVM的执行流程执行引擎的两种行为:解释执行和编译热点代码和热点代码探测方式热点代码热点代码探测方式热点代码探测方式流程 HotSpotVM内嵌两个JIT编译器Graal编译器GraalVMGraalVM虚拟机安装和体验GraalVM的下载和安…

【JavaEE】_传输层协议UDP与TCP

目录 1. 开发中常见的数据组织格式 1.1 XML 1.2 JSON 1.3 Protobuf 2. 端口号 3. UDP协议 4. TCP协议 4.1 特点 4.2 TCP报文格式 4.3 TCP可靠性机制 4.3.1 确认应答机制 4.3.2 超时重传机制 4.3.2.1 丢包的两种情况 4.3.2.2 重传时间 4.3.3 连接管理机制 4.3.3…

【Flink入门修炼】1-2 Mac 搭建 Flink 源码阅读环境

在后面学习 Flink 相关知识时,会深入源码探究其实现机制。因此,需要现在本地配置好源码阅读环境。 本文搭建环境: Mac M1(Apple Silicon)Java 8IDEAFlink 官方源码 一、 下载 Flink 源码 github 地址:h…

【Vue3+Vite】Vue生命周期与组件 快速学习 第三期

文章目录 一、Vue生命周期1.1 生命周期简介1.2 生命周期案例 二、Vue组件2.1 组件基础2.2 组件化入门案例2.3 组件之间传递数据2.3.1父传子2.3.2 子传父2.3.3 兄弟传参 总结 一、Vue生命周期 1.1 生命周期简介 每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤&#xf…

UE5 获得频谱让nigara随音乐律动

参考视频:UE - Niagara实现可视化音乐动态粒子效果 案例演示及教程_哔哩哔哩_bilibili 先创建一个Niagara 在Properties的Sim Target改为GPU,Calculate Bounds Mode改为Fixed模式 生成的数量改为1000 这里的BoxSize可以选择修改,具体作用是粒子初始生成的范围 Drag,阻力,用来限…

数据结构_找环,破环题-2.5

一. 判断单链表有无环 a. 错误的思路:遍历陷入死循环 1)和相交的遍历思路一样,找指向相同。 错误点 一直在死循环。 思考点:如何破环 b. 个人思路:反转链表回首结点 1)目前的经验,无非就…

浅谈应该遵守的伦敦银交易规则

做伦敦银投资的朋友应遵守伦敦银交易规则,伦敦银交易规则不是指那些伦敦银交易技巧,而是在这个市场中要遵循的一些约定,下面我们就来讨论一下。 风险管理。风险管理即指投资者控制自己一笔乃至整体交易的风险,没有风险管理意识的投…

Vue 条件渲染 双向绑定

https://www.dedao.cn/ebook/reader?id5lZOKpMGr9mgdOvYa6Ej75XRo1NML3jx810k8ZVzb2nqPpDxBeJlK4AyQ8RPQv2z v-if实现条件渲染的功能。v-model实现双向数据传输。 v-model用来进行双向绑定,当输入框中的文字变化时,其会将变化同步到绑定的变量上&#…

【敏感词】敏感词检测功能v1.1.0版本正式上线

背景 为了解决系统发布信息时人工审核成本高的问题,开发一个敏感词检测系统。该系统能够自动检测用户输入的内容中是否包含敏感词,从而减少不合规内容的发布,降低人工审核成本。通过实施这个系统,可以提高信息发布的效率和准确性…

ArraysLambda表达式

目录 一、Arrays 1、Arrays操作数组的工具类​编辑 二、Lambda表达式 1、Lambda初体验 ​编辑 2、函数式编程 ​编辑 3、Lambda表达式的标准格式 3.1 示例代码 4、小结 ​编辑5、Lambda表达式的省略写法 ​编辑5.1 示例代码 5.2 小结 ​编辑6、Lambda表达式的练习 …

redis源码之:集群创建与节点通信(2)

在上一篇redis源码之:集群创建与节点通信(1)我们可知,在集群中,cluster节点之间,通过meet将对方加入到本方的cluster->nodes列表中,并在后续过程中,不断通过clusterSendPing发送p…

Jmeter 示例,格式为001-100,按顺序生成三位数的函数

1.先添加一个循环控制器,每次执行生成一个数, 2.添加一个beanshell Sample,编写代码,把按00X这个格式的数字,赋值给一个变量LoopCount // 从JMeter变量中获取当前的计数器值 String loopCountStr vars.get("LoopCount"); int loopCount (lo…

maven依赖报错处理(或者maven怎么刷新都下载不了依赖)

maven依赖报错,或者不报错,但是怎么刷新maven都没反应,可以试一下以下操作 当下载jar的时候,如果断网,或者连接超时的时候,会自动在文件夹中创建一个名为*lastupdate的文件,当有了这个文件之后…

代理与Reflect反射

属性描述符 Proprety Descriptor 属性描述符 用于描述一个属性的相关信息 1.Object.getOwnPropertyDescriptor(对象,属性名) 可以得到一个对象的 某个属性的属性描述符 Object.getOwnPropertyDescriptors(对象) 可以得到某个对象的所有属性描述符 如果需要为某个…

数据库学习笔记2024/2/4

随笔 怎么学? 1、MySQL数据库就是存储和管理数据的一个大型软件,这个软件有一个专门的语言叫SQL,主要学的是SQL语言,但想要达到企业用人标准,就还得学会熟练使用MySQL这个软件。 2、学习分三阶段: 一. 基础篇 1. MySQL概述 1.1 数据库相关概念 数据库管理系统 -> MyS…

如何修改远程端服务器密钥

前言 一段时间没改密码后,远程就会自动提示CtrlAltEnd键修改密码。但我电脑是笔记本,没有end键。打开屏幕键盘按这三个键也没用。 解决方法 打开远程 1、远程端WINC 输入osk 可以发现打开了屏幕键盘 2、电脑键盘同时按住CtrlAlt(若自身电…

【论文+代码】ZS-N2N实现小样本零网络图像去噪

01、引言 本文方法源于Youssef Mansour和Reinhard Heckel撰写的论文《Zero-Shot Noise2Noise: Efficient Image Denoising without any Data》,该文作者探索了一种不需要任何数据且高效的高效图像去噪方法。 该方法使用两个固定的内核对噪声图像进行卷积&#xff…

【开源】基于JAVA+Vue+SpringBoot的快乐贩卖馆管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 搞笑视频模块2.3 视频收藏模块2.4 视频评分模块2.5 视频交易模块2.6 视频好友模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 搞笑视频表3.2.2 视频收藏表3.2.3 视频评分表3.2.4 视频交易表 四、系…