tabla subredes subnetting subneteo redes paso ejemplo calculo calcular calculadora c# .net ip-address subnet cidr

c# - subnetting - ¿Hay un tipo.NET nativo para subredes CIDR?



subneteo de redes pdf (2)

Es bastante simple codificar una clase para almacenar / validar algo como 192.168.0.0/16 , pero tenía curiosidad si ya existía un tipo nativo para esto en .NET. Me imagino que funcionaría mucho como IPAddress :

CIDR subnet = CIDR.Parse("192.168.0.0/16");

Básicamente, solo necesita asegurarse de que está trabajando con una dirección IPv4 o IPv6 y luego que la cantidad de bits que especifique es válida para ese tipo.


No, hay tal tipo de nativo en .NET, necesitarás desarrollar uno tú mismo.


Puede usar el código de CodePlex para hacer justamente eso:

http://ipnetwork.codeplex.com/

IPNetwork ipnetwork = IPNetwork.Parse("192.168.168.100/24"); Console.WriteLine("Network : {0}", ipnetwork.Network); Console.WriteLine("Netmask : {0}", ipnetwork.Netmask); Console.WriteLine("Broadcast : {0}", ipnetwork.Broadcast); Console.WriteLine("FirstUsable : {0}", ipnetwork.FirstUsable); Console.WriteLine("LastUsable : {0}", ipnetwork.LastUsable); Console.WriteLine("Usable : {0}", ipnetwork.Usable); Console.WriteLine("Cidr : {0}", ipnetwork.Cidr);

Salida

Network : 192.168.168.0 Netmask : 255.255.255.0 Broadcast : 192.168.168.255 FirstUsable : 192.168.168.1 LastUsable : 192.168.168.254 Usable : 254 Cidr : 24