MISTERY

Software Defined Networking PDF Library

Editor’s Note:  Opinions and views expressed about software defined networking contained in the SDN document library are those of the document publishers and do not represent the views of SDNCentral. Documents come from publicly accessible sources including:  authors, publishers and web crawlers or submissions to SDNCentral.  SDNCentral is not responsible for factual accuracy in any listed documents.

Network Functions Virtualization and Software Defined Networking PDF and PPTs

Analyst Reports

Publicly available Network virtualization, Software-defined networking, SDN, and OpenFlow analyst reports library

Corporate Presentations

Network virtualization, Software-defined networking, SDN, and OpenFlow corporate presentation library

HotSDN 2013 WhitePapers

ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN)

Network Functions Virtualization

Network Functions Virtualization offers a new way to design, deploy and manage networking services.

Success Stories

Network virtualization, Software-defined networking, SDN, and OpenFlow success stories library

 

 

 

 

 

 

 

출처 : https://www.sdxcentral.com/resources/sdn-nfv-pdf-library/sdn-document-library/

 

 

 

 

 

 

 

 

 

신고

Comment +0

프로토타이핑(Prototyping), POC (Proof Of Concept), Pilot, BMT(Bench Marking Test) 개념

POC는 프로젝트 도입 전 검증, Piolet은 대규모 프로젝트 전 시험하기 위한 소규모 프로젝트이며 목표는 본 프로젝트에 대한 피드백, BMT는 입찰평가를 위한 테스트 라고 정리할 수 있겠다.


1. 프로토타이핑(Prototyping) 

개발대상물 전체 또는 일부분에 대해 실제로 동작하는 모델을 조기(대규모 프로젝트 초기)에 구성하는 것으로 개발대상물의 규모를 축소하고 기능을 제한해 시제품을 만들어 보는 방법이다.

이 방법의 목적은 개발될 시스템의 동작과 특성을 사전에 명확히 파악함으로써 개발자와 사용자간의 의사소통을 향상시키며, 또한 개발 자체의 효율성을 높이는 데 있다.

2. 개념증명 POC (Proof Of Concept)

기존에 시장에서 사용되지 않던 신기술을 프로젝트에 도입하기 전에 검증하기 위한 목적으로 사용.
사업과 관계가 약간은 동떨어진 기술 검토를 위한 프로젝트 고객사에서 하고 업무는 아주 간단한 것을 수반. 신기술 여부는 중요치 않음

3. Pilot

이미 검증된 기술을 가지고, 대규모 프로젝트 진행에 앞서 소규모로 진행해보는 시험 프로젝트를 말함.
본사업(프로젝트) 진행을 위한 수행안 검증 프로젝트로 가령 기술셋을 확정했으면 그 기술셋으로 실제 업무에 적용해보고 문제점이나 개선안을 마련해서 본 프로젝트에 피드백 주는 것
(계획, 기술문제, 관리요소, 위험요소, 비용 이런 것을 피드백하는 용도, 당초 기대한 효과에 비해 결과가 너무 미미하거나 비용이 많이 들면 취소)

4. BMT(Bench Marking Test)

말그대로 성능테스트입니다.
예를 들면 00발주처에서 테라바이트 라우터를 도입한다고 할때, 입찰에 응한 업체들의 제품에 대해서 성능비교를 하는 겁니다.
필요에 의해 이것 저것 골라다가 테스트해보고 비교하는 것. 장비 뿐만이 아니라 소프트웨어(솔루션)도 포함되구요.
(대부분은 수평적으로 기술셋 비교에 대한 내용이 많지만 업무적 특성을 포괄하는 솔루션인가? 이러한 요건이면 업무도 물론 수반)

 




R&R(Role and Responsibility) : 역활책임 

가끔 사회 초년생들이나 조직사회를 못하셧던 분들의 R&R에 대해 햇갈려하며 이론적으로 이해를 못하시는분들이 있다.

그분들의 위해 정확히 역활분담에 대해서 정확히 알아보도록 하겠습니다.

 

 

 

제일 중요한 순서대로 정리를 해보겠습니다.

먼저 그 프로젝트의 대장인 PM 부터 시작하겠습니다.

 

* PM(Project Manager)

모든 관리 업무를 책임지며 사람으로 외부 팀과 인터페이스를 및 커뮤니케이션 담당하고 의견을 조율합니다.

또한 내부팀의 외부의 폭풍으로 부터 막아주는 쉴드 역할도 합니다!

 

보통 PM은 다음과 같은 R&R을 가집니다.

- 프로젝트 성공에 대한 책임

- 프로젝트 팀 구성에 대한 권리와 책임

- 프로젝트의 업무 정의

- 리스크 관리 및 외주 관리

- 다른 팀과의 또는 프로젝트 팀간의 의사소통

 

 

* PL(Project Leader)

PL의 경우에는 프로젝트 마다 생길수가 있을수도 있고 없을수도 있습니다.

프로젝트가 큰경우에는 워낙에 사람이 많기때문에 PM이 모든 사람들을 다 관리하기 힘들기 떄문에 각각의 파트별로 별도의 새로운 장을 형성합니다

 

PL의 R&R은 PM의 작은 역활이라고 생각하며은 쉽게생각하게 됩니다.

- 각 본인의 파트에 대한 설계와 무결정에 대한 책임

- 구현단계 이끌기

- 각 본인의 파트에 대한 의사소통

- 각 본인 파트에 검토 및 보고서 작성

- 다른파트간의 협업

 

문서 작성 능력이 흔히 간과되곤 하는데, 이 역시 프로젝트 리더의 가장 중요한 능력 중 하나이다.

 

 

* PE(Project Engineer)

프로젝트 엔지니어 말그대로 입니다. 그 프로젝트의 실무자입니다.

 

- 상세 설계에 대한 책임

- 구현 일정 산정에 대한 책임

- 프로젝트가 주어진 요건에 맞게 동작 및 완료가 되게 만들어야 하는 책임

- 회사의 표준을 따를 책임

- 프로젝트에 결함이 없도록 해야할 책임

 

 

그 밖에 QA(Quality Assurance) 빌드/릴지르 담당자, 기술 문서 작성자등이 있습니다.

 

어느정도 이론성도 많이 들어 가지만 내용을 읽어 보면은 프로젝트를 하게되었을때의

조직도가 어떻게 흘러가는지는 금방 감을 잡을수 있을듯합니다^^







출처 : http://comshin.tistory.com/14










  

신고

Comment +0

Starting with Fedora 16 the openvswitch user space tools and the required kernel modules were included in the Fedora distribution. I spent some time on these packages and here an introduction and some information on how to use these components.

 

1. Introduction

Openvswitch is an alternative to the bridge module which has been part of the kernel, since the 2.4 series. The openvswitch has quite a few enhancements compared to the standard bridge module. These are described in detail atopenvswitch.org. One of these enhancements is the support for the OpenFlow protocol.



Conceptually,a switch’s functions can be broken down into two pieces: Control plane, data plane. The control plane is the core intelligence of the switch which handles discovery, routing, path computation, communication with other switches etc.The control plane creates a forwarding/flow table which the data plane uses toprocess the incoming packets at line speed. OpenFlow is a protocol which lets you offload the control plane of all the switches to a central controller and lets a central software define the behavior of the network (also called Software Defined Networks).

This setup is in contrast to the current infrastructures with proprietary switchesusing proprietary tools/protocols for management. OpenFlow being an openstandard allows switches from different vendors to be managed in a standard waywithout tying the infrastructure down with any proprietary tools.

 

2. Installation in Fedora

In Fedora, the implementation of the openvswitch is broken down to two pieces, the openvswitch kernel module (Data Plane) and some user space tools (ControlPlane). Since the incoming data Packets have to be processed as fast as possible, the data plane of the openvswitch was pushed to kernel space.

In order to use the openvswitch for networking VMs, the openvswitch service should be started and the command line tools have to be used to properly configure the openvswitch (will refer as vswitch here on) based bridge. The vswitch in Fedora can work in two modes: standalone, OpenFlow modes.

 

This article will primarily concentrate on how to bring up a VM connected to
openvswitch’s bridge in both Standalone & OpenFlow modes. The Virtual
Machine will be attached to a TAP device, which will be connected to the openvswitch’s bridge and traffic will be forwarded to the physical network via the physical NIC attached to the bridge.

 

 Before you go any further, install the openvswitch and tunctl packages with:

 
# yum install openvswitch tunctl

 

 

3. Bridging

3.1 Standalone mode

As the name suggests, in this mode the vswitch’s bridge handles all theswitching/forwarding functionality by itself. To bring up the vswitch’s bridge
start the openvswitch service with

 

# service openvswitch start

 

Use the standard tunctl command for creating a tap device:

 # tunctl –t tap0 –u root

 

Use the following commands to stop the NetworkManager service, bring down the em1 interface and flush all the ip addresses (if any) on the em1 interface (em1 being the NIC which will be used by the VMs to access the physical network)

 

 

 # service NetworkManager stop   

 # ip add flush em1

 # ifconfig down em1

 

Run the following commands to create a vswitch-based bridge by the name ovs-switch :

# ovs-vsctl add-br ovs-switch  ##(create bridge with name ovs-switch)

# ovs-vsctl add-port ovs-switch tap0 ##(add the tap interface to bridge)

# ovs-vsctl add-port ovs-switch em1 ##(add the em1 interface to the bridge)

# ifconfig tap0 promisc up ##(bring up the interface in promiscuous mode) 

# ifconfig em1  promisc up

 

 

These commands create a new bridge and add a tap device and local network port (em1) to the bridge. Setting these ports in promiscuous mode will let the trafficfrom the VM to be forwarded to host’s physical network and vice versa. Set an IP address on the ovs-switch interface with DHCP as follows:

  # dhclient ovs-switch

 

Now you can start your Virtual Machine with a command similar to the following:

# /usr/bin/qemu-kvm  -smp 2,cores=2 -net tap,ifname=tap0,script=no -net nic,model=rtl8139,macaddr=52:54:00:45:67:30 -m 2048M  ~/multiqueue/fedora.img

 

 

The virt-manager doesn’t yet support openvswitch. So there are currently no options available to start a VM using vswitch from virt-manager.

 

3.2 OpenFlow Mode

 

For running openvswitch in OpenFlow mode most of the commands from the abovesection have to be used. So, the commands are copied below to be comprehensive:

  

# yum install openvswitch

# service openvswitch start

# service NetworkManager stop

# ovs-vsctl add-br of-switch

# ovs-vsctl add-port of-switch tap0

# ovs-vsctl add-port of-switch em1

# ifconfig tap0 promisc up

# ifconfig em1 promisc up

 

NOTE: the bridge setup in OpenFlow mode will be referred to as of-switch here on.

 

4. POX Controller

Before you go any further, an OpenFlow controller should be up and running. The moment the bridge comes up it needs to talk to an OpenFlow Controller to make any forwarding decisions. Quite a few controllers available in the form of both software and hardware. The POX controller (software) will be used in this article. Download the sources of POX from https://github.com/noxrepo/pox with the following command:

 

 # git clone https://github.com/noxrepo/pox

 

After downloading the sources the controller can be run as follows:

# ./pox.py forwarding.l2_learning

The above command will start POX with OpenFlow enabled and uses a plugin
forwarding.l2_learning on top. This plugin checks the incoming packets and
automatically creates a learning table for the bridge. Based on your
infrastructure requirements you can customize the available plugins or create
new ones. You can start the POX controller without any plugins (as ./pox.py), butthe controller will not know what to do with an incoming traffic. The user will have to manually setup the flows in the bridge in this scenario.

 

The above command will make pox listen on all network interfaces. If pox has tolisten on a particular interface and a particular port, you can start pox with

#./pox.py  OpenFlow.of_01  --address=192.168.4.197 --port=6666  forwarding.l2_learning

 

The openvswitch doesn’t support the hybrid openflow mode, where some of the traffic is processed by the built-in switch logic of openvswitch and some of the traffic is processed with the help of an OpenFlow Controller. The openvswitch has a failure mode of operation though. If the switch loses its connection with theController, it can fall back to using its built-in logic. This fall back behavior can be configured with the following commands:

 # ovs-vsctl set-fail-mode ovs-switch standalone

The above command will make the bridge fallback to the standalone mode if theconnection to the controller fails at some point.

 #ovs-vsctl set-fail-mode ovs-switch secure

After setting the fallback mode to secure, if the connection to the OF controllerfails, the switch will not be able to forward any packets at all.

 

 

4.1 Remote Controller

Consider the scenario where the OF controller is running on a remote host and thevswitch’s bridge (of-switch) is brought up in secure mode. If dhclient in run on the of-switch the switch has no idea how to forward the DHCP traffic as it cannot talk to a remote Controller without an IP address. So you either need to set the of-switch interface’s fall back mode to standalone mode OR assign a
static ip and setup up a static route so that the bridge can access the remote
controller. Once the bridge establishes a connection to the remote controller,
the traffic will be forwarded by the bridge based on the plugins setup in the
OF controller.

 

 Now that the bridge and the OF controller are running, the controller information can be assigned to the bridge with the following command:

  # ovs-vsctl set-controller of-switch tcp:0.0.0.0:6633

 

NOTE: with the above command, the bridge is connecting to an OF controller on the localhost which is listening on port 6633

 

5. Related Commands

Since the bridge and the controller are setup, you can power on the VM now (as shown in the above qemu command) and get the traffic directed by the OF controller. Whenever a new packet comes in and the bridge has no information on how to forward it, the bridge will send the packets header (with L2, L3 and some L4 information) to the controller. The controller will respond with an OF command telling the bridge how to forward traffic similar to that packet. The flows thusly assigned to the bridge can be listed with the following command:

 # ovs-ofctl dump-flows of-switch

 

 An example of one such response from the controller is shown below. A flow entry primarily contains a set of field=value entries and action entry. The field=value entries are used to identify the incoming packet and the actions tells the bridge with what to do with the matching traffic.

 

cookie=0x0, duration=14.604s, table=0, n_packets=61, n_bytes=7418, idle_timeout=10, hard_timeout=30,tcp, vlan_tci=0x0000, dl_src=78:2b:cb:4b:db:c5, dl_dst=00:21:9b:8e:36:62, nw_src=192.168.7.189, nw_dst=192.168.1.150, nw_tos=0, tp_src=22, tp_dst=60221
actions=output:1

 

The above flow should be self-explanatory. If the traffic comes in from src macaddress 78:2b:cb:4b:db:c5, destination mac address 00:21:9b:8e:36:62, traffic istcp traffic, src ip=192.168.7.189, dest ip=192.168.1.150, TCP source port 22, tcp destination port 60221 forward the packet to port 1 (actions:1).

 

The ports configured in the bridge can be seen with the following command

# ovs-ofctl show ovs

OFPT_FEATURES_REPLY (xid=0x1): ver:0x1,
dpid:0000782bcb4bdbc5

n_tables:255, n_buffers:256

features: capabilities:0xc7, actions:0xfff

 1(em1): addr:78:2b:cb:4b:db:c5

     config:     0

     state:      0

     current:    1GB-FD COPPER AUTO_NEG

     advertised:
10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD COPPER AUTO_NEG AUTO_PAUSE

    
supported:  10MB-HD 10MB-FD
100MB-HD 100MB-FD 1GB-HD 1GB-FD COPPER AUTO_NEG

 2(tap0): addr:a6:30:4d:0f:40:49

     config:     0

     state:      LINK_DOWN

     current:    10MB-FD COPPER

 LOCAL(ovs): addr:78:2b:cb:4b:db:c5

     config:     0

     state:      0

OFPT_GET_CONFIG_REPLY (xid=0x3): frags=normal
miss_send_len=0

 

According to the above mentioned flow, the traffic has to be forwarded port 1 which is the em1 interface of the host.

 

 

If necessary some custom flows can be assigned to the bridge manually, followingare some examples of the same:

# ovs-ofctl add-flow of-switch
"in_port=LOCAL,table=0,idle_timeout=60,ip,hard_timeout=60,vlan_tci=0x0000, dl_src=78:2b:cb:4b:db:c5,dl_dst=00:09:8a:02:80:c0, nw_proto=1,nw_dst=192.168.1.100, n w_src=192.168.7.189,actions=drop"

The above rule makes the bridge drop all ICMP traffic (nw_proto=1) from192.168.7.189 to 192.168.1.100.

 

As shown in the above add-flow example, the values idle_timeout and hard_timeout are defined for all the flows. These values tell the bridge how long this rule has to be used by the bridge. The idle_timeout causes the related flow to be deleted after a defined number of seconds of inactivity. The hard_timeout willdelete the flow after the defined number of seconds regardless of the activity. If a static rule has to be setup on the bridge, the idle_timeout and hard_timeout have to be set to  0(zero).

 

 

This concludes my investigation for now.  Hopefully this article will help more users start playing with the OpenFlow technology.

 

Disclaimer:
Above article is for informational purposes only. The content is from my
interpretation of the technologies/terminologies mentioned. This information is provided as is and may contain some typographical errors and/or technical inaccuracies.

 

 

 

 

 

출처 : http://en.community.dell.com/techcenter/networking/w/wiki/3820.openvswitch-openflow-lets-get-started.aspx

 

 

 

 

 

 

신고

Comment +0

  2012Banollimsoft_stybd_mobile.pptx

 

오랜만에 웹기획자료를 올려드리는거 같습니다.

 

요즘 블로그에 유용한 팁위주로 포스팅을 햇었는데 이번에 회사에서 모바일웹 프로젝트가

 

수주되었는데 스토리보드를 짜는중에 기본 뼈대는 같이 공유를 하는것이 좋을꺼 같네요^^

 

 

첫 화면은 프로젝트명 및 해당 문서를 작업한 최신날짜를 기재합니다.

Ex : Project Name -> 사군자한의원

 

 

2번째 화면은 버젼별로 구분을 하는것입니다. 최초버전은 1.0이 되겠으며 고객의 요구사항이 반영된다던지 기능상의 변화가 있을 시 초기 1.0ver에서 바뀌는 부분이 있다면 버전업을 해줌과 동시에 날짜 및 작성자를 변경하여 추후에 바뀌는 부분에 대해서는 알기 싶도록 하기 위한 용도입니다.

 

 

이것은 각 스토리보드 화면을 그리기전 여기 이 화면은 어디 메뉴의 화면이라다고 스토리보드를 보는사람에게 알기 싶게 하기 위함으로 표시를 하는것입니다. 모바일웹 같은경우에는 개발부분에 있어서는 그렇게 복잡하기 들어가지는 않고 대략적으로 디자인 5~7페이지 및 (온라인 폼메일/게시판) 등으로 이루어지게 됩니다.

 

 

이 화면은 이제 각 페이지별로 들어갈 내용이나 레이아웃등을 아이폰 중앙에 있는 흰색 BG에 파워포인트를 활용하여 컨텐츠 내용 및 각 레이아웃을 그립니다.

 

모바일웹 스토리보드는 홈페이지 스토리보드보다는 왠지 모르게 엄청 간소한 느낌이 있네요 ㅎㅎㅎ

원본파일은 첨부하여 올려드리도록 하겠습니다.^^

 

 

 

 

 

 

 

 

 

출처 : http://blog.naver.com/chojh1178/90139794402

 

 

 

 

 

 

 

 

 

신고

Comment +0

  기능정의서 1.0.xls

 

기능정의서(메뉴구조도) 

 

이번 포스팅에서 소개 드릴 부분은 초기 기획시 클라이언트와 꼭!!!<-- 협의를 해야 하는 기능정의서 입니다. 기능정의서란 간단히 말해 영업단계에서 협의되였던 메뉴들을 정리하여 각 메뉴들마다의 기능을 문서로 정리 한 것을 뜻합니다.(디자인페이지로 분류가 되거나 개발페이지로 분류되는 부분들은 어떠한 이슈사항들이 있는것인지 관해서 말이죠.)

 

기능정의서 역시 스토리보드와 마찬가지로 문서이력관리가 중요합니다. 변동사항이 잇을 시에는 버전업으로 분류를 하는것이 추후에 관리하기 용이합니다.

기능정의서는 홈페이지(웹사이트)의 특성에 따라서 메뉴의 레벨과 관리자연동 여부,로그인 여부,유료페이지 여부 등 여러 가지 항목이 추가 될 수 있습니다.

 

 

캡쳐를 해서 올리니 화면이 잘 보이지 않네요.. 첨부파일에 파일 첨부해드리는 다운 받으셔서 보시면 더 보기 쉬우실 듯 합니다. 

 

기능정의서 1depth 메뉴 오렌지색으로 된 부분들은 해당 사이트맵의 1depth 메뉴를 표기를 한후

하단 카테고리에 따라 2depth 3depth를 입력하여 줍니다. 카테고리별로 메뉴들이 정리가되면

일반적인 디자인페이지인지  프로그램이 들어가는 페이지인지 게시판의 권한이라던지 기본적인 사항들을 정확하게 구분을 지어 놓습니다. (개발이 들어간 페이지는 파랑색으로 색상을 바꾸시면 추후에 디자인페이지와 개발페이지 구분이 확실히 됩니다.)

 이렇게 메뉴구성 및 각 페이지 별 용도로 기재가 완료가 되면 상단의 프로젝트명,작성자,최초작성일,버전관리 등을 기재하고 하단의 개발언어,호스팅,기존홈페이지 주소 등을 기재하여 클라이언트에게

컨펌요청을 합니다.

 

기능정의서는 기획초기 당시에 클라이언트와의 프로젝트 작업양에 대한 일종의 확인절차입니다.

엑셀 문서에 각 개발에 관한 내용은 상세히 적을 수 없기 때문에 그러한 내용들은 스토리보드로 작업을 하며 기능정의서로 초기에 클라이언트와 협의가 되야 프로젝트 마무리 단계에서 문제가 생기지 않더군요..^^

 

 

 

 

 

 

 

 

 

출처 : http://blog.naver.com/chojh1178/90139794402

 

 

 

 

 

 

 

 

 

신고

Comment +0

티스토리 툴바