有了Openvswitch和Docker,终于可以做《TCP/IP详解》的实验了!
所有做过网络编程的程序员,想必都会看《TCP/IP详解》卷一:协议后来出了第二版,但是由于第一版才是RechardStevens的原版,本人还是多次看了第一版。对这一版印象最深的就是下面这个拓扑图书上的很多实验,都是基于这个图做的,看了实验结果,很多理论才有真实的感觉。看这本书的时候,不尽感慨Rec
玩转Openvswitch之综合篇
这是一个Openvswitch的综合实例。1.创建一个bridgeovs-vsctladd-brhelloworld创建四个vethpairiplinkaddfirst_brtypevethpeernamefirst_ifiplinkaddsecond_brtypevethpeernamesecon
玩转Openvswitch第八站:Interface和Tunnel (下)
IPSec顾名思义,安全隧道,意味着下面三个方面:信息完整性——认证信息的私密性——加密信息不会被Replay所以IPSec有一套协议来保证这三点。IPSec隧道的连接也有两端,两端之间多通过对称加密来保证私密性。所以两端都要建立SecurityAssociation,保存两边约定好的加密协议,对称
玩转Openvswitch第八站:Interface和Tunnel (上)
Openvswitch支持三种隧道的方式:grevxlanipsec_gre我们先来看GRE。GRE全称GenericRoutingEncapsulation,是一种隧道协议,通过将其他协议封装在一个点对点的连接中,实现跨公网的网络互联。如图所示,在左面数据中心的服务器HostA要访问右面数据中心的
玩转Openvswitch第十站:Flow Table
对于FlowTable的管理,由ovs-ofctl来控制add−flowswitchflowmod−flowsswitchflowdel−flowsswitch[flow]一行flowentry主要有下面两部分组成:MatchFieldActions其中MatchField是对网络包进行解析,解析如
玩转Openvwitch第七站:Port和QoS
对于控制一台机器的QoS,分两个方向,一个是入方向,一个是出方向。其实能控制的只有出方向,通过Shaping,将出的流量控制成自己想要的模样。而进入的方向是无法控制的,只能通过Policy将包丢弃。OpenVwitch中有关QoS的表结构如下:我们可以通过TC控制网络的QoS,主要通过队列的方式。第
DC/OS的服务发现与负载均衡功能
方式一:Mesos-DNS和marathon-lb只有有了服务发现和负载均衡功能,才能使得服务的物理布局,服务之间的依赖关系,服务挂掉之后的自动修复不需要用户关心,才能使得用户像用一台电脑一样使用整个数据中心。如果服务之间的相互调用不使用IP地址,而使用域名的话,问题会简单很多。对于Mesos上运行
玩转Openvwitch第六站:Port和Bond
有关Interface,就不得不提BondBond将设备用多个连接在一起,形成一个虚拟的连接,从而实现高可用性以及高吞吐量很多别名:LACPTrunk,Bond,EtherchannelLACP(LinkAggregationControlProtocol)bond_modeactive-backu
玩转Openvwitch第五站:Port和VLAN
Port在数据库中的结构如下:一般来说一个Port就是一个Interface,当然也有一个Port对应多个Interface的情况,成为BondPort的一个重要的方面就是VLANConfiguration,有两种模式:trunkport这个port不配置tag,配置trunks如果trunks为空
DC/OS的存储功能
DC/OS的存储的管理主要分三种方式:本地临时存储(Localephemeralstorage),本地持久化存储(Localpersistentvolumes),外部持久化存储(Externalpersistentvolumes)。第一种是存储方式,任务往往是无状态的,当一个任务在某台机器挂掉的时候
DC/OS的网络功能
DC/OS的网络功能是通过CNI(containernetworkinterface)来实现的。CNI需要三个模块配合工作:模块一:DC/OS不需要外置的IPAM,而是由mesos-master的replicated_log负责管理分配IP地址,Mesos需要启动的时候,载入overlaynetwo
玩转Openvwitch第四站:Bridge和Mirror
Mirror的数据表结构如下:Mirror就是配置一个bridge,将某些包发给指定的mirroredports对于包的选择:select_all,所有的包select_dst_portselect_src_portselect_vlan对于指定的目的:output_port(SPANSwitche
玩转Openvwitch第二站:Bridge和Controller
Bridge表结构如下:我们先看其中的一项,就是ControllerOpenFlow配置项:从架构图中我们可以看出,openvwitch的一个bridge可以通过openflow协议,被一个统一的controller管理的。一旦一个bridge连到一个openflowcontroller,则flow
不谈高考谈经济,为何高分地区考生并未表现出更强能力?
高考结束了,考分出来了,一年一度的地域贴开始各种冒出来,尤其是火的不行的北京高考状元熊轩昂的一番中产阶级之论,更加刺痛了很多人的心,于是来自山东的,河南的高分地区的人开始感慨,北京上海等地区高考如何如何容易,自己那里如何如何难,如果全国统一卷,高分地区考生绝对能够秒杀一线城市考生。然而请大家相信一个
玩转Openvwitch第一站:Manager和SSL
一、ManagerManager的结构如下Manager表配置的是ovsdb-server的。ovsdb-server使用manager_options中的配置来监听端口,等待client来连接。punix:file:监听unixsocketptcp:port[:ip]:监听TCP连接pssl:po
开源使得所有的软件卖成白菜价,但终将普惠世界!
有的人用创意改变世界有的人用代码改变世界有的人用管理改变世界所有改变世界的人都令人尊敬,世界是你们的,世界是我们的,世界总归是开源的,开源的才是大众的。最近参加了LC3开源技术大会,回来感慨良多,写了这篇文章。中间高个子的是GregKroah-Hartman,不知道的自己搜索。一、一切从技术生命周期
DC/OS的容器功能
Mesos运行的任务会通过容器进行隔离,提供的容器有两种,一种是原生的Mesos容器,一种是Docker容器。在原来的Mesos版本中,Mesos容器主要运行普通的Mesos的任务,例如命令行,大数据等,而运行Docker的镜像还是需要通过Docker容器。在Mesos1.0之后引入了Univers
跟随Openvswitch数据库,才能玩遍OVS
Openvswitch功能繁多,使用复杂,从哪里看起呢?根据上一节Openvswitch总体架构与代码结构中提到的一样,Openvswitch是有一个数据库的。数据库表结构如下图所示:如果你想看数据的内容,可以通过cat/etc/openvswitch/conf.db,我们会发现它是json格式的。
号称了解mesos双层调度的你,先来回答下面这五个问题!
一提mesos,很多人知道双层调度,但是大多数理解都在表面,不然试一下下面五个问题。问题一:如果有两个framework,一万个节点,按说应该平均分配给两个framework,怎么个分法?一人一台这样分,还是前五千给一人,后五千给第二个人,还是随机分,随机分怎么个分法?问题二:在没有reserved
Openvswitch总体架构与代码结构
一、Openvswitch的总体架构Openvswitch的架构网上有如下的图表示:每个模块都有不同的功能:ovs-vswitchd为主要模块,实现交换机的守护进程daemon在Openvswitch所在的服务器进行psaux可以看到以下的进程root10080.10.824294831712?S&