首页 > 编程知识 正文

什么是无类域间路由,无类域间路由算法

时间:2023-05-06 19:29:13 阅读:219225 作者:768

分类的IPV4地址(IP地址 ::= {<网络前缀>, <主机号>} / 网络前缀所占位数)

IP地址是由网络地址(网络号)和主机地址(主机号)构成,分为四段,每段8位二进制,每一段最大值是255

例:192.168.1.1/25该ip的网络号是多少,主机号是多少
答:根据子网掩码进行推算:0000 0000, 0000 0000,0000 0000 , 0000 0000
前面25位代表的是网络号,后面32-25=7位代表的是主机号

为什么要划分子网?

假设一个网络中的主机为450台,那么分配一个C类地址不够用,分配一个B类地址又很浪费,所以就要划分子网。

子网的定义:把主机地址中的一部分借用为网络位

为了解决IPv4的不足,提高网络划分的灵活性。常用的技术是VLSM(可变长子网掩码)和CIDR(无类别域间路由)

VLSM用于IPv4子网的划分,也就是把一个大的网络划分多个小的子网;而CIDR则用于IPv4子网的聚合,可以把多个小的子网路由汇总成一个大网络的路由条目。

VLSM和CIDR的区别

CIDR是把几个标准网络合成一个大的网络,而VLSM是把一个标准网络分成几个小型网络;
CIDR是子网掩码往左移,VLSM是子网掩码往右移

VLSM(Variable Length Subnet Mask)

比如这是一个公司的电脑数量,市场部有100台电脑,销售部有70台电脑,一般企业中会希望将不同的部门划分成为不同的网段
如果想用c类地址段分别给三个部门划分不同的网段,我们看到需要用到三个c类地址段,我们知道一个c类地址段里就有254个主机地址,而这里用到了三个c类地址段,就造成了ip地址浪费的情况,为了保证ip地址的高利用率,这时候我们用到了vlsm(可变长子网掩码)

1.最多可划分成的网络的个数,n表示要借的主机位位数,2n>=要划分的子网个数,然后取最小值
根据需求,划分两个子网即可,n=1
2.每个子网下的有效主机IP数,m表示主机位的位数,公式为2m-2,本来主机位为32-24=8,但是主机号借了1位给网络号,所以现在的主机位为32-24-1=7,有效主机IP数=2*8-2=126

所以
市场部:网络号为192.168.1.0/25,子网掩码255.255.255.128,可用IP地址访问192.168.1.1~192.168.1.126
销售部:网络号为192.168.1.128/25,子网掩码255.255.255.128,可用IP地址访问192.168.1.129~192.168.1.254

CIDR(Classless Inter-Domain Routing)

 

看上面这张图,当一台路由器有多个连续子网的时候,它将这些子网通告给其他相邻的路由器时,如果将这些连续子网分别通告,那么对端路由器会收到很多个连续子网的路由条目,我们都知道路由器的转发原理是查表转发,路由表过多就会造成查表速度较慢,这时候我们就用到了CIDR,将多个连续子网汇总成一个汇总路由进行通告。

0000->1111有16种组合法

例题1
10.100.222.100
255.255.248.0
CIDR表示法:10.100.222.100/21(11111111 11111111 11111000 00000000 前21位都是1,说明IP地址的网络ID位为21位)
netmask(十进制子网掩码): 255.255.248.0(前26位是网络ID,后6位是主机ID)
主机数多少个?:2^(32-21)-2=2^11-2=2046
网络ID值是什么?网络ID值就是IP与子网掩码相与,10.100.216.0/21
11011110 00000000 10.100.222.100
11111111 11111111 11111000 00000000 255.255.248.0
11011000 00000000 10.100.216.0

公式
1 主机数=2^主机ID位-2
2 网络数=2^可变的网络ID位
3 网络ID=IP和netmask 相与
4 划分子网数=2^网络ID向主机ID借的位数
5 损失IP=2*(划分子网数-1)

划分子网

划分子网:将一个大网络(主机ID位多)划分多个小的网络(主机ID位少),网络ID向主机ID借位,网络ID变多,主机ID变少
例题1:172.200.249.200/22 划分16子网
1 每个子网络netmask
划分16子网,套公式,16=2^x可以求出x=4,所以网络ID向主机ID借的位数为4,所以网络ID位数应为22+4=26位,所以子网掩码前26位为1,后6位为0
11111111111111111111111111 000000 二进制的子网掩码
255.255.255.192 转换成十进制
所以每个子网络netmask为255.255.255.192
2 每个子网络的主机数
2^(32-26)-2=2^6-2=62
3 最小子网的netid
172.200.1111,0 01 1.1001,0000/22
划分16子网172.200.1111,10 01.11 00,1000/26向主机ID借了4位,所以22~26之间的0111这四位变为网络ID位了。当这四位全为0时且主机ID位全为0时,就为最小子网的网络ID,为172.200.248.0/26
4 最大子网的IP范围
借的四位全为1时,划分的子网最大,所以最大子网IP范围为:172.200.11110 11. 11000001~172.200.11110 11.11111110
化成十进制为172.200.251.193~172.200.251.254

划分超网

划分超网:将多个小网合并一个大网,主机ID向网络ID借位
例子:将以下几个小网合并成大网
220.78.168.0/24 220.78.10101 000.0/24
220.78.169.0/24 220.78.10101 001.0/24
220.78.170.0/24 220.78.10101 010.0/24
220.78.171.0/24 220.78.10101 011.0/24
220.78.172.0/24 220.78.10101 100.0/24
220.78.173.0/24 220.78.10101 101.0/24
220.78.174.0/24 220.78.10101 110.0/24
220.78.175.0/24 220.78.10101 111.0/24
将第三位划分为二进制,我们发现前两位和第三位的前5位是一样的。所以把第三位的后三位借走为主机ID,这时就变成前21位是网络ID,后11位为主机ID,就能把这几个小网合并成一个新网为220.78.10101.000.0/21,包含了原来的网络。当然合并是有前提的,借的位前面的位是相同的,且借的位是连续的(例子中000-111都包括),假如说中间缺了一位220.78.10101.011.0/24,但是合并出的新网也包含他,所以必须借的位是连续的

判断两个主机是否在同一个网络(就看IP地址的网络ID是否一样)

192.168.1.100/16
192.168.2.100/16
前十六位都是192.168,所以在一个网络里

192.168.1.100/24
192.168.2.100/24
看前24位,一个是192.168.1,一个是192.168.2,所以不在一个网络

通过IP求网络号


得到最后一段的网络号为64,所以该IP地址的网络地址为:192.168.11.64/26

区别:https://blog.csdn.net/qq_46396470/article/details/115368537
CODR划分方法:http://www.178linux.com/85889
划分方法:https://www.cnblogs.com/lsgxeva/p/14029825.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。