Пример #1
0
    # Router C
    router_c = network.Router(name='C',
                              intf_count=len(table_C),
                              max_queue_size=router_queue_size,
                              routing_table=table_C)
    object_L.append(router_c)

    # Router D
    router_d = network.Router(name='D',
                              intf_count=len(table_D),
                              max_queue_size=router_queue_size,
                              routing_table=table_D)
    object_L.append(router_d)

    #create a Link Layer to keep track of links between network nodes
    link_layer = link.LinkLayer()
    object_L.append(link_layer)

    #add all the links
    #link parameters: from_node, from_intf_num, to_node, to_intf_num, mtu
    link_layer.add_link(link.Link(client1, 0, router_a, 0, 50))
    link_layer.add_link(link.Link(client2, 0, router_a, 1, 50))

    # Router A links to next object
    link_layer.add_link(link.Link(router_a, 0, router_b, 0, 50))
    link_layer.add_link(link.Link(router_a, 1, router_c, 0, 50))

    # Router B links to next object
    link_layer.add_link(link.Link(router_b, 0, router_d, 0, 30))

    # Router C links to next object
Пример #2
0
    routing_table_b = {3: 0, 4: 0}
    router_b = network_3.Router(routing_table_b, name='B', intf_count=1, max_queue_size=router_queue_size)
    object_L.append(router_b)
    routing_table_c = {3: 0, 4: 0}
    router_c = network_3.Router(routing_table_c, name='C', intf_count=1, max_queue_size=router_queue_size)
    object_L.append(router_c)
    routing_table_d = {3: 0, 4: 1}
    router_d = network_3.Router(routing_table_d, name='D', intf_count=2, max_queue_size=router_queue_size)
    object_L.append(router_d)
    host_3 = network_3.Host(3)
    object_L.append(host_3)
    host_4 = network_3.Host(4)
    object_L.append(host_4)

    # create a Link Layer to keep track of links between network nodes
    link_layer = link_3.LinkLayer()
    object_L.append(link_layer)

    # add all the links
    # link parameters: from_node, from_intf_num, to_node, to_intf_num, mtu
    # out interface of client, in interface of server
    # 50 is the MTU - largest size of packet that can be transferred over links
    link_layer.add_link(link_3.Link(host_1, 0, router_a, 0, 50))
    link_layer.add_link(link_3.Link(host_2, 0, router_a, 1, 50))
    link_layer.add_link(link_3.Link(router_a, 0, router_b, 0, 50))
    link_layer.add_link(link_3.Link(router_a, 1, router_c, 0, 50))
    link_layer.add_link(link_3.Link(router_b, 0, router_d, 0, 50))
    link_layer.add_link(link_3.Link(router_c, 0, router_d, 1, 50))
    link_layer.add_link(link_3.Link(router_d, 0, host_3, 0, 50))
    link_layer.add_link(link_3.Link(router_d, 1, host_4, 0, 50))