Java-класс Apache SubnetUtils предлагает помощь для выполнения некоторых из этих задач:
String[] parts = ipv4Cidr.split("/");
if (parts[1].equals("0"))
{
// This accepts all ip addresses. Technically not a subnet.
maskLength = 0;
maskAdress = "0.0.0.0"
}
else
{
maskLength = Integer.parseInt(parts[1]);
cidrInfo = new SubnetUtils(ipv4Cidr).getInfo();
maskAdress = cidrInfo.asInteger(cidrInfo.getNetmask());
networkAddress = cidrInfo.getNetworkAddress()
}