ip是32位无符号整数, 它的范围为0.0.0.0 - 255.255.255.255 具体来说,一个ip是由网络号+主机号两部分组成,网络号相同,那么就说明在一个网段内,可以用mac数据帧直接通信
给定一个网络号
主机号全为0的ip代表网络地址
主机号全为1的ip代表广播地址
ip地址的表示:
xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
|--net--|---------host------------|
A类地址网络号的开头是0,B类地址网络号的开头是10,C类地址网络号的开头是110
A类地址的表示范围为:0.0.0.0~126.255.255.255,默认网络掩码为:255.0.0.0;A类地址分配给规模特别大的网络使用。A类网络用第一组数字表示网络本身的地址,后面三组数字作为连接于网络上的主机的地址。分配给具有大量主机(直接个人用户)而局域网络个数较少的大型网络。例如IBM公司的网络。
B类地址的表示范围为:128.0.0.0~191.255.255.255,默认网络掩码为:255.255.0.0;B类地址分配给一般的中型网络。B类网络用第一、二组数字表示网络的地址,后面两组数字代表网络上的主机地址。
C类地址的表示范围为:192.0.0.0~223.255.255.255,默认网络掩码为:255.255.255.0;C类地址分配给小型网络,如一般的局域网和校园网,它可连接的主机数量是最少的,采用把所属的用户分为若干的网段进行管理。C类网络用前三组数字表示网络的地址,最后一组数字作为网络上的主机地址。
实际上,还存在着D类地址和E类地址。但这两类地址用途比较特殊,在这里只是简单介绍一下:D类地址称为广播地址,供特殊协议向选定的节点发送信息时用。E类地址保留给将来使用。
netmark的定义非常简单,netmask 也是 32 位,在数值上,位于 Net-ID 的为 1 而 Host-ID 为 0
例如一个常见的C类IP地址
net-id=24位,host-id=8位,拥有2**8-2=254个ip
一个传统的c类网络,比如 192.168.10.0,它的netmark是必然是255.255.255.0 如果在把这个网络分成2个子网络,很简单,设定net-id使用25位,host-id就只有7位了那么这个时候的 netmark= 255.255.255.1 0000000 = 255.255.255.128,这次划分得到的两个子网分别是
129.168.10.0/25
192.168.10.128/25
很显然,/25就是标示 这个ip中net-id 占用的位数(这2个ip的host-id全部为0,所以这两个ip代表的是其所在的子网络)
这种表示方法很好计算子网络的规模,例如
192.168.0.0/27 表示2的5(32-27=5)次方-2(每个网段的第一个和最后一个地址都被特殊用途占用)=62个ip
192.168.0.0/28,表示2的4(32-28=4)次方-2=30个ip
所以 192.168.1.1/24 标示的是一个子网络192.168.1.0(拥有254个ip地址: 从192.168.1.1到192.168.1.254)