Endpoint Learning dan Traffic Forwarding di Network

Endpoint Learning

Endpoint learning adalah proses dimana suatu network device (misal switch atau router) mengenali dan melakukan mapping terhadap suatu endpoint yang biasanya direpresentasikan sebagai MAC+zero or more IP yang terhubung ke dirinya, sehingga network device tersebut dapat melakukan traffic forwarding sesuai dengan “learned endpoint”. Umumnya informasi endpoint direpresentasikan dalam MAC address table untuk L2 forwarding alias komunikasi dalam satu subnet, Routing table untuk forwarding related routed traffic alias beda subnet, dan ARP table untuk mapping informasi L2 L3. Switch melakukan forwarding traffic (switching) berdasarkan MAC address (switch working on L2), sedangkan router melakukan routing berdasarkan Routing table dan ARP. Lalu ada juga spesies lain yaitu L3 switch, device yang bisa melakukan switching & routing, maka untuk forwarding decisionnya bisa menggunakan ketiga table tersebut (sesuai dengan jenis traffic yang lewat).

Suatu device ketika pertama kali up, MAC address table, routing table, dan ARP table kosong. Table tersebut akan terisi informasi seiring berjalannya waktu. Pada umumnya ARP table dan Routing table akan terbentuk bedasarkan control plane. Contohnya ARP table akan terupdate secara otomatis ketika ada traffic ARP, GARP, ND..etc.. sedangkan routing table terbentuk dari konfigurasi routing, dynamic routing (misal router tersebut running OSPF, BGP atau apa gitu). Sedangkan MAC address table terbentuk dari data plane alias traffic yang saat itu lewat. Misalnya suatu switch ketika pertama kali hidup maka MAC addressya kosong, ketika ada traffic masuk via port 1 dengan MAC AAAA.AAAA.AAAA, sedangkan di MAC table tidak ada info tersebut, maka switch akan memasukan informasi bahwa MAC AAAA.AAAA.AAAA ini learned from port 1.

Contoh MAC address table, berisi informasi ada MAC address apa aja, kedetek dari interface, VLAN mana, dan aging
Contoh ARP table, berisi informasi ada IP apa aja, MAC addressnya apa, learned dari interface mana, dan aging
Contoh routing table, berisi informasi kalau mau ke suatu IP/subnet maka lewat mana (via nexthop suatu IP atau interface)

Btw yang aku jelasin diatas itu versi umum yang terjadi di network. Ada hal-hal yang sifatnya proprietary sehingga hanya ada di perangkat network tertentu, misal fitur data plane endpoint learning di Cisco ACI. Di versi normalnya, data plane learning cuma learn MAC address aja, sedangkan di Cisco ACI data-plane learning juga learn IP address. Efeknya tanpa traffic tipe control plane seperti ARP, GARP..etc sekalipun, ACI mampu mengetahui lokasi suatu IP, contoh casenya ketika ada silent host (endpoint yg ga kirim ARP atau advertisement apa-apa gitu) maka ACI tetep mampu mengenali endpoint tersebut via data plane learning. Selain itu, suatu IP juga bisa saja langsung konek tanpa perlu kirim ARP terlebih dahulu. So far keren kan fitur ini? Cuma sebenernya sesuaikan saja dengan kebutuhan, karena fitur ini bakal ketemu issue juga jika ada deployment cluster atau load balancing dengan metode Direct Return Server (DRS) atau Checkpoint ClusterXL. What’s next? Di ACI akhirnya muncul fitur L4-L7 Virtual IP yang intinya bakal disable data-plane learning untuk spesifik suatu IP alias IP tersebut akan dilearn seperti network pada umumnya (via control plane untuk L3 information), atau disable data plane learning di level BD. Terkait materi ACI nanti kapan-kapan aku bikin tulisan terpisah aja. Berikut contoh case yang perlu “touch” fitur data plane learning di ACI (Referensi: https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk168181)

Btw worth to read mengenai maksudnya Control Plane, Data Plane, dan Management Plane: https://networkdirection.net/articles/network-theory/controlanddataplane/

Sederhananya control plane adalah traffic yg menuju atau dari host tersebut, contohnya ada ARP broadcast, OSPF neighborship, BGP neighborship, STP..etc.. traffic ini diproses oleh CPU lalu hasil dari prosesnya menghasilkan informasi yang dapat digunakan oleh data plane melakukan forwarding traffic, misal hasil BGP peering, tergeneratelah routing table dimana routes tersebut dapat diinstall oleh control plane ke data plane. Nah data plane ini adalah traffic yang sifatnya “lewat”, misal dari endpoint A mau ping router X dimana trafficnya melewati router Y, maka traffic dari endpoint A ini lewat data planenya router Y menuju router X. Untuk speed yang kenceng, biasanya data plane ini dalam bentuk hardware/ASIC. Tapi bisa juga dalam bentuk software kalau modelnya virtual (misal virtual switch, virtual router..etc). (Referensi pengunaan ASIC untuk data-plane forwarding: https://www.youtube.com/watch?v=Ti3t9OAZL3g)

Well, sampai titik ini semoga bisa tergambar bagaimana proses data flowing through a device. Device perlu build forwarding information, untuk build forwarding information bisa berdasarkan data-plane maupun control plane. Tambahan sedikit, sebenernya selain dari data-plane/control-plane, kita bisa juga define forwarding rule direct ke forwarding table, misalnya untuk hardware yang support flow programming via openflow, kita bisa define flow if match criteria (misal source IP, mac, port, protocol..etc) then do action (bisa redirect, set next hop, mirror, permit/deny..etc), and this function only available in hardware with flow programming capability 😁.

Traffic Forwarding

Well, sekarang kita coba lihat bagaimana teori yang dijelaskan diatas bekerja dengan contoh case. Kita gunakan topologi berikut:

Continue reading “Endpoint Learning dan Traffic Forwarding di Network”

Hypervisor Performance Comparison [ESXi, Xen, Hyper-V, etc]

compareBeberapa waktu lalu ada kerjaan mindahin beberapa server fisik ke virtual. Pertanyaannya kala itu adalah mau pake Hypervisor apa? usut punya usut googling perbandingan antar hypervisor memang memiliki kelebihan kekurangan masing-masing. Berhubung belum ngerasa sreg kalo belum cobain sendiri maka akhir dicobalah beberapa hypervisor pada satu PC yang sama. Di bawah nanti aku lampirin screenshoot dan data hasil perbandingan kalo mau download. Btw PC yang digunakan yaitu menggunakan Asus BM Continue reading “Hypervisor Performance Comparison [ESXi, Xen, Hyper-V, etc]”

Virtualization Overview and Common Used Hypervisors

pizza ilustration

Kau beli pizza ukuran Large yg berisi 8 slices pizza. Tapi ternyata kau cuma habis makan 2 slices doang, masih sisa 6 slices nggak kemakan. Sayang sekali kan sisa 6 slices! Nah daripada itu pizza kau makan sendiri, lebih berguna kan kalau dibagi dengan teman-temanmu, misal kau ambil 2 slices, si Bedu 1 slice, si Betot 3 slice, si Beni 2 slice. Hasil akhirnya pizza tersebut benar-benar berguna dan efektif. Nah mirip banget seperti itu ide sederhananya server Virtualisasi. Ibaratkan kau punya 1 server yang kapasitasnya gede, katakanlah full resourcenya 100%, kalau cuma dijadikan 1 biji server doang Continue reading “Virtualization Overview and Common Used Hypervisors”