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

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,而且还会有端口,当这个数据报文再返回回来之后,这个计算机也会通过端口去寻找对应的应用程序,然后由这个程序来处理这个报文。

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

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

相关推荐
霍格沃兹测试开发学社测试人社区6 分钟前
软件测试学习笔记丨Flask操作数据库-数据库和表的管理
软件测试·笔记·测试开发·学习·flask
理想不理想v10 分钟前
vue经典前端面试题
前端·javascript·vue.js
不收藏找不到我11 分钟前
浏览器交互事件汇总
前端·交互
今天我又学废了23 分钟前
Scala学习记录,List
学习
YBN娜25 分钟前
Vue实现登录功能
前端·javascript·vue.js
阳光开朗大男孩 = ̄ω ̄=25 分钟前
CSS——选择器、PxCook软件、盒子模型
前端·javascript·css
minDuck29 分钟前
ruoyi-vue集成tianai-captcha验证码
java·前端·vue.js
王俊山IT1 小时前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
小政爱学习!1 小时前
封装axios、环境变量、api解耦、解决跨域、全局组件注入
开发语言·前端·javascript
魏大帅。1 小时前
Axios 的 responseType 属性详解及 Blob 与 ArrayBuffer 解析
前端·javascript·ajax