IP地址我个人的理解

news2024/10/11 6:09:03

作为连IP地址都没弄懂的一个网络小白,有时候开发以及建站会接触到IP、DNS等等概念,所以说有必要去查询一下相关知识内容,羞耻地说其实我是有一个计算机网络技术三级证书,但是这个啥用没有死记硬背就行了,许多知识点不能联系实际都是空话(最近被408计网搞得头大)。
如果你是一个windows电脑,而且如果接入了wifi或者网线,可以在终端上输入ipconfig,可以看到这样一栏

在这里插入图片描述

其实后面这一串数字就是你电脑的IP地址,可是这又代表什么呢,下面我就以我个人的理解通俗地解释一下。

IP版本类型

在这里插入图片描述

  • IPv4(Internet Protocol version 4):这是最广泛使用的IP地址版本,由32位二进制数组成,通常表示为四组十进制数字(例如 192.168.0.1),我们平时都是这种类型的IP地址,后面也是以这种IP地址来讲解。
  • IPv6(Internet Protocol version 6):为了解决IPv4地址耗尽的问题,推出了IPv6。它由128位二进制数组成,通常表示为八组四位十六进制数字(例如 2001:0db8:85a3:0000:0000:8a2e:0370:7334)。

据说2019年这种类型的IP地址就耗尽了,但是为什么我们平时生活中都还在使用着这种IP地址呢,这就是下面要说的一个知识:局域网和广域网

网络类型

在这里插入图片描述

局域网(Local Area Network,简称LAN)和广域网(Wide Area Network,简称WAN)是两种不同范围的网络类型:

局域网(LAN)

想象一下,你家的房子就是一个局域网。在这个房子里,你可以安装多个设备,比如电脑、手机、智能电视等,这些设备之间可以通过Wi-Fi或者有线连接起来,形成一个内部网络。

广域网(WAN)

广域网就像是连接不同城市的高速公路。它将不同地区的局域网连接起来,相当于一个大型的局域网,形成一个更大的网络。

简单来说,局域网就像是家里的网络,而广域网则是连接不同家庭网络的“大马路”。我们在家里上网时,其实就是在使用局域网,而当我们访问外部网站或者与他人进行网络通信时,就是在使用广域网。

IP地址范围

在这里插入图片描述

  • 公网IP地址:这些地址是全球唯一的,对应着广域网,可以在互联网上公开路由。它们由互联网服务提供商(ISP)分配。

    这里的互联网服务提供商也就是指移动、电信这种为我们提供互联网业务的运营商。

  • 私有IP地址:这些地址用于局域网,不会在互联网上公开路由。私有IP地址范围包括:

    类别IP范围网络规模
    A类10.0.0.0-10.255.255.255大型规模网络
    B类172.16.0.0-172.31.255.255中型规模网络
    C类192.168.0.0-192.168.255.255小型规模网络

    因为我电脑接入的是校园网,所以说上面IP终端显示的是A类,而大部分人都是家庭网络,都是192.168.XXX,而公网是分配给谁的呢,当然是分配给需要接入互联网的设施,比如说ISP提供的路由器。我们大部分人一般所使用的设施都是私有IP地址。

    所以说耗光的是公网IP地址,局域网内通过子网划分还能嵌套局域网,私有地址除非特殊情况是不会耗光的。

网络地址转换(NAT)技术

内网IP地址是如何访问到外网,以及外网的资源是如何分配到内网各个IP地址呢?

这里我以B站博主“硬件茶谈”的视频内容讲解:

假设5台电脑ABCD接入了一个路由器,这五台电脑的IP分别为192.168.0.1~192.168.0.5,接入这台路由器接入广域网的IP为6.6.6.6。一般咱们家用来讲,由于路由器是需要接入广域网并执行NAT的,所以路由器就是你的网关。假设电脑A要访问广域网上一个IP地址为8.8.8.8的设备,数据包从电脑A出来以后到达IP地址为6.6.6.6的网关。

在这里插入图片描述

网关发现这个数据包是需要去往8.8.8.8的,就会把192.168.0.1发送过来的数据的IP给映射成6.6.6.6,并记录好映射表,以6.6.6.6这个IP把数据包发送8.8.8.8,这样这五台电脑发送出去的数据包都可以分别通过NAT把原有的IP给转换成6.6.6.6,以这个IP去传输数据,实现五台设备共用一个IP的效果。

在这里插入图片描述

同理,8.8.8.8那边如果作为网关,下面还有附属的其他设备,它同样可以挂在很多台电脑共用8.8.8.8这一个IP。

在这里插入图片描述

但是这样就存在一个问题,这五台电脑的数据都是走这一个IP出入的,数据发送出去以后,接收方并不知道这是哪台电脑发送过来的,接收方下面如果也有很多的其他的附属设备,它也不知道这个数据包需要发送给谁,所以这里我们就引入了一个新的概念:端口映射,我们在IP地址后面增加一串端口号,网关会以不同的端口接口与外网交互,然后把这些端口映射给局域网内的各个设备。传输数据的时候,除了IP地址的映射之外,再额外加上端口号的映射,这样就可以实现共同一个IP还能精准传送数据了。

在这里插入图片描述

特殊的IP地址

你用vscode随便写一个html文件,然后用Live Server插件在本地启动一个简单的服务器,会看到出现这么一个特殊的IP地址:

在这里插入图片描述

其实这个和localhost是一样的环回地址,这是指代本地计算机的地址,其他电脑上运行也都是127.0.0.1,据说把网卡拔了都能ping通。

在这里插入图片描述

所以麻子哥这不是《鲁迅打压周树人》吗…

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

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

相关文章

软件工程pipeline梳理

文章目录 软件工程pipeline梳理为什么需要梳理软件工程的pipeline软件工程pipeline的概念与注意点软件工程pipeline中的最大挑战rethink相关资料 软件工程pipeline梳理 为什么需要梳理软件工程的pipeline 反思自己日常工作中的认知和行为。以算法/软件工程师为代表的技术工种往…

2024-10-10 问AI: [AI面试题]激活函数在神经网络中的作用是什么?

文心一言 激活函数在神经网络中扮演着至关重要的角色。它们的主要作用包括: 引入非线性: 神经网络中的每一层通常是由线性变换(如权重矩阵乘以输入向量再加上偏置)构成的。如果没有激活函数,多层神经网络将仅仅是一个…

正点原子讲解SPI学习,驱动编程NOR FLASH实战

配置SPI传输速度时,需要先失能SPI,__HAL_SPI_DISABLE,然后操作SPI_CR1中的波特率设置位,再使能SPI, NM25Q128驱动步骤 myspi.c #include "./BSP/MYSPI/myspi.h"SPI_HandleTypeDef g_spi1_handler; /* SPI句柄 */void spi1_init(void) {g_spi…

前端基础(四十):拖放功能的实现

效果 源码 <div class"draggable-wrap"><div class"draggable-box" draggable"true" data-json{"name": "Lee"}><h1>Lee</h1><div class"drop-box" data-json{"name": &qu…

API网关之Hango

Hango 是基于云原生和服务网格技术的开源 API 网关&#xff0c;专为现代分布式系统设计&#xff0c;提供高效、安全、可扩展的流量管理解决方案。Hango 网关是基于 Envoy Proxy 构建的&#xff0c;能够处理复杂的微服务架构中流量控制、服务治理和安全需求。Hango 强调与 Kuber…

Java | Leetcode Java题解之第472题连接词

题目&#xff1a; 题解&#xff1a; class Solution {Trie trie new Trie();public List<String> findAllConcatenatedWordsInADict(String[] words) {List<String> ans new ArrayList<String>();Arrays.sort(words, (a, b) -> a.length() - b.length(…

大模型1-本地部署实现交互问答

任务 在本地部署大模型&#xff0c;调用大模型进行对话。 添加库&#xff1a; 1、Transformer Transformers 是由 Hugging Face 开发的一个开源库&#xff0c;广泛应用于自然语言处理&#xff08;NLP&#xff09;任务。其主要功能是简化了对大型预训练语言模型的加载和使用…

神经网络整体架构

文章目录 1.输入层Input2.卷积层Conv3.激活函数层(一)Sigmoid 函数(二)Tanh 函数(三)修正线性单元ReLU(四)Leaky ReLU函数(带泄露的Relu)(五)参数化ReLU 4.池化层POOL5.全连接层FC6.输出层Output 用全连接神经网络处理大尺寸图像具有三个明显的缺点&#xff1a; ①将图像展开为…

从加载到对话:使用 Transformers 本地运行量化 LLM 大模型(GPTQ AWQ)

&#xff08;无需显卡&#xff09;使用 Transformers 在本地加载具有 70 亿参数的 LLM 大语言模型&#xff0c;通过这篇文章你将学会用代码创建属于自己的 GPT。 LLM 的加载、微调和应用涉及多个方面&#xff0c;今天我们先聚焦于加载&#xff0c;本文的难点仅在于正确安装和知…

SQL第16课挑战题

1. 美国各州的缩写应始终用大写。更新所有美国地址&#xff0c;包括供应商状态&#xff08;Vendors表中的vend_state)和顾客状态&#xff08;customers表中的cust_state),使它们均为大写。 2. 第15课挑战题1要求将自己添加到customers表中&#xff0c;现在删除自己&#xff0c;…

活动预告丨第二十八期 “CCF 开源高校行”暨“木兰技术开放日”活动走进北京大学...

点击蓝字 关注我们 CCF Opensource Development Committee 开源高校行 北京大学站 在数字化转型的浪潮中&#xff0c;开源软件人才的培养是信息技术创新发展的重要根基&#xff0c;高校学子作为我国开源生态的源头活水备受重视。10月9日下午15:00-17:10 “CCF 开源高校行”暨“…

【VScode】如何使用详细步骤【笔记】、配置 C / C ++【笔记】

2024 - 10 - 10 - 笔记 - 24 作者(Author)&#xff1a;郑龙浩(仟濹) 该笔记写于 2024-07-02 摘抄到博客上的时间是 2024-10-10 VScode配置 C / C 笔记 我是看了下方链接的视频后为了方便后期复习做的笔记: B站某UP主的视频如下&#xff1a; VScode配置C/C开发环境&#xff…

科研绘图系列:R语言绘制SCI文章图2

文章目录 介绍加载R包导入数据图a图b图d系统信息介绍 文章提供了绘制图a,图b和图d的数据和代码 加载R包 library(ggplot2) library(dplyr) library(readxl) library(ggpmisc)导入数据 数据可从以下链接下载(画图所需要的所有数据): 百度网盘下载链接: https://pan.baid…

S14 瑞士轮胜者组 TES 2:0 击败 DK 晋级淘汰赛

电子竞技的赛场上&#xff0c;总有一些瞬间&#xff0c;让所有的质疑和嘲笑变得苍白无力。 今天&#xff0c;滔搏战队用自己的行动&#xff0c;再次证明了这一点。 他们不仅翻越了挡在面前的高山&#xff0c;更让世界听到了他们的故事。 这支曾被低估的队伍&#xff0c;在夏季…

使用Pytorch+Numpy+Matplotlib实现手写字体分类和图像显示

文章目录 1.引用2.内置图片数据集加载3.处理为batch类型4.设置运行设备5.查看数据6.绘图查看数据图片(1)不显示图片标签(2)打印图片标签(3)图片显示标签 7.定义卷积函数8.卷积实例化、损失函数、优化器9.训练和测试损失、正确率(1)训练(2)测试(3)循环(4)损失和正确率曲线(5)输出…

绘图技巧 | 矩形树状图(Treemap)绘图技巧分享~~

今天这篇推文&#xff0c;小编还是像往常一样交给大家绘图技巧&#xff0c;今天的主角就是-*树形矩阵图(Treemap)*。绘制树形图使用R或者Python都是可以绘制的&#xff0c;今天我们还是使用R进行绘制(Python绘制结果为交互式&#xff0c;后面统一介绍相应的库)。在R中有专门的包…

Java项目-----图形验证码登陆实现

原理: 验证码在前端显示,但是是在后端生成, 将生成的验证码存入redis,待登录时,前端提交验证码,与后端生成的验证码比较. 详细解释: 图形验证码的原理(如下图代码).前端发起获取验证码的请求后, 1 后端接收请求,生成一个键key(随机的键) 然后生成一个验证码作为map的valu…

npm运行时出现npm ERR! builtins is not a function报错!

项目场景&#xff1a; 项目运行时什么都没动都没改突然运行不起来了&#xff0c;报错 TypeError: builtins is not a function 代码什么都没动&#xff0c;不是代码问题&#xff0c;排查后只有可能是node和npm的问题&#xff0c;所以卸载掉node重装重启 解决方案&#xff1a; …

Python:赋值的本质其实是引用

相关阅读 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 在Python编程中&#xff0c;我们经常会遇到各种赋值操作&#xff0c;无论是简单的变量赋值&#xff0c;还是复杂的数据结构操作。表面上看&#xff0c;赋值就是把一个值…

数字工厂管理系统如何优化生产流程

在当今快速变化的制造业环境中&#xff0c;提高生产效率、降低成本并确保产品质量是企业持续发展的关键。数字工厂管理系统作为智能制造的重要组成部分&#xff0c;正逐渐成为优化生产流程、推动产业升级的重要工具。本文将探讨数字工厂管理系统如何通过智能化、自动化和数据分…