最近在干嘛

前言

开年来了公司后,就一直很忙,最近的项目需要开发和测试两方人员协作,一直在测业务,解决故障,保证我们产品的稳定性,提供给前方人员。因为产品就快交付局方,很急。这段时间,整个项目组没有进行开发任务,所有的人力都投入的目前的任务中。项目很紧急,而且故障很杂,我却感觉有些百无聊赖。习惯了按任务单做事,即使困难但至少有个目标,不大习惯这种随时待命的工作状态。还好,项目终于告一段落了。

More

Iptables笔记

前言

Linux网络相关的技术有很多,常见的如Iptables,TC(Traffic Control),Linux Bridge等会经常被应用到生产环境中,特别在组网时,部分技术会成为至关重要的解决方案。之前在读书期间,有做过利用Iptables做防火墙,过滤相关IP数据包,以及利用Iptables结合TC进行数据流的Qos保障和流量控制。都快忘了怎么玩,最近在CI环境中,跑Robot测试用例时,需要外网主机访问云平台的虚机,我采取的方法就是利用Iptables做DNAT转换。所以,学习并熟练运用相关Linux网络技术有助于解决一些网络相关的疑难问题。熟悉这些技术的小伙伴也许会觉得很简单,不过好记性不如烂笔头,本文将记录一下本人学习Iptables的笔记。

More

解析Floodlight之Forwarding模块

Floodlight的流表下发模块是Forwarding类。处理Packet-in消息的方法是processPacketInMessage(),该方法根据决策(Decision)或者包的类型决定对Packet-in消息执行动作,对于广播包(BroadCast)或多播包(MutiCast),执行泛洪doFlood()方法,其它类型数据包执行doForwardFlow()方法。

More

解析Floodlight之LinkDiscoveryManager模块

前言

Floodlight作为一款比较成熟的SDN控制器,前期是备受瞩目的,可由于版本更新太慢,且在2014-2015年间又蹿红了新的竞争者如Opendaylight,Onos等控制器,使得Floodlight风光大不如前,不过这主要是企业对Floodlight的态度,而对于更关注SDN架构本身的高校研究者来说,Floodlight相比Opendaylight和Onos更加轻量易读,不需折腾太繁琐的环境和依赖,更有助于对算法的研究。最近几个月,总有小伙伴询问Floodlight的相关问题。说实话,好久没碰了,能记得的内容我会很快解答,有些忘了的还得花时间翻翻代码。去年的毕业论文,我写了对Floodlight 架构的理解。所以我打算将部分内容整理一下(主要是模块的工作流程),写出来以供参考或者备忘。本文即是Floodlight中链路发现模块的解析,如有不正之处,一定提出哈。

More

解析Floodlight之TopologyManager模块

Floodlight的拓扑管理模块主要由TopologyManager 类来实现。TopologyManager监听LinkDiscoverManager的更新信息,一旦有链路更新了,就会实例化拓扑计算模块TopologyInstance,并运行函数compute()重新计算路径,并为转发模块Forwarding提供路径转发服务。模块启动后会间隔500ms运行一次线程UpdateTopologyWorker

More