Cara kerja protokol PIM

Protokol PIM adalah sekumpulan protokol untuk transmisi multicast dalam jaringan antar router. Hubungan lingkungan dibangun dengan cara yang sama seperti dalam kasus protokol perutean dinamis. PIMv2 mengirimkan pesan Hello setiap 30 detik ke alamat multicast yang dicadangkan 224.0.0.13 (All-PIM-Routers). Pesan tersebut berisi Hold Timers - biasanya sama dengan 3.5*Hello Timer, yaitu 105 detik secara default.
Cara kerja protokol PIM
PIM menggunakan dua mode pengoperasian utama - mode Padat dan Jarang. Mari kita mulai dengan mode Padat.
Pohon Distribusi Berbasis Sumber.
Mode mode padat disarankan untuk digunakan dalam kasus sejumlah besar klien dari grup multicast yang berbeda. Ketika router menerima lalu lintas multicast, hal pertama yang dilakukannya adalah memeriksa aturan RPF. RPF - aturan ini digunakan untuk memeriksa sumber multicast dengan tabel routing unicast. Lalu lintas harus tiba di antarmuka di mana host ini disembunyikan sesuai dengan versi tabel perutean unicast. Mekanisme ini memecahkan masalah loop yang terjadi selama transmisi multicast.
Cara kerja protokol PIM
R3 akan mengenali sumber multicast (Sumber IP) dari pesan multicast dan memeriksa dua aliran dari R1 dan R2 menggunakan tabel unicastnya. Aliran dari antarmuka yang ditunjukkan oleh tabel (R1 ke R3) akan ditransmisikan lebih lanjut, dan aliran dari R2 akan dibuang, karena untuk sampai ke sumber multicast, Anda perlu mengirim paket melalui S0/1.
Pertanyaannya adalah, apa jadinya jika Anda memiliki dua rute setara dengan metrik yang sama? Dalam hal ini, router akan memilih hop berikutnya dari rute-rute ini. Siapa pun yang memiliki alamat IP lebih tinggi akan menang. Jika Anda perlu mengubah perilaku ini, Anda dapat menggunakan ECMP. Keterangan lebih lanjut di sini.
Setelah memeriksa aturan RPF, router mengirimkan paket multicast ke semua tetangga PIM-nya, kecuali tetangga dari mana paket tersebut diterima. Router PIM lain mengulangi proses ini. Jalur yang diambil paket multicast dari sumber ke penerima akhir membentuk pohon yang disebut pohon distribusi berbasis sumber, pohon jalur terpendek (SPT), pohon sumber. Tiga nama berbeda, pilih salah satu.
Bagaimana mengatasi masalah bahwa beberapa router tidak menyerah pada beberapa aliran multicast dan tidak ada orang yang mengirimkannya, tetapi router upstream mengirimkannya kepadanya. Mekanisme Prune diciptakan untuk ini.
Pangkas Pesan.
Misalnya, R2 akan terus mengirimkan multicast ke R3, meskipun R3, menurut aturan RPF, membatalkannya. Mengapa memuat saluran? R3 mengirimkan Pesan Prune PIM dan R2, setelah menerima pesan ini, akan menghapus antarmuka S0/1 dari daftar antarmuka keluar untuk aliran ini, daftar antarmuka dari mana lalu lintas ini harus dikirim.

Berikut ini adalah definisi yang lebih formal dari pesan PIM Prune:
Pesan PIM Prune dikirim oleh satu router ke router kedua menyebabkan router kedua menghapus link di mana Prune diterima dari SPT (S,G) tertentu.

Setelah menerima pesan Prune, R2 menyetel timer Prune ke 3 menit. Setelah tiga menit, ia akan mulai mengirimkan lalu lintas lagi hingga menerima pesan Prune lainnya. Ini ada di PIMv1.
Dan di PIMv2, pengatur waktu State Refresh telah ditambahkan (60 detik secara default). Segera setelah pesan Prune dikirim dari R3, pengatur waktu ini dimulai di R3. Setelah penghitung waktu ini habis, R3 akan mengirimkan pesan Penyegaran Status, yang akan mengatur ulang Pengatur Waktu Pemangkasan 3 menit di R2 untuk grup ini.
Alasan mengirim pesan Prune:

  • Ketika paket multicast gagal dalam pemeriksaan RPF.
  • Ketika tidak ada klien yang terhubung secara lokal yang meminta grup multicast (IGMP Join) dan tidak ada tetangga PIM yang dapat dikirimi lalu lintas multicast (Non-prune Interface).

Pesan Korupsi.
Bayangkan R3 tidak menginginkan lalu lintas dari R2, mengirim Prune dan menerima multicast dari R1. Namun tiba-tiba saluran antara R1-R3 terputus dan R3 dibiarkan tanpa multicast. Anda dapat menunggu 3 menit hingga Prune Timer di R2 habis masa berlakunya. 3 menit adalah penantian yang lama, agar tidak menunggu, Anda perlu mengirim pesan yang akan langsung membawa antarmuka S0/1 ini ke R2 keluar dari keadaan terpangkas. Pesan ini akan menjadi pesan Korupsi. Setelah menerima pesan Graft, R2 akan merespon dengan Graft-ACK.
Penggantian Pemangkasan.
Cara kerja protokol PIM
Mari kita lihat diagram ini. R1 menyiarkan multicast ke segmen dengan dua router. R3 menerima dan menyiarkan lalu lintas, R2 menerima, tetapi tidak memiliki siapa pun untuk menyiarkan lalu lintas. Ia mengirimkan pesan Prune ke R1 di segmen ini. R1 harus menghapus Fa0/0 dari daftar dan menghentikan siaran di segmen ini, tapi apa yang akan terjadi pada R3? Dan R3 berada di segmen yang sama, juga menerima pesan ini dari Prune dan memahami tragedi situasi tersebut. Sebelum R1 berhenti siaran, ia menyetel pengatur waktu 3 detik dan akan menghentikan siaran setelah 3 detik. 3 detik - ini adalah waktu yang dimiliki R3 agar tidak kehilangan multicastnya. Oleh karena itu, R3 mengirimkan pesan Pim Gabung untuk grup ini sesegera mungkin, dan R1 tidak lagi berpikir untuk menghentikan siaran. Tentang Gabung pesan di bawah.
Pesan Tegaskan.
Cara kerja protokol PIM
Mari kita bayangkan situasi ini: dua router disiarkan ke satu jaringan sekaligus. Mereka menerima aliran yang sama dari sumbernya, dan keduanya menyiarkannya ke jaringan yang sama di belakang antarmuka e0. Oleh karena itu, mereka perlu menentukan siapa yang akan menjadi satu-satunya penyiar jaringan ini. Pesan penegasan digunakan untuk ini. Ketika R2 dan R3 mendeteksi duplikasi lalu lintas multicast, yaitu R2 dan R3 menerima multicast yang mereka siarkan sendiri, router memahami bahwa ada sesuatu yang salah di sini. Dalam hal ini, router mengirim pesan Assert, yang mencakup Jarak Administratif dan metrik rute yang mencapai sumber multicast - 10.1.1.10. Pemenangnya ditentukan sebagai berikut:

  1. Yang memiliki AD lebih rendah.
  2. Jika AD sama, maka siapa yang memiliki metrik lebih rendah.
  3. Jika ada kesetaraan di sini, maka orang yang memiliki IP lebih tinggi di jaringan tempat mereka menyiarkan multicast ini.

Pemenang pemungutan suara ini menjadi Router yang Ditunjuk. Pim Hello juga digunakan untuk memilih DR. Di awal artikel ditampilkan pesan PIM Hello, Anda dapat melihat kolom DR di sana. Pemenangnya adalah yang memiliki alamat IP tertinggi pada tautan ini.
Tanda yang berguna:
Cara kerja protokol PIM
Tabel MROUTE.
Setelah melihat awal cara kerja protokol PIM, kita perlu memahami cara bekerja dengan tabel routing multicast. Tabel mroute menyimpan informasi tentang aliran mana yang diminta dari klien dan aliran mana yang mengalir dari server multicast.
Misalnya, ketika Laporan Keanggotaan IGMP atau Gabung PIM diterima di beberapa antarmuka, catatan bertipe ( *, G ) ditambahkan ke tabel perutean:
Cara kerja protokol PIM
Entri ini berarti permintaan lalu lintas telah diterima dengan alamat 238.38.38.38. Bendera DC berarti multicast akan beroperasi dalam mode Dense dan C berarti penerima terhubung langsung ke router, yaitu router menerima Laporan Keanggotaan IGMP dan PIM Join.
Jika ada record bertipe (S,G) berarti kita mempunyai aliran multicast:
Cara kerja protokol PIM
Di bidang S - 192.168.1.11, kami telah mendaftarkan alamat IP sumber multicast, inilah yang akan diperiksa oleh aturan RPF. Jika ada masalah, hal pertama yang perlu Anda lakukan adalah memeriksa tabel unicast untuk mengetahui rute ke sumbernya. Di bidang Antarmuka Masuk, menunjukkan antarmuka tempat multicast diterima. Dalam tabel routing unicast, rute ke sumber harus mengacu pada antarmuka yang ditentukan di sini. Antarmuka Keluar menentukan ke mana multicast akan dialihkan. Jika kosong, maka router belum menerima permintaan apa pun untuk lalu lintas ini. Informasi lebih lanjut tentang semua bendera dapat ditemukan di sini.
Mode Jarang PIM.
Strategi mode Jarang adalah kebalikan dari mode Padat. Saat mode Sparse menerima lalu lintas multicast, mode ini hanya akan mengirimkan lalu lintas melalui antarmuka yang ada permintaan untuk aliran ini, misalnya pesan Pim Join atau Laporan IGMP yang meminta lalu lintas ini.
Elemen serupa untuk SM dan DM:

  • Hubungan ketetanggaan dibangun dengan cara yang sama seperti di PIM DM.
  • Aturan RPF berfungsi.
  • Pemilihan DR serupa.
  • Mekanisme pesan Prune Overrides dan Assert serupa.

Untuk mengontrol siapa, di mana dan jenis lalu lintas multicast apa yang diperlukan pada jaringan, diperlukan pusat informasi bersama. Pusat kami adalah Rendezvous Point (RP). Siapapun yang menginginkan semacam lalu lintas multicast atau seseorang mulai menerima lalu lintas multicast dari sumbernya, maka dia mengirimkannya ke RP.
Ketika RP menerima lalu lintas multicast, RP akan mengirimkannya ke router yang sebelumnya meminta lalu lintas ini.
Cara kerja protokol PIM
Mari kita bayangkan sebuah topologi dimana RP adalah R3. Segera setelah R1 menerima lalu lintas dari S1, ia merangkum paket multicast ini menjadi pesan Daftar PIM unicast dan mengirimkannya ke RP. Bagaimana dia tahu siapa RP itu? Dalam hal ini, ini dikonfigurasi secara statis, dan kita akan membicarakan konfigurasi RP dinamis nanti.

ip pim rp-alamat 3.3.3.3

RP akan terlihat - apakah ada informasi dari seseorang yang ingin menerima traffic ini? Anggap saja tidak. Kemudian RP akan mengirimkan pesan PIM Register-Stop kepada R1, yang berarti tidak ada yang membutuhkan multicast ini, pendaftaran ditolak. R1 tidak akan mengirim multicast. Tetapi host sumber multicast akan mengirimkannya, sehingga R1, setelah menerima Register-Stop, akan memulai timer Register-Suppression yang setara dengan 60 detik. 5 detik sebelum pengatur waktu ini berakhir, R1 akan mengirimkan pesan Register kosong dengan bit Null-Register (yaitu, tanpa paket multicast yang dienkapsulasi) ke RP. RP, pada gilirannya, akan bertindak seperti ini:

  • Jika tidak ada penerima, maka akan direspon dengan pesan Register-Stop.
  • Jika penerima muncul, dia tidak akan menanggapinya dengan cara apapun. R1, yang belum menerima penolakan untuk mendaftar dalam waktu 5 detik, akan dengan senang hati dan mengirimkan pesan Daftar dengan multicast yang dienkapsulasi ke RP.

Tampaknya kita telah mengetahui bagaimana multicast mencapai RP, sekarang mari kita coba menjawab pertanyaan tentang bagaimana RP mengirimkan lalu lintas ke penerima. Di sini perlu diperkenalkan konsep baru - pohon jalur akar (RPT). RPT adalah pohon yang berakar pada RP, tumbuh menuju penerima, bercabang pada setiap router PIM-SM. RP membuatnya dengan menerima pesan PIM Gabung dan menambahkan cabang baru ke pohon. Jadi, setiap router downstream melakukannya. Aturan umumnya terlihat seperti ini:

  • Ketika router PIM-SM menerima pesan PIM Join pada antarmuka apa pun selain antarmuka di balik RP yang disembunyikan, ia menambahkan cabang baru ke pohon.
  • Cabang juga ditambahkan ketika router PIM-SM menerima Laporan Keanggotaan IGMP dari host yang terhubung langsung.

Bayangkan kita memiliki klien multicast di router R5 untuk grup 228.8.8.8. Segera setelah R5 menerima Laporan Keanggotaan IGMP dari host, R5 mengirimkan PIM Gabung ke arah RP, dan dirinya sendiri menambahkan antarmuka ke pohon yang melihat host. Selanjutnya, R4 menerima PIM Join dari R5, menambahkan antarmuka Gi0/1 ke pohon dan mengirimkan PIM Join ke arah RP. Terakhir, RP ( R3 ) menerima PIM Join dan menambahkan Gi0/0 ke pohon. Dengan demikian, penerima multicast telah terdaftar. Kami sedang membangun pohon dengan root R3-Gi0/0 β†’ R4-Gi0/1 β†’ R5-Gi0/0.
Setelah ini, Gabung PIM akan dikirim ke R1 dan R1 akan mulai mengirimkan lalu lintas multicast. Penting untuk dicatat bahwa jika host meminta lalu lintas sebelum siaran multicast dimulai, maka RP tidak akan mengirimkan PIM Gabung dan tidak akan mengirimkan apa pun ke R1 sama sekali.
Jika tiba-tiba ketika multicast sedang dikirim, host berhenti ingin menerimanya, segera setelah RP menerima PIM Prune pada antarmuka Gi0/0, ia akan segera mengirimkan PIM Register-Stop langsung ke R1, dan kemudian PIM Prune pesan melalui antarmuka Gi0/1. PIM Register-stop dikirim melalui unicast ke alamat asal PIM Register.
Seperti yang kami katakan sebelumnya, segera setelah router mengirimkan PIM Join ke yang lain, misalnya R5 ke R4, maka record ditambahkan ke R4:
Cara kerja protokol PIM
Dan pengatur waktu dimulai bahwa R5 harus terus-menerus mengatur ulang pesan PIM Gabung pengatur waktu ini secara terus-menerus, jika tidak, R4 akan dikecualikan dari daftar keluar. R5 akan mengirimkan setiap 60 pesan PIM Gabung.
Peralihan Pohon Jalur Terpendek.
Kami akan menambahkan antarmuka antara R1 dan R5 dan melihat bagaimana lalu lintas mengalir dengan topologi ini.
Cara kerja protokol PIM
Mari kita asumsikan lalu lintas dikirim dan diterima sesuai dengan skema lama R1-R2-R3-R4-R5, dan di sini kita menghubungkan dan mengkonfigurasi antarmuka antara R1 dan R5.
Pertama-tama, kita harus membangun kembali tabel routing unicast pada R5 dan sekarang jaringan 192.168.1.0/24 dijangkau melalui antarmuka R5 Gi0/2. Sekarang R5, yang menerima multicast pada antarmuka Gi0/1, memahami bahwa aturan RPF tidak terpenuhi dan akan lebih logis untuk menerima multicast pada Gi0/2. Itu harus terputus dari RPT dan membangun pohon yang lebih pendek yang disebut Pohon Jalur Terpendek (SPT). Untuk melakukan hal ini, ia mengirimkan PIM Gabung ke R0 melalui Gi2/1 dan R1 mulai mengirimkan multicast juga melalui Gi0/2. Sekarang R5 harus berhenti berlangganan RPT agar tidak menerima dua salinan. Untuk melakukan ini, ia mengirimi Prune pesan yang menunjukkan alamat IP sumber dan memasukkan bit khusus - RPT-bit. Artinya Anda tidak perlu mengirimkan lalu lintas kepada saya, saya punya pohon yang lebih baik di sini. RP juga mengirimkan pesan PIM Prune ke R1, namun tidak mengirimkan pesan Register-Stop. Fitur lainnya: R5 sekarang akan terus mengirimkan PIM Prune ke RP, karena R1 terus mengirimkan Daftar PIM ke RP setiap menit. Sampai tidak ada orang baru yang menginginkan trafik ini, RP akan menolaknya. R5 memberitahu RP bahwa ia terus menerima multicast melalui SPT.
Pencarian RP dinamis.
RP Otomatis.

Teknologi ini merupakan hak milik Cisco dan tidak terlalu populer, namun masih tetap bertahan. Pengoperasian Auto-RP terdiri dari dua tahap utama:
1) RP mengirimkan pesan RP-Umumkan ke alamat yang dicadangkan - 224.0.1.39, menyatakan dirinya RP baik untuk semua orang atau untuk kelompok tertentu. Pesan ini dikirim setiap menit.
2) Agen pemetaan RP diperlukan, yang akan mengirimkan pesan RP-Discovery yang menunjukkan kelompok mana yang harus didengarkan RPnya. Dari pesan inilah router PIM biasa akan menentukan sendiri RPnya. Agen Pemetaan dapat berupa router RP itu sendiri atau router PIM terpisah. RP-Discovery dikirim ke alamat 224.0.1.40 dengan timer satu menit.
Mari kita lihat prosesnya lebih detail:
Mari konfigurasikan R3 sebagai RP:

ip pim kirim-rp-umumkan loopback 0 cakupan 10

R2 sebagai agen pemetaan:

ip pim send-rp-discovery loopback 0 cakupan 10

Dan yang lainnya kami mengharapkan RP melalui Auto-RP:

ip pim pendengar autorp

Setelah kita mengkonfigurasi R3, ia akan mulai mengirimkan RP-Announce:
Cara kerja protokol PIM
Dan R2, setelah menyiapkan agen pemetaan, akan mulai menunggu pesan RP-Announce. Hanya ketika ia menemukan setidaknya satu RP, ia akan mulai mengirimkan RP-Discovery:
Cara kerja protokol PIM
Dengan cara ini, segera setelah router biasa (PIM RP Listener) menerima pesan ini, mereka akan mengetahui di mana mencari RP tersebut.
Salah satu masalah utama dengan Auto-RP adalah untuk menerima pesan RP-Announce dan RP-Discovery, Anda perlu mengirim PIM Join ke alamat 224.0.1.39-40, dan untuk mengirim, Anda perlu tahu di mana RP berada. Masalah ayam dan telur klasik. Untuk mengatasi masalah ini, PIM Sparse-Dense-Mode diciptakan. Jika router tidak mengetahui RP, maka ia beroperasi dalam mode Padat; jika ya, maka dalam mode Jarang. Ketika mode PIM Sparse dan perintah pendengar ip pim autorp dikonfigurasi pada antarmuka router biasa, router akan beroperasi dalam mode Dense hanya untuk multicasting langsung dari protokol Auto-RP (224.0.1.39-40).
Router BootStrap (BSR).
Fungsi ini bekerja mirip dengan Auto-RP. Setiap RP mengirimkan pesan ke agen pemetaan, yang mengumpulkan informasi pemetaan dan kemudian memberitahu semua router lainnya. Mari kita gambarkan prosesnya mirip dengan Auto-RP:
1) Setelah kita konfigurasikan R3 sebagai kandidat menjadi RP, dengan perintah :

ip pim rp-kandidat loopback 0

Kemudian R3 tidak akan melakukan apa pun; untuk mulai mengirim pesan khusus, pertama-tama ia perlu mencari agen pemetaan. Jadi, kita beralih ke langkah kedua.
2) Konfigurasikan R2 sebagai agen pemetaan:

ip pim bsr-kandidat loopback 0

R2 mulai mengirimkan pesan PIM Bootstrap, yang mengindikasikan dirinya sebagai agen pemetaan:
Cara kerja protokol PIM
Pesan ini dikirim ke alamat 224.0.013, yang juga digunakan oleh protokol PIM untuk pesan lainnya. Ini mengirim mereka ke segala arah dan oleh karena itu tidak ada masalah ayam dan telur seperti yang terjadi di Auto-RP.
3) Segera setelah RP menerima pesan dari router BSR, RP akan segera mengirimkan pesan unicast ke alamat router BSR:
Cara kerja protokol PIM
Setelah itu, BSR, setelah menerima informasi tentang RP, akan mengirimkannya melalui multicast ke alamat 224.0.0.13, yang didengarkan oleh semua router PIM. Oleh karena itu, analog dari perintah ip pim pendengar autorp untuk router biasa bukan di BSR.
Anycast RP dengan Multicast Source Discovery Protocol (MSDP).
Auto-RP dan BSR memungkinkan kita untuk mendistribusikan beban pada RP sebagai berikut: Setiap grup multicast hanya memiliki satu RP aktif. Tidak mungkin mendistribusikan beban untuk satu grup multicast ke beberapa RP. MSDP melakukan ini dengan memberikan alamat IP yang sama pada router RP dengan mask 255.255.255.255. MSDP mempelajari informasi menggunakan salah satu metode: statis, Auto-RP atau BSR.
Cara kerja protokol PIM
Pada gambar kita memiliki konfigurasi Auto-RP dengan MSDP. Kedua RP dikonfigurasi dengan alamat IP 172.16.1.1/32 pada antarmuka Loopback 1 dan digunakan untuk semua grup. Dengan RP-Announce, kedua router mengumumkan dirinya dengan merujuk ke alamat ini. Agen pemetaan Auto-RP, setelah menerima informasi, mengirimkan RP-Discovery tentang RP dengan alamat 172.16.1.1/32. Kami memberi tahu router tentang jaringan 172.16.1.1/32 menggunakan IGP dan, karenanya. Dengan demikian, router PIM meminta atau mendaftarkan aliran dari RP yang ditentukan sebagai hop berikutnya pada rute ke jaringan 172.16.1.1/32. Protokol MSDP sendiri dirancang agar RP itu sendiri dapat bertukar pesan tentang informasi multicast.
Pertimbangkan topologi ini:
Cara kerja protokol PIM
Switch6 menyiarkan lalu lintas ke alamat 238.38.38.38 dan sejauh ini hanya RP-R1 yang mengetahuinya. Switch7 dan Switch8 meminta grup ini. Router R5 dan R4 masing-masing akan mengirimkan PIM Join ke R1 dan R3. Mengapa? Rute ke 13.13.13.13 untuk R5 akan merujuk ke R1 menggunakan metrik IGP, sama seperti untuk R4.
RP-R1 mengetahui tentang aliran tersebut dan akan mulai menyiarkannya ke R5, tetapi R4 tidak mengetahui apa pun tentangnya, karena R1 tidak akan mengirimkannya begitu saja. Oleh karena itu MSDP diperlukan. Kami mengkonfigurasinya di R1 dan R5:

ip msdp peer 3.3.3.3 koneksi-sumber Loopback1 di R1

ip msdp peer 1.1.1.1 koneksi-sumber Loopback3 di R3

Mereka akan mengadakan sesi antara satu sama lain dan ketika menerima aliran apa pun mereka akan melaporkannya ke tetangga RP mereka.
Segera setelah RP-R1 menerima aliran dari Switch6, ia akan segera mengirimkan pesan MSDP Source-Active unicast, yang akan berisi informasi seperti (S, G) - informasi tentang sumber dan tujuan multicast. Sekarang RP-R3 mengetahui bahwa sumber seperti Switch6, ketika menerima permintaan dari R4 untuk aliran ini, akan mengirimkan PIM Gabung ke Switch6, dipandu oleh tabel perutean. Akibatnya, R1 yang menerima Gabungan PIM tersebut akan mulai mengirimkan lalu lintas menuju RP-R3.
MSDP berjalan melalui TCP, RP saling mengirim pesan keepalive untuk memeriksa keaktifan. Pengatur waktunya adalah 60 detik.
Fungsi membagi rekan MSDP ke dalam domain yang berbeda masih belum jelas, karena pesan Keepalive dan SA tidak menunjukkan keanggotaan dalam domain mana pun. Selain itu, dalam topologi ini, kami menguji konfigurasi yang menunjukkan domain berbeda - tidak ada perbedaan kinerja.
Jika ada yang bisa menjelaskan, saya akan dengan senang hati membacanya di komentar.

Sumber: www.habr.com

Tambah komentar