*2023 - 03- 24 내용 보충 및 수정하였습니다. 그리고 포스팅 길이가 길고 삽입된 이미지가 많아서 포스팅 로딩시간이 다소 길 수 있어서, 환경구축과 파이썬코드 및 결과 두개의 글로 나눠서 다시 포스팅 했습니다.
Oracle VM VirtualBox가 설치되었있다는 전재하에 진행하겠습니다
프로젝트는 Oracle VM VirtualBox를 통해서 진행되었습니다
Mininet 이란
가상 네트워크를 통해 SDN이나 OpenFlow와 같은 네트워크 환경을 시뮬레이션할 수 있는 오픈 소스 프로그램으로는 Mininet이 알려져 있습니다.
Mininet은 가상 스위치와 호스트를 사용하여 네트워크를 시뮬레이션하는 소프트웨어로, SDN 및 OpenFlow와 같은 네트워크 프로토콜을 시험하고 개발하는 데 사용됩니다. Mininet은 Python 기반으로 작성되어 있으며, 가상화 기술을 사용하여 다중 사용자를 지원하고, 빠르고 쉽게 네트워크를 생성하고 시험할 수 있습니다.
Mininet은 학술 연구, 프로토 타입 및 시스템 테스트, 교육 및 교육용 목적으로 사용됩니다. Mininet은 또한 OpenFlow 교육 및 SDN 프로토 타입 개발 등의 목적으로도 사용됩니다.
환경 구축하기(Build)
1. Oracle VM VirtualBox 실행
- OS : Ubuntu(64bit)
- Memory : 4096MB
- Processors : 4
2. 패키지 업데이트
Fig. 2에서는 터미널에서 $ sudo su 명령어를 사용하여 관리자 모드로 진입한 후, $ apt-get update 명령어를 사용하여 운영체제에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트합니다.
$ sudo su 명령어는 현재 사용자의 권한을 관리자 권한으로 변경해주는 명령어입니다.
$ apt-get update 명령어는 운영체제에서 사용 가능한 패키지 정보를 최신으로 업데이트하여, 새로운 패키지를 설치하거나 기존 패키지를 업그레이드할 때 최신 버전을 사용할 수 있도록 합니다.
3. 미니넷 설치
Fig. 3에서는 Ubuntu환경에 미니넷을 설치하는 커멘드또한 입력해줍니다
4. 설치 확인
Fig. 4에서는 미니넷이 정상적으로 설치되었는지 확인할 수 있으며,
관리자 모드로 이미 진입하여 root@가 표시되어 있는 경우에는 "mn" 명령어만으로 확인이 가능합니다.
결과적으로 기본 스위치인 s1과 호스트 h1, h2가 서로 연결되어 있는 것을 확인할 수 있습니다.
간단하게 설명하면, Fig.4 에는 없지만, OpenFlow 컨트롤러는 스위치에게 명령을 전송하고 관리하는 역할을 합니다. 이러한 기능을 구현하기 위해 SDN을 위한 프레임워크 중 하나인 Ryu를 사용하여 컨트롤러가 작동하는 방식에 대해 배울 수 있습니다.
컨트롤러가 있다는 가정하에, h1에서 h2로 패킷을 보내는 과정은 다음과 같습니다:
ex) h1에서 h2로 패킷을 보내는 과정
h1 ---------> s1 ----------> controller ----------> s1 ----------> h2
5. Vim 설치 및 파이썬 코드 작성
Vim은 터미널 기반의 텍스트 에디터로, 파이썬 코드 작성을 비롯한 다양한 텍스트 파일 작성에 사용될 수 있습니다.
위에서 언급한 $ vim networkTopo.py 명령어는 Vim 에디터를 사용하여 networkTopo.py라는 이름의 파이썬 파일을 생성하고, 해당 파일을 작성할 수 있는 환경을 제공합니다.
Vim에서 파이썬 코드를 작성하는 방법은 다음과 같습니다 :
- $ vim networkTopo.py 명령어를 사용하여 networkTopo.py 파일을 생성합니다.
- Vim 에디터가 실행되면, i 키를 눌러 insert 모드로 진입합니다.
- 코드를 작성하고, Esc 키를 눌러 insert 모드를 종료합니다.
- :(콜론)을 입력하고, wq 명령어를 입력하여 작성한 코드를 저장하고 Vim 에디터를 종료합니다.
위의 방법을 통해 Vim에서 파이썬 코드를 작성할 수 있으며, 해당 파일을 실행하거나 모듈로서 사용할 수 있습니다.
- i : insert mode
- Esc : normal mode
- ZZ(대문자) : 저장 후 화면 나옴
결과
2023.03.24 - [네트워크 Network/가상 머신 Ubuntu] - Ubuntu에서 Mininet(미니넷) 구축하기 | 파이썬 코드 작성 및 결과 - 2
Ubuntu에서 Mininet(미니넷) 구축하기 | 파이썬 코드 작성 및 결과 - 2
2023.01.13 - [네트워크 Network/가상 머신 Ubuntu] - Ubuntu에서 Mininet(미니넷) 구축하기 | 환경 구축 - 1 Ubuntu에서 Mininet(미니넷) 구축하기 | 환경 구축 - 1 *2023 - 03- 24 내용 보충 및 수정하였습니다. 그리고
jelong.tistory.com