作为连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通。
所以麻子哥这不是《鲁迅打压周树人》吗…