原创 openvswitch常用命令之ovs-ofctl、ovs-appctl

1. 查看ovs的ofport端口號 # ovs-ofctl show ns-vswitch OFPT_FEATURES_REPLY (xid=0x2): dpid:0000820552ee2c4e n_tables:254, n

原创 ip netns的使用及network namespace 簡介

network namespace 是實現網絡虛擬化的重要功能,它能創建多個隔離的網絡空間,它們有獨自的網絡棧信息。不管是虛擬機還是容器,運行的時候彷彿自己就在獨立的網絡中。這篇文章介紹 network namespace 的基本

原创 使用openvswitch網橋連接不同的network namespace

Namespace是Linux提供的一種內核級別環境隔離的方法,在Linux中Namespace實際上有6中,這裏只是單純的說明一下網絡命名空間(Network Namespace)。在實際應用中,Network NameSpac

原创 軟件設計原則及設計模式

一. 軟件六大設計原則(SOLID) Single Responsibility Principle:單一職責原則 Open Closed Principle:開閉原則 Liskov Substitution Principle

原创 python設計模式12-代理模式

1. 代理模式(Proxy)介紹 UML類圖 角色介紹 Subject類,通過接口或抽象類聲明真實角色實現的業務方法。 Proxy類,實現抽象角色,是真實角色的代理,通過真實角色的業務邏輯方法來實現抽象方法,並可以附加自己的操

原创 python設計模式22-模板模式

1. 模板模式(Template)介紹 UML類圖 角色介紹 抽象方法:父類中只聲明但不加以實現,而是定義好規範,然後由它的子類去實現。 模版方法:由抽象類聲明並加以實現。一般來說,模版方法調用抽象方法來完成主要的邏輯功能,並

原创 python設計模式20-狀態模式

1. 狀態模式(State)介紹 UML類圖 應用場景 行爲狀態改變的場景。這點在各種控制器中非常常見,同時,邏輯結構爲狀態轉移圖的場景中都非常適用。 優點 狀態模式的優點是結構清晰,相比於if…else…簡約了不少; 封裝性

原创 python設計模式21-策略模式

1. 策略模式(Strategy)介紹 UML類圖 角色介紹 封裝類:也叫上下文,對策略進行二次封裝,目的是避免高層模塊對策略的直接調用。 抽象策略:通常情況下爲一個接口,當各個實現類中存在着重複的邏輯時,則使用抽象類來封裝這

原创 python設計模式16-迭代器模式

1. 迭代器模式(Iterator)介紹 UML類圖 角色介紹 抽象容器:一般是一個接口,提供一個iterator()方法。 具體容器:就是抽象容器的具體實現類,比如List接口的有序列表實現ArrayList,List接口的

原创 python設計模式17-中介者模式

1. 中介者模式(Mediator)介紹 UML類圖 角色介紹 抽象中介者:定義好同事類對象到中介者對象的接口,用於各個同事類之間的通信。一般包括一個或幾個抽象的事件方法,並由子類去實現。 中介者實現類:從抽象中介者繼承而來,

原创 python設計模式15-解釋器模式

1. 解釋器模式(Interpreter)介紹 UML類圖 角色介紹 Context:上下文環境,包含解釋器之外的全局信息 Client:客戶端,解析表達式,構建語法樹,執行具體的解釋操作等 AbstractExpressio

原创 python設計模式18-備忘錄模式

1. 備忘錄模式(Memento)介紹 UML類圖 角色介紹 發起人:記錄當前時刻的內部狀態,負責定義哪些屬於備份範圍的狀態,負責創建和恢復備忘錄數據。 備忘錄:負責存儲發起人對象的內部狀態,在需要的時候提供發起人需要的內部狀

原创 python設計模式19-觀察者模式

1. 觀察者模式(Observer)介紹 UML類圖 角色介紹 被觀察者:從類圖中可以看到,類中有一個用來存放觀察者對象的Vector容器(之所以使用Vector而不使用List,是因爲多線程操作時,Vector在是安全的,而

原创 python設計模式11-享元模式

1. 享元模式(Flyweight)介紹 UML類圖 角色介紹 Flyweight:抽象享元類。 ConcreteFlyweight:具體享元類,實現了Flyweight。指定內部狀態。 UnsharedConcreteFly

原创 vSwitch報文轉發分析

一、 vSwitch虛擬交換機簡介 虛擬交換機(vSwitch)是負責主機上的虛擬機之間以及虛擬機與外部之間流量交換的重要部件。vSwitch主要用於實現本臺主機上虛擬機的網絡接入,轉發效果與傳統二層交換機類似。 在虛擬化和雲計算環境中,