ip地址的划分:

ip的范围是0.0.0.0~255.255.255.255,它的由来是32位的二进制。为了方便记忆将他们拆分为四组(以.分割),每组由8位二进制组成

a类 1.0.0.1 ~ 126.255.255.254

0<a类<127 128个大网段

b类 128.0.0.1~192.255.255.254

128<=b类<192 64个大网段

c类 192.0.0.1 ~ 223.255.255.254 32个大网段

d类 组播,vrrp协议,keepalive高可用224~239

e类 科研240…~255….

(00000000)bit全1下为(255)dec(2^8=255),于是最大就只能取到255.255.255.255

照这样推算,总的ip地址量约有43e个,而全球人口有80e之多。且不提不够人手一个ip地址,现如今一个人也不止一台设备需要上网,那么怎么解决这个问题呢?

为了缓解ipv4地址耗尽,诸多的技术应运而生

NAT

NAT全程为Network Address Translation,意为网络地址转换,当内网用户访问公文时,如果网关设备(路由器)部署了NAT,设备会将接收到的IP数据报文中的IP地址转换为一个唯一的ip转发给公网。因此设备可以用一个公网地址来转换多个内网用户发过来的数据包报文,从而达到地址复用的目的

在如今,最小的局域网都能支持上千万台设备进行访问。现如今家庭使用的宽带也是一个链接了无数个用户的大型局域网

内网ip网段:

a 10.0.0.0~10.255.255.255

b 176.16.0.0~172.31.255.255

c 192.168.0.0~192.168.255.255

除了内网网段以外,都属于公网。

一般路由器仅分配c类网段使用,最大65536,这就够用了

iPV6:

就算使用了NAT技术,ipv4地址也总有耗尽的一天。如上文所述,ipv4的长度是32位,那么用更多的位数不就好了?这就是IPV6了

IPV6有着128位的长度,它号称能给予全球的每一颗沙子一个ip地址

fe80::2c4:3412:e85c:a787%3

在16进制下,它的表示范围比ipv4多的多,但作为1996年诞生的标准,直至今日也未能完全普及。从网上摘过来的:

第一:不好管控

v6时代每台设备都能有独立ip,这也就意味着向公网提供服务的门槛大幅度降低了,也就是说,违法犯罪的成本被降低了。

第二:难以控制

IPV6还有一大特点就是全面使用IPSec,数据传输经过加密,安全性大增。但这种情况下会让DNS污染这类手段失效,海量的IP又封不过来。如果这个技术问题解决,IPv6的推广会快很多,而不仅仅只局限于教育网等本身就容易控制的网络。

第三:大部分路由器依然不支持ipv6

目前淘宝tplink等低端路由器厂家在售的很多路由器依然不支持v6,有很多家庭用的是营业厅送的光猫和路由器,也不支持v6。是的你没听错,运营商的宽带支持v6但是他给的光猫不支持v6。开启v6支持需要宽带,光猫,路由器和终端这四者同时支持才行,缺一不可。这一点在目前应该是最大的阻力

第四:总宽带很低

目前v6处于刚发展阶段,之前广东的v6只能省内访问,出口宽带简直跟没有一样,现在好很多了。

不过我觉得靠谱的说法还是当时陈旧的设备舍不得丢,大家都没着急上ipv6,暂时用nat缓缓,后面再说

扯了这么多概念,对于单纯的软件开发从业人员来说什么帮助呢,就算不是为了应试,光记住ip段,也大有作用的地方。试想有一天服务蹦了,一看监控,大部分攻击都是从内网网段打出,那么可以很快推断出内部某台服务器可能被渗透当肉鸡了(或者有内鬼?hh)

子网掩码的作用:

子网掩码的作用是决定一个网段的大小,须知只有在同一个网段内才能互相进行通讯

image.png

有的时候也会表示成 192.168.19.11/24,它表示成二进制

(11000000 10101000 00010011 00001011)bit

它可以表示为:

11111111 11111111 11111111 00000000

其中前面的24个1为网络位,后面0部分为主机位。

(11111111 11111111 11111111 00000000)bit = 255.255.255.0 = 24

只要网络位相同,我们称之为同一个网段。根据ip地址加子网掩码,即可以推算出该网段的范围

如上图的 192.168.1.108/24,该网段的可用ip范围

(192.168.1.0 ~ 192.168.1.255)

注意是开区间,左右端点一般保留作为网络号和广播地址

实际可用的范围是192.168.1.1 ~ 192.168.1.254

前者称为起始ip,后者为结束ip

使用CPT来做同网段通讯实验

image.png

pc0为:

192.168.100.126/25

pc1为:

192.168.100.129/25

20230809182023image.png
使用PC0pingPC1,结果是
20230809182214image.png
为什么ping不通呢,看着是一个网段啊。计算一下两个ip所属的网段

看一下pc0的所在网段

11000000 10101000 01100100 01111110

子网掩码: 1…1 1…1 1…1 10000000

那么pc0的网段ip为 (192.168.100.0,192.168.100.127)

跟pc1明显不在同一个网段,肯定是ping不通了

将两个设备的子网掩码都改为24,就没问题了
20230809183155image.png
不同网段之间的通讯需要借助路由器进行转发