
1左边工具栏上第一个图标是方框似的东东,将它拖入编辑器中,就表示一个状态(state),双击它就可以在其中写一些命令,格式如下(%后面的是我自加的,方便解释):
name/ %此状态的名称
entry:entry action %刚转换到此状态时执行entry action
during:during action %在此状态之中时执行during action
exit:exit action %退出此状态时执行exit action
on event_namen event_name action %当某事件发生时执行on event_name action
2左边工具栏上第二个图标是一个圆中有个H的东东,它的名字叫做历史节点(History Junction) ,可将他拖入一个状态框中(就是上面说的那个),一旦一个状态框中有这个历史节点,在退出这个状态时会将这个状态的一些信息保存下来,当下次再进入此状态时,此状态的初始状态就会是前面保存过的那些信息。
3左边工具栏上第三个图标是一个一根线指向一个方框的东东,叫默认转换(default transition),把他拖到一个状态的旁边,它就会指向一个状态,表示系统启动后将首先进入这个状态。
4左边工具栏上第四个图标(他的样子太复杂了,不描述了,反正是最后一个,呵呵)代表的东东,叫节点(Junction),它是方便画状态图的,当各个状态之间的转换很复杂时,可以设立中间节点,将一些相同的转换指向它,然后再由它指向各个状态(或另一个中间节点)
5还得介绍一下画转换线(transition),将鼠标放在一个状态的旁边,当它变成+形状的时候,按下左键不动,就会拉出一条线来,当拉到另一个状态旁边时松开左键,这样就画出了一条由一个状态指向另一个状态的转换线,选中这条线,将鼠标停留在上面,鼠标会变成一个I的样子,这时按下鼠标,就可以在上面写语句,例:switch(switch事件使状态转换)或[output>maxtime](当此条件满足时进行状态的转变)。
二再介绍一下stateflow是怎样跟simulink通讯的,在stateflow编辑器中点tool菜单下的explore,在左边支开time,选中chart,我们将在此添加一个事件和两个数据(计数器所需要的)。
1点Add菜单下event,在右边就新产生了一行,将它的名字(name)改成switch,范围(scope)改成input from simulink,触发器形式(Trigger)改成Rising(其实这儿无所谓),此时你看看timemdl,是不是chart模块上方多了一个上升的标志,此时在timemdl添加一个pulse generator(在simulink\sources里面),将他的输出接到chart的上方,就表示每当pulse generator产生的信号上升时,switch事件发生。
2再添加两个data,点Add菜单下data,在右边将他的名字改成output,scope改成output to simulink,此时timemdl中chart就多出来一个输出端口,它就是要给simulink用的,在这里output就是计数器的输出(我们的目标),可以接上一个scope或display看输出结果(simulink/sinks下,怎么添加及连线就介绍了),再点add--data,将他的名字改成maxtime,scope改成constant,表示他是一个常量,将在matlab的workspace里设定,这里的含义就是计数器的最大值,当计数器的输出达到这个最大值时,输出将自动清零,表示重新开始计数。添加完成后,就可关闭explore了。
三有了上述的准备,就可以在stateflow中画状态流图了,还是在stateflow编辑器里,从左边的工具栏上拉出一个状态来(上面介绍过方法了),双击它,在其中写上 reset/ %此状态的名称为reset
entryutput=0; %当进入此状态时,将output赋值为0,表示将计数器输出清零
再拉入一个默认转换(History transition,左边工具栏上第三个),拖到reset状态的旁边,使它指向reset状态,这样就表示reset状态将是系统启动后第一个进入的状态。再拉入一个状态,在其中写上 count/ %此状态的名称为count
entryutput++; %当进入此状态时,output加1,表明计数器记一次数此时再拖入一个节点(Junction,左边工具栏上第四个,其实可以不用,这儿是介绍一下他的用法),然后画两条转换线(transition,上面介绍怎么画了),一条由reset状态指向这个节点,一条由count状态指向这个节点,在这两条线都写上switch,表示一旦switch事件发生,不管当前是哪个状态,都将转换到此节点上来(跟simulink联系来讲,就是当timemdl里的pulse generator的信号上升时,就将产生状态的转变)。然后再画两条转换线,一条由这个节点指向reset状态,在线上写上[output>=maxtime],表示一旦output超过最大值时,将进入到reset状态(将计数器清零),另一条线由这个节点指向count状态,在线上写上[output首先,你先从字面理解,to是“到”,from是“来自”,clinet是“客户端”,server是“服务器”。则分别为“到客户端”、“到服务器”、“来自客户端”、“来自服务器”。然后结合中文解释,就很明白了啊。如果还是一头雾水,你自己画个图,A 和B,然后画箭头。慢慢理解。你要抓住“相应”和“请求”两个次,把主从关系搞好。这个导师可能不会详细讲,还是要靠自己琢磨的。sflow-RT(192168101)--------juniper VMX(VRF ge-0/0/3)--------->清洗器
清洗器回注:juniper VMX(ge-0/0/4)<---------清洗器
juniepr VMX将流量重定向到清洗器:
set interfaces ge-0/0/3 unit 0 family inet address 22277177254/24
set interfaces ge-0/0/4 unit 0 family inet filter group 1
set interfaces ge-0/0/4 unit 0 family inet address 172201254/24
set policy-options policy-statement NO-VALIDATE term 1 from community to-fw-ddos
set policy-options policy-statement NO-VALIDATE term 1 to instance VRF1
set policy-options policy-statement NO-VALIDATE term 1 then accept
set policy-options policy-statement NO-VALIDATE term 2 then accept
set policy-options community to-fw-ddos members redirect:65070:100
set routing-instances VRF1 instance-type vrf
set routing-instances VRF1 interface ge-0/0/30
set routing-instances VRF1 route-distinguisher 22277177254:1234
set routing-instances VRF1 vrf-target target:65070:100
set routing-instances VRF1 routing-options static route 0000/0 next-hop 222771771
set routing-instances VRF1 routing-options static defaults resolve
set routing-options static route 117272300/24 next-hop 20110101
set protocols bgp group CUST-FLOWSPEC neighbor 192168101 family inet flow no-validate NO-VALIDATE
set routing-options flow interface-group 1
set routing-options flow interface-group exclude
启动sflow-RT
/startsh -Dddos_protectrouter=19216810254 -Dddos_protectas=65070 -Dbgpstart=yes -Dbgpport=179 -Dddddos_protectenableipv6=no -Dddos_protectenableflowspec=yes -Dddos_pos_protectenableipv6=no -Dddos_protectenableflowspec=yes -Dddos_protectflowspeccommunity=65070:100 -Dddos_protectflowspecredirectnexthop=222771771 -Dddos_protectflowspecredirectas=65070:100 -Dddos_protectflowspecredirectmethod=as
为便于清洗器回注的数据包能转发到后端Server,需将与清洗器相连的接口disable flow-route
set interfaces ge-0/0/4 unit 0 family inet filter group 1
set routing-options flow interface-group 1
set routing-options flow interface-group exclude
使用hping3发包:
hping3 --flood --udp --rand-source -k 1172723010 -p 5353
验证:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)