- 博客(24)
- 资源 (8)
- 收藏
- 关注
原创 vim配置及插件安装管理
配置文件Vim存在多个配置文件vimrc,比如/etc/vimrc,此文件影响整个系统的Vim。还有~/.vimrc,此文件只影响本用户的Vim。而且~/.vimrc文件中的配置会覆盖/etc/vimrc中的配置。这里我们只修改~/.vimrc文件。如果没有,在用戶主目录下建一个文件.vimrc。插件安装在用戶主目录下的~/.vim目录下,解压后会有~/.vim/plugin 和 ~/.vim/do
2015-05-31 00:56:18 3668
原创 C++为什么使用指针比使用对象本身好
最近开始学习使用C++中的对象。有个问题我一直觉得很困惑:那就是为什么人们更喜欢使用指向对象的指针而不是对象本身。比如: 这样声明:Object *myObject = new Object; 而不是:Object myObject; 使用函数的时候也是如此,假设有个函数为testFunc(),使用时可以这样: myObject.testFunc(); 但一般这样调用: myObject->tes
2015-05-26 17:27:25 1668 1
原创 POX及组件启动分析
Pox.py 里面除了一堆的注释以外,真正有用的只有几句会运行的: boot()函数在/pox/boot.py里,内容如下:把pox和ext两个文件夹的路径加入系统path中 _do_launch去启动各个模块,启动pox _do_import()函数将相关组件模块导入 定义Options和POXoptions两个类,用于定义选项 定义了其他预启动项,如写日
2015-05-24 16:13:14 1358
原创 OVS常用操作
OVS常用操作:1.添加网桥:ovs-vsctl add-br 交换机名 2.删除网桥:ovs-vsctl del-br 交换机名 3.添加端口:ovs-vsctl add-port 交换机名 端口名(网卡名) 4.删除端口:ovs-vsctl del-port 交换机名 端口名(网卡名) 5.连接控制器:ovs-vsctl set-controller 交换机名 tcp:IP地址:端...
2015-05-24 12:15:28 23973 1
原创 openflow pox操作命令
第1章OPENFLOW操作(match)./pox.pyopenflow.of_01 --address=x.x.x.x –port=yy pyImport pox.openflow.libopenflow_01 as ofcore.openflow.connections.keys()core.openflow.connections[key]
2015-05-24 11:24:51 3336
原创 SDN控制器之POX篇
1. 安装POXPOX基于Python2.7的环境运行,官方版本的POX可以运行在Windows、Mac OS、以及Linux操作系统中。POX源码已在github发布,可将POX的源码下载到本地机器进行安装使用。在Linux系统下可以直接使用git 将pox源码下载下来,如:$git clone http://github.com/noxrepo/pox2.配置POX(1)修改监听端口POX的监听
2015-05-22 17:09:13 15957 1
原创 Python入门实例
相关基础Python数据类型:#-*-encoding:utf-8-*-#列表(list):可修改s1=['a','s','d']s1[2]='z'print s1[2]#元组(tuple):不可修改. tuple也是一种lists2=(1,2,3)print s2[2]#集合(set)a=set('asdfghdd')b=set('zxdfvb')print a&bprint a
2015-05-21 16:21:05 1356
原创 XAMPP本地建站教程
下载并安装XAMPP本地环境软件 XAMPP包含是了Apache+MySQL+PHP+PERL软件的集成软件包,可以用它在自己的电脑里模拟一个网站能运行的虚拟主机。所以叫本地环境软件。第一步是下载这个软件;第二步安装软件:安装过程非常简单(本教程以安装在D盘根目录为演示),解压安装包后,双击安装执行文件,一路点“下一步”,直到安装完为止。安装好后双击桌面快捷图标,运行该软件
2015-05-20 11:52:07 2163
原创 C++入门学习实例
C++面向对象: 类,是创建对象的模板,一个类可以创建多个相同的对象;对象,是类的实例,是按照类的规则创建的。 类是抽象的,不占用内存,而对象是具体的,占用存储空间。 用struct声明的结构体类型实际上也就是类。用struct声明的类,如果对其成员不作private或public的声明,系统将其默认为public。而用class定义的类,如果不作private或public声明,系统
2015-05-19 11:44:58 2651 3
原创 计算机算法设计与分析
算法初识:●算法就是一组有穷的 规则 ,它们规定了解决某一特定类型问题的一系列运算 。此外,算法还应具有以下五个重要特性: 确定性 , 有穷性 ,可行性 , 0个或多个输入 , 一个或多个输出。●在进行问题的计算复杂性分析之前,首先必须建立求解问题所用的计算模型。3个基本计算模型是随机存取机RAM(Random Access Machine);随机存取存储程序机RASP(Random
2015-05-18 20:57:12 7528 1
原创 Markdown编辑器使用技巧
1,改变字体颜色,大小等属性:使用HTML标签:<font color="red",size=6>文字段落font>2,怎么加入额外的空行? 3,段落中如何产生缩进?方法一:全方大的空白 或 半方大的空白 或 不断行的空白格 或 方法二:全角空
2015-05-18 20:31:20 605
原创 JAVA入门学习实例
Java面向对象中类与对象的概念和使用 构造方法的主要作用 一是用来实例化该类。二是 让该类实例化的时候执行哪些方法,初始化哪些属性。当一个类声明了构造函数以后,JVM 是不会再给该类分配默认的构造函数。 构造方法是一种特殊的方法,具有以下特点。 (1)构造方法的方法名必须与类名相同。 (2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。 (3)构造方法的主要作用
2015-05-18 19:59:46 1134 1
原创 RTP协议分析
第1章. RTP概述1.1. RTP是什么 RTP全名是Real-time Transport Protocol(实时传输协议)。它是IETF提出的一个标准,对应的RFC文档为RFC3550(RFC1889为其过期版本)。RFC3550不仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即
2015-05-18 10:57:05 833
原创 TCP/IP协议
因特网上使用的通信协议——TCP/IP协议与OSI相比,简化了高层的协议,简化了会话层和表示层,将其融合到了应用层,使得通信的层次减少,提高了通信的效率。 下图示意了TCP/IP 与 ISO OSI 参考模型之间的对应关系。OSI体系结构应用层表示层会话层传输层网络层数据链路层
2015-05-17 20:31:55 1003
原创 JAVA多线程和并发基础面试问答
JAVA多线程和并发基础面试问答 Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程
2015-05-17 19:10:50 567
原创 基于 Open vSwitch 的 OpenFlow 实践
OpenFlow 是用于管理交换机流表的协议,ovs-ofctl 则是 OVS 提供的命令行工具。在没有配置 OpenFlow 控制器的模式下,用户可以使用 ovs-ofctl 命令通过 OpenFlow 协议去连接 OVS,创建、修改或删除 OVS 中的流表项,并对 OVS 的运行状况进行动态监控。查看 OVS 支持的 OpenFlow 协议的版本$ ovs-ofctl --versionovs
2015-05-16 12:56:51 4498 2
原创 floodlight路由机制分析
SDN的出现可以使得各种复杂的路由协议从原本的Device OS中剥离出来,放在SDN Controller中,Controller用一种简单的协议来和所有的Router进行通信,就可以获得网络拓扑,从而计算路由,有更好的可扩展性(scalable,而不会出现Full-Mesh)。Floodlight 中路由的原理利用的是LLDP这个协议,当第一个OF SW连接过来的时候,Controller会构造
2015-05-16 12:46:54 3602
原创 Floodlight各模块处理PacketIn消息的顺序
当Controller和SW建立连接之后,就可以处理来自SW的各种OF msg。当接收到 packetin 消息之后,会将其分发给各个监听了这个OFMessage的listeners,所以如果我们要设计自己的控制器模块,只需要实现相应的接口方法,约定执行顺序即可。接口IListener主要抽象了监听器模块的名字,执行顺序,接口IOFMessageListener则抽象了我们的Controller如何
2015-05-16 12:34:56 2070
原创 Floodlight 启动及下发流表流程分析
在Main中先是加载模块,启动REST服务,而后构建一个实现了IFloodlightProviderService接口的实例(即Controller)并运行,进入Controller的run()方法; 位置:net.floodlightcontroller.core.Main.java ; 功能:初始化IFloodlightModuleContext变量,启动Controller和RESTApi
2015-05-16 12:03:48 3868 2
翻译 Floodlight开发者文档之PKTinHistory
添加模块服务简介 控制器由一个负责监听openflowsocket并派发时间的核心模块,以及一些向核心模块注册用于处理响应事件的二级模块构成。当控制器启动时,可启用debuglog,进而看的这些二级模块的注册过程。 以下创建一个类利用一个buffer来存储近期收到的of消息,并提供rest API进行查询。创建类在Eclipse中添加类:在floodlight项目中找到”src/main/j
2015-05-16 11:45:54 1447
翻译 Floodlight开发者文档之MACTracker
概述 Floodlight内部定义报文格式的代码位于net.floodlightcontroller.packet,其中定义的报文类型有ARP,BPDU,BSN,BSNPROBE,DHCP,Ethernet,ICMP,IPv4,LLC,LLDP,TCP,UDP。其中定义了一个名为IPacket的接口,该接口结构如图: 包内还定义了一个实现了IPacket接口的抽象类BasePacket,Ba
2015-05-16 11:21:24 1983
原创 floodlight+mininet环境测试
一 启动floodlightcd floodlightjava -jar target/floodlight.jar #运行Floodlight在浏览器中输入地址http://localhost:8080/ui/index.html二 启动MininetMininet主要是虚拟OpenFlow交换机以及host节点。并且能构造出自定义的拓扑。虚拟OpenFlow交换机主要是基于OpenvSwitc
2015-05-16 10:43:49 2528
原创 OVS+KVM 虚拟环境测试
一. 基础介绍:ovs当前最新代码包主要包括以下模块和特性: ovs-vswitchd主要模块,实现switch的 daemon,包括一个支持流交换的Linux内核模块; ovsdb-server轻量级数据库服务器,提供ovs-vswitchd获取配置信息; ovs-vsctl查询和更新 ovs-vswitchd的配置; ovs-brcompatd让
2015-05-16 10:09:04 12595 1
原创 Openwrt源码下载和交叉编译
一.下载源码及配置:普通用户模式下: sudo apt-get install git-core //安装git工具 sudo apt-getinstall subversion //安装svn工具 mkdir openWrt cd openWrtsvn下载源码方法如下:trunk开发版: svnco svn://svn.openwrt.org/openwrt/trunk/backfi
2015-05-16 08:39:39 1422
floodlight源码解读
2015-05-27
Floodlight开发者文档(译文)
2015-05-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人