SlideShare a Scribd company logo
1 of 15
Download to read offline
㈜유미테크
Mininet
(개인 PC나 랩탑에 구축된
가상 네트워크 인스턴스)
1
목차
1. Mininet
2. wireshark
3. Mininet 실습
Mininet2
Mininet
• 정의
– 개인 PC나 랩탑에 구축된 가상 네트워크 인스턴스
• 특징
– 실제와 같은 수준의 가상 네트워크 제공
– 실행 중인 실제 커널, 스위치 및 어플리케이션 코드 제공
• 방법
– ex) sudo mn –controller=remote,127.0.0.1 –topo=tree,4
• Python 라이브러리
– python 프로그래밍을 통한 가상 네트워크 구성 지원
사내전파교육 제목명을 적어주세요.3
Mininet – install (http://mininet.org/download/)
• Mininet VM Installation
– Mininet VM 이미지 다운 받기 (2.1.0, 2.0.0)
– VirtualBOX(free, GPL, 추천),
VMware Workstation(Windows or Linux), WMware Fusion(Mac),
KVM(free, GPL, linux)
• Native Installation from Source
– 소스 다운받기
• git clone git://github.com/mininet/mininet ( git 설치: sudo apt-get install git )
– Mininet 설치 옵션보기
• mininet/util/install.sh –h
• -a: Mininet VM에 포함된 모든 내용. Open vSwitch 의존성 목록, OpenFlow wireshark dissector, POX 등등
• -nfv: Mininet, OpenFlow switch, Open vSwitch
• -s mydir: 설치 디렉토리 설정. (다른 옵션보다 앞부분에 기술)
– Mininet 설치하기 (-a 사용)
• mininet/util/install.sh –a
– Mininet 설치 후 기본 기능 확인 (sudo mn -h: mininet command help)
• sudo mn --test pingall
사내전파교육 제목명을 적어주세요.4
Mininet – install Cont’d
• Installation from Package
– 기존 하위 버전 삭제
• sudo rm –rf /usr/local/bin/mn /usr/local/bin/mnexec
/user/local/lib/python*/*/*mininet* /usr/local/bin/ovs-* /usr/local/sbin/ovs-*
– OS 버전 확인
• lsb_release –a
– 패키지 설치하기
• Mininet 2.1.0 on Ubuntu 13.10: sudo apt-get install mininet
• Mininet 2.0.0 on Ubuntu 13.04: sudo apt-get install mininet
• Mininet 2.0.0 on Ubuntu 12.10: sudo apt-get install mininet/quantal-backports
• Mininet 2.0.0 on Ubuntu 12.04: sudo apt-get install mininet/precise-backports
– 자동실행되는 openvswitch-controller 정지하기
• sudo service openvswitch-controller stop
• sudo update-rc.d openvswitch-controller disable
– Mininet 테스트
• sudo mn --test pingall
– 작동불가인 경우, kernel module 다시 빌드
• sudo dpkg-reconfigure openvswitch-datapath-dkms
• sudo service openflow-switch restart
– 추가기능 설치
• git clone git://github.com/mininet/mininet
• mininet/util/install.sh -fw
사내전파교육 제목명을 적어주세요.5
WIRESHARK - install
• Ubuntu 12.04
– wireshark 설치
• sudo apt-get install wireshark
– wireshark 그룹 생성
• sudo groupadd wireshark
– 사용자를 wireshark 그룹에 추가
• sudo usermod -a -G wireshark {YOUR_USER_NAME}
– dumpcap 파일에 대한 그룹 소유권 변경
• sudo chgrp wireshark /usr/bin/dumpcap
– wireshark 그룹에서 dumpcap 파일을 실행할 수 있도록 설정
• sudo chmod 750 /usr/bin/dumpcap
– setcap 에 대한 기능 추가(보장)
• sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
– 변경 내용 확인
• sudo getcap /usr/bin/dumpcap
• Windows
– 경로: http://www.wireshark.org/download.html
사내전파교육 제목명을 적어주세요.6
WIRESHARK - execute
• wireshark 실행
– ubuntu: sudo wireshark
– windows: ${installed_path}wireshark.exe
사내전파교육 제목명을 적어주세요.7
Ubuntu
Windows
WIRESHARK – capture OpenFlow Packet
• Capture Filter 사용
– 첫 화면에서 Capture Options 선택.
사내전파교육 제목명을 적어주세요.8
Ubuntu
Windows
1
2
3
1
2
WIRESHARK – capture OpenFlow Packet Cont’d
• 캡쳐된 화면
사내전파교육 제목명을 적어주세요.9
Ubuntu Windows
WIRESHARK – capture OpenFlow Packet Cont’d
• Expression Filter 사용
– Ubuntu: OpenFlow Dissector
– Windows: Expression
사내전파교육 제목명을 적어주세요.10
Ubuntu
Windows
Mininet – 네트워크 구성
• 네트워크 구성
– sudo mn --switch ovsk --controller remote,127.0.0.1 --topo
tree,depth=2,fanout=3
• 호스트 개수: fanout depth
• 스위치 개수: 𝑑=0
𝑑𝑒𝑝𝑡ℎ
𝑓𝑎𝑛𝑜𝑢𝑡 𝑑
• Mininet CLI
– node 목록: nodes
– link 목록: net
– 모든 node 정보: dump
– node, switch IF 정보:
${node or switch} ifconfig –a
– node, switch Process 정보:
${node or switch) ps –a
– network 상태 확인:
${node or switch} ping –c ${count} ${node or switch}
– link Up/Down: link ${node or switch} ${node or switch} up/down
– 종료: exit
• Mininet clean up
– sudo mn -c
사내전파교육 제목명을 적어주세요.11
Mininet – 실습
• Python Topology
– Add host
• ${var} = self.addHost(${name}, ip=${ip_addr})
• ex) host1 = self.addHost("host1", ip="10.0.0.1")
– Add Switch
• ${var} = self.addSwitch(${name}, dpid=${datapath_ID})
• ex) switch1 = self.addSwitch("switch1", dpid=int2dpid(1))
– Add Link
• ${var} = self.addLink(${host_or_switch}, ${host_or_switch})
• ex) link1 = self.addLink(host1, switch1)
• Mininet 실행
– sudo mn --custom ./custom_topology.py --topo mytopo --
controller=remote,127.0.0.1
• SDN Controller
– OpenIRIS 서버 실행: java –jar Torpedo.jar
– Web UI 연결: http://${controller}:${port}/
사내전파교육 제목명을 적어주세요.12
Mininet – 실습 Cont’d
• Mininet CLI by Python
– 네트워크 생성
• net = Mininet(controller=lambda a: RemoteController(a, ip=“127.0.0.1”))
net.addController(“c0”)
– Add host
• ${var} = net.addHost(${name}, ip=${ip_addr})
• ex) host1 = net.addHost("host1", ip="10.0.0.1")
– Add Switch
• ${var} = net.addSwitch(${name}, dpid=${datapath_ID})
• ex) switch1 = net.addSwitch("switch1", dpid=int2dpid(1))
– Add Link
• ${var} = net.addLink(${host_or_switch}, ${host_or_switch})
• ex) link1 = net.addLink(host1, switch1)
– 네트워크 구동
• net.start()
– Mininet과 CLI 연결
• CLI(net)
– 네트워크 종료
• net.stop()
• Mininet 실행
– sudo ./custom_topology_cli_sh.py
• SDN Controller
– OpenIRIS 서버 실행: java –jar Torpedo.jar
– Web UI 연결: http://${controller}:${port}/
사내전파교육 제목명을 적어주세요.13
Mininet – 실습 Cont’d
• Topology 구성하기
사내전파교육 제목명을 적어주세요.14
10. References
• Mininet
– http://mininet.org/
• Open IRIS
– http://openiris.etri.re.kr/
• NOX (and POX)
– http://www.noxrepo.org
• wireshark
– http://www.wireshark.org
사내전파교육 제목명을 적어주세요.15

More Related Content

What's hot

ONOS (Open Network Operating System) Blackbird Release 분석
ONOS (Open Network Operating System)  Blackbird Release 분석ONOS (Open Network Operating System)  Blackbird Release 분석
ONOS (Open Network Operating System) Blackbird Release 분석rootfs32
 
ONS2014 출장보고
ONS2014 출장보고ONS2014 출장보고
ONS2014 출장보고Yongyoon Shin
 
Openstack에 컨트리뷰션 해보기
Openstack에 컨트리뷰션 해보기Openstack에 컨트리뷰션 해보기
Openstack에 컨트리뷰션 해보기영우 김
 
OpenDaylight의 High Availability 기능 분석
OpenDaylight의 High Availability 기능 분석OpenDaylight의 High Availability 기능 분석
OpenDaylight의 High Availability 기능 분석Seung-Hoon Baek
 
resource on openstack
 resource on openstack resource on openstack
resource on openstackjieun kim
 
Scouter와 influx db – grafana 연동 가이드
Scouter와 influx db – grafana 연동 가이드Scouter와 influx db – grafana 연동 가이드
Scouter와 influx db – grafana 연동 가이드Ji-Woong Choi
 
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1Ji-Woong Choi
 
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1Ji-Woong Choi
 
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick GuideJi-Woong Choi
 
20150818 jun lee_openstack juno release 내용 분석
20150818 jun lee_openstack juno release 내용 분석20150818 jun lee_openstack juno release 내용 분석
20150818 jun lee_openstack juno release 내용 분석rootfs32
 
150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kim150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kimjieun kim
 
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화OpenStack Korea Community
 
How to contribute at OpenStack
How to contribute at OpenStackHow to contribute at OpenStack
How to contribute at OpenStackSK Telecom
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0Ji-Woong Choi
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)Ji-Woong Choi
 
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212ymtech
 
ONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testsangyun han
 
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)Ubuntu Korea Community
 

What's hot (20)

ONOS (Open Network Operating System) Blackbird Release 분석
ONOS (Open Network Operating System)  Blackbird Release 분석ONOS (Open Network Operating System)  Blackbird Release 분석
ONOS (Open Network Operating System) Blackbird Release 분석
 
ONS2014 출장보고
ONS2014 출장보고ONS2014 출장보고
ONS2014 출장보고
 
Openstack에 컨트리뷰션 해보기
Openstack에 컨트리뷰션 해보기Openstack에 컨트리뷰션 해보기
Openstack에 컨트리뷰션 해보기
 
OpenDaylight의 High Availability 기능 분석
OpenDaylight의 High Availability 기능 분석OpenDaylight의 High Availability 기능 분석
OpenDaylight의 High Availability 기능 분석
 
resource on openstack
 resource on openstack resource on openstack
resource on openstack
 
Scouter와 influx db – grafana 연동 가이드
Scouter와 influx db – grafana 연동 가이드Scouter와 influx db – grafana 연동 가이드
Scouter와 influx db – grafana 연동 가이드
 
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
 
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
 
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
 
20150818 jun lee_openstack juno release 내용 분석
20150818 jun lee_openstack juno release 내용 분석20150818 jun lee_openstack juno release 내용 분석
20150818 jun lee_openstack juno release 내용 분석
 
150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kim150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kim
 
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
 
How to contribute at OpenStack
How to contribute at OpenStackHow to contribute at OpenStack
How to contribute at OpenStack
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
 
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 
ONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and test
 
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
 

Similar to Mininet

AWS 아마존 웹 서비스 책 없이 시작하기 - AWS 유저그룹 엔터프라이즈 모임 발표 20180514 이준구(SDS)
AWS 아마존 웹 서비스 책 없이 시작하기 - AWS 유저그룹 엔터프라이즈 모임 발표 20180514 이준구(SDS)AWS 아마존 웹 서비스 책 없이 시작하기 - AWS 유저그룹 엔터프라이즈 모임 발표 20180514 이준구(SDS)
AWS 아마존 웹 서비스 책 없이 시작하기 - AWS 유저그룹 엔터프라이즈 모임 발표 20180514 이준구(SDS)AWSKRUG - AWS한국사용자모임
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제Tae Young Lee
 
Openstack live migration
Openstack live migrationOpenstack live migration
Openstack live migrationymtech
 
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11Dongil Yeom
 
Cubietruck 리눅스 이미지 설치
Cubietruck 리눅스 이미지 설치Cubietruck 리눅스 이미지 설치
Cubietruck 리눅스 이미지 설치ymtech
 
20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한ymtech
 
Nginx Https 적용하기.pptx
Nginx Https 적용하기.pptxNginx Https 적용하기.pptx
Nginx Https 적용하기.pptxwonyong hwang
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxwonyong hwang
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXpressEngine
 
Python packaging
Python packagingPython packaging
Python packagingJi Hun Kim
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Keon Ahn
 
Toast cloud for beginners
Toast cloud for beginnersToast cloud for beginners
Toast cloud for beginnersTOAST_NHNent
 
Ubuntu Host AP Setting
Ubuntu Host AP SettingUbuntu Host AP Setting
Ubuntu Host AP Settingymtech
 
Nginx basic configurations
Nginx basic configurationsNginx basic configurations
Nginx basic configurationsJohn Kim
 
OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)Ian Choi
 
Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)wonyong hwang
 

Similar to Mininet (20)

Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
 
Lam pstack
Lam pstackLam pstack
Lam pstack
 
KAFKA 3.1.0.pdf
KAFKA 3.1.0.pdfKAFKA 3.1.0.pdf
KAFKA 3.1.0.pdf
 
K8s in action02
K8s in action02K8s in action02
K8s in action02
 
AWS 아마존 웹 서비스 책 없이 시작하기 - AWS 유저그룹 엔터프라이즈 모임 발표 20180514 이준구(SDS)
AWS 아마존 웹 서비스 책 없이 시작하기 - AWS 유저그룹 엔터프라이즈 모임 발표 20180514 이준구(SDS)AWS 아마존 웹 서비스 책 없이 시작하기 - AWS 유저그룹 엔터프라이즈 모임 발표 20180514 이준구(SDS)
AWS 아마존 웹 서비스 책 없이 시작하기 - AWS 유저그룹 엔터프라이즈 모임 발표 20180514 이준구(SDS)
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제
 
Openstack live migration
Openstack live migrationOpenstack live migration
Openstack live migration
 
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
 
Cubietruck 리눅스 이미지 설치
Cubietruck 리눅스 이미지 설치Cubietruck 리눅스 이미지 설치
Cubietruck 리눅스 이미지 설치
 
20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한
 
Nginx Https 적용하기.pptx
Nginx Https 적용하기.pptxNginx Https 적용하기.pptx
Nginx Https 적용하기.pptx
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptx
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
 
Python packaging
Python packagingPython packaging
Python packaging
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리
 
Toast cloud for beginners
Toast cloud for beginnersToast cloud for beginners
Toast cloud for beginners
 
Ubuntu Host AP Setting
Ubuntu Host AP SettingUbuntu Host AP Setting
Ubuntu Host AP Setting
 
Nginx basic configurations
Nginx basic configurationsNginx basic configurations
Nginx basic configurations
 
OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)
 
Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)
 

More from ymtech

20171120 tech day-11th-소프트웨어 테스팅2-서현용
20171120 tech day-11th-소프트웨어 테스팅2-서현용20171120 tech day-11th-소프트웨어 테스팅2-서현용
20171120 tech day-11th-소프트웨어 테스팅2-서현용ymtech
 
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중ymtech
 
20170609 tech day_4th-nginx(lb)-이재훈
20170609 tech day_4th-nginx(lb)-이재훈20170609 tech day_4th-nginx(lb)-이재훈
20170609 tech day_4th-nginx(lb)-이재훈ymtech
 
20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석
20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석
20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석ymtech
 
20170414 techday 2nd_uiux디자인-최민희
20170414 techday 2nd_uiux디자인-최민희20170414 techday 2nd_uiux디자인-최민희
20170414 techday 2nd_uiux디자인-최민희ymtech
 
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍ymtech
 
Mikrotic CCR1036 라우팅 설정
Mikrotic CCR1036 라우팅 설정Mikrotic CCR1036 라우팅 설정
Mikrotic CCR1036 라우팅 설정ymtech
 
Installation Openstack Swift
Installation Openstack SwiftInstallation Openstack Swift
Installation Openstack Swiftymtech
 
Intel Galileo Linux Setting
Intel Galileo Linux SettingIntel Galileo Linux Setting
Intel Galileo Linux Settingymtech
 
MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치ymtech
 
HP 3800-24G-2SFP OpenFlow Setting
HP 3800-24G-2SFP OpenFlow SettingHP 3800-24G-2SFP OpenFlow Setting
HP 3800-24G-2SFP OpenFlow Settingymtech
 
Openstack Instance Resize
Openstack Instance ResizeOpenstack Instance Resize
Openstack Instance Resizeymtech
 
SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오ymtech
 
TR-069 클라이언트 검토자료8편
TR-069 클라이언트 검토자료8편TR-069 클라이언트 검토자료8편
TR-069 클라이언트 검토자료8편ymtech
 
TR-069 클라이언트 검토자료7편
TR-069 클라이언트 검토자료7편TR-069 클라이언트 검토자료7편
TR-069 클라이언트 검토자료7편ymtech
 
TR-069 클라이언트-검토자료6편
TR-069 클라이언트-검토자료6편TR-069 클라이언트-검토자료6편
TR-069 클라이언트-검토자료6편ymtech
 
TR-069 클라이언트 검토자료5편
TR-069 클라이언트 검토자료5편TR-069 클라이언트 검토자료5편
TR-069 클라이언트 검토자료5편ymtech
 
TR 069 클라이언트 검토 자료 4편
TR 069 클라이언트 검토 자료 4편TR 069 클라이언트 검토 자료 4편
TR 069 클라이언트 검토 자료 4편ymtech
 
TR 069 클라이언트 검토자료 3편
TR 069 클라이언트 검토자료 3편TR 069 클라이언트 검토자료 3편
TR 069 클라이언트 검토자료 3편ymtech
 
DHCP Spoofing
DHCP SpoofingDHCP Spoofing
DHCP Spoofingymtech
 

More from ymtech (20)

20171120 tech day-11th-소프트웨어 테스팅2-서현용
20171120 tech day-11th-소프트웨어 테스팅2-서현용20171120 tech day-11th-소프트웨어 테스팅2-서현용
20171120 tech day-11th-소프트웨어 테스팅2-서현용
 
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
 
20170609 tech day_4th-nginx(lb)-이재훈
20170609 tech day_4th-nginx(lb)-이재훈20170609 tech day_4th-nginx(lb)-이재훈
20170609 tech day_4th-nginx(lb)-이재훈
 
20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석
20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석
20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석
 
20170414 techday 2nd_uiux디자인-최민희
20170414 techday 2nd_uiux디자인-최민희20170414 techday 2nd_uiux디자인-최민희
20170414 techday 2nd_uiux디자인-최민희
 
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
 
Mikrotic CCR1036 라우팅 설정
Mikrotic CCR1036 라우팅 설정Mikrotic CCR1036 라우팅 설정
Mikrotic CCR1036 라우팅 설정
 
Installation Openstack Swift
Installation Openstack SwiftInstallation Openstack Swift
Installation Openstack Swift
 
Intel Galileo Linux Setting
Intel Galileo Linux SettingIntel Galileo Linux Setting
Intel Galileo Linux Setting
 
MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치
 
HP 3800-24G-2SFP OpenFlow Setting
HP 3800-24G-2SFP OpenFlow SettingHP 3800-24G-2SFP OpenFlow Setting
HP 3800-24G-2SFP OpenFlow Setting
 
Openstack Instance Resize
Openstack Instance ResizeOpenstack Instance Resize
Openstack Instance Resize
 
SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오
 
TR-069 클라이언트 검토자료8편
TR-069 클라이언트 검토자료8편TR-069 클라이언트 검토자료8편
TR-069 클라이언트 검토자료8편
 
TR-069 클라이언트 검토자료7편
TR-069 클라이언트 검토자료7편TR-069 클라이언트 검토자료7편
TR-069 클라이언트 검토자료7편
 
TR-069 클라이언트-검토자료6편
TR-069 클라이언트-검토자료6편TR-069 클라이언트-검토자료6편
TR-069 클라이언트-검토자료6편
 
TR-069 클라이언트 검토자료5편
TR-069 클라이언트 검토자료5편TR-069 클라이언트 검토자료5편
TR-069 클라이언트 검토자료5편
 
TR 069 클라이언트 검토 자료 4편
TR 069 클라이언트 검토 자료 4편TR 069 클라이언트 검토 자료 4편
TR 069 클라이언트 검토 자료 4편
 
TR 069 클라이언트 검토자료 3편
TR 069 클라이언트 검토자료 3편TR 069 클라이언트 검토자료 3편
TR 069 클라이언트 검토자료 3편
 
DHCP Spoofing
DHCP SpoofingDHCP Spoofing
DHCP Spoofing
 

Mininet

  • 1. ㈜유미테크 Mininet (개인 PC나 랩탑에 구축된 가상 네트워크 인스턴스) 1
  • 2. 목차 1. Mininet 2. wireshark 3. Mininet 실습 Mininet2
  • 3. Mininet • 정의 – 개인 PC나 랩탑에 구축된 가상 네트워크 인스턴스 • 특징 – 실제와 같은 수준의 가상 네트워크 제공 – 실행 중인 실제 커널, 스위치 및 어플리케이션 코드 제공 • 방법 – ex) sudo mn –controller=remote,127.0.0.1 –topo=tree,4 • Python 라이브러리 – python 프로그래밍을 통한 가상 네트워크 구성 지원 사내전파교육 제목명을 적어주세요.3
  • 4. Mininet – install (http://mininet.org/download/) • Mininet VM Installation – Mininet VM 이미지 다운 받기 (2.1.0, 2.0.0) – VirtualBOX(free, GPL, 추천), VMware Workstation(Windows or Linux), WMware Fusion(Mac), KVM(free, GPL, linux) • Native Installation from Source – 소스 다운받기 • git clone git://github.com/mininet/mininet ( git 설치: sudo apt-get install git ) – Mininet 설치 옵션보기 • mininet/util/install.sh –h • -a: Mininet VM에 포함된 모든 내용. Open vSwitch 의존성 목록, OpenFlow wireshark dissector, POX 등등 • -nfv: Mininet, OpenFlow switch, Open vSwitch • -s mydir: 설치 디렉토리 설정. (다른 옵션보다 앞부분에 기술) – Mininet 설치하기 (-a 사용) • mininet/util/install.sh –a – Mininet 설치 후 기본 기능 확인 (sudo mn -h: mininet command help) • sudo mn --test pingall 사내전파교육 제목명을 적어주세요.4
  • 5. Mininet – install Cont’d • Installation from Package – 기존 하위 버전 삭제 • sudo rm –rf /usr/local/bin/mn /usr/local/bin/mnexec /user/local/lib/python*/*/*mininet* /usr/local/bin/ovs-* /usr/local/sbin/ovs-* – OS 버전 확인 • lsb_release –a – 패키지 설치하기 • Mininet 2.1.0 on Ubuntu 13.10: sudo apt-get install mininet • Mininet 2.0.0 on Ubuntu 13.04: sudo apt-get install mininet • Mininet 2.0.0 on Ubuntu 12.10: sudo apt-get install mininet/quantal-backports • Mininet 2.0.0 on Ubuntu 12.04: sudo apt-get install mininet/precise-backports – 자동실행되는 openvswitch-controller 정지하기 • sudo service openvswitch-controller stop • sudo update-rc.d openvswitch-controller disable – Mininet 테스트 • sudo mn --test pingall – 작동불가인 경우, kernel module 다시 빌드 • sudo dpkg-reconfigure openvswitch-datapath-dkms • sudo service openflow-switch restart – 추가기능 설치 • git clone git://github.com/mininet/mininet • mininet/util/install.sh -fw 사내전파교육 제목명을 적어주세요.5
  • 6. WIRESHARK - install • Ubuntu 12.04 – wireshark 설치 • sudo apt-get install wireshark – wireshark 그룹 생성 • sudo groupadd wireshark – 사용자를 wireshark 그룹에 추가 • sudo usermod -a -G wireshark {YOUR_USER_NAME} – dumpcap 파일에 대한 그룹 소유권 변경 • sudo chgrp wireshark /usr/bin/dumpcap – wireshark 그룹에서 dumpcap 파일을 실행할 수 있도록 설정 • sudo chmod 750 /usr/bin/dumpcap – setcap 에 대한 기능 추가(보장) • sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap – 변경 내용 확인 • sudo getcap /usr/bin/dumpcap • Windows – 경로: http://www.wireshark.org/download.html 사내전파교육 제목명을 적어주세요.6
  • 7. WIRESHARK - execute • wireshark 실행 – ubuntu: sudo wireshark – windows: ${installed_path}wireshark.exe 사내전파교육 제목명을 적어주세요.7 Ubuntu Windows
  • 8. WIRESHARK – capture OpenFlow Packet • Capture Filter 사용 – 첫 화면에서 Capture Options 선택. 사내전파교육 제목명을 적어주세요.8 Ubuntu Windows 1 2 3 1 2
  • 9. WIRESHARK – capture OpenFlow Packet Cont’d • 캡쳐된 화면 사내전파교육 제목명을 적어주세요.9 Ubuntu Windows
  • 10. WIRESHARK – capture OpenFlow Packet Cont’d • Expression Filter 사용 – Ubuntu: OpenFlow Dissector – Windows: Expression 사내전파교육 제목명을 적어주세요.10 Ubuntu Windows
  • 11. Mininet – 네트워크 구성 • 네트워크 구성 – sudo mn --switch ovsk --controller remote,127.0.0.1 --topo tree,depth=2,fanout=3 • 호스트 개수: fanout depth • 스위치 개수: 𝑑=0 𝑑𝑒𝑝𝑡ℎ 𝑓𝑎𝑛𝑜𝑢𝑡 𝑑 • Mininet CLI – node 목록: nodes – link 목록: net – 모든 node 정보: dump – node, switch IF 정보: ${node or switch} ifconfig –a – node, switch Process 정보: ${node or switch) ps –a – network 상태 확인: ${node or switch} ping –c ${count} ${node or switch} – link Up/Down: link ${node or switch} ${node or switch} up/down – 종료: exit • Mininet clean up – sudo mn -c 사내전파교육 제목명을 적어주세요.11
  • 12. Mininet – 실습 • Python Topology – Add host • ${var} = self.addHost(${name}, ip=${ip_addr}) • ex) host1 = self.addHost("host1", ip="10.0.0.1") – Add Switch • ${var} = self.addSwitch(${name}, dpid=${datapath_ID}) • ex) switch1 = self.addSwitch("switch1", dpid=int2dpid(1)) – Add Link • ${var} = self.addLink(${host_or_switch}, ${host_or_switch}) • ex) link1 = self.addLink(host1, switch1) • Mininet 실행 – sudo mn --custom ./custom_topology.py --topo mytopo -- controller=remote,127.0.0.1 • SDN Controller – OpenIRIS 서버 실행: java –jar Torpedo.jar – Web UI 연결: http://${controller}:${port}/ 사내전파교육 제목명을 적어주세요.12
  • 13. Mininet – 실습 Cont’d • Mininet CLI by Python – 네트워크 생성 • net = Mininet(controller=lambda a: RemoteController(a, ip=“127.0.0.1”)) net.addController(“c0”) – Add host • ${var} = net.addHost(${name}, ip=${ip_addr}) • ex) host1 = net.addHost("host1", ip="10.0.0.1") – Add Switch • ${var} = net.addSwitch(${name}, dpid=${datapath_ID}) • ex) switch1 = net.addSwitch("switch1", dpid=int2dpid(1)) – Add Link • ${var} = net.addLink(${host_or_switch}, ${host_or_switch}) • ex) link1 = net.addLink(host1, switch1) – 네트워크 구동 • net.start() – Mininet과 CLI 연결 • CLI(net) – 네트워크 종료 • net.stop() • Mininet 실행 – sudo ./custom_topology_cli_sh.py • SDN Controller – OpenIRIS 서버 실행: java –jar Torpedo.jar – Web UI 연결: http://${controller}:${port}/ 사내전파교육 제목명을 적어주세요.13
  • 14. Mininet – 실습 Cont’d • Topology 구성하기 사내전파교육 제목명을 적어주세요.14
  • 15. 10. References • Mininet – http://mininet.org/ • Open IRIS – http://openiris.etri.re.kr/ • NOX (and POX) – http://www.noxrepo.org • wireshark – http://www.wireshark.org 사내전파교육 제목명을 적어주세요.15