网络技术
网络技术
zone工作室
zone工作室,致力于前沿技术研究。工作室主要成员来自腾讯、阿里巴巴等国内顶级科技公司。
展开
-
nova架构及数据流转
前言 Openstack作为一个虚拟机管理平台,核心功能自然是虚拟机的生命周期的管理,而负责虚机管理的模块就是Nova。本文就是openstack中Nova模块的分析,所以本文重点是以下三点: 先了解Openstack的整体架构,搞清楚为什么要用这样的架构;然后再了解架构中的各个组件,组件提供的主要功能与各个组件之间的交互;了解虚机的启动转载 2018-01-24 22:28:47 · 995 阅读 · 0 评论 -
Patch构建OVS网桥和OVS网桥相连的网络
将多个主机(物理机或虚拟机)连接到同一个网桥上,实现它们之间的通信,但是要构建复杂的网络,就需要多个网桥,在装有open vswitch的主机上建立两个网桥,实现它们之间的连接,构建结果如下:1. 新建网桥brovs-vsctl add-br br0 //添加一个名为br0的网桥ovs-vsctl add-br br1 //添加一个名为br0的网桥122. 新建虚拟端转载 2018-01-17 11:20:56 · 1141 阅读 · 0 评论 -
onos中的intent
开放网络操作系统(ONOS)SDN操作系统有一个组件或子系统叫Intent Framework。那么,Intent Framework到底能给使用SDN操作系统的服务提供商做什么呢?Will Murrell:作为基于意图(intent)的网络连接的组成部分,它允许应用程序通过基于策略和管理对外广播它们的网络需求。简言之,当应用程序声明说它们需要一些东西时,控制器就能够为它提供所需要的东西。转载 2017-10-13 15:00:05 · 1753 阅读 · 1 评论 -
ubuntu 安装Onos
最近需要学习ONOS,所以就开始安装ONOS,教程比较少,而且安装过程中遇到的问题也各不相同,就写写我安装的过程。https://wiki.onosproject.org/display/ONOS/Installing+and+Running+ONOS上面是ONOS官网的安装教程,一般按照这个安装一步步下来是没有问题。(整个过程无需root权限)在用户根目录创建两个文件夹 Appl...翻译 2017-10-13 11:08:51 · 6145 阅读 · 5 评论 -
client到openflow协议栈
接上一弹继续讲。在上一弹最后讲到在SwitchConnectionProvider的startup()方法中创建了一个Tcp server,这个Server的实例为TcpHandler,public class TcpHandler implements ServerFacade TcpHandler实现了ServerFacade接口,而ServerFacade接口又继承自如下接口转载 2017-07-06 20:35:33 · 429 阅读 · 0 评论 -
openflowjava的hello消息
基于ODL开发已经有一段时间了,对于一个全新的平台,总是喜欢每隔一段时间就总结一番,本篇算是第一篇吧。下面会介绍以下内容:1.openflow服务注册2.netty服务创建3.序列化、反序列化工作原理4.从hello到of-session一、前提Openflowjava是基于netty进行的开发,在阅读Openflowjava的源码的时候需要简单了解一下netty原理。转载 2017-07-06 20:25:33 · 1753 阅读 · 0 评论 -
lisp
LISP名址分离网络协议。LISP在近几年也指一种名址分离网络协议,即 Location-ID Separation Protocol。在Internet的不断发展和壮大的同时,也呈现出了更多的弊端以及面临着诸多方面的挑战,包括全局路由表的持续不断的增长、缺乏对multi-homing和业务量工程以及移动性和安全性很好的支持等多方面的因素。为了彻底地解决上述问题,众多研转载 2017-06-28 17:08:45 · 971 阅读 · 0 评论 -
有人可以解释一下YANG,NETCONF,RESTCONF,XML之间的关系吗?
作者:facetothefate链接:https://www.zhihu.com/question/40822826/answer/139443624来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。嗯简单说一下吧做要解释这些要从netconf说起。netconf是什么?netconf是一种协议用于给网络设备发送配置。什么意思呢,比如我有一台路由转载 2017-06-28 16:31:21 · 8685 阅读 · 2 评论 -
opendaylight各模块编译
1、说明按照《基于OpenDaylight的二次开发一步一个脚印(一)GIT源代码》说明,我们可以将controller、openflowjava、openflowplugin三个项目的代码clone到本地。然而clone出来的本地分支是远程master分支的代码,而我们一般使用远程stable分支,因为这个分支相对比较稳定,方便我们学习。我们在hydrogen版本基础上进行二次开发,因此我们转载 2017-06-21 13:40:54 · 1434 阅读 · 0 评论 -
yang模型和openflow南北向接口
陈明明:北京邮电大学研三在读;研究方向:软件定义光网络控制平面与南向接口研究;实习经历:(1)中国信息通信研究院(前工信部电信研究院)OpenDaylight开发,完成OpenFlow v1.3协议光网络扩展、南向接口设计以及光路由功能,完成搭建实体OpenFlow交换机与OpenDaylight实验环境;(2)思科(中国):OpenDaylight开发,扩展BGP协议labeled-unicas转载 2017-06-21 13:30:30 · 5312 阅读 · 0 评论 -
opendaylight源码开发的时候模块加载
最近因为工作需要,SDN项目研发要转向开源软件opendaylight。因此成功搭建opendaylight环境,是研究它的关键步骤之一。笨鸟先飞早入林,自己在家里捣鼓一下一、准备环境linux (centos 6.7 )maven-3.3java1.7+二、源代码下载controlleropenflowpluginopenflowjava以转载 2017-06-20 18:24:15 · 816 阅读 · 0 评论 -
netconf vs openflow
OpenFlow,长期以来一直是软件定义网络的管理和控制协议,目前正面临着来自其它协议的挑战。可替代OpenFlow的协议包括NETCONF、BGP、OVSDB、XMPP以及MPLS-TP。然而,虽然这些协议都可以用于管理网络操作的各个方面,但它们并不提供和OpenFlow完全相同的功能和特性。NETCONF协议NETCONF协议,由RFC 6241定义,用以替代命令行界面(comma转载 2017-06-20 16:49:22 · 6211 阅读 · 0 评论 -
配opendaylight的坑
需先行下载的软件:JVM 1.7 或者更高的版本, 例如:OpenJDK 1.7Git, 用于从Git repository提取ODL(OpenDaylight)控制器Maven安装相关软件,并使用Git提取代码:$ sudo apt-get update$ sudo apt-get install maven git openjdk-7-jre openjdk-7-jd转载 2017-06-20 15:22:04 · 1973 阅读 · 0 评论 -
opendaylight源码分析
1、OSGi依赖、接口相关的基本知识《OSGI中的service依赖关系管理》http://www.blogjava.net/aoxj/archive/2010/05/25/321844.html《Apache Felix OSGi Tutorial》http://felix.apache.org/site/apache-felix-osgi-tutorial.htmlhttp转载 2017-06-20 14:51:29 · 3102 阅读 · 0 评论 -
odl安装的一些坑
安装功能组件opendaylight-user@root>feature:list -i opendaylight-user@root>feature:install odl-restconf opendaylight-user@root>feature:install odl-l2switch-switch-ui opendaylight-user@ro转载 2017-06-05 10:18:40 · 7256 阅读 · 3 评论 -
floodlight多线程
模块该部分承接上文,添加三个模块,来实现网络带宽使用、丢包率、链路时延等的测量。当然,读者也可以把他们三个木块合并,只是那样的话,每一个service就不单一了。一、说在前面一般来讲,我们在Floodlight中添加自定义的模块,最基础的需要实现以下两个步骤:自定义一个interface,里面写上自定义的方法,当然,需要extends IFloodlightServcice.自定义转载 2017-03-14 22:46:51 · 1114 阅读 · 3 评论 -
floodligth rest开发
根据release note来看,主要最大的更新在于添加了对于of1.3的支持。虽然我尚未验证(后续会验证)floodlight对of1.3的支持程度,但是release note中的这句话:“ and work with OpenFlow 1.3 features such as groups and meters.”。我猜测大概是能够识别组表和计量表,但是不作处理。OTZ……还有就是以往一些小转载 2017-03-14 14:40:47 · 575 阅读 · 0 评论 -
docker部署spark集群
//来自http://blog.csdn.net/qq1010885678/article/details/46353101#comments的良心文章,希望大家受益!由于自己的电脑配置普普通通,在VM虚拟机中搭建的集群规模也就是6个节点左右,再多就会卡的不行 碰巧接触了Docker这种轻量级的容器虚拟化技术,理论上在普通PC机上搭建的集群规模可以达到很高(具体能有多少个也没有实际测试转载 2016-09-29 20:58:58 · 886 阅读 · 0 评论 -
docker
//转自:http://www.open-open.com/lib/view/open1423703640748.htmlDocker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平台 Docker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与 Docker 守护进程进转载 2016-09-29 17:36:49 · 442 阅读 · 0 评论 -
git代理设置
git config --global http.proxy http://proxy.com:1234git config --global https.proxy http://proxy.com:1234git config --global http.sslverify false转载 2017-06-20 15:09:01 · 299 阅读 · 0 评论 -
snort2.9源码预处理流转到detect模块分析(着重http模块)
snort/templates下sp_template.h和sp_template.c是开发预处理插件使用的模板spp_template.h和spp_template.c是开发预处理器使用的模板。具体怎么在源码下面加载自己想要的插件,可以看http://wenku.baidu.com/link?url=QgklgCAaHYbeR5skIRa6PJSGMb6LZP1AlyRDIK原创 2016-10-16 20:23:26 · 1876 阅读 · 0 评论 -
dpdk多队列机制
多队列网卡是一种技术,最初是用来解决网络IO QoS (quality of service)问题的,后来随着网络IO的带宽的不断提升,单核CPU不能完全处满足网卡的需求,通过多队列网卡驱动的支持,将各个队列通过中断绑定到不同的核上,以满足网卡的需求。常见的有Intel的82575、82576,Boardcom的57711等,下面以公司的服务器使用较多的Intel 82575网卡为例,分析一下多队...转载 2018-04-08 00:23:45 · 3868 阅读 · 1 评论 -
叠加网络
什么是叠加网络1.一个数据包(或帧)封装在另一个数据包内;被封装的包转发到隧道端点后再被拆装。2.叠加网络就是使用这种所谓“包内之包”的技术安全地将一个网络隐藏在另一个 网络中,然后将网络区段进行迁移。一、VLAN介绍VLAN,是英文Virtual Local Area Network的缩写,中文名为"虚拟局域网", VLAN是 一种将局域网(LAN)设备从转载 2018-01-14 20:18:30 · 5205 阅读 · 0 评论 -
处理tcp粘包问题
tcp是字节流,无边界,udp是消息,是有边界的。。就是udp返回的就是一个消息。。所以tcp会产生粘包问题。。如何解决粘包问题,。。所以我们要在应用层维护消息与消息的边界。。比如说定长包,包尾加\r\n(ftp),包头加包体长度,更复杂的应用层协议。。readn接受确切数据的读操作cli:#include #include #include #include #i原创 2016-10-19 17:43:53 · 488 阅读 · 0 评论 -
linux的sort基本使用
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[rocrocket@rocrocket programming]$ cat seq.txtbananaapplep转载 2016-10-17 03:36:08 · 475 阅读 · 0 评论 -
linux shell的iconv
linux shell 配置文件中默认的字符集编码为UTF-8 。UTF-8是unicode的一种表达方式,gb2312是和unicode都是字符的编码方式,所以说gb2312跟utf-8的概念应该不是一个层次上的。在LINUX上进行编码转换时,可以利用iconv命令实现,这是针对文件的,即将指定文件从一种编码转换为另一种编码。 查了下iconv命令用法如下:iconv [选项转载 2016-10-17 01:01:09 · 1212 阅读 · 0 评论 -
the gdb of the process of httpinspect to detect in snort2.9
(gdb) rThe program being debugged has been started already.Start it from the beginning? (y or n) yStarting program: /usr/bin/snort -c /etc/snort/snort.conf -r /home/zengxiaosen/Desktop/tracesGo原创 2016-10-16 22:32:42 · 2001 阅读 · 0 评论 -
snort2.9预处理模块中文手册剪切
Snort Portscan预处理程序的用处:向标准记录设备中记录从一个源IP地址来的端口扫描的开始和结束。如果指定了一个记录文件,在记录扫描类型的同时也记录目的IP地址和端口。端口扫描定义为在时间T(秒)之内向超过P个端口进行TCP连接尝试,或者在时间T(秒)之内向超过P个端口发送UDP数据包。端口扫描可以是对任一IP地址的多个端口,也可以是对多个IP地址的同一端口进行。现在这个版本可以处理转载 2016-10-16 19:50:51 · 678 阅读 · 0 评论 -
ftp开发机命令使用
ftp命令: 服务器有安装ftp Server,另外一台linux可以使用ftp的client程序来进行文件的拷贝读取和下载。 1. 连接ftp服务器 格式:ftp [hostname| ip-address] a)在linux命令行下输入:ftp 192.168.26.66 b)服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可。 2.转载 2016-10-11 17:58:27 · 306 阅读 · 0 评论 -
linux下shell的$带的-操作,比如ne等
$# 表示提供到shell脚本或者函数的参数总数;$1 表示第一个参数。 -ne 表示 不等于另外:整数比较-eq 等于,如:if ["$a" -eq "$b" ]-ne 不等于,如:if ["$a" -ne "$b" ]-gt 大于,如:if ["$a" -gt "$b" ]-ge 大于等于,如:if ["$a" -ge "$b" ]-lt转载 2016-10-21 19:40:17 · 1673 阅读 · 0 评论 -
linux shell 的 $
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出转载 2016-10-21 19:27:14 · 317 阅读 · 0 评论 -
实现readline,gethostname,gethostbyname
recv可以通过flag选项指定行为。。例如msg_peek可以接受缓冲区数据,但不从缓冲区中清除。。这就是他跟read函数的区别,read函数把数据从缓冲区中读走,缓冲区的数据就被清除。。readline也可以解决粘包问题,比如说ftp就是这样的,\r\nvim中===老忘1.删除当前行后面所有的行:,$d2.删除第一行到当前行:1,.d======rea原创 2016-10-19 18:33:53 · 354 阅读 · 0 评论 -
eclipse for c++ 快捷键
我需要在Linux下开发C++项目,没有VS,用Vim开发是不错,但项目大了,效率就跟不上IDE了,所以选了Eclipse+CDT插件。当然,Vimers觉得我说的不对的请勿喷哈,我也是水手一个。Eclipse是个很不错的集成开发环境,安装CDT插件后即可开发C/C++项目。我的默认安装了CDT,没有装的网上一搜一大堆。这里不再赘述,直入主题吧。内容概要:&&&&&&&转载 2016-10-19 20:04:32 · 1468 阅读 · 0 评论 -
浮动ip
主要谈一谈关于浮动IP的东西,介绍下浮动IP是什么1、为什么要有浮动IP这个东西 现在有一个场景,在一台Linux上部署一个web应用,应用跑在tomcat里面,linux网卡上的ip是115.239.100.120大致就是如下的部署关系: 用户通过输入IP地址就能访问这个应用了,但是天有不测风云,有时候因为一些原因,服务会挂掉。于是开发人员就想了转载 2018-01-14 19:53:42 · 2924 阅读 · 0 评论 -
docker的2网络模式
我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式:· host模式,使用--net=host指定。· container模式,使用--net=container:NAME_or_ID指定。· none模式,使用--net=none指定。· bridge模式,使用--net=bridge指定,转载 2017-12-26 21:49:14 · 303 阅读 · 0 评论 -
iptables
iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。 iptables基础 规则(rules)其实就是网络管理员预定义的条件转载 2017-09-02 22:57:10 · 362 阅读 · 0 评论 -
网络基础
推荐书籍:《TCP/IP详解》相关读书笔记专栏:《TCP/IP详解》读书笔记1. TCP vs UDPTCP 是一种面向连接的、可靠的、字节流服务, UDP 无连接、不可靠的数据报服务。1. 连接方面: TCP 面向连接,交换数据之前必须通过三次握手先建立一个 TCP 连接。在一个 TCP 中仅有两方彼此通信,多播和广播不能用 TCP。 UDP 是不可靠的传输,传输转载 2017-06-28 12:00:28 · 309 阅读 · 0 评论 -
git基础
一:起因(0):最先听说的版本管理系统是svn,那是大学本科期间接触的了,当时也没有多想 —— 一个带我们的学长,告诉我们如何如何操作;(1):研究生就开始接触Git,当时也是仅仅了解几个常用的命令,仅仅能够使用简单的日常所需要的命令;也没有深入的系统的了解,现在终于停下匆忙的脚步,思考一番,打算在这里做一个简单的小结(2):分布式版本管理神器--GIT —— 最初由Lin转载 2017-02-11 00:27:35 · 307 阅读 · 0 评论 -
linux的gdb总结
Linux 静态链接库和动态连接库一:起因(1)也许我们非常熟悉Windows下的VC6.0 和 CodeBlocks的调试工具 —— 界面化的调试,但是你是否想过你的每一个按键或者快捷键的背后指令是什么,让我们一起走进Linux的gcc动态调试工具GDB(2)程序调试无非就是:debug(gcc -g -o target source);设置断点(b n);观察变转载 2017-02-11 00:13:55 · 393 阅读 · 0 评论 -
linux下makefile的妙用
一:起因(0)首先我们假设读者已经熟悉了Linux 下的vim的常用操作(如,u 撤消 或 :undo CTRL-R 重做 或 :redo);(1)Linux下面的make命令,应用与makefile文件,当我们需要对一个C / C++ 或者Java等一个工程里面的所有源文件进行编译时,每一次编译,都不想重复操作以前的命令,更不想把未更改过的源文件再次进行不必要的编译操转载 2017-02-11 00:06:34 · 393 阅读 · 0 评论