ip地址

1.IP地址

MAC地址用于同网段通信,当跨网段通信时,需要使用另一种地址:IP地址。和MAC地址不同,IP地址是逻辑地址,正因为是逻辑地址,所以一个网卡上可能有一个或多个IP地址(其中一个为主IP),甚至出故障的时候网卡上不会分配IP地址。

IP地址用于在网络上定位寻址,它是网络层的概念,需要工作在三层的网络设备(比如路由器、三层交换机)来帮忙识别并作出对应操作。所以数据包要到达非本网段内的对方主机,需要经过一次或多次路由,最终才能找到对方主机并将数据交给对方。

IP地址分为IPv4和IPv6,这里只介绍IPv4。

每个IP地址4个字节共三十二位,全都是0和1,每8位是IP地址的一部分,所以每一部分最小是0(二进制位全为0),最大是255(二进制位全为1)。

IP地址通常采用点分十进制的方式记录,即使用点将各部分连接起来,例如,192.168.100.10。它对应的二进制格式为1100 0000 1010 1000 0110 0100 0000 1010。

每个IP地址都分为网络部分和主机部分:

网络 ID:标识网络,每个网段分配一个网络ID,处于高位
主机 ID:标识单个主机,由组织分配给各设备,处于低位

 

2.IP地址分类

Internet委员会定义了5种IP地址类型,分别是A-E类,其中D和E类为特殊地址。

(1).网络地址最高位是0的地址为A类地址;

(2).网络地址最高位是10的地址为B类地址;

(3).网络地址最高位是110的地址为C类地址;

(4).网络地址最高位是1110的地址为D类地址;

(5).网络地址最高位是11110的地址为E类地址。

此外,按照分类标准,A类地址的网络位占用一个字节,B类地址的网络位占用两个字节,C类地址的网络位占用3个字节。如下图:

ip地址

 

 A类地址的网络部分最高位是0,所以IP的第一部分的格式是0xxx xxxx,那么它的范围是:

  0000 0000=0,0111 1111=127

即A类地址第一部分的十进制范围是0到127,所以那么1.2.3.4和100.100.120.120都是A类地址。但注意,A类地址的第一部分范围实际上是1-126,,0和127都不是A类的有效地址,稍后将解释为什么。

B类地址的网络部分最高位是10,所以IP的第一部分的格式是10xx xxxx,那么它的范围是:

  1000 0000=128,1011 1111=191

所以,B类网络地址的第一个字节取值为128-191.

C类地址的网络部分最高位是110,所以IP的第一部分的格式是110x xxxx,那么它的范围是:

  1100 0000=192,1101 1111=223

所以,C类网络地址的第一个字节取值为192-223.

D类地址的第一个字节范围是224-239,D类地址被用于组播地址。

E类地址的第一个字节范围是240-255,用于科学研究。

虽然组播地址不专门讨论,但是每个IT人员都应该记住它的范围是224-239,因为有些服务器需要配置多播,而且有些软件或者病毒木马会发送广播或多播,记住这个范围能够很快地定位是什么问题。

根据第一个字节的范围,将IP地址分类:

  1-126.x.x.x的是A类地址;

  128-191.x.x.x的是B类地址;

  191-223.x.x.x的是C类地址;

  224-239.x.x.x的是D类地址;

  239-255.x.x.x的是E类地址。

根据这个范围,就能很快知道某个地址是哪一类地址。比如172.16.100.3是B类地址,192.168.100.3是C类地址,10.10.10.10是A类地址。

 

3.共有和私有IP地址

私有IP地址:不直接用于互联网,通常在局域网中使用

ip地址

 

 公共IP地址:互联网上设备拥有的唯一地址

ip地址

 

 

4.保留地址和特殊地址

有些IP地址被保留用于特殊目的,这类保留地址不能被分配某个主机或其他设备。

下面列出了一些保留地址以及保留它们的原因。

(1). 整个IP地址全为1即255.255.255.255

  发送给当前网络所有节点的广播,也称1广播或受限广播

(2).整个IP地址全为0即0.0.0.0

  不同场景意义不同:

  在路由表中表示默认路由的目标地址;

  在服务监听时,表示监听本机上任何有效地址;

  在地址冲突时,也会显示0.0.0.0

(3).主机位全为1

  表示当前网络中的所有节点,也是广播

(4).主机位全为0

  表示当前网段

(5).127.0.0.1

  回环地址,表示节点自身,数据只在主机自身流转,不会产生网络流量。可用于测试主机的TCP/IP协议栈是否正常工作

 

5.私有地址

每个公网地址都是独立拥有的,比如152.16..10.111地址只有某个人能使用,所以公网地址的数量是有限的。

为了节省IP地址,避免每台电脑都分配一个公网地址,还提供了私有地址。任何人都能用私有地址,它们只用于局域网内,不能用于公网。比如公司A能用172.16.100.11,公司B也能用172.16.100.11,因为它是私有地址,只要地址不冲突,可以随时使用。

在A类、B类、C类地址中,都保留一些范围的地址作为私有地址。

  A类私有地址:10.0.0.0~10.255.255.255,共1个网段;

  B类私有地址:172.16.0.0~172.16.255.255,共32个网段;

  C类私有地址:192.168.0.0~192.168.255.255,共256个网段;

使用私有地址时,如果需要上网,需要结合NAT(网络地址转换)功能,在流量出去的时候,需要转换公网地址,只有公网地址,才能在网络上路由。

 

6.CIDR

子网掩码必须结合IP地址一起使用,通常会将它们写在一起。例如:192.168.100.23、255.255.255.0.

但也支持另一种更方便的方式,直接将子网掩码为1的位数写在IP地址的后面。例如,255.255.255.0这个子网掩码中有24个位是1,所以,IP地址和子网掩码结合的方式可以写成192.168.100.23/24,172.168.100.23/16等。这种写法称为CIDR。

 

7.子网掩码

子网掩码用来表示IP地址中的那些位是网络位,哪些位是主机位。所以,子网掩码是决定IP地址属于哪个网段的。子网掩码必须结合IP地址一起使用,否则它是是没有意义的。

子网掩码中全位1的部分是网络位,全为0的部分是主机位。0和1必须连续出现,子网掩码的二进制表示中不能出现类似101、10001这种1和0隔开的情况。

根据A、B、C这些IP地址的分类,其实能推断出各类的子网掩码。

每次通信时,首先根据自己的IP地址和子网掩码来判断出自己的网段,再用自己的子网掩码和对方IP地址计算目标所在的网段,如果在同一网段,那么在封装成帧的时候,封装的是目标主机的MAC地址,而如果不在同一个网段,则封装的是本地路由器的MAC地址作为目标MAC地址。

正因为子网掩码用于决定所属网段,所以它非常重要,子网掩码配置错误,一定会出现网络故障。

相关公式:

一个网络的最多的主机数=2^主机ID位数-2
网络(段)数=2^网络ID中可变的位数
网络ID=IP与netmask

判断对方主机是否在同一个网段:

用自已的子网掩码分别和自已的IP及对方的IP相与,比较结果,相同则同一网络,不同则不同网段

范例:
netmask: 255.255.224.0,网络ID位:19 主机ID位:13,主机数=2^13-2=8190
范例:判断A和B是否在网一个网段?
A: 192.168.1.100 netmask:255.255.255.0
B: 192.168.2.100 netmask:255.255.0.0
范例:一个主机:172.16.1.100/28
1、此主机所在的网段最多有多少主机?主机数=2^(32-28)-2=14
2、网络ID? IP和子网掩码相与,172.16.1.96
3、此网段的主机中最小的IP:172.16.1.97,最大的IP?172.16.1.110

 

8.划分子网

划分子网:将一个大的网络(主机数多)划分成多个小的网络(主机数少),主机ID位数变少,网络ID 位数变多,网络ID位向主机ID位借n位,将划分2^n个子网

ip地址

 

 可变长度子网掩码

ip地址

 

 范例:

中国移动10.0.0.0/8 给32个各省公司划分对应的子网
1)每个省公司的子网的netmask?
2^5>=32 借5位网络ID
8+5=13
255.248.0.0
2)每个省公司的子网的主机数有多少?
2^(32-13)-2=524286
3)河南省得到第10个子网,网络ID?
10.00000 000.0.0/13
10.01001 000.0.0/13
10.72.0.0/13
4)河南省得到第10个子网的最小IP和最大的IP?
10.01001 000.0.1
10.01001 111.11111111.11111110
10.72.0.1---10.79.255.254
5)所有子网中最大,最小的子网的netid?
10.00000 000.0.0/13 10.0.0.0/13
10.11111 000.0.0/13 10.248.0.0/13
上一篇:【Linux】LDD学习笔记——操作硬件——IO内存


下一篇:Google Earth Engine——基于改进的RSEI评估生态环境(水体掩膜后)