Proses PPPoE dengan Contoh Paket di Wireshark

Agustus 2, 2009 pukul 9:37 pm | Ditulis dalam Wireshark Experience | 9 Komentar
Tag: , , , , , , , ,

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.

9 Komentar »

RSS feed for comments on this post. TrackBack URI

  1. thanks, dg baca ini saya jadi tahu paket2 pppoe

  2. wah kereen, tapi saya masih bingung nih hihihi, darimana kita bisa tau data yang kita kirimkan itu serta paket2nya, karena begitu banyak paket yang ada. bagian mananya yang menunjukkan bahwa paket selanjutnya itu adalah feedback dari paket sebelumnya? mohon maaf saya banyak bertanya karena saya ingin belajar

    • Mas wawan, memang tidak mudah… kalau paketnya berjenis TCP, akan lebih gampang, karena wireshark ada feature untuk follow TCP stream… tapi kalau untuk UDP sedikit lebih sulit. Yang paling sering dilakukan adalah membuat display filter, dengan (ip source = x atau ip source = y), di mana x dan y adalah ip address dari komputer yang saling berkomunikasi. Dengan demikian, kita ‘sedikit’ lebih mudah melakukan analisa paketnya.

  3. gimana sih cara ngebaca code di wireshark kalau kita klik kanan, trus follow tcp stream? tolong yah dibales… thanks,

    • Salam kenal,
      Follow TCP stream, sepengetahuan saya adalah membuat wireshark menampilkan khusus hanya tcp stream yg bersangkutan. Untuk membacanya, di bagian bawah ada tombol seperti ASCII, EBCDIC, Hex Dump, dsb. Kalau setelah ditekan tombol ASCII dan tetap tidak terbaca, berarti bukan read-able format. Biasanya saya lakukan Filter Out This Stream, untuk memfilter khusus flow tersebut untuk analisa lebih lanjut.

  4. Mas, boleh ngak share sample pcap filenya?

    • nanti saya cari dulu yah… Setahu saya, di wireshark.org juga ada banyak sample pcap. Coba dicari ke sana dulu biar cepat🙂 thanks🙂

  5. asss…..wr.wb
    maaf pak, saya mau membuat tgs akhir tentang PPPOE. tapi saya bingung kira2 kebutuhan yg dibutuhkan untuk membangun ini apa saja. secukupnya ajalah. dan design topologinya gmn?
    judulnya ” perancangan dan implementasi VPN dengan PPPOE”
    mohon bantuanya pak
    trimakasih

  6. minta ya…^_^..buat ngerjain tugas hhehehe


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Buat situs web atau blog gratis di WordPress.com.
Entries dan komentar feeds.

%d blogger menyukai ini: