Proses PPPoE dengan Contoh Paket di Wireshark

Sebagian dari kita mungkin mengenal PPPoE sebagai salah satu parameter setting yang ada di rumah kita saat menggunakan Telkom ADSL Speedy. Apa itu PPPoE ? Menurut Wikipedia, PPPoE adalah sebuah protocol jaringan untuk melakukan enkapsulasi frame Point-to-Point Protocol(PPP) di dalam paket Ethernet, biasanya dipakai untuk jasa layanan ADSL untuk menghubungkan modem ADSL di dalam jaringan Metro Ethernet.
Minggu lalu, saya kebetulan mendapatkan kesempatan untuk mencoba sebuah peralatan ADSL CPE baru untuk melakukan koneksi PPPoE. Customer saya menginginkan peralatan ADSL CPE tersebut untuk menyediakan 4 layanan yaitu voice, video, internet dan data. Untuk keperluan internet, customer tersebut menginginkan authentication PPPoE supaya dapat bermain di internet. Setting PPPoE pada modem ADSL Speedy seperti di rumah-rumah kita, tentunya sangat mudah, namun untuk permintaan customer saya yang satu ini tentunya tidak begitu mudah.
PPPoE, adalah Point-to-Point, di mana harus ada satu point ke satu point lagi. Lalu, apabila point yang pertama adalah ADSL CPE kita, lalu di mana point satu nya lagi ? Harus ada, dong ? Kalau tidak, bukan Point-to-Point namanya. Tapi, bagaimana si ADSL CPE bisa tahu point satunya lagi apabila kita (biasanya) hanya mendapatkan username dan password dari Telkom?
Ternyata, setelah membaca dari Wikipedia, ada beberapa tahapan proses untuk PPPoE, yaitu PADI, PADO, PADR dan PADS. Untuk belajar lebih lanjut tentang PPPoE, maka saya mencoba untuk menangkap paket dari proses PPPoE menggunakan Windows XP sebagai PPPoE client ( Tinggal Create new connection > Connect to Internet > Set up connection Manually> Connect using a broadband connection). Sebagai PPPoE Access Concentrator, saya menggunakan produk Allied Telesis AT-Rapier24i.
Tahap awal dari PPPoE, adalah PADI ( PPP Active Discovery Initiation ), terlihat di paket nomor 6. Di sini computer saya mengirimkan paket broadcast ke jaringan. PPPoE client perlu untuk mencari di mana lokasi Access Concentrator di sisi ISP. Paket broadcast di bawah dapat diketahui dengan mudah karena destination mac address nya adalah FF:FF:FF:FF:FF:FF.
Setelah paket PADI, dilanjutkan dengan paket PADO (PPPoE Active Discovery Offer). PADO ini merupakan jawaban dari Access Concentrator atas PADI yang didapatkan sebelumnya (paket nomor 7).
Dari paket PADO di atas, dapat dilihat nama access concentrator beserta MAC addressnya, untuk proses selanjutnya. Pada contoh ini, nama access concentrator adalah “Training-57685613″.
Paket nomor 8, yaitu PADR ( PPP Active Discovery Request ), merupakan konfirmasi dari pihak client ke access concentrator. Di sini dapat dilihat destination MAC address dari paket client sudah ada isinya (00:00:cd:08:8c:b0), berbeda dengan paket PADI yang masih berupa broadcast.
Akhir dari proses PPPoE, adalah paket nomor 9, yaitu PADS ( PPP Active Discovery Session-confirmation ), yang diluncurkan oleh Access Concentrator ke client. Session-confirmation di sini memang berarti ada session ID yang diberikan oleh si Access Concentrator kepada client. Seperti terlihat di contoh di bawah ini, computer saya mendapatkan session id 0x868e.
Jika proses PPPoE sudah berakhir, lalu di mana tempat authentication username dan password ? Anda benar, memang belum seutuhnya selesai. Masih ada hal lain yang dilakukan. Sampai saat ini, baru diperoleh session ID PPPoE saja. Proses selanjutnya adalah PPP LCP dan PPP IPCP. Berikut adalah contoh paket PPP LCP lanjutan dari PADS (paket ke-10), dan terlihat jelas bahwa PPP LCP dilakukan dengan menggunakan session id yang telah diberikan oleh AC sebelumnya, yaitu 0x868e :
Setelah itu, dilanjutkan dengan banyak paket-paket PPP LCP berikutnya, yang sepertinya adalah negosiasi authentication, dan pada paket nomor 23 misalnya, terjadi proses challenge untuk password, dan dibalas dengan CHAP response.
Setelah kedua belah pihak saling sepakat pada level PPP LCP, langkah terakhir adalah negosiasi IP address dari client, yang terjadi di paket-paket PPP IPCP. Dalam contoh paket yang saya tangkap, saya mendapatkan IP address 10.20.80.100 :
Paket nomor 36 merupakan akhir dari proses PPPoE client ke Access Concentrator. Setelah itu, semua paket-paket akan memakai ip address 10.20.80.100. Sebagai contoh, seperti paket berikut :
Dari contoh screenshot di atas, terlihat jelas… walaupun source IP address paket nomor 47 adalah 10.20.80.100, namun sebenarnya paket ini juga memiliki PPPoE header, dengan session ID 0x868e, yaitu session yang kita bahas mulai dari awal tulisan. Di sinilah dengan jelas dapat kita ketahui maksud dari kata “PPP over Ethernet”, yaitu IP di atas PPPoE, dan PPPoE di atas Ethernet.
Pada saat client ingin meng-disconnect koneksinya, juga akan timbul beberapa paket lagi, yaitu PADT ( PPP Active Discovery Terminate ), seperti terlihat pada paket berikut :
Semoga dengan artikel singkat ini kita bisa mengetahui lebih banyak tentang PPPoE, dan dapat diterapkan di pekerjaan kita sehari-hari sebagai networkers.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar

Blogger templates