在TCP/IP体系中,IP地址是一个最基本的概念,前面我们也说过数据链路层的标识是MAC地址,而网络层的标识是IP地址。在整个的因特网中IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位的标示符。IP地址的结构使我们可以在因特网上很方便地进行寻址。IP地址现在是由因特网名字与号码指派公司ICANN进行分配。其版本是IPV4,可用地址为2的32次方个。但是这么多地址在今天这个庞大的因特网上也不够使用了,于是有出现了一种新的地址IPV6地址。
在学习IP地址时,很重要的一点就是弄懂主机的IP地址与硬件地址的区别。我们从TCP/IP层次结构的角度看,物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,也是一种逻辑地址(因为是软件实现的)。
IPV4讲解
IP地址工作在网络层,是保证主机间通信的唯一地址标示符。同时也是一种网络编码,用来确定网络中一个节点。IP地址由32位二进制(32bit)组成。为了便于记忆便转换为了对应的十进制数。如下图:
IPV4地址分类:IP地址分为A、B、C、D、E这五类,每一类都有不同的规划,但是我们常用的仅限于A、B、C这三类。D类和E类都是由特殊作用的。
A类地址:地址范围是1—-126,默认子网掩码为255.0.0.0。全世界只有126个A类地址每个A类网络拥有的主机数就是2的24次方、因为主机位也不能全位0或1,全0代表的是网络ID、全1代表的是广播地址因此A类地址拥有的最大主机数是2的24次方减2就是A类地址的(24代表的是主机位为24为二进制数)
B类地址:地址范围是128—-191,默认子网掩码为255.255.0.0。B类地址拥有的最大主机数是2的16次方减2。
C类地址:地址范围是192—223、默认子网掩码为255.255.255.0。C类地址拥有的最大主机数是2的8次方减2。
D类地址:组播地址
E类地址:用于科学研究
其中127.0.0.1又称为本机回环地址,通常利用在本机上ping此地址来检查TCP/IP协议安装是否正确。
IP地址由两部分组成,分别是网络部分和主机部分;而区别它们的是由IP地址的子网掩码来区分的。如下图:
A类地址:第1个8位组为网络部分,其余3个8位组为主机部分
B类地址:前2个8位组为网络部分,后2个8位组为主机部分
C类地址:前3个8位组为网络部分,最后一个8位组为主机部分
私网地址分类
A类:10.0.0.0——-10.255.255.255适用于大型网络,默认子网掩码为255.0.0.0或/8
B类:172.16.0.0—–172.31.255.255适用于中型网络,默认子网掩码为255.255.0.0或/16
C类:192.168.0.0—–192.168.255.255适用于小型网络,默认子网掩码为255.255.255.0或/24
IP地址是由32个二进制位组成,其对应IP地址的网络部分用1表示,对应IP地址的主机部分用0表示。IP地址和子网掩码作逻辑“与”运算得到网络地址和广播地址。如下图利用IP地址与子网掩码作与运算得出网络地址,其计算规则是“0和任何数相与都等于0”,“1和任何数相与都等于任何数本身”。
所谓的网络地址就是主机位全为0,而广播地址就是主机位全为1。如192.168.1.254/24这个IP,转换为二进制数是:11000000.10101000.00000001.11111110;当主机位全为0时,地址就变成192.168.1.0/24也就是网络地址。当主机位全为1时,地址就变成192.168.1.255/24也就是广播地址。不管是网络地址还是广播地址都是不用当正常IP来使用的,它们都有特殊作用。
子网划分
由于在 ARPANET 的早期,IP 地址的设计确实不够合理。比如:一、IP 地址空间的利用率有时很低。 二、给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。 三、两级的 IP 地址不够灵活。
解决的办法:从两级IP变成三级IP。从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。这种做法叫作划分子网(subnetting) 。划分子网已成为因特网的正式标准协议。
为了创建子网需要将掩码中主机位划分为网络位来使用,被称为借位和租位。经子网划分之后IP地址的子网掩码不再具有标准IP地址的掩码。由此IP地址可分为两类有类地址(标准ABCDE类地址)和无类地址(子网划分之后的IP地址不再具有有类地址的特征)。
子网划分公式
子网数 = 2的n次方其中n为子网部分位数
主机数 = 2的n次方减2其中n为主机部分位数
如:把192.168.1.0/24划分为192.168.1.0/25讲解,通过把/24划分为/25我们可以看出是把主机位向网络位移动了一位(移动的一位就是子网部分)。
然后根据公式:子网数=2的n次方,其中n为子网部分。位数计算出2的1次方等于2。主机范围就是2的7次方减2等于126。也就是当把192.168.1.0/24划分为/25时可以把192.168.1.0这个网段划分为2个网段(这两个网段虽然子网掩码都是一样的但是网络地址不一样所以不能通信),红色字体就是主机位向网络位移动的一位称为子网位。
当子网掩码为/25时,其可用的子网数以及地址范围如下图:
按照子网划分公式,即可以算出所有IP地址划分后的子网数,地址范围和可用地址范围等。如下几张图分别计算了一下/26,/27,……/31。
B类地址和A类地址在做子网划分时,方法是同C类地址划分一样的。不同的是B类和A类地址划分时地址范围会比较大容易搞晕。
最后算一下172.16.10.125/255.255.255.240这个地址的网络地址、广播地址、地址范围以及可用地址。
1. 先换算出子网掩码255.255.255.240的二进制方式11111111.11111111.111111111.11110000等于/28
2. 在利用子网划分公式求子网数,因为是一个B类地址所以使用28-16=12,那么212=4096
3. 在利用子网划分公式求子网主机数,24-2=14。
4. 把IP地址与子网掩码做与运算得到网络地址地址,如:
10101100.00010000.00001010.01111101
11111111.11111111.111111111.11110000
————————————-
10101100.00010000.00001010.01110000
172.16.10.112
5. 算出网络地址等于172.16.10.112后在根据前面求得的子网主机数算出广播地址,如112+14=126,那么算出广播地址等于172.16.10.127。