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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CodeFuse成功支持通义千问算法大赛,评测方案已开源

前段时间, 首届通义千问AI挑战赛成功举办,CodeFuse 为大赛提供技术支持,模型微调框架 MFTCoder 和 CodeFuseEval 评测框架为大赛保驾护航,助力大赛圆满完成。我们基于leetcode 阿里和蚂蚁最新面试题库建设了“模型赛马”在线打榜的…

25.云原生之ArgoCD-app of apps模式

文章目录 app of apps 模式介绍app如何管理apphelm方式管理kustomize方式管理 app of apps 模式介绍 通过一个app来管理其他app,当有多个项目要发布创建多个app比较麻烦,此时可以创建一个管理app,管理app创建后会创建其他app。比较适合项目环…

Ansible基础及常用模块

目录 1.前言 Ansible Ansible的特性 2.ansible环境安装部署 管理端安装ansible(192.168.88.22) ansible目录结构 配置主机清单 配置密钥对验证 3.ansible命令行模块 command 模块 shell 模块 ​编辑cron 模块 user 模块 group 模块 copy 模块 file 模块 hostn…

爱上算法:每日算法(24-2月2号)

🌟坚持每日刷算法,将其变为习惯🤛 题目链接:101. 对称二叉树 最开始肯定是比较简单的想法,就是遍历左右节点呀,不相等我就直接返回false。 但是这样错了,我们要的是以根节点为轴,而…

如何保证MySQL和Redis中的数据一致性?

文章目录 前言一、缓存案例1.1 缓存常见用法1.2 缓存不一致产生的原因 二、解决方案2.1 先删除缓存,再更新数据库2.2 先更新数据库,删除缓存2.3 只更新缓存,由缓存自己同步更新数据库2.4 只更新缓存,由缓存自己异步更新数据库2.5 …

Unity_使用Shader实现玻璃和镜面效果

效果图如下: 玻璃效果图 镜面效果图 Step1 搭建场景→镜子使用Quad代替,放置在需要反射的墙面→创建新的材质和Shader Step2 墙壁外创建Camera,用来渲染物体后方的视图→创建RenderTexture,赋于该相机 Step3 Shader的编写如下…

如何使用本地私有NuGet服务器

写在前面 上一篇介绍了如何在本地搭建一个NuGet服务器, 本文将介绍如何使用本地私有NuGet服务器。 操作步骤 1.新建一个.Net类库项目 2.打包类库 操作后会生成一个.nupkg文件,当然也可以用dotnet pack命令来执行打包。 3.推送至本地NuGet服务器 打开命…

来看看Tomcat和Web应用的目录结构

在前面两篇大致了解了Tomcat的架构和运行流程,以及Tomcat应用中的web.xml。 聊一聊Tomcat的架构和运行流程,尽量通俗易懂一点-CSDN博客 来吧,好好理解一下Tomcat下的web.xml-CSDN博客 那接下来,再看看Tomcat的目录,…

el-table点击某一行选中改变背景色且执行方法

elementUI table表格点击某一行选中并且改变背景色 使用:row-style"rowStyle"及row-click“selectRow”: 其中 selectRow 方法中: row 输出:当前行的内容 column 输出:当前列的信息 event 输出:当前事件 …

Unknown custom element:<xxx>-did you register the component correctly解决方案

如图所示控制台发现了爆红(大哭): 报错解释: 当我们看到报错时,我们需要看到一些关键词,比如显眼的“component”和“name”这两个单词, 因此我们就从此处切入,大概与组件有关系。…

洛谷 B3635 硬币问题(DP入门)

[题目概述] 今有面值为 1、5、11 元的硬币各无限枚。 想要凑出 n 元,问需要的最少硬币数量。 输入格式 仅一行,一个正整数 n。 输出格式 仅一行,一个正整数,表示需要的硬币个数。 输入 15输出 3输入 12输出 2样例解释 …

深度学习入门笔记(二)神经元的结构

神经网络的基本单元是神经元,本节我们介绍神经元的结构。 2.1 神经元 一个神经元是由下面 5 部分组成的: 输入:x1,x2,…,xk。权重:w1,w2,…,wk。权重的个数与神经元输入的个数相同。偏移项:可省略。激活函数&#…

Hadoop:HDFS学习巩固——基础习题及编程实战

一 HDFS 选择题 1.对HDFS通信协议的理解错误的是? A.客户端与数据节点的交互是通过RPC(Remote Procedure Call)来实现的 B.HDFS通信协议都是构建在IoT协议基础之上的 C.名称节点和数据节点之间则使用数据节点协议进行交互 D.客户端通过一…

【Vue】指令之内容绑定,事件绑定

Vue指令[1] 内容绑定,事件绑定v-test指令v-html指令v-on基础 内容绑定,事件绑定 v-test指令 作用:设置标签的文本值(textContent) 默认写法会替换全部内容,使用差值表达式可以替换指定内容内部支持写表达…

Nicn的刷题日常之打印菱形

目录 1.题目描述 2.解题思路 3.解题 1.题目描述 用C语言在屏幕上输出以下图案: 2.解题思路 仔细观察图形,可以发现,此图形中是由空格和*按照不同个数的输出组成的。 上三角:先输出空格,后输出*,每…

谈谈BlueStore

目录 未完待续前言组成前期准备工作基础概念对象PextentextentBlobNode 线程事务磁盘的抽象与分配位图法分层位图 上电流程写流程读流程参考资料 未完待续 前言 BlueStore是什么? Ceph是一个统一的分布式存储系统。BlueStore是Ceph的存储引擎。 它的作用是什么&am…

C语言:内存函数(memcpy memmove memset memcmp使用)

和黛玉学编程呀------------- 后续更新的节奏就快啦 memcpy使用和模拟实现 使用 void * memcpy ( void * destination, const void * source, size_t num ) 1.函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。 2.这个函数在遇到 \0 的时候…

深入理解网络编程之BIO和NIO

目录 原生JDK网络编程BIO BIO通信模型服务端代码 BIO通信模型客户端代码 伪异步模型服务端代码(客户端跟之前一致) 原生JDK网络编程NIO 什么是NIO? NIO和BIO的主要区别 阻塞与非阻塞IO NIO之Reactor模式 NIO中Reactor模式的基本组成…

【深度学习】基于PyTorch架构神经网络学习总结(基础概念基本网络搭建)

神经网络整体架构 类似于人体的神经元 神经网络工作原来为层次结构,一层一层的变换数据。如上述示例有4层,1层输入层、2层隐藏层、1层输出层神经元:数据的量或矩阵的大小,如上述示例中输入层中有三个神经元代表输入数据有3个特征…

国家博物馆逆向抢票协议

逆向工程的具体步骤可以因项目和目标系统的不同而有所变化。然而,以下是一般逆向工程的一般步骤: 1. 分析目标系统:对待逆向的系统进行调研和了解,包括其架构、功能、使用的技术等方面的信息。 2. 反汇编或反编译:使…
最新文章