레이블이 OPNFV인 게시물을 표시합니다. 모든 게시물 표시
레이블이 OPNFV인 게시물을 표시합니다. 모든 게시물 표시

2015년 8월 1일 토요일

MultiPath TCP 상용화

MultiPath TCP 상용화

RFC 6824에 정의한 MultiPath TCP를 KT와 SS에서 상용화 했습니다. 

MultiPath TCP란?

  • 스마트 폰과 같은 네트워크 클라이언트에서 인터넷 네트워크에 접속할 때 TCP/IP를 사용합니다. 
  • 물리적인 네트워크는 3G, LTE, 그리고 Wifi 등이 있습니다.
  • 무선 네트워크를 통한 인터넷 접속
    • 1) 스마트폰: TCP -> 3G/LTE 망 -> 인터넷
    • 2) 스마트폰: TCP -> Wifi -> 인터넷 
  • MuiltiPath TCP는 LTE와 Wifi를 함께 사용해서 TCP를 전달하는 방법입니다. 
    • 위에서 1)&2)를 묶어 놓은 것이지요. 

MultiPath TCP (MPTCP) 동작 과정

LTE/3G와 Wifi를 통한 연결을 할 수 있는 스마트 폰으로 MPTCP의 동작과정을 살펴보겠습니다. 
  1. 다음 두 개의 연결을 설정합니다.
    • Wi-Fi를 통한 기본 TCP 연결
    • LTE/3G를 통한 백업 연결
  2. Wi-Fi를 사용할 수 없거나 Wi-Fi가 반응하지 않게 되면 OS는 LTE/3G 데이터 연결을 사용합니다.
  3. MPTCP는 IANA에서 전용으로 할당한 TCP 옵션 필드 30을 사용합니다.
  4. 스마트 폰과 서비스 서버 사이의 라우터 또는 스위치와 같은 장비가 MPTCP를 지원하지 않으면 
    • OS는 일반적인 TCP 연결을 사용합니다.
  5. Neuromance에 접속을 할때 
    • Wi-Fi를 통해 MPTCP 연결을 시도합니다.
    • 성공하면 OS는 LTE/3G로 데이터를 주고 받을 수 있는 2차 백업 네트워크 연결을 만듭니다. 
    • Wi-Fi를 사용할 수 없거나 Wi-Fi가 불안정해지면 
  6. OS의 MPTCP는 바로 2차 백업 네트워크인 셀룰러 데이터로 통신을 전환합니다.

MultiPath TCP의 장점

  • 길이 하나 더 늘어나서 : LTE와 Wifi를 동시 이용하기 때문에 대용량 전송이 가능해 지고,
  • 길이 하나 더 있으므로: Wifi가 끊겨도 LTE로 지속적인 서비스가 가능합니다. 
  • 길을 복수로 이용하기 때문에 늘어난 만큼 에너지 소비는 피할수 없겠구요. 

MultiPath TCP의 구현

  • 리눅스 커널이나 iOS7.x이후 부터 이 기능이 구현되있습니다. 
  • 사용자 단말 뿐만 아니라 사업자 망에서도 이기능을 구현해야 하는데, 이번에 KT 에서 SS와 함께 이것을 상용화 한것이지요. 

요약정리

  • Multipath TCP란?
    • MPTCP는 TCP(전송 제어 프로토콜) 사양의 확장 세트입니다.
    • 사용자 단말(클라이언트)가 여러 네트워크 어댑터를 통해 동일한 대상 호스트에 연결할 수 있구요
    • 기존 네트워킹 인프라와의 호환은 유지하면서 호스트 간에 효과적이고 복원되는 데이터 연결이 가능합니다.

2015년 5월 29일 금요일

OpenWRT on RaspberryPI 2

OpenWRT on RasberryPI 2

build env.

  • To build SD card image using Ubuntu 14.04.2 LTS (64-bit)
I: Preparing Ubuntu:
sudo apt-get update
sudo apt-get install git-core build-essential libssl-dev
sudo apt-get install subversion mercurial
II: Download the OpenWRT with git:
git clone git://git.openwrt.org/openwrt.git
  • check created a directory 'openwrt'
III: Download and install all available "feeds":
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
iV: Make OpenWrt
make defconfig
make prereq
make menuconfig
V: Setup Wi-Fi kernel modules
  • select your Wifi USB stick module on config windows
Vi: set component in LuCI->Collections
  • select LuCI->Collections
Vii: Save and exit
  • select save
  • select exit
Viii: build
make -j 3
  • if you have some errors. please check message it
make V=s 2>&1 | tee build.log | grep -i error
iX: make SD card
cd openwrt/bin/brcm2708
You will be find "openwrt-brcm2708-bcm2709-sdcard-vfat-ext4.img"
sudo dd if=openwrt-brcm2708-bcm2709-sdcard-vfat-ext4.img of=/dev/sdX bs=2M conv=fsync
  • sdX - put your SD card dev (sdb, sdc, ..).
X: start OpenWRT
  • Insert SD on Raspberry PI 2
  • Connect UART-USB cable
  • Insert WiPi stick
  • Connect power.

    Reference Raspberry PI2 GPIO

  • Pin#08: TXD0
  • Pin#10: RXD0
  • Pin#14: GND
Xi: setup new passwd On UART-USB console
passwd
Xii: Reboot Raspberry PI 2 On UART-USB console
reboot
Xiii: Install LuCI On UART-USB console
vi /etc/opkg.conf
  • fix opkg.conf file
opkg update
opkg install luci
opkg install luci-ssl
opkg list | grep luci-i18n-
/etc/init.d/uhttpd start
/etc/init.d/uhttpd enable
  • WiFi connect to use Access Point
mkdir /etc/wpa_supplicant
vi /etc/wpa_supplicant/wpa_supplicant.conf
  • /etc/wpa_supplicant/wpa_supplicant.conf
update_config=1
network={
        ssid="AP name"
        psk="your key"
        scan_ssid=1
        proto=WPA RSN
        key_mgmt=WPA-PSK
        group=CCMP TKIP
        pairwise=CCMP TKIP
        priority=5
}
  • Start Wi-Fi connection in background task:
wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf &
  • Setting resolving server in /etc/resolv.conf:
vi /etc/resolv.conf
nameserver <put your router IP here>
nameserver 8.8.8.8
  • Save file run:
route add default gw <put your router IP here>

2015년 3월 15일 일요일

네트워크 어플리케이션 고속화(NFV)

네트워크 어플리케이션 고속화

  • Multicore Networking Stack 이란 NFV환경에서 네트워크 어플리케이션의 성능(퍼포먼스)를 향상 시키기 위한 기술이다.
  • Intel DPDK는멀리코어 프로세서에서 네트워크 패킷을 가속화시킨다.
  • DPDK를 이용하는 이유
    • 기존의 네트워크 패킷을 처리할 때는 Linux에서 네트워크 스택을 이용한다.
    • Linux는 시스템 자원을 이용할때 커널 공간과 사용자 공간을 전환하면서 이루어진다.
    • 이것은 네트워크 스택의 지연(Bottle Neck)으로 작용된다.
    • DPDK는 네트워크 지연을 회피하는 방법을 제공한다.

DPDK의 주요 특징

  • 1코어당 10Mpbs이상의 데이터플레인 처리한다.
  • 이것은 Linux 네트워크 스택보다 10배이상 빠르다.
  • 약 30us이하 지연시간을 가진다.
  • 멀티 코어 CPU의 자원을 효율적으로 사용한다.
  • DPI에서 보다 효과적으로 처리할 수 있다.

2014년 12월 25일 목요일

The Big Players of Orchestration for NFV

The Big Players of Orchestration for NFV

 Network functions virtualization (NFV) management and orchestration (MANO) is still early in development and will come to market slowly, but big vendors are ahead of the game in this market.

 About NFV, the battle for mind-share among industry bodies and the largest players in the network equipment provider, OSS and IT space. We focus How to the services built of virtualized network functions are managed through their lifecycle, and the ways that the biggest vendors are responding to the challenge of delivering NFV MANO platforms to support their customers.

 NFV orchestration is still at an early stage of development, with many vendors testing out their ideas with their customers, and developing concepts based on their existing network management, cloud management and operations support system (OSS) assets.


Key Issues.
  • ETSI has defined NFV orchestration, but the functionality must coexist with other functions and systems and within broader environments, and therein lies the scope for confusion
  • The choice of service and resource modeling language and tools is a differentiator
  • A layered approach separating service orchestration from resource orchestration is proposed by many equipment providers, OSS and IT vendors
  • Openness in orchestration means, at least in part, the ability to support multiple technology stacks
  • The drivers of NFV are still strong, but it is difficult to make the change to the OSS systems
  • The market is at an early stage of development with a range of maturity displayed by vendors, but big vendors are in a strong position
The Big Players of Orchestration for NFV
  • Alcatel-Lucent (NYSE: ALU)
  • Amdocs Inc. (Nasdaq: DOX)
  • Cisco Systems Inc. (NYSE: CSCO)
  • Ericsson AB (Nasdaq: ERIC)
  • Hewlett-Packard Corp. (NYSE: HPQ)
  • Huawei Technologies Co. Ltd.
  • IBM Corp. (NYSE: IBM)
  • Juniper Networks Inc. (NYSE: JNPR)
  • NetCracker Technologies, a wholly-owned subsidiary of NEC Corp. (TYO: 6701)
  • Nokia Networks, a division of Nokia Corp. (NYSE: NOK)
  • Oracle Corp. (NYSE: ORCL) 

2014년 12월 10일 수요일

OpenStack Juno 정리

OpenStack Juno 릴리즈 정리

  • OpenStack은 매해 두번씩 새로운 버전이 릴리즈합니다.(4월, 10월)
  • 최신 안정판: 2014.2 (Juno)
  • 다음 안정판: 2015.1 (Kilo)

Juno (2014.2)

  • Juno는 미국 조지아주 아틀란타시 근교에 지명

  • 개발기간: 2014/5 ~ 2014/10
  • 개발항목: 340개소 이상
  • 버그수정: 약 3200개이상
  • 스택수 : 11개
    • Data Processing (Sahara) 추가
  • 5대 기여사 (Contribution Company)
    • 1. 20% HP
    • 2. 18% RedHat
    • 3. 13% Mirantis
    • 4. 10% Rackspace
    • 5.   8% IBM

OpenStack 정식 스텍 리스트

  • Swift : Object Storage 클라우드 스토리지
  • Nova : Compute 클라우드 컴퓨팅
  • Glance : Image Service 가상머신 템플릿 관리
  • Keystone : Identity 종합 사용자/테넌트등 인증
  • Horizon : Dashboard 사용자 서비스 포털
  • Neutron : Networking 클라우드 네트워크 가상화 관리
  • Cinder : Block Storage 볼륨 스토리지
  • Ceilometer: Telemetry 자원 모니터링, 운영 감시
  • Heat : Orchestration 클라우드 오케스트레이션
  • Trove : Database 클라우드 데이터베이스 DBaaS
  • Sahara : Data Processing 빅데이터 처리

OpenStack 육성 프로젝트

  • Ironic : Baremetal 물리머신 관리
  • Zaqar : Queue service (MQaaS)
  • Barbican : Key management 키 데이터 관리
  • Desinate : DNS service (DNSaaS)
  • Oslo : Common Libraries 각 프로젝트 공통 코드
  • TripleO : Deployment
  • Devstack : 개발자용 OpenStack 설치

Juno에서 추가된 새로운 기능들

  • Nova
    • RBAC
    • Evacuate Host
    • Console 개선
    • Flavor 추가 속성
    • Host metering
  • Glance
    • Image meta data 대응,
    • tag 대응
  • Neutron
    • RBAC
    • DVR/L3-HA
    • IPv6서브넷 대응
    • 프로바이더 네트워크 대응
  • Heat
    • RBAC
    • 스택 페이징
  • Cinder
    • 볼륨 형식 변경
    • 볼륨 확장 속성
    • 볼륨 QoS 속성
  • Keystone
    • RBAC 대응 사용자 환경
    • 사용자/도메인간 룰 추가
  • Trove
    • 증분 백업
  • Sahara
    • 전용 사용자 환경 추가 (Horizon)
    • 프로세스가 실행되는 대상에 대한 링크 추가

2014년 12월 1일 월요일

OPNFV Initial Distribution

OPNFV Distribution

  • OPNFV Support mulitple distributions
    • Ubuntu
    • Redhat (CentOS)
    • Fedora
  • Initial kick start distribution
  • LTM (Long Term Evolution)

Initial Distribution selection

  • Several Project
    • OpenStack
    • ODL (Open Daylight)
    • Infra Set up language support (Puppet, Juju)
    • Plugins Availability
    • Virtual Enviroment
    • Bare metal platform support



Criteria
RHEL
CentOS
Ubuntu
Fedora
Devstack
Release
7
7
14.10
21
Latest
Installer
Packstack
Packstack
JuJu, Fuel
Packstack (RDO), DevStack
Devstack
Support
Yes
Community
Yes
Community
No
Resident Developer





Openstack Release
Juno (RDO), Icehouse (RHEL OSP)
Juno (RDO)
Juno
Icehouse (packaged), Juno (RDO)
Kilo
ODL Release



Hydrogen, Helium (not in repositories)

Installer Languages
Puppet
Puppet
Puppet
Puppet (RDO), bash (Devstack)

Plugins Availability





Ease of Development


Yes


Virtual Environment


Vagrant, Kvm, Docker, LXC etc
Qemu/kvm, Docker, lxc etc

Zero Touch including PXE Boot


Yes (JuJu/MaaS/Cobbler)


Troubleshooting Ease





Long Term Evolution


14.04


Automated Testing Framework Integration


OSTF


Kernel Version
3.10
3.10
3.14 (Realtime Patch)
3.17

Qemu version
2.0
2.0
2.0
2.1