Catatan Seputar Dynamips : Tutorial

Catatan kecil waktu dulu utak-atik Dynamips. Berhubung dah lama nggak sempet utak-atik lagi, aku catet dulu aja di blog. Biar gak lupa. Sekalian dibuat Tutorial walaupun masih prematur :)

Tutorial

Merupakan lanjutan dari artikel sebelumnya. Pada artikel sebelumnya, aku baru menginstall dan sekedar coba-coba aja menerapkan Dynamips. Catatan kali ini sedikit lebih dalam mengulas Dynamips, seperti misalnya konfigurasi-konfigurasi penting untuk meningkatkan performa Dynamips.

IOS

Ekstrak terlebih dahulu kompresi binari IOS. Walaupun bukan masalah bagi Dynamips untuk mengekstrak IOS, namun hal ini signifikan hasilnya pada lamanya proses boot.

Idle-pc

Tanpa fitur idle-pc, sebuah virtual router akan memaksa penggunaan sampai 100%. Hasilnya PC jadi lambat banget, proses IOS pun semakin berat.
Dapatkan nilai idle-pc dengan jalan berikut:
1. Jalankan sebuah router dengan Dynamips (bukan Dynagen)
dynamips-wxp -t npe-400 -r 128 c7200image.bin

Cisco Router Simulation Platform (version 0.2.7-RC1-x86)
Copyright (c) 2005-2007 Christophe Fillot.
Build date: Feb 14 2007 18:51:35

Virtual RAM size set to 128 MB.
IOS image file: c7200image.bin

CPU0: carved JIT exec zone of 16 Mb into 512 pages of 32 Kb.
C7200 instance ‘default’ (id 0):
VM Status : 0
RAM size : 128 Mb
IOMEM size : 0 Mb
NVRAM size : 128 Kb
NPE model : npe-400
Midplane : vxr
IOS image : c7200image.bin

Loading ELF file ‘c7200image.bin’…
ELF entry point: 0×80008000

….
2. Tunggu sampai dapat prompt, masuk Enable mode, lalu save konfigurasi.
hafidz>en
Password:
hafidz#wr mem
3. Tekan tombol “Ctrl-] + i”, hingga mengeluarkan output:
hafidz#
Please wait while gathering statistics…
Done. Suggested idling PC:
0x62598d4c (count=31)
0x607117d4 (count=31)
0x6130a848 (count=53)
0x6130a8a8 (count=24)
0x6130a8ec (count=43)
0x6070c248 (count=30)
0x6070c270 (count=31)
0x6070c44c (count=36)
0x6070ce48 (count=29)
0x6070ce88 (count=42)
Restart the emulator with “–idle-pc=0x62598d4c” (for example)

Catatan Tambahan: Tombol Ctrl-] akan menampilkan semua option:
Instance default (ID 0)

o – Show the VM object list
d – Show the device list
r – Dump CPU registers
t – Dump MMU information
z – Dump MMU information (raw mode)
m – Dump the latest memory accesses
s – Suspend CPU emulation
u – Resume CPU emulation
q – Quit the emulator
k – Reboot the virtual machine
b – Show info about JIT compiled pages
l – MTS cache statistics
c – Write IOS configuration to disk
j – Non-JIT mode statistics
i – Determine an idling pointer counter
x – Experimentations (can crash the box!)
^] – Send ^]
Other – This help

4. Keluar dari simulator (bisa dilakukan dengan reload router)

hafidz#reload
Proceed with reload? [confirm]

*Mar 30 14:31:07.431: %SYS-5-RELOAD: Reload requested by console. Reload Reason:
Reload Command.

ROM: reload requested…
VM ‘default’: no physical page for CPU0 PC=0×0
Shutdown in progress…
Shutdown completed.

D:\hafidz\dynamips-0.2.7-RC1-cygwin>

5. Jalankan lagi Dynamips dengan nilai idle-pc yang didapat dari langkah tadi.
dynamips-wxp -t npe-400 -r 128 -idle-pc=0x62598d4c c7200image.bin

6. Jika utilisasi CPU masih tinggi, coba ganti nilai idle-pc dari pilihan tadi.

Hypervisor mode

Mode yang selalu digunakan bila anda menggunakan dynagen. Dalam mode ini Dynamips berfungsi layaknya sebuah server, menunggu koneksi TCP port 720x (default).
Dengan hypervisor mode memungkinkan anda menjalankan Dynamips dari PC remote.

Ghost RAM

Penggunaan fitur Ghost RAM dapat mengurangi konsumsi RAM PC anda secara signifikan. Terutama jika anda menggunakan beberapa virtual router dengan IOS yang sama. Sebaliknya, efek fitur Ghost RAM adalah pada penurunan performa router virtual.

Tambahan

Telnet Client
Anda bisa memilih telnet client favorit (jika ada) dengan melakukan perubahan pada file dynagen.ini. Misalkan ingin mengganti telnet client default dengan putty.

Contoh konfigurasi dynagen
Pada file konfigurasi Dynagen, parameter dan keyword tidaklah case sensitive. Jadi “ROUTER R1″ akan sama dengan “router R1″
#Boot virtual router secara manual
autostart = false

#Menjalankan dynagen dengan Dynamips pada PC yang sama
[localhost]
#Jika Dynamips running pada PC lain yang memiliki IP 192.168.10.10, maka “localhost” diganti dengan IP PC tersebut
#[192.168.10.10]

#Masukkan seri router anda disini
[[7200]]

#Tentukan dimana lokasi IOS image disimpan
image = \Program Files\Dynamips\images\c7200-adventerprisek9-mz.124-4.T1.bin
# pada linux gunakan forward slash:
# image = /home/hafidz/ios-images/c7200-adventerprisek9-mz.124-4.T1.bin

#Setiap router virtual running dengan NPE-400 dan RAM 160 MB
npe = npe-400
ram = 160

#Jangan lupa masukkan nilai idle-pc
idlepc = 0x62598d4c

#konfigurasikan masing-masing router, dimulai dengan keyword ROUTER kemudian nama routernya. Nama router ini tidak harus sama dengan hostname dalam IOS. Hanya sebagai parameter yang digunakan Dynamips untuk membedakan router satu dengan yang lain. Tapi biar nggak membingungkan lebih baik disamakan.
[[router R1]]

#Koneksikan interface s0/1 R1 dengan interface s1/0 R2. Secara otomatis Dynagen akan menginstal adapter PA-8T pada slot 0 dan 1 kedua router R1 dan R2.
s0/1 = R2 s1/0

#Buat R2
[[router R2]]
f0/0 = CoreSW 2

…..

Terakhir, silakan mencari solusi dari berbagai forum, dan googling jika menemui kesulitan!
(semoga lain waktu sempat update artikel ini)

Link terkait:
dynamips home
dynamips blog
dynagen home
dynagen tutorial
forum hacki

5 Responses to “Catatan Seputar Dynamips : Tutorial”


  • Mo nanya mas, apakah requirements RAM 2Gb g bisa di akali lagi, buat PC ato notebook yang cuma RAM 512

    thx

  • Gimana sih caranya setting Telnet di Windows, minimal buat LAN 2 komputer.

    Apa aja yang harus diaktif/non-aktifkan di Windowsnya? Tau ga yang punya dokumentasi lengkapnya?

    Makasih ya

  • Ada yang tau ga setting Telnet di Windows XP minimal buat LAN 2 komputer? Kalo ada yang punya dokumentasi lengkap atau informasi mohon dibagi-bagi,ya.

    Makasih

  • Terima kasih mas, semoga saya dapet banyak ilmu dari blog ini, amin.

  • Everything is very open with a really clear explanation of the issues.
    It was truly informative. Your website is very helpful.
    Thank you for sharing!

Leave a Reply