SQL常用命令
连接:mysql -u user -p passwd;
创建库:CREATE DATABASE 数据库名;
删除库:DROP DATABASE 数据库名;
使用库:USE 数据库名;
Linux网络相关的技术有很多,常见的如Iptables,TC(Traffic Control),Linux Bridge等会经常被应用到生产环境中,特别在组网时,部分技术会成为至关重要的解决方案。之前在读书期间,有做过利用Iptables做防火墙,过滤相关IP数据包,以及利用Iptables结合TC进行数据流的Qos保障和流量控制。都快忘了怎么玩,最近在CI环境中,跑Robot测试用例时,需要外网主机访问云平台的虚机,我采取的方法就是利用Iptables做DNAT转换。所以,学习并熟练运用相关Linux网络技术有助于解决一些网络相关的疑难问题。熟悉这些技术的小伙伴也许会觉得很简单,不过好记性不如烂笔头,本文将记录一下本人学习Iptables的笔记。
Floodlight的流表下发模块是Forwarding类。处理Packet-in消息的方法是processPacketInMessage(),该方法根据决策(Decision)或者包的类型决定对Packet-in消息执行动作,对于广播包(BroadCast)或多播包(MutiCast),执行泛洪doFlood()方法,其它类型数据包执行doForwardFlow()方法。
Floodlight作为一款比较成熟的SDN控制器,前期是备受瞩目的,可由于版本更新太慢,且在2014-2015年间又蹿红了新的竞争者如Opendaylight,Onos等控制器,使得Floodlight风光大不如前,不过这主要是企业对Floodlight的态度,而对于更关注SDN架构本身的高校研究者来说,Floodlight相比Opendaylight和Onos更加轻量易读,不需折腾太繁琐的环境和依赖,更有助于对算法的研究。最近几个月,总有小伙伴询问Floodlight的相关问题。说实话,好久没碰了,能记得的内容我会很快解答,有些忘了的还得花时间翻翻代码。去年的毕业论文,我写了对Floodlight 架构的理解。所以我打算将部分内容整理一下(主要是模块的工作流程),写出来以供参考或者备忘。本文即是Floodlight中链路发现模块的解析,如有不正之处,一定提出哈。
Floodlight的拓扑计算模块是TopologyInstance类,该类主要是生成拓扑信息以及计算两节点间路径,与TopologyManager在系统中是同属一个代码目录。主要分析拓扑计算模块类中的方法compute()
:
Floodlight的拓扑管理模块主要由TopologyManager 类来实现。TopologyManager监听LinkDiscoverManager的更新信息,一旦有链路更新了,就会实例化拓扑计算模块TopologyInstance,并运行函数compute()
重新计算路径,并为转发模块Forwarding提供路径转发服务。模块启动后会间隔500ms运行一次线程UpdateTopologyWorker
: