Home

DMVPN Introduction (Dynamic Multipoint VPN)

5 Comments

Well…its been a while since last time I post something to my beloved blog, and now lets go straight to the topic

What is DMVPN? Why we use it? And How we do it?

Prerequisite for learning:

  • GRE (generic routing encapsulation)
  • knowledge of Routing (Protocol)
  • and….a little bit about CEF

btw…since this is the introduction, I’ll teach you how to develop DMVPN Phase 1

———————————-

Introduction

A problem with GRE…

Klo kita punya kasus kek gambar diatas…bagaimana supaya R2, R3, R4 bisa terkoneksi satu sama lain dengan GRE?

Klo yang pernah nyoba pasti jawabnya…Hub-and-Spoke atau lebih bagus lagi…FULL MESH

Baru 4 node aja…kita harus handle 6 tunnel, bayangin klo 7, 8, sampe 10 router atau kantor cabang

The solution…we will build dynamic tunnel called DMVPN (Dynamic Multipath VPN)

———————————————-

DMVPN…how it works

DMVPN itu terdiri dari 3(5) teknologi:

  1. Multipoint GRE (mGRE)
  2. Next-Hop Resolution Protocol (NHRP)
  3. Dynamic Routing Protocol (EIGRP, RIP, OSPF, BGP)
  4. *Dynamic IPsec encryption
  5. *Cisco Express Forwarding (CEF)

Basic DMVPN cukup pake 3 point diatas…Secure DMVPN baru pake point 4, dan…DMVPN phase 2 & 3 pake point 5

DMVPN phase? Ya…DMVPN VPN dibagi jadi 3 fase

  • Phase 1: Spoke register dynamically to Hub each time they want to do communication between Spoke
  • Phase 2: Spoke-to-Spoke tunnel…using CEF, but still use Hub for NHRP source
  • Phase 3: multiple Hub for scalability

mGRE: daripada gw bikin tunnel static tiap node kek GRE, mending gw bikin hub-and-spoke aja, gw tanyain ke hub…jalan untuk ke tujuan/destination lewat mana, baru gw bikin tunnel kesana

trus nanyainnya pake apa? Pake NHRP (Next-Hop Resolution Protocol)

Apaan itu NHRP? Next Hop Resolution Protocol (NHRP) is a protocol or method that can be used so that a computer sending data to another computer can learn the most direct route (the fewest number of hops) to the receiving computer (RFC 2332)

Kek contoh diatas…tapi mirip kek ARP (Address Resolution Protocol) yah? Ho oh

Bedanya dimana? Ya beda tong…ARP minta tolong switch buat minta next-hop mac-address, NHRP minta tolong router untuk minta next-hop IP

Spoke dalam NHRP disebut NHC (NHRP Client), sedangkan Hub dalam NHRP disebut NHS (NHRP Server)

————————————————

DMVPN Configuration

Pre-config:

  • IP addressing and Default route in each router (except Internet)
  • Klo pake GNS…pake IOS 3725

On Hub (R1)

Penjelasan:

Int tunnel 0 dan tunnel source fa0/0 pretty self-explanatory (and ip address too)

  • Tunnel mode gre multipoint: ini mGRE-nya
  • Tunnel key 1234: security measure buat tunnel (MANDATORY since IOS 12.3(14)T or 12.3(11)T3…klo ga, mGRE ga mau jalan)
  • Ip nhrp network-id: locally significant, biar si router tau dia mau ngirim NHRP ke “domain” mana (jadi 2 tunnel atau lebih bisa join di domain yang sama, lebih dinamis…contoh: buat PT.A pake id 1, buat PT.B pake id 2)
  • Ip nhrp authentication [STRING]: security measure, hanya node2 yang tau yang berhak bikin tunnel via registrasi ke hub
  • Ip nhrp map multicast dynamic: salah satu key component DMVPN, jadi Hub bisa mapping siapa mau bikin tunnel ke siapa, asal ngomong dulu ke dia (mapping-nya kek mac-address Port Security “sticky” di switch)
  • Ip nhrp shortcut: digunakan di DMVPN phase 3, untuk rewrite CEF entry…after getting redirect message? Who gave it?…
  • Ip nhrp redirect: this is the one who gave it, fitur ini mirip ke ICMP Redirect, klo si hub tau best path ke destination yang lebih pendek/cepat…dia akan ngasih tau ke source node-nya “kirim aja ke sono langsung…”

Jadi untuk ip nhrp shortcut and redirect digunakan untuk DMVPN phase 2 dan 3

Penjelasan:

Rata2 sekarang switch/router sudah mendukung jumbo frame (MTU lebih dari 1500), tapi klo engga…dengan path-mtu-discovery, router bisa ngukur besar paket yang akan dikirim supaya ga di fragmentasi (that’s the definition of MTU right?!?)

(kadang2 suka ga jalan ini mtu-discovery, entah karena ICMP nya ke blok makanya “pengukuran” MTU-nya kaga jalan, jadi kasi aja no path-mtu-discovery…). Kita juga bisa kasi manual MTU limiter kek Ip mtu 1400 artinya kita set max MTU 1400, nah MSS (max-segment size) kita kurangin -40 (best practice dr expert gitu, gw juga ga tau kenapa mesti -40) jadi 1360 biar ga kepotong (tindakan preventif kali ya…)

In R2, R3, and R4 (bedain IP-nya aja)

Penjelasan:

Most notable configuration in this router is ip nhrp nhs [destination tunnel ip address], artinya kita ngasi tau ke router ini…klo mau bikin tunnel tolong registrasi ke ip tersebut (NHS)

Emang ip tersebut bisa diraih lewat mana? Untuk bisa ke ip tersebut kita pointing ke ip physical/fisiknya router target, and that’s why ip nhrp map [ip tunnel] [ip physical] placed in CLI

Plus klo mau multicast…kirim aja ke ip physical tersebut juga dengan ip nhrp map multicast [ip physical]

By the way…dalam NHRP…IP Physical tersebut dinamakan NBMA Address

DMVPN is done…anything missing? Yes…now the routing takes place

Masukin ip network tunnel-nya, masukin juga network 10.0.0.0-nya (di R2, R3, dan R4 juga sama)

Don’t forget….EIGRP is DISTANCE VECTORthere is SPLIT HORIZON (jalan keluar DAN masuknya Cuma 1…interface tunnel 0), so disabling split-horizon (no ip split-horizon) and next-hop-self (no ip next-hop-self) will do the wonder

————————————————

The Verification

Dari sini kita bisa liat…R1 dynamically learn about others tunnel via NHRP

And lets check out the routing table

Lets check in R2 pinging and tracing to R3

Lets check the wireshark…(coba ping dari R4 ke R2, trus cek di R1…jgn di cek sama yang udah tunneling kek R2 ke R4 misalkan)

Anddd…R1 correctly redirect to 172.16.0.2 which is R2 tunnel IP

————————————————

Reference:

DMVPN Explained by Petr Lapukhov #16379 @http://blog.ine.com/2008/08/02/dmvpn-explained/

DMVPN Type by by Petr Lapukhov #16379 @http://blog.ine.com/2008/12/23/dmvpn-phase-3/#more-400

NHRP by IETF RFC 2332 @http://www.ietf.org/rfc/rfc2332.txt?number=2332

NHRP Network-id https://supportforums.cisco.com/discussion/12075461/dmvpn-ip-nhrp-network-id

Adjust MSS https://learningnetwork.cisco.com/thread/40703

Frame Relay

6 Comments

Wokeh…alasan gw tulis artikel ini karena di CNAP diajarin juga

Frame relay diinvent oleh Eric Scarce as a simpler version of X.25 Protocol untuk digunakan di ISDN (Integrated Sevice Digital Network) interface

Sekarang Frame Relay uda sedikit implementasinya…uda digantiin ama MPLS

Jadi X.25 -> Frame Relay -> sekarang MPLS (multi protocol label switching)

Frame Relay menggunakan kabel Serial (V.35, Smart Serial, dll)

Dalam topologi Frame Relay, Router di LAN disebut DTE (data terminal equipment), Frame Relay Switch (class 4/5 switch) disebut DCE (data circuit-terminating equipment)

How it works???

Ketika network di router dengan “nomor” 102 mo kirim data…dia akan kirim ke Frame Relay Switch (yang terhubung adalah Switch A)

Nah…sebelumnya router ini harus diset dulu “nomor”nya…nomor ini disebut DLCI (data link control identifier) <– data link layer ini

Nah…nomor ini akan dicatat oleh si switch A…lalu dikirim ke switch B…trus ke C…trus ke D…dan ke router DLCI 201

Pertanyaannya adalah kok bisa tau si A HARUS kirim ke B…trus B harus kirim ke C ?? padahal di B bisa langsung ke D ?!?!

Jawabannya…di frame relay switching juga ada settingannya (ga dibahas di Cisco…nanti coba de gw bahas…kalo bisa..hahaha)

Jadi frame relay switch akan tau DLCI 201 harus dikirim ke port mana…DLCI 102 harus di kirim kemana…

Yang setting siapa (termasuk setting nomor DLCI ?? Frame Relay Service Provider

Settingan DLCI di router (yang akan kita konfig untuk bisa jalan di network frame relay) itu Local Significance

Artinya apa ?? DLCI ini value nya hanya di router itu aja…di router lain beda…

Contoh…kita mapping di Router A…untuk DLCI 102 anter ke Router B, tapi di Router B disetting DLCI 102 dianter ke router C (DLCI sama ga masalah)

Nah…fitur Router seakan2 tau ni packet mo dikirim kemana dengan melihat DLCI inilah yang membuat seolah2 ada sirkuit virtual (VC = Virtual Circuit)

Ada 2 VC…

  • SVC (Switched Virtual Circuit)…established dynamically by sending signaling messages to the network (CALL SETUP, DATA TRANSFER, IDLE, CALL TERMINATION)
  • PVC (Permanen/Private Virtual Circuit)….dikonfigurasi di Router (yang diajarin yang tipe ini)

Nah dalam fitur Frame Relay…kita juga bisa mengirimkan 2 atau lebih DLCI dalam 1 interface fisik serial yang sama…pake serial subinterface

Tidak hanya IP saja yang bisa dipake oleh Frame Relay, kita juga bisa pake IPX bahkan IPv6 over frame relay pun bisa

Nah…di data link layer ini…dalam bagian address inilah terdapat data2 DLCI

  • Flag…untuk nandain start and stop frame dari frame relay
  • Address…source DLCI dan destination DLCI
  • EA…extended address, biar nomor DLCI bisa lebih panjang (yang tadinya 3 digit..302,111,424, dll….jadi 4333,5678,dll)
  • Congestion Control…untuk sinyal network frame relay klo lagi penuh networknya
    • FECN = Forward Explicit Congestion Notification, bit yang dikirim dari FR Switch ke FR Switch yang lain lalu ke Router bahwa network Frame Relay lagi penuh sesak (bit yang di receive)
    • BECN = Backward Explicit Congestion Notification, bit yang dikirim dari FR Switch ke Router bahwa network Frame Relay lagi penuh sesak (bit yang di send)
    • DE = Discard Eligible
  • C/R …ga ngerti, kata Cisco ini undefined

======================================================

FRAME RELAY TOPOLOGY

…………………………………………………

…………………………………………………

…………………………………………………

======================================================

Frame Relay Address Mapping

Sebelum Router bisa transmit data over frame relay, dia harus tau DLCI dan assosiasi nya (contoh: DLCI 102 itu untuk tujuan 192.168.1.2). This address-to-DLCI mapping can be accomplished either by static or dynamic mapping.

Dynamic Mapping

Mapping secara dinamis ini akan di peroleh dari Inverse-ARP

Apa itu Inverse-ARP? Yaitu request layer 3 address (IP) dari DLCI yang diterima, beda dengan ARP…request MAC address dari IP yang diterima (tipically on Ethernet Switch alias switch yg biasa kita liat)

Klo ARP (address Resolution Protocol) itu dipake oleh switch untuk mapping MAC address ke IP yang bersangkutan (mapping layer 2 ke layer 3)

Klo Inverse-ARP dipake oleh FR Switch untuk mapping IP ke DLCI yang bersangkutan (mapping layer 3 ke layer 2)

Di Cisco Router…Inverse-ARP is enabled by default

Static Mapping

Ya uda…setting aja di routernya…DLCI 103 itu tujuan 10.1.1.4 misalnya…

======================================================

Local Management Interface (LMI)

LMI berguna untuk acquire information about the status of the network, LMI itu adalah keepalive mechanism yang bertugas mem-provide status informasi connection between DTE (Router) & DCE (FR Switch) connection dari frame relay

LMI ini tiap 10 detik sekali dikirim dari router

Klo encapsulation itu tugasnya dari Router satu ke Router lain dalam frame relay…

Klo LMI itu dari router ke switch frame relay

The switch and its connected router care about using the same LMI (baik Router dan Switch harus memakai LMI yang sama)

The switch does not care about the encapsulation. The endpoint routers (DTEs) do care about the encapsulation. (Router ke Router di Frame Relay harus pake encapsulasi yang sama…ya eyaa laaaa)

Tipe LMI itu ada 3

  • Cisco – the original LMI
  • ANSI – pake standar Amerika (T1.617 Annex D)
  • Q933A – pake standar ITU

Cisco IOS update 11.2 keatas…udah auto sense LMI, jadi bisa langsung auto config (ga disetel2 lagi config di routernya harus pake LMI apa)

======================================================

Split Horizon Issue

inget ga klo distance vector menggunakan fitur ini untuk mencegah routing loop, dengan cara mencegah informasi yang dikirimkan balik lagi ke interface yang sama

nah…klo di Frame Relay gimana ??

R1 punya 1 Serial Link…dalam satu serial link ini terdapat 2 DLCI (102,103)

Hanya saja…di Frame Relay Switch kan bukan Switch Ethernet (yang punya fitur Broadcast…makanya disebut NBMA), oleh karena itu keyword broadcast harus dimasukkan di router untuk mereplika frame relay packet

Nah…ketika R1 dapet routing update dari R2…dia mo kirim ke R3…karena split horizon rule menyatakan tidak boleh kirim dari interface fisik yang sama…ga dapet de R3 nya

Solusinya…dibuatlah Serial Subinterface (untuk masing2 DLCI)

Point-to-Point = 1 Physical interface to 1 subinterface / 1 interface

Point-to-Multipoint = 1 subinterface to multiple subinterface

======================================================

Frame Relay Terminology

  • CIR (Committed Information rate) – Speed yang dijanjikan oleh ISP

Klo ISP bilang “koneksi kami up to 5mbps” itu baru UP TO (bisa sampai)…actualnya mah ga segitu…

CIR itu…pemakaian 5mbps…ya up to 5mbps…tapi bisa lebih (ga kaya ISP sekarang..up to…malah kurang -__- ; )

Kelebihan pemakaian dari 5mbps itu disebut burst (dan ga bayar extra…flat rate charge)

Kok bisa??…ya kadang2 klo bandwidthnya lagi lowong dan ga ada yang make…kita bisa make kelebihan itu for free

  • Committed Burst (Bc) Information Rate (CBIR)

Yaitu sampai mana burst itu bisa dipake, klo mo burstnya lebih banyak dan lebih lama (tipikalnya 4-5 detik doank), harus bayar lagi

  • Discard Eligible (DE)

Yaitu kondisi dimana packet sudah sampai pada level Bc…packet ini akan ditandain dengan DE alias klo network uda mulai penuh, ini packet akan di mark untuk di drop

Liat di bagian Frame Relay Encapsulation diatas de…

Older Entries