Changes between Version 3 and Version 4 of GENIEducation/SampleAssignments/OpenFlowLoadBalancerAssignment/ExerciseLayout/Execute


Ignore:
Timestamp:
05/31/13 09:57:39 (11 years ago)
Author:
shuang@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIEducation/SampleAssignments/OpenFlowLoadBalancerAssignment/ExerciseLayout/Execute

    v3 v4  
    208208 - '''Simplified Load Balancer: ''' [[BR]]
    209209 The above question requires the user to implement a web server on both left node and right node to report the querying results about token bucket buffer statistics. At the same time, the openflow controller that the experimenter implemented should pull the web page, parse the content to get those statistics, which seems to be too complicated. [[BR]]
    210  An alternative way to accomplish this is, by querying Flow statistics directly from the OpenFlow switch. [[BR]]
    211  Upon the arrival of a new TCP flow, the OpenFlow controller should send out a `FlowStatsRequest` message to the OpenFlow switch. The OpenFlow switch will reply with statistics information about all flows in its flow table. This flow statistics message will be fetched by the `stats_reply` function in Trema. Based on the statistics, experimenters can apply their own policy on which path to choose in different situations. For more information about !FlowStatsRequest and !FlowStatsReply, please refer to http://rubydoc.info/github/trema/trema/master/Trema/FlowStatsRequest and http://rubydoc.info/github/trema/trema/master/Trema/FlowStatsReply. [[BR]]
     210
     211 An alternative way to accomplish this is by querying Flow statistics directly from the OpenFlow switch. [[BR]]
     212 
     213 '''Process: ''' Upon the arrival of a new TCP flow, the OpenFlow controller should send out a `FlowStatsRequest` message to the OpenFlow switch. The OpenFlow switch will reply with statistics information about all flows in its flow table.
     214This flow statistics message will be fetched by the `stats_reply` function in Trema. Based on the statistics, experimenters can apply their own policy on which path to choose in different situations.
     215The !FlowStatsReply message is in the following format:
     216{{{
     217FlowStatsReply.new(
     218  :length => 96,
     219  :table_id => 0,
     220  :match => Match.new
     221  :duration_sec => 10,
     222  :duration_nsec => 106000000,
     223  :priority => 0,
     224  :idle_timeout => 0,
     225  :hard_timeout => 0,
     226  :cookie => 0xabcd,
     227  :packet_count => 1,
     228  :byte_count => 1,
     229  :actions => [ ActionOutput.new ]
     230)
     231}}}
     232 For more information about !FlowStatsRequest and !FlowStatsReply, please refer to http://rubydoc.info/github/trema/trema/master/Trema/FlowStatsRequest and http://rubydoc.info/github/trema/trema/master/Trema/FlowStatsReply. [[BR]]
    212233 The difference between this Load Balancer and the Load Balancer introduced in the previous section is, this Load Balancer only reports the cumulated statistics of each flow over-time while the previous Load Balancer fetches the real-time network traffic information from both paths.
    213234