Thursday, December 3, 2009

Project London II


Gue baru terima hasil ujian CCDE kemaren dan hasilnya negatif. Ada beberapa hal yg gue benci dari hasil tsb selain kenyataan bahwa gue gagal:


- Butuh lebih dari 3 bulan buat mendapatkan hasil ujian
- Hasilnya dikirim dgn menggunakan surat lewat pos (apa yg salah dgn hasil online? Sekarang gue bisa lihat status: Fail di website Vue tapi tidak ada email notifikasi seperti di hasil ujian CCIE)
- Hasilnya hanya menunjukkan prosentasi dari beberapa aktifitas design: gather and clarify requirement, develop network design dll. Jadi hasilnya tidak detil per teknologi atau per skenario yg membuat lebih sulit buat seorang kandidat utk mengetahui kelemahannya. Mendapat 50% di bagian develop network design, misalnya, menurut gue bukan feedback yg bagus yg bisa membantu persiapan dalam menghadapi ujian berikutnya
- Dan sampai sekarang gue belum menemukan pernyataan resmi ttg prosentasi minimum buat lulus ujian CCDE. Apakah 80% seperti CCIE?


Memang gue sudah booking ujian berikutnya hari Selasa depan di London. Tapi minggu depan itu bersamaan gue harus menyelesaikan banyak sekali dokumen utk project yg sedang gue kerjakan. Dan weekend ini gue sudah merencanakan utk pergi camping bersama anak-anak.


Gue tidak mungkin mengorbankan salah satu hal tsb utk CCDE. Jadi yg akan gue lakukan adalah pergi ke Vue testing center, mencoba utk tetap bangun selama 8 jam, dan mengandalkan sepenuhnya ke logika berpikir.


Mari kita lihat saja.



Sunday, October 25, 2009

Advanced CCIE Lab


Gue baru saja menyelesaikan ujian lab utk program sertifikasi internal dari perusahaan. Tentunya gue tidak bisa menceritakan secara detil, tapi gue ingin berbagi pendapat ttg bagaimana ujian lab yg seharusnya, berdasarkan pengalaman gue ujian lab kemarin.


Gue pernah bilang bahwa sertifikasi tidak ada artinya tanpa pengalaman. Lulus ujian lab yg sangat sulit spt CCIE put tidak langsung membuat kita menjadi expert. Sertifikasi hanya bisa membuat kita memiliki skill mendasar sbg pondasi, dan kemudian kita harus mengasah skill lebih lanjut setelah itu dgn terjun ke project yg sebenarnya dan menambah pengalaman di dunia nyata.


Tapi pernahkan kita menanyakan, seberapa jauh skill yg diujikan di lab dibandingkan dgn skill yg diperlukan utk kerja di dunia nyata? Sebagai contoh, setelah kita lulus ujian CCIE SP, apakah kita bisa langsung terjun untuk meng handle jaringan Service Provider yg besar, atau masih banyak hal-hal yg harus dipelajari terlebih dahulu?


Gue akan menuliskan pendapat gue ttg bagaimana ujian lab yg seharusnya. Seperti biasa, ini cuma pendapat pribadi. Dan pendapat seperti hidung, semua orang pasti punya satu.


1. Ujian lab seharusnya menggunakan hardware yg real


Dari daftar hardware yg digunakan di CCIE SP lab, misalnya, terlihat bahwa hardware yg digunakan bukan hardware yg biasa digunakan di SP network. Cisco 7200 memang bagus, tapi bukan buat jadi P router! Apalagi masih ada Cisco 2800 bahkan 2600 di SP lab.


SP lab seharusnya menggunakan high-end router spt CRS, ASR dan 7600. Jika beberapa CRS utk membuat lab dianggap terlalu mahal, maka satu CRS yg di partisi secara fisik dgn menggunakan konsep Secure Domain Routing juga bisa. SP besar sudah umum menggunakan IOS XR, sehingga minimal jika tidak bisa pakai CRS di lab paling tidak ada GSR XR sbg P router. Untuk PE seharusnya menggunakan ASR 9000 atau paling tidak Cisco 7600 dgn RSP dan ES+ card.
Terlalu muluk? Mungkin, tapi hardware-hardware tsb memang yg biasa digunakan di SP network.


Sama halnya dgn CCIE Routing & Switching. Jika track ini dianggap mewakili network Enterprise yg besar, maka setidaknya ada Cisco 6500 utk digunakan di ujian lab.


2. Ujian lab seharusnya menggunakan skenario yg nyata


Setelah kita selesai mengkonfigur hardware di lab, lalu apa? Menjalankan ping test? Memeriksa config? Menjalankan show commands? Itu semua tidak cukup utk menguji skill yg nyata!


Ujian lab seharusnya menggunakan traffic generator utk mensimulasi traffic. Dgn adanya traffic di network kita bisa memeriksa, misalnya, jika fitur Quality of Services benar-benar bekerja. Ujian lab juga harus menguji pemahaman kandidat dalam skenario failover, karena ini adalah kebutuhan primer dari setiap Service Provider. Bagaimana kita bisa tahu bahwa fitur Fast Convergence sudah dijalankan dgn benar? Dgn cara memeriksa BFD neighbors menggunakan show command? Dgn cara melihat config dari Non Stop Forwarding dan Graceful Restart?


Cara terbaik adalah dgn mensimulasikan traffic di network dan melihat apakah konfigurasi yg sudah dilakukan, atau skenario jika terjadi failover, akan memberikan dampak ke traffic tsb. Bahkan skill utk memahami dan men set traffic generator itu sangat penting dalam pekerjaan sehari-hari.


3. Ujian lab seharusnya menguji skill dgn cara yg benar


Tidak cukup dgn hanya menanyakan kandidat utk mengkonfigur atau melakukan troubleshooting di ujian lab. Beberapa orang mungkin bisa mendapat soal ujian dgn berbagai cara kemudian menghapal cara menjawab soal-soal tsb.


Cara terbaik utk menguji pemahaman yg mendalam dari seorang kandidat ujian lab adalah dgn cara meminta kandidat tsb utk melakukan verifikasi dari hal yg sudah dilakukan dan menjelaskannya secara detil. Sbg contoh, dalam test fast convergence, kandidat harus memberikan output dari hasil test convergence time ketika terjadi link failure dan menjelaskan mengapa ada perbedaan ketika link down dan link up (ketika link kembali bekerja setelah failure atau yg biasa disebut restorasi). Apakah si kandidat bisa menjelaskan mengapa convergence time bisa berbeda jika PE router crash dibandingkan ketika P router yg crash?


Pertanyaan-pertanyaan sulit dan menjebak spt di ujian CCIE yg sekarang masih tetap penting. Skill troubleshooting masih tetap penting utk diuji di lab. Tapi si kandidat lebih diminta utk bisa menjelaskan “MENGAPA”. Tidak hanya bagaimana cara mengkonfigur dgn cara ini maupun itu, tapi juga harus bisa menjelaskan mengapa traffic di network berprilaku seperti begini maupun begitu ketika fitur tertentu dijalankan maupun ketika terjadi hal-hal spt skenario failure di network.


Tentu saja tidak fair utk selalu membandingkan antara lab “ideal” gue dgn ujian lab yg sudah umum seperti CCIE.


Dalam hal hardware di lab, misalnya. Hardware yg sebenarnya tidaklah murah. Jadi mungkin vendor ujian bisa menyediakan 1 atau 2 lab yg komplit, yg bisa mensimulasikan hardware di dunia nyata utk kandidat dari seluruh dunia. Pendapat gue ttg ini: tidak masalah. Toh ujian lab bisa dilakukan secara remote. Dan ujian lab yg gue jelaskan di atas memang lebih advance dan spesifik utk skill tertentu. Jadi bisa saja Cisco akan membuat “Advanced CCIE lab” dgn fokus skill teknis yg lebih spesifik, dan kandidat harus sudah punya CCIE utk mengambil lab advance ini. Jadi akan ada banyak track yg spesifik, sbg contoh CCIE SP-NGN, CCIE SP-IPTV, CCIE SP-Wimax dan sebagainya. Dengan banyaknya pilihan dari advanced track, maka kandidat bisa memilih mana yg lebih cocok dan membantu dalam pekerjaan sehari-hari, sehingga jumlah kandidat akan didistribusikan ke banyak track utk menghindari antrian yg terlalu panjang.


Jika waktu mengijinkan, semua penjelasan harus dilakukan dgn interview singkat, tidak cukup hanya dgn tertulis. Bagaimana jika English bukan bahasa sehari-hari dari si kandidat? Tidak masalah. Karena ini kan remote lab, jadi bisa dilakukan dari berbagai negara. Sehingga si kandidat bisa mendapat proktor atau penguji di lab yg berbahasa sama. Dan ujian lab ini bisa mengambil waktu 2 hari spt ketika CCIE di tahun 2001 dulu. Hari pertama bisa utk membangun network secara keseluruhan. Hari ke-2 pagi bisa utk menjalankan traffic generator dan verifikasi dari network. Hari ke-2 sore bisa utk sesi troubleshooting. Di akhir setiap sesi selalu ada interview agar si kandidat bisa menjelaskan apa yg sudah dilakukan, dan menjelaskan prilaku dari traffic di network utk skenario yg berbeda-beda.


Tentunya di advanced CCIE track ini tujuan utamanya adalah menyiapkan kandidat yg mampu utk langsung bekerja di dunia nyata setelah mereka lulus, dgn cara memperkecil jarak antara materi yg diujikan di ujian lab dgn skill set yg dibutuhkan di dunia nyata, dan bukan utk mengejar target jumlah orang yg lulus.


Apakah ini semua mungkin terjadi atau hanya mimpi? Siapa tahu. Suatu hari nanti mungkin vendor ujian lab spt Cisco akan membuat track sertifikasi baru di atas sertifikasi CCIE, dan mereka mungkin akan mempertimbangkan semua poin-poin di atas.



Tuesday, September 29, 2009

Cara Engineer Mengatasi Krisis


Gue lagi nulis tentang kekaguman gue terhadap para pekerja kontraktor di blog gue yg lain. Di beberapa project terakhir gue memang banyak bekerja dgn mereka, dan gue sendiri pernah menjadi kontraktor walaupun hanya untuk beberapa bulan. Walau gue belum ada niat untuk keluar dari kerjaan yg sekarang, tapi menjadi kontraktor mungkin merupakan salah satu pilihan suatu hari nanti.


Gue kemudian mencoba menuliskan poin-poin apa saja yg harus dimiliki oleh seorang kontraktor yg berhasil (dalam konteks network engineer atau konsultan teknis). Namun ketika selesai, gue merasa poin-poin itu diperlukan bukan saja untuk menjadi kontraktor, tapi juga buat para karyawan tetap agar bisa terus berkompetisi di perusahaan. Di kondisi krisis ekonomi seperti sekarang seorang Triple CCIE pun bisa digantikan, dan salah satu cara untuk bertahan mungkin dgn memastikan bahwa kita memiliki 10 poin di bawah ini:


1. Bangun reputasi. Yang terpenting, gue pikir, adalah integritas dan bertanggung jawab
2. Fokus ke hasil. Kerjaan harus selesai apapun yg terjadi, dalam kurun waktu yg disetujui
3. Mampu beradaptasi, fleksible, mampu mengatasi tekanan dan perubahan di project yg selalu terjadi secara tiba-tiba
4. Memiliki pengalaman ekstensif di berbagai tipe project dan di berbagai posisi yg berbeda-beda
5. Bisa bekerja secara independen, bisa juga bekerja sbg bagian dari team
6. Kemampuan komunukasi yg baik, bisa berbaur dan menghadapi customer dari berbagai tipe, di manapun, dan di kondisi seperti apapun
7. Spesialis di satu bidang tapi juga mengerti hal-hal yg lain. Sebagai contoh, expert di Core IP/MPLS network tapi juga mengerti access network, security, physical layer, data center dan sebagainya
8. Mampu bekerja di berbagai posisi: engineer, consultant, architect, project manager dll
9. Selalu update skill, mampu belajar hal baru dgn cepat dan mau belajar terus-menerus. Diperlukan investasi utk bisa selalu update skill, memiliki lab, dan membeli tool-tool penunjang pekerjaan
10. Tahu cara memasarkan diri: social networking, menjaga hubungan dgn customer sebelumnya, selalu meng-update CV dll


Mudah-mudahan bermanfaat. Gue sendiri akan selalu melihat poin-poin ini utk memastikan gue masih bisa berkompetisi di kondisi seperti apapun.



Monday, August 17, 2009

Project Riyadh


Ini adalah minggu ke-6 gue mengerjakan Project Riyadh dan mudah-mudahan minggu yg terakhir. Waktu gue diberi tahu untuk terlibat di project ini scope nya adalah: memimpin team untuk memperbaiki design dgn melakukan migrasi 15000 VPN customer dalam waktu 3 minggu. Waktu itu pikiran gue hanya terfokus ke angka-angka tsb, karena dgn melakukan perhitungan matematis sederhana jika mengasumsikan team bisa bekerja tanpa berhenti maka ada 700 customer yg harus di migrasi setiap malam.


Ketika gue mendarat di Riyadh minggu kedua bulan Juli kemarin gue menyadari bahwa tantangan utamanya bukan me migrasi customer, sebanyak apapun per malam. Tidak ada informasi yg jelas ataupun dokumentasi ttg kondisi infrastruktur network dan network services. Setiap project migrasi network sangat tergantung pada informasi. Informasi ttg kondisi network yg sekarang. Informasi ttg network yg baru setelah migrasi. Kemudian kita harus membuat jembatan yg menghubungkan antara network yg sekarang dgn network yg baru. Kita harus membuat metodologi dan prosedur untuk memastikan masa transisi berjalan lancar. Pendekatan yg tepat sehingga proses migrasi tidak akan mengganggu bisnis sehari-hari.


Tanpa informasi yg cukup, sangat sulit untuk bisa membuat prosedur yg benar. Tanpa informasi yg benar, metode dan proses yg direncanakan bisa salah total. Tanpa informasi, tidak ada jembatan.


Untungnya gue dikelilingi oleh engineer-engineer terbaik di team. Gue masih inget Harry Stamper pernah bilang “I’m only the best because I work with the best”. Seperti klaimnya para Joe’s: when all else fails, we don’t. Ketika team yg lain mungkin akan menolak mengerjakan sesuatu dgn sangat terbatasnya resource, tidak adanya informasi dan juga target yg sangat singkat, gue dan team memutuskan untuk melanjutkan project sebaik mungkin.


Gue melakukan banyak kesalahan di minggu pertama, tapi dgn melakukan kesalahan gue juga belajar banyak hal ttg kondisi infrastruktur network yg sekarang. Setup customer sangat unik sehingga tidak mungkin proses migrasi di simulasikan di lab. Gue harus memimpin eksekusi migrasi dan membangun prosedur di saat yg bersamaan. Gue belajar bagaimana cara melakukan migrasi dgn cara melakukannya secara langsung. Rata-rata engineer di team gue bekerja lebih dari 16 jam sehari. Dan setelah beberapa minggu, akhirnya gue berhasil membuat proses migrasi, metode dan prosedur yg komplit, yg semuanya di dokumentasikan. Dgn adanya dokumentasi yg benar ttg proses migrasi membuat siapa saja akan bisa melanjutkan kerjaan gue meskipun gue sudah tidak ada lagi di sini.


Project ini mungkin tidak akan mencapai tingkat teratas dari daftar project yg gue sukai tapi gue tetep senang karena team yg gue pimpin berhasil melakukan sesuatu yg sempat dikatakan tidak mungkin dan tidak masuk akal. Di project ini gue harus menjadi network architect, technical lead, engineer yg juga ikut ngoprek dan megang console, sampai ke tingkat project manager buat mengalokasikan resource, mengatur jadwal dan lain-lain. Gue memang butuh waktu lebih dari 3 minggu, dan kemungkinan project ini baru selesai minggu depan. Tapi gue mengkomunikasikan ini ke customer, bahwa karena sangat sedikitnya informasi maka resiko di project harus dibagi. Dan salah satu resiko adalah waktu yg dibutuhkan menjadi lebih lama, terutama karena gue menemukan bahwa ada banyak network service lain yg harus di migrasi selain VPN customer. Gue bukan tipe orang yg suka membuat alasan. Jadi gue terus terang bilang ke customer ttg semua tantangan di project ini. Dan dgn bekerja sbg satu team, apapun mungkin dilakukan.


Kemarin bangsa Indonesia memperingati hari kemerdekaan. Gue juga berharap hari kemerdekaan gue dari project ini akan segera datang.


Buat yg mengikuti blog gue tentu tahu kalo gue harus melakukan hal lain yg sangat penting minggu depan. Karena tekanan yg sangat tinggi dari Project Riyadh, gue tidak punya kesempatan untuk mempersiapkan diri buat minggu depan. Tapi gue akan mencoba melakukan yg terbaik, seperti biasa.


Kurang persiapan, ya. Kurang percaya diri, tentu tidak.

Project London, here I come.



Friday, July 3, 2009

17 Again


Di tengah-tengah kesibukan gue menghadapi tekanan project di Saudi, persiapan ujian CCDE yg sulit dilakukan dan sudah mepet, dan berbagai tantangan kehidupan pribadi yg harus gue hadapi, sore ini gue mengambil keputusan untuk membeli drum elekronik Yamaha DTXplorer series.


Dulu gue memang sering latihan main drum tiap hari pas SMA dan sempet beberapa kali manggung di acara sekolahan. Membeli drum baru ini bukan usaha untuk kembali ke usia 17 lagi. Walaupun harus gue akui masa-masa SMA itu mungkin merupakan masa yg terindah. Karena gue tidak terlalu banyak berpikir :) Tidak ada yg namanya CCIE, network, NGN bahkan Internet. Yg ada hanya mencoba bermain musik. Dan jual pesona ke gadis-gadis di sekolah. Dan mencoba menyetir mobil orang tua tanpa bilang-bilang untuk jalan-jalan sore. Ah, masa-masa tidak berpikir.



Walaupun demikian indah, tapi gue tidak hidup di masa lalu. Gue adalah gue yg sekarang karena semua keputusan yg gue ambil di masa lalu. Dan salah satu target baru gue dalam hidup memang untuk kembali bermain drum. Bahkan berencana untuk membentuk rock band, dan bermain di event International seperti Networkers! Kalo gue tidak bisa tampil sbg pembicara teknis di sana paling tidak gue bisa berpartisipasi dgn membuat keributan. Rock your world, I will.


Jadi sekarang gue sedang mencoba merekrut member buat band. Kalo ada yang bisa main gitar listrik atau bass, atau bisa nyanyi, dan tidak keberatan buat maenin Matchbox 20, Goo Goo Dolls, The Killers, U2 dan kadang-kadang Metallica, silahkan kirim resume ke gue.


Oh ya, hampir lupa. CCIE itu penting tapi tidak menjadi keharusan buat melamar :) Paling tidak mengerti format paket protokol BGP, atau IPv6 addressing, atau memahami RFC 2547 gue pikir sudah cukup lah.



Wednesday, June 3, 2009

Take Control Our TV


Ketika Cisco Systems membuat router yg kemudian menjadi produk router komersial pertama di dunia, tujuan utamanya adalah mengkoneksikan network dgn media fisik dan protocol yg berbeda. Saat itu tidak ada niatan untuk membedakan produk router utk berbagai segment yg berbeda, misal untuk Service Provider atau Enterprise. Hasilnya adalah produk-produk router tanpa ada pemisahan yg jelas di spesifikasi teknis untuk segment pasar yg berbeda. Semuanya menjalankan legacy IOS yg sama dan setiap router bisa menjalankan semua fitur walaupun tidak diperlukan.


Untungnya Cisco menyadari bahwa tidak ada satu produk untuk menjadi solusi dari semua kebutuhan. Sebuah project rahasia mulai dijalankan di akhir tahun 90-an untuk membuat next generation router dgn arsitektur hardware baru dan juga operating system yg baru. Ketika Cisco CRS-1 diluncurkan bulan Mei 2004 jelas terlihat bahwa produk ini adalah jawaban dari kebutuhan para Service Providers untuk core router yg handal, memiliki performance tinggi dan skalabilitas. Dan produk yg baru saja merayakan 5 tahun peluncuran bulan lalu itu terus berhasil mengalahkan ekspektasi dan sudah digunakan di lebih dari 300 service providers di dunia.


Setelah berhasil membuat suatu produk seperti ini, apa langkah selanjutnya? Tentunya berusaha membuat produk lain dgn cara menggunakan teknologi yg sudah berhasil dikembangkan. Arsitektur hardware dan IOS XR yg sudah terbukti kembali digunakan di produk baru Cisco ASR9000 router. Gue pribadi sangat bersemangat dgn produk ini karena tidak saja Cisco berhasil meluncurkannya di tengah krisis ekonomi global (ada beberapa produk lain yg sudah dibangun selama bertahun-tahun tapi harus dibatalkan karena krisis, dan mungkin kita harus menunggu kondisi ekonomi untuk membaik sebelum bisa melihat inovasi-inovasi baru lagi) dan juga ASR9000 menggunakan arsitektur hardware yg mirip dgn CRS-1 yg sudah terbukti di banyak production network.


Cukup sudah ngomongin sejarah, saatnya untuk membahas poin utama di tulisan gue ini.


Seperti kita tahu kebutuhan akan IP Video services menjadi faktor utama untuk mengembangkan banyak teknologi. Kita hidup di jaman High Definition di mana kualitas gambar DVD pun sudah tidak cukup. Dan kita mau video tsb bisa dikirim ke TV kita di rumah melalui network. Dulu kita sudah cukup puas dgn YouTube tapi sekarang kita ingin lebih. Kita mau kualitas yg lebih tinggi. Kita mau agar bisa menonton film secara utuh. Kita ingin punya kontrol kapan dan di mana kita mau menonton film. Video harus selalu tersedia kapan saja dan di mana saja selama kita masih terkoneksi dgn network.


Ini berarti kita memerlukan network dgn performance tinggi untuk bisa mengirim video. Kita harus memastikan paket-paket digital dari video bisa di switch secepat mungkin oleh network. Kita butuh storage yg semakin besar buat menyimpan video. Dan jangan lupa paket video ini harus berkompetisi dgn paket jenis lain di network. Ini berarti fitur Quality of Services harus bisa digunakan untuk untuk berbagai tipe paket dan menjamin service ini.


The Buggles pernah bilang Video Killed the Radio Star. Tapi saat ini video juga membunuh bandwidth, membuat infrastruktur network dan router-router bekerja di performance maksimum, dan memenuhi penyimpanan di storage kita dgn cepat. Dan Cisco adalah pemimpin industri di service ini dgn memiliki semua produk yg diperlukan untuk memberi end-to-end video service.


Ketika vendor-vendor lain sibuk mengkampanyekan bagaimana mereka bisa dengan cepat membawa fitur-fitur yg bekerja secara independen ke market, Cisco sudah melakukan hal yg jauh lebih maju. Tidak saja Cisco bisa menyediakan semua produk yg diperlukan untuk membangun solusi yg komplit, tapi juga mereka menunjukkan bagaimana solusi ini bisa dibangun berikut dgn hasil test yg dilakukan oleh third-party testing vendor.



Light Reading dan EANTC kemaren mengeluarkan laporan tentang bagaimana mereka menguji Cisco’s IP Video Service Delivery network. Test nya meliputi: the high availability with sub-second failover time for all network services, in-line video quality monitoring, massive scalability of IP video services and storage area network solutions and virtualization. Produk yg digunakan di dalam solusi adalah Cisco CRS-1, ARS9000, Cisco 7600-S dan Nexus.


Hasilnya adalah sebagai berikut:


- 8,188 multicast groups were replicated across 240 egress ports in a point of presence (PoP), showing that Cisco could serve 1.96 million IP video subscribers in a single metro PoP
- Accurate in-line video monitoring was demonstrated for video distribution and contribution over IP
- Sub-50 millisecond failover and recovery times were shown for video distribution and secondary distribution networks using, for the first time in a public test of Cisco equipment, point-to-multipoint RSVP-TE
- No video quality degradation in the face of realistic packet loss in the network
- Excellent quality of service (QoS) enforcement in Cisco’s new ASR 9010 router for both fabric oversubscription and head-of-line blocking
- Hitless control plane failover for converged network


Seperti gue pernah bilang, TV is evil. Tapi on-demand TV bukan. Karena sekarang kita yg pegang kontrol TV kita sepenuhnya.


Silahkan membaca hasil laporan dari test tsb.



Tuesday, March 31, 2009

Pendaftaran CCDE Practical Exam Dibuka!


Pendaftaran untuk CCDE practical lab sudah dibuka mulai tanggal 1 April. Hanya ada 3 tempat di dunia: Chicago, London atau Hong Kong. Ujiannya sendiri masih utk tanggal 26 Agustus 2009.


Cara mendaftar:
1. Lulus ujian CCDE qualification 352-001 exam
2. Punya account di pearsonvue.com (pastinya dong, soalnya pas mau ujian CCDE qualification harus bikin)
3. Klik link di Cisco Learning Network.
4. Klik salah satu lokasi di Registration Steps poin no.2: Chicago, London atau Hong Kong.
5. Lokasi yg dipilih akan me-redirect kita ke website pearsonvue, login, pilih 352-011 CCDE Practical, trus ikutin petunjuk buat bayar.


Buat orang Indo, yg murah sepertinya ke Hong Kong (ada jetstar airways, dan tidur bisa di hotel yg murah) dan juga tidak perlu Visa. Kalo ada yg mau bareng ama gue pilih London :)


Tempat sangat terbatas, jadi yg tertarik silahkan register secepatnya.



Thursday, March 5, 2009

Mendalami Arsitektur Router, Bagian I


Waktu gue masih muda ceile heheh gue sering melihat router hanya sebagai “black box” atau “node”. Maksudnya, gue dulu tidak tertarik untuk melihat proses switching paket di dalam router itu sendiri dan lebih fokus ke protokol komunikasi dan fitur yg dijalankan antar router. Sebenernya mungkin bukan tidak tertarik. Tapi kalo tidak bekerja di perusahaan yg membuat router, memang bisa kita mendapat informasi yg sangat mendetil tentang ini? Paling tidak sekarang gue punya kesempatan untuk mendalami arsitektur router secara lebih detil.


Dan memang sebenernya pengetahuan tentang proses di dalam router tidak selalu dibutuhkan dalam kehidupan network engineer sehari-hari. Bahkan para CCIE sekalipun bisa jadi hanya melihat router sbg box yg memiliki banyak interface, yg berfungsi mem forward paket ke router berikutnya berdasarkan routing table yg dibangun secara dynamic maupun static. Maka biasanya kita lebih memberi fokus ke komunikasi antar router untuk membangun routing table itu ketimbang proses switching paket dari satu interface ke interface lain di dalam router. Sebagai contoh di OSPF, diskusi tentang LSA, database, algoritma SPF dll bisa sangat membingungkan, terutama jika kita harus melakukan redistribusi dgn protokol IGP yg lain atau BGP dan sebagainya. Sehingga yg penting itu adalah kita bisa melihat routes atau prefix tujuan di routing table, dan jika tidak ada filter atau policy yg lain, biasanya kita mengasumsikan paket akan di proses oleh si black box dan di forward ke box berikutnya dan seterusnya. Kemudian kita akan berurusan dgn fitur lain maupun aplikasi yg dijalankan di atas routing, misalnya MPLS, Traffic Engineering, VPN dll.


Jadi buat kebanyakan orang mungkin sudah cukup untuk mengatakan proses switching paket di dalam router adalah dari interface input, biasa disebut ingress, ke interface output atau egress. Mungkin ketika belajar CCIE kita akan mendalami sedikit untuk mengerti urutan dari implementasi beberapa fitur ketika dijalankan secara bersamaan. Misal, apakah NAT duluan atau Access Control List? Bagaimana dgn Policy Based Routing yg bisa membuat routing table diabaikan? Dan sebagainya. Tapi kita tidak pernah benar-benar melihat komponen apa saja di dalam router dan fungsi mereka dalam mem forward paket.


Mengapa penting untuk mengerti proses switching packet internal?
Buat gue pribadi, untuk mengerti keterbatasan dari implementasi protokol dan fitur karena hardware. Dan gue pikir ini penting buat setiap network designer. Kita bisa saja membangun network design berdasarkan data sheet. Jadi kita bisa merekomendasikan jumlah dan tipe hardware untuk core router, aggregation, access dst. Kemudian kita bisa merekomendasikan protokol dan fitur apa yg harus dijalankan, lengkap dgn konfigurasinya yg kita ambil dari Configuration Guide di website vendor router. Kenyataannya, walaupun untuk protokol itu ada standar internasional spt IEEE maupun RFC, tapi implementasi tiap vendor bisa berbeda karena pengertian masing-masing terhadap standar itu. Bisa jadi juga karena vendor menemukan metoda sendiri ketika mengikuti standar. Dan untuk beberapa fitur, atau bagaimana suatu protokol di implementasikan, sangat tergantung dari arsitektur hardware router. Jadi setelah network yg kita design selesai dibangun dan sudah jalan, mungkin baru kita mulai melihat adanya limitasi di performance atau isu dgn skalabilitas ketika jumlah traffic di network tinggi maupun ketika ingin mengembangkan design tersebut.



Gambar di atas bisa digunakan untuk memahami proses switching paket yg sangat sederhana. Paket datang dari media network dan kabel tentunya dgn Layer 3 dan Layer 2 dari standar TCP/IP stack. Interface processor di router mampu untuk mengambil paket tsb, memeriksa header Layer 2 sekaligus membuang header tsb, dan mengirimkan paket tadi ke route processor utk diproses lebih lanjut. Sambil menunggu route processor melakukan lookup atau pencarian di routing table (dan forwarding table) tentunya paket itu harus disimpan di suatu buffer atau queue. Setelah next hop dari tujuan si paket ditemukan di table, maka route processor sekarang tahu ke interface mana paket harus dikirimkan. Kemudian paket dapat dipindahkan ke output queue, tempat untuk menunggu sebelum paket bisa dikirimkan ke media network, dan paket akan di re-write atau mendapat layer 2 header yg baru yg berisi informasi untuk next hop berikutnya, kemudian paket keluar dari router melalui interface. Input queue atau output queue ini bisa virtual, jadi si paket sebenarnya berada di memory fisik yg sama dan tidak pernah berpindah. Tapi dgn membuat dua kondisi yg berbeda ketika paket berada di input queue (sebelum dilakukan lookup) dan ketika sesudah berada di output (setelah lookup dan tahu paket harus dikirim ke interface yg mana), maka router bisa menjalankan fitur atau melakukan perlakuan yg berbeda terhadap si paket di dua kondisi tersebut.


Jadi kata kuncinya adalah: Layer 3 dan layer 2 header, routing table dan forwarding table, lookup, perpindahan packet ke lokasi atau queue yg berbeda, output queue, layer 2 re-write.


Mari kita melihat sekali lagi dgn lebih detil. Ini adalah gambar dari buku Inside Cisco IOS Architecture karangan Vijay Bollapragrada, untuk proses switching paket yg sederhana yg disebut process switching.



Ketika interface processor menerima paket dari network media di input interface atau ingress, paket tsb harus disimpan di buffer atau memory (1) dan di saat yg bersamaan harus meng-interrupt main processor (2) untuk memberi tahu ada paket yg harus diproses. Buku ini fokus ke arsitektur software, maka dijelaskan kalo processor akan memanggil proses yg disebut ip_input di Cisco (3) untuk melakukan lookup di routing dan forwarding table. Lookup ini menghasilkan ke interface output atau egress mana paket harus dikirmkan (4). Processor kemudian melakukan layer 2 re-write atau memberi layer 2 header baru ke paket (5) dan memindahkan paket tadi untuk diproses oleh processor di interface egress (6), sehingga akhirnya paket keluar lagi ke network media. Step 7 hanya menjelaskan bahwa main processor akan diberi tahu kalau paket sudah dikirimkan keluar, sehingga memory yg digunakan untuk menyimpan paket bisa dibebaskan dan counter di interface bisa dinaikkan sesuai dgn jumlah paket yg keluar.


Gue harus mengakui kalo gue tidak akan bisa menjelaskan sebagus Vijay (dan pengarang lainnya), jadi gue menyarankan untuk membaca buku ini buat yg masih penasaran. Tapi poin utama gue disini adalah untuk menekankan ada hal-hal lain yg harus dilakukan selain lookup di routing table, yaitu memindahkan paket itu sendiri dari interface ingress ke egress, re-write layer 2 header ke paket dll yg akan menjadi penting dalam diskusi berikutnya.


Jadi mengapa penting untuk mengerti proses internal untuk switching paket di dalam router? Biasanya kita memang selalu fokus ke proses interaksi antar router dgn protokol routing untuk memastikan routing table bisa dibangun. Setelah table tsb jadi, proses lookup Layer 3 itu sendiri dapat dilakukan dgn sangat cepat. Untuk setiap paket yg datang kita harus melakukan pencarian di database yg berisi daftar network tujuan yg diketahui dgn interface egress yg berhubungan. Proses lookup atau pencarian bisa dilakukan sgt cepat terutama karena vendor spt Cisco sudah mengembangkan mekanisme dan algoritma sehingga perbandingannya tidak perlu satu-satu di daftar dari atas sampai bawah. Dgn menggunakan Cisco Express Forwarding (CEF), input dari routing table akan menjadi dasar pembuatan struktur data mtrie seperti digambarkan di bawah. Dgn melakukan proses lookup seperti di gambar, ketika entry ditemukan maka akan ada pointer ke table lain yg disebut adjacency table, yg berisi informasi dari Layer 2 untuk next hop tujuan.



Gue tidak mau terlalu detil mendiskusikan masalah lookup di CEF ini, karena ada satu buku berjudul sama yg khusus didedikasikan untuk itu. Dan gue mau mendiskusikan lebih ke arah arsitektur router hardware ketimbang algoritma CEF, jadi gue sarankan untuk membaca buku Cisco Express Forwarding tersebut dan juga buku Vijay yg tadi.


Sekarang mari bicara tentang proses perpindahan paket dari interface ingress ke egress. Seperti sudah dijelaskan sebelumnya, paket bisa disimpan di central memory selama menunggu proses lookup dilakukan. Jadi interface ingress bisa mengirimkan paket ke sana, dan kemudian egress bisa mengambil paket tsb dari tempat yg sama. Dgn prinsip spt ini terlihat bahwa keterbatasan atau bottleneck dari si proses ada di performance central memory, dan juga kemampuannya untuk melayani beberapa request dari interface processor yg berbeda secara bersamaan.



Untuk meningkatkan performance memory, penggunaan local memory di interface bisa dilakukan. Jadi paket akan disimpan di local memory interface ingress, kemudian di copy ke central memory melalui komunikasi bus yg bisa diakses interface mana saja, dan kemudian egress tujuan akan meng-copy paket tsb ke local memory nya. Mungkin timbul pertanyaan, mengapa dari ingress local memory tidak langsung dikirimkan ke egress local memory? Tunggu dulu. Ini bisa saja dilakukan tapi berarti si interface processor di ingress harus lebih pintar dan melakukan proses lookup sendiri untuk menentukan ke interface egress mana paket harus dikirimkan. Ini akan gue diskusikan di bagian berikutnya.


Ketika kita membuka penutup router lama utk kelas mid-range atau menengah, kemungkinan kita akan melihat sesuatu yg mirip spt gambar di bawah. Main board adalah komponen dasar tempat meletakan semua komponen lain untuk saling dihubungkan. Ada central atau main route processor, central memory, network card untuk interface keluar, PCI bus untuk komunikasi dari network card ke route processor, dan komponen lain spt flash memory tempat menyimpan software image si router, boot ROM untuk menyimpan firmware atau program kecil yg digunakan untuk booting router sebelum software image bisa dijalankan, dan sebagainya.



Balik lagi ke kata kunci: Layer 3 dan layer 2 header ada di dalam paket. Input queue atau buffer bisa berada di local memory ingress network card atau di central memory. Routing table dan forwarding table dibangun oleh route processor dgn menggunakan protokol routing untuk berkomunikasi dgn router-router lain. Layer 3 lookup (dan juga proses pencarian informasi untuk layer 2 next hop tujuan) dilakukan oleh route processor dgn menggunakan algoritma yg membandingkan tujuan si paket dgn daftar di routing table dan forwarding table. Proses perpindahan paket antara lokasi atau queue yg berbeda, bisa berarti paket dari local memory ingress network card di copy ke central memory menggunakan PCI atau komunikasi bus, untuk kemudian di copy oleh engress network card ke local memory nya. Output queue bisa ada di local memory egress network card atau central memory. Layer 2 re-write untuk memberi header layer 2 yg baru ke paket dilakukan oleh route processor sebelum paket bisa dikirimkan keluar router. Fitur-fitur spt filter ataupun NAT dilakukan oleh route processor. Menjalankan fitur di interface ingress atau egress bisa berarti route processor akan menjalankan fitur ke paket untuk kondisi sebelum lookup dilakukan dan sesudah lookup dilakukan, ketika interface egress sudah diketahui.


Apakah gambar yg terakhir mengingatkan kita akan sesuatu? Ya, gambar itu mirip sekali dgn gambar skema dan komponen dari sebuah PC! Ini adalah alasan mengapa beberapa orang yg berbakat bisa membuat software router mereka sendiri, untuk dijalankan oleh PC normal, menambahkan beberapa network card, dan meng-klaim bahwa router bikinan mereka bisa mengalahkan router bikinan vendor yg dijalankan di hardware khusus.


Pendapat gue tentang ini: tergantung. Jika kita membandingkan router bikinan di atas PC tadi dgn router lama di kelas mid-range, ini bisa saja benar. Karena hampir semua hal dilakukan oleh cetral processor dan memory, seperti halnya PC, sehingga yg harus kita lakukan adalah membuat software router yg mampu melakukan lookup dan switching paket, dan melakukan optimisasi untuk memastikan resource tsb digunakan dgn lebih baik.


Tapi bagaimana dgn fitur-fitur baru di next generation network? Fitur-fitur tsb sangat kompleks dan membutuhkan kerja sama team, termasuk juga non-teknis untuk membuat keputusan bagaimana suatu protokol dan fitur harus diimplementasikan meskipun sudah ada standar. Dan di bagian kedua gue akan menjelaskan apa yg vendor sudah lakukan untuk membuat router modern atau next generation router. Karena tentunya tantangannya bukan lagi melakukan switching paket dari interface ingress ke egress, tapi bagaimana melakukan itu secara cepat. Dan ini harus dilakukan secara konsisten untuk paket dgn tipe yg berbeda-beda, dgn besar paket yg berbeda, dgn jumlah yg sangat besar untuk mengakomodasi besarnya traffic di network sekarang ini. Kemudian tantangan berikutnya adalah bagaimana untuk menjalankan beberapa fitur yg harus dilakukan di hardware, sbg contoh bagaimana memberikan perlakuan yg berbeda ke paket di interface egress berdasarkan prioritas untuk dikirimkan ke network media. Atau ketika proses re-write layer 2 di paket harus dilakukan di hardware supaya bisa mendapat performance yg maximum.


Jika sudah membaca sejauh ini dan merasa informasi yg dibutuhkan sudah cukup dalam kerjaan sehari-hari, dan merasa lebih penting untuk berfokus ke komunikasi antar router, atau protokol dan fitur yg harus dijalankan di beberapa router, maka silahkan untuk tetap melihat sebuah router itu sbg black box atau node dgn banyak interface untuk paket masuk dan keluar. Dan tidak perlu untuk membaca bagian berikutnya dimana gue akan mendiskusikan dgn lebih detil bagaimana proses switching paket di dalam paket bekerja.


Akhir dari bagian pertama.



Monday, February 16, 2009

Menjadi CCIE Dengan Simulator FAQ


Gue menerima banyak email yg menanyakan hal-hal yg berhubungan dgn menjadi CCIE dgn menggunakan simulator/emulator. Gue jadikan FAQ berikut.


Mana yg lebih baik untuk latihan CCIE, emulator atau real lab?
Tergantung. Dynamips adalah sebuah emulator yg “menipu” IOS software beneran sehingga mau dijalankan di PC biasa. Sampai sekarang dynamips mensupport IOS untuk Cisco router tipe 7200, 3600, 3700 dan 2600. Jadi kalo kita harus mencoba feature untuk switch ataupun router diluar itu kita harus menggunakan real lab.

Apa sebenernya kekurangan dynamips?

Performance, walaupun ini tidak penting buat latihan CCIE, juga feature yg tergantung dari hardware/linecard spt beberapa feature QoS, dan feature diluar IOS yg sudah disupport dynamips seperti L2 feature dari Cisco switch 3550 dan 3560. Dan ketika menggunakan dynamips, jika ada masalah yg dihadapi kita harus tahu apakah masalahnya dari config yg salah, bugs di IOS atau bug di dynamips itu sendiri.

Track CCIE mana yg bisa dilatih hanya dgn emulator?

Untuk track Service Provider, kita bisa latihan sampai hampir 100% dari feature yg diujikan. Dan meskipun ada switch di track ini tapi fokus utamanya adalah infrastruktur core network sebuah ISP jadi gue percaya kita tidak perlu latihan terlalu dalam untuk feature L2 switch. Untuk track Routing & Switching, gue pikir dynamips masih bisa cover sampai 90% dari feature yg diujikan. Walaupun emulator ini sudah support ethernet module tapi memang belum bisa digunakan untuk mengetes feature L2 switch seperti VTP dan STP. Tapi kalo hanya L3 feature dari switch 3550 atau 3560 sebenarnya bisa dilakukan atau akan memiliki kesamaan prilaku dgn menggunakan router. Untuk security, dynamips masih bisa digunakan untuk latihan IOS Firewall, IOS IDS, VPN antara router, dan feature security dari router (ACL, NAT, RTBH dll) . Hanya memang lebih dari setengah feature yg diuji harus dilakukan di Firewall, VPN, IDS dan Cisco Secure ACS beneran. Untuk track yg lain sepertinya emulator ini tidak terlalu bermanfaat. Coba lihat CCIE lab blueprint dan daftar peralatan CCIE lab untuk mendapat gambaran lebih jauh.


Apa yg hanya bisa didapat di real lab?
Menggunakan real lab berarti kita akan bisa menguji semua feature yg ditanyakan atau terdaftar di CCIE lab blueprint. Kita juga mendapat performance router beneran, kemampuan untuk menguji feature yg bergantung dgn hardware/linecard, dan kita juga bisa menjualnya kembali setelah selesai. Terakhir, suara bising yg keluar dari real lab. Gue dulu sering tidur di sebelah lab gue jadi sampai sekarang gue merasa kadang-kadang suka mendengar suara bising tersebut di kepala.


Jadi bagaimana cara mengatasi kekurangan dynamips?
Ada beberapa pilihan. Kita bisa beli real lab walaupun ini berarti kita harus mencoba membuat lab yg sama persis dgn CCIE lab, yg berarti investasi yg dikeluarkan bisa mahal. Namun ketika sudah selesai, dan kondisi lab kita masih bagus, bisa jadi kita jual kembali real lab itu ke orang lain yg sedang belajar CCIE tanpa rugi sepeserpun. Pilihan lain adalah dgn menyewa online rack di Internet. Keuntungannya adalah kita hanya perlu PC biasa dan koneksi Internet untuk bisa latihan dari manapun, dan kita tidak perlu investasi besar di awal seperti kalo harus membeli real lab, walapun tentunya uang yg kita gunakan untuk membayar rental tidak akan kembali. Pilihan lain yg bagus adalah menggabungkan antara dynamips dan online rack. Jadi kita latihan sebanyak mungkin dgn dynamips dan ketika sudah dekat waktu ujian sewa online rack buat latihan. Untuk track seperti Security, bisa saja kita beli Firewall dan VPN kemudian dikoneksikan ke dynamips untuk latihan. Kemudian untuk belajar IDS, dan latihan dgn komplit lab, kita bisa sewa online rack selama beberapa hari. Tulis semua pilihan yg mungkin, beserta untung rugi masing-masing, sebelum memutuskan mau pakai yg mana.

Ada gak orang yg lulus CCIE dgn dynamips saja?

Ada. Gue kenal banyak orang yg lulus CCIE dgn menggunakan hanya dynamips atau emulator lain. Bahkan gue pribadi untuk CCIE yg ke-3 di track Service Provider hanya menggunakan emulator yg mirip dgn dynamips. Dan tidak, gue tidak akan menjelaskan itu apa, baik di sini maupun lewat email jika ada yg mau bertanya lebih jauh tentang apa yg gue pakai dulu itu.


Apakah orang yg lulus CCIE dgn dynamips bisa disebut CCIE juga, apalagi kalo tidak pernah pegang router beneran?
Lah, ya iya dong. CCIE itu kan didapat hanya dgn lulus ujian lab. Yang penting justru setelah itu, dimana CCIE harus punya pengalaman dan skill yg benar-benar bisa digunakan di kehidupan nyata. Jadi bisa jadi seseorang tidak pernah pegang router beneran dan lulus CCIE dgn hanya menggunakan dynamips. Setelah jadi CCIE dia harus punya pengalaman di kehidupan nyata. Ini yg menjadi pembeda antara CCIE yg satu dgn yg lain.


Tolong ajarin cara mengkonfigur dynamips ya?
Gak. RTFM. Googling


Boleh kirim IOS buat digunakan di emulator?
Gak. Dan sebenernya menggunakan IOS tanpa license itu melanggar hukum. Tapi kalo cuman untuk di lab sepertinya Cisco tidak akan mengejar-ngejar. Tapi gue tidak akan mengirim IOS ke siapapun.


Bagaimana untuk menemukan info jika ada masalah di dynamips?
Sekali lagi, RTFM dan Googling. Dan sangat baik jika mau bergabung dgn milis dan forum yg membahas ttg dynamips. Seperti gue sebutkan di atas, jika ada masalah ketika latihan CCIE dgn dynamips kemungkinan itu adalah masalah di salah config, atau IOS bugs, atau bug di dynamips. Dgn bergabung secara aktif di milis maka kita bisa berdiskusi dan membahas jika ada masalah dgn dynamips nya sendiri. Sehingga kita bisa membantu komunitas untuk menjaga dan mengembangkan emulator yg hebat ini.


Jadi kesimpulannya, mendingan pake emulator atau real lab?
????!@#$%^&* Balik lagi ke atas dan baca lagi dari awal.