|
发表于 2007-9-28 08:21:59
|
显示全部楼层
给个思路:
那些地址(1400+),每条的表示方式是
起始地址~终止地址的表示法(如果是 网络/网络号长度,就计算一下,修改成 起始地址~终止地址),最好把IP换算成整数
对其进行排序,并处理一下,如果上一条的终止地址+1=下一条的起始地址的话,那么合并这两条(新的表示法就是第一条的起始地址~第二条的终止地址)
然后对合成后的地址段进行重新分类:
方法
先对起始地址进行处理,看看以起始地址为网络号的网络最多可能有多少个主机,然后将起始地址+(2^n<=主机数 n=1、2、3、4... )与终止地址进行比较,如果 2^n <= 终止地址 < 2^(n+1),那么就分出一个聚合块 起始地址/(32-n),如果此时 起始地址+2^n -1=终止地址,此地址段处理完毕,否则,生成一个新的段(原起始地址+2^n+1~原终止地址),继续处理 |
|