Esempio n. 1
0
def main():

    parser = argparse.ArgumentParser()
    parser.add_argument("--hosts",
                        "-nh",
                        default="1000",
                        help="No. of hosts you want in your network")
    parser.add_argument("--measurePolicies",
                        "-c",
                        default="40",
                        help="enter no. of measurement policies to create")

    args = parser.parse_args()
    print("hosts:", args.hosts)
    print("Number of measurement policies: ", args.measurePolicies)

    file_measurementPolicies = open('MeasurementPolicies.txt', 'w').close()
    file_measurementPolicies = open('MeasurementPolicies.txt', 'w')

    s = Subnet()
    subnetList = s.createSubnets(int(args.hosts))
    m = MeasurementPolicies()
    listPolicies = []
    listPolicies = m.generateMeasurementPolicies(subnetList, set(subnetList),
                                                 int(args.measurePolicies))
    for each_measure_policy in listPolicies:
        assert isinstance(each_measure_policy, Policy)
        string= str(each_measure_policy.getSource()) + str(', '+str(each_measure_policy.getDest())) \
                                             + str(', '+str(each_measure_policy.getAction())+'\n')
        print(string)
        file_measurementPolicies.write(string)  ## writing into file

    print("total no. of measurement policies", len(listPolicies))
def main():

    parser = argparse.ArgumentParser()
    parser.add_argument("--hosts","-nh", default = "1000", help="No. of hosts you want in your network" )
    parser.add_argument("--measurePolicies", "-c", default= "40",
                        help="enter no. of measurement policies to create")

    args = parser.parse_args()
    print("hosts:",args.hosts)
    print("Number of measurement policies: ", args.measurePolicies)

    file_measurementPolicies = open('MeasurementPolicies.txt','w').close()
    file_measurementPolicies = open('MeasurementPolicies.txt','w')

    s = Subnet()
    subnetList = s.createSubnets(int(args.hosts))
    m = MeasurementPolicies()
    listPolicies = []
    listPolicies = m.generateMeasurementPolicies(subnetList,set(subnetList),int(args.measurePolicies))
    for each_measure_policy in listPolicies:
        assert isinstance(each_measure_policy,Policy)
        string= str(each_measure_policy.getSource()) + str(', '+str(each_measure_policy.getDest())) \
                                             + str(', '+str(each_measure_policy.getAction())+'\n')
        print(string)
        file_measurementPolicies.write(string)  ## writing into file

    print("total no. of measurement policies",len(listPolicies))
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--hosts","-nh", default = "1000",
                        help="No. of hosts you want in your network" )
    parser.add_argument("--policyType","-t",default = "light",
                        help = "To create policy light network, argument: 'light' " + '\n' +
                               "To create policy heavy network, argument: 'heavy' ")
    parser.add_argument("--measurePolicies", "-c", default= "40",
                        help="enter no. of measurement policies to create")

    args = parser.parse_args()

    print("hosts:",args.hosts)
    print("policy type:",args.policyType)


    s = Subnet()
    subnetList = s.createSubnets(int(args.hosts))
    print("total no. of subnets created:",len(subnetList))
    totalPolicyUnits = 0
    if args.policyType == "light":
        destinationGraph = [(60,50),(100,100)]
        sourceGraph = [(17,50),(100,100)]
        totalPolicyUnits = 2
    else:
        destinationGraph = [(1,13),(3,37),(5,50),(6,59),(7,65),(8,70),(10,75),
                            (18,80),(19,88),(20,90),(21,94),(54,98),(75,100)]
        sourceGraph = [(1,1),(1,2),(2,4),(2.3,10),(2.4,12),(2.5,15),(2.6,18),
                       (2.7,20),(2.8,23),(2.9,26),(3,29),(3.1,32),(3.7,35),(4.5,38),
                       (5,40),(6,42),(7,44),(8,46),(9,48),(10,50),(11,52),(12,54),
                       (13,56),(14,58),(15,60),(17,63),(19,66),(20,70),(22,73),
                       (24,76),(26,80),(28,82),(29,84),(30,87),(31,90),
                       (33,92),(34,96),(100,100)]
        totalPolicyUnits =40

    destinationInfoObj = DestInfo()
    sourceInfoObj = SourceInfo()
    list_PolicyUnits = destinationInfoObj.traverseDestInfoGraph(destinationGraph,
                                                                totalPolicyUnits,
                                                                subnetList)
    print("total policy units: ",len(list_PolicyUnits))
    fwd_policies = []
    fwdPolicies=sourceInfoObj.traverseSourceInfoGraph(sourceGraph,list_PolicyUnits, subnetList)
    print(len(fwdPolicies),"total no. of end point reachability policies")
    print("set of destinations: ",destinationInfoObj.set_selectedDestIPs)

    print("measurement policy part")
    m = MeasurementPolicies()
    listMeasurePolicies = []
    noMeasurePolicies = int(args.measurePolicies)
    measurePolicies = m.generateMeasurementPolicies(subnetList,
                                                    destinationInfoObj.set_selectedDestIPs,noMeasurePolicies)
    for each_policy in measurePolicies:
        assert isinstance(each_policy,Policy)
        print(each_policy.getSource(),"source",each_policy.getDest(),"destination",each_policy.getAction(),"action")
    print(len(measurePolicies),"finally finished")

    o = Overlap()
    list_match_count = o.getOverlappedPolicies(fwdPolicies,measurePolicies)
    print(list_match_count,"list of match count")
    print(len(list_match_count))
    count = 0
    for each_element in list_match_count:
        count=count+each_element
    print(count,"total count")
Esempio n. 4
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--hosts",
                        "-nh",
                        default="1000",
                        help="No. of hosts you want in your network")
    parser.add_argument(
        "--policyType",
        "-t",
        default="light",
        help="To create policy light network, argument: 'light' " + '\n' +
        "To create policy heavy network, argument: 'heavy' ")
    parser.add_argument("--measurePolicies",
                        "-c",
                        default="40",
                        help="enter no. of measurement policies to create")

    args = parser.parse_args()

    print("hosts:", args.hosts)
    print("policy type:", args.policyType)

    s = Subnet()
    subnetList = s.createSubnets(int(args.hosts))
    print("total no. of subnets created:", len(subnetList))
    totalPolicyUnits = 0
    if args.policyType == "light":
        destinationGraph = [(60, 50), (100, 100)]
        sourceGraph = [(17, 50), (100, 100)]
        totalPolicyUnits = 2
    else:
        destinationGraph = [(1, 13), (3, 37), (5, 50), (6, 59), (7, 65),
                            (8, 70), (10, 75), (18, 80), (19, 88), (20, 90),
                            (21, 94), (54, 98), (75, 100)]
        sourceGraph = [(1, 1), (1, 2), (2, 4), (2.3, 10), (2.4, 12), (2.5, 15),
                       (2.6, 18), (2.7, 20), (2.8, 23), (2.9, 26), (3, 29),
                       (3.1, 32), (3.7, 35), (4.5, 38), (5, 40), (6, 42),
                       (7, 44), (8, 46), (9, 48), (10, 50), (11, 52), (12, 54),
                       (13, 56), (14, 58), (15, 60), (17, 63), (19, 66),
                       (20, 70), (22, 73), (24, 76), (26, 80), (28, 82),
                       (29, 84), (30, 87), (31, 90), (33, 92), (34, 96),
                       (100, 100)]
        totalPolicyUnits = 40

    destinationInfoObj = DestInfo()
    sourceInfoObj = SourceInfo()
    list_PolicyUnits = destinationInfoObj.traverseDestInfoGraph(
        destinationGraph, totalPolicyUnits, subnetList)
    print("total policy units: ", len(list_PolicyUnits))
    fwd_policies = []
    fwdPolicies = sourceInfoObj.traverseSourceInfoGraph(
        sourceGraph, list_PolicyUnits, subnetList)
    print(len(fwdPolicies), "total no. of end point reachability policies")
    print("set of destinations: ", destinationInfoObj.set_selectedDestIPs)

    print("measurement policy part")
    m = MeasurementPolicies()
    listMeasurePolicies = []
    noMeasurePolicies = int(args.measurePolicies)
    measurePolicies = m.generateMeasurementPolicies(
        subnetList, destinationInfoObj.set_selectedDestIPs, noMeasurePolicies)
    for each_policy in measurePolicies:
        assert isinstance(each_policy, Policy)
        print(each_policy.getSource(), "source", each_policy.getDest(),
              "destination", each_policy.getAction(), "action")
    print(len(measurePolicies), "finally finished")

    o = Overlap()
    list_match_count = o.getOverlappedPolicies(fwdPolicies, measurePolicies)
    print(list_match_count, "list of match count")
    print(len(list_match_count))
    count = 0
    for each_element in list_match_count:
        count = count + each_element
    print(count, "total count")