Changes between Version 13 and Version 14 of Internal/AtherosDriverLimits
- Timestamp:
- Sep 14, 2006, 5:37:14 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Internal/AtherosDriverLimits
v13 v14 12 12 == Test Topologies == 13 13 14 15 Experiments were setup to model a simple scenario as a starting point. The sample topology that was setup is indicated in the diagram. Here the single physical device on the 802.11 card was configured to act as multiple virtual access points. Nodes defined as stations were connected to the corresponding virtual access point on the same physical device by explicitly using an essid to connect to the access point. Iperf was used to make sure that all the individual links in such a scenario were working. Explicit ip address allocation with sub-netting was done to make sure that the underlying gigabit back bone was not used and the defined wireless interfaces were exercised by Iperf. This topology is shown in the figure attached at the bottom of the page. 14 === Multiple Virtual Access Points, Single Physical Device === 15 The sample topology to be setup is indicated in the diagram below. Here a single physical 802.11 NIC is being configured to act as multiple virtual access points. Nodes configured to act as stations connect to the corresponding virtual access point by explicitly choosing the appropriate ESSID. We used Iperf as our traffic generator to test the individual links. The two 802.11 networks are also seperated using explicit IP address allocation. 16 16 17 [[Image(Virtual_access_points.gif)]] 17 18 18 19 == Sample Tutorial == 19 20 20 21 The user request the creation of two networks on a given set of nodes. Each network will have an access point and a station. The access point and the station are bound by the same essid's and would exist in the same subnet. In the underlying architecture the user chooses the same physical interface on a node to act as a different access point on two seperate networks. The script shows that the user may be oblivious to the fact that he/she is requesting the same node to be acting as different AP's, thereby simulating the requests of two different users for two independent networks with the involvement of a common node (the virtual AP) without each others knowledge. The sample ruby script is as given below:21 === Scenario === 22 The user requests the creation of two 802.11 infrastructure-mode networks on a given set of nodes. Each network will have an access point and one station. The access point and the station are bound by the same essid's and belong to the same IP network. In the underlying architecture the user chooses the same physical interface on a node to act as a different access point on two seperate networks. The script shows that the user may be oblivious to the fact that he/she is requesting the same node to be acting as different AP's, thereby simulating the requests of two different users for two independent networks with the involvement of a common node (the virtual AP) without each others knowledge. The sample ruby script is as given below: 22 23 {{{ 23 24 # … … 25 26 # 26 27 27 # Physical Station for net01.28 defNodes('sender ', [9,4]) {|node|28 # Station on net01. 29 defNodes('sender1', [9,4]) {|node| 29 30 node.prototype("test:proto:sender", { 30 31 'destinationHost' => '192.168.10.4', … … 34 35 }) 35 36 node.net.w0.mode = "managed" 36 node.net.w0 { |w| 37 w.type = 'b' 38 w.essid = "net01" 39 w.ip = "%192.168.%x.%y" 40 } 37 node.net.w0.type = 'b' 38 node.net.w0.essid = "net01" 39 node.net.w0.ip = "192.168.10.5" 41 40 } 42 41 43 # Ap assigned for net 01. 44 defNodes('receiver', [10,4]) {|node| 42 43 # AP on net01. 44 defNodes('receiver1', [10,4]) {|node| 45 45 node.prototype("test:proto:receiver" , { 46 46 'protocol' => 'udp' 47 47 }) 48 48 node.net.w0.mode = "master" 49 node.net.w0 { |w| 50 w.type = 'b' 51 w.essid = "net01" 52 w.ip = "%192.168.%x.%y" 53 } 49 node.net.w0.type = 'b' 50 node.net.w0.essid = "net01" 51 node.net.w0.ip = "%192.168.%x.%y" 54 52 } 55 53 56 # Define another station under the essid net2.57 defNodes('sender ', [11,4]) {|node|54 # Station on net02. 55 defNodes('sender2', [11,4]) {|node| 58 56 node.prototype("test:proto:sender", { 59 'destinationHost' => '192.168.1 0.4',57 'destinationHost' => '192.168.11.4', 60 58 'packetSize' => 1024, 61 59 'rate' => 300, … … 63 61 }) 64 62 node.net.w0.mode = "managed" 65 node.net.w0 { |w| 66 w.type = 'b' 67 w.essid = "net02" 68 w.ip = "%192.168.%x.%y" 69 } 63 node.net.w0.type = 'b' 64 node.net.w0.essid = "net02" 65 node.net.w0.ip = "192.168.11.5" 70 66 } 71 67 72 68 # Connect to the same physical but different virtual AP. 73 defNodes('receiver ', [10,4]) {|node|69 defNodes('receiver2', [10,4]) {|node| 74 70 node.prototype("test:proto:receiver" , { 75 71 'protocol' => 'udp' 76 72 }) 77 node.net.w0.mode = "master" 78 79 node.net.w0 { |w| 80 w.type = 'b' 81 w.essid = "net02" 82 w.ip = "%192.168.%x.%y" 83 } 73 node.net.w1.mode = "master" 74 node.net.w1.type = 'b' 75 node.net.w1.essid = "net02" 76 node.net.w1.ip = "192.168.11.4" 84 77 } 85 78