IPv4地址:连接在Internet的每台主机(或路由器)都被分配了一个32bit的全球唯一的标识符,就是IP地址。
IPv4地址的组成:网络号 + 主机号
IPv4地址的分类:
A类地址:网络地址(1Byte) + 主机地址(3Byte),且网络地址的首位必须是0;则网络地址的取值范围是0~~127,
而0是保留的并且表示所有IP地址(0.0.0.0表示整个TCP/IP网络),而127也是保留的地址(作为环路自检)。因此A类地址的范围其实是从1-126之间。
可用的A类网络有126个,每个网络能容纳1亿多个主机(2的24次方减1的主机数目)。
子网掩码:255.0.0.0.
A类IP范围:首位为0;1.0.0.1~~126.255.255.254;主机号24位(3byte)。
A类私有地址:10.0.0.0~10.255.255.255
B类地址:网络地址(2Byte) + 主机地址(2Byte),且网络地址的前两位是10;则网络地址的取值范围是128~~191,
可用的B类网络有2的14方个,每个网络能容纳6万多个主机 (2的16次方减0和广播地址)。
子网掩码:255.255.0.0
B类IP范围:前两位为10 ;128.0.0.1~~191.255.255.254;主机号16位
B类私有地址:172.16.0.0~172.31.255.255
C类地址:网络地址(3Byte) + 主机地址(1Byte),且网络地址的前三位是110;则网络地址的取值范围是192~~223,
可用的C类网络有2的21次方,可达209万余个,每个网络能容纳254个主机。
子网掩码:255.255.255.0
C类IP范围:前三位为110;192.0.0.1~~223.255.255.254;主机号8位
C类私有地址:192.168.0.0~192.168.255.255
D类地址:此类地址称为多播地址,也叫做组播地址,前四位必须是1110;网络地址的取值范围是224~~239,
D类IP范围:前四位为1110;224.0.0.1~~239.255.255.254
PS:对于所有IPv4的地址,主机号全0表示网络本身,主机号全1表示本网络的广播地址。
地址的转换:为了减少IP地址注册的成本及稀缺的IP地址资源,可以利用地址转换将内部使用的地址转换为外部地址。
IPv4地址的私有地址又称为可重用地址,这种地址专门用于专用互联网及本地互联网。路由器对目的地址是私有地址的报文一律不予转发。如果在路由器上安装了NAT软件的话,NAT路由器会利用NAT转换表将本地地址转换为外部全球地址。
子网划分+子网掩码:
1.三级IP地址
二级IP地址不够灵活:给每个物理网络都分配一个网络号,会使路由器的路由表的规模很大,使得网络性能变坏。
二级地址----->从主机号借若干个位作为子网号------>三级IP地址:网络号+子网号+主机号
PS:子网号可以为全0全1,但是主机号不能为全0全1
三级IP地址的路由过程:
- 从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络net_id,先找到链接本单位网络上的路由器;
- 然后此路由器在收到IP数据报后,在按照网络号net_id和子网号subnet_id找到目的子网。
- 最后将IP数据报交付到目的主机。
2.子网掩码
子网掩码:32bit,由一串1和一串0组成。1对应IP地址中的网络及子网号部分,0对应主机号部分。因此A类地址的子网掩码是255.0.0.0,B类地址的子网掩码是255.255.0.0,C类地址的子网掩码是255.255.255.0.
路由器在相互之间交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉对方,这样才可以计算得到网络地址:网络地址=IP地址&子网掩码。
主机在设置IP地址的同时必须设置自己的子网掩码,同处于一个子网的路由器的子网掩码必须相同,路由表的项目中必须包含:目的网络地址,子网掩码,下一跳地址。
使用子网掩码路由器分组转发的过程:
- 从收到的报文中的首部中提取目的IP地址,记为D
- 先判断是否为直接交付,对路由器直接相连的网络逐个进行检查:用网络的子网掩码和D计算得到网络地址,判断是否和相应的网络地址相匹配,如果匹配,则将分组直接交付;否则就是间接交付,执行3
- 若路由表中有目的地址为D的特定主机路由,则将分组再传给路由表所指明的下一跳路由器;否则,执行4
- 对路由表中的每一行(目的网络地址,子网掩码,下一跳地址)中的子网掩码和D计算得到结果N,如果N与该行的目的网络地址相匹配,则将分组传送给该行指明的下一跳路由器,否则执行5
- 若路由表中有一个默认路由,则将该分组传送给路由表中所指明的默认路由,否则报转发分组出错。
CIDR记法:IP地址/网络前缀所占比特数,其中网络前缀所占比特数对应于网络号的部分,等效于子网掩码中联系1的部分。
CIDR地址消除了传统的A、B、C类地址划分子网的概念,将网络前缀都相同的连续的IP地址组成CIDR地址块,一个CIDR地址块可以包括多个A、B、C类地址,这种地址称为路由聚合。
最长前缀匹配:当在路由表中进行网络前缀匹配时,可能会有多个匹配结果,此时应该选择最长的网络前缀,因为该项的地址块越小(主机号所占位数最少),因而路由就越具体。(查找最常用的方法是线索二叉树)