A CDP és a nem Cisco switch esete 2 comments


Sokszor fordul elő olyan helyzet mikor fel kell deríteni egy ügyfél hálózatát, mert nincs naprakész dokumentáció, esetleg az előző brigád összecsomagolt és lelépett. Helyszíni jelenlét nélkül általában az alábbiak hagyatkozunk ilyenkor:

  • CDP
  • LLDP
  • ARP
  • MAC tábla
  • Routing táblák
  • stb.

 

A CDP-vel kapcsolatban van egy csapda amibe könnyen bele lehet sétálni: hiába látod te közvetlenül az adott porton a másik Cisco eszközt, közel sem biztos hogy az tényleg fizikailag arra a portra van kötve; könnyen lehet hogy van köztük egy (vagy több) “buta” eszköz.

 

Nézzük az alábbi végtelenül egyszerű topológiát:

 

 

Ha megnézzük SW1 CDP tábláját akkor XYZ-t látjuk benne, SW2-nél szintén. Ez így a topológia ismeretében nyilvánvaló.

SW1#sh cdp ne
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
                  D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID
XYZ              Eth 0/0           147             R S I  Linux Uni Eth 0/0
SW1#

 

SW2#
SW2#sh cdp ne
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
                  D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID
XYZ              Eth 0/0           164             R S I  Linux Uni Eth 0/1
SW2#

 

A probléma megértéséhez csináljunk egy packet capture-t SW1 Eth0/0 interface-n.

 

 

Ahogy a képen látszik a CDP (és a VTP/STP/DTP/PaGP/UDLD) cél MAC címe a “01:00:0c:cc:cc:cc”. Ez azt jelenti (mivel az IG [Individual/Group] bit = 1) hogy multicast/broadcast frame-ről beszélünk.

Cisco switch esetén az eszköz “tagja” ennek a multicast csoportnak, azaz feldolgozza a frame-t. Ezért működik point-to-point kapcsolatok esetében jól a protokoll.

De mi van akkor ha van egy olyan switch a két Cisco eszköz között amelyik nem tudja a CDP-t, azaz számára ez egy ugyanolyan multicast üzenet mint a többi?

Sajnos EVE-NG-ben csak Cisco image-k vannak nálam betöltve (azok nem tudnak QinQ-t és L2PT-t), nincs nálam igazi vas, de pl. QinQ-val meg lehet csinálni ezt a “trükköt” (írtam róla itt).

Ilyen esetben az eszköz nem dolgozza fel a frame-t, számára ez csak egy sima multicast üzenet, ezért továbbítja a portjain.

Ezért van az hogy bizony CDP-vel nem lehet 100%-osan távolról feltérképezni egy hálózatot.

Mivel az STP/DTP/PaGP/UDLD is ugyanígy működik (hiszen mindegyik point-to-point protokoll!) ezért a leírtak azokra is érvényesek. Ezért erősen ajánlott pl. minden user portra BPDUGuard-ot tenni, hogy a kalóz buta switchek ne okozhassanak STP problémákat.

 

 

 

 

 

 


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

2 thoughts on “A CDP és a nem Cisco switch esete

  • idavid

    Ez nagyon hasznos volt, köszi, számomra új, hogy a CDP tkp. egy multicast üzenet. “Mezei szomszédság” esetén a MAC táblával összevetve a CDP-n kapott neighbor infót nem derülne amúgy ki, hogy a szomszéd tkp. nem is szomszéd?

    • Kuris Ferenc Post author

      De, több MAC cím látszik a porton. De ez lehet normális is hiszen ha direktben van rákötve a switch akkor is látszik a kliensek MAC címe. Lehet még infot kinyerni a MAC cím OUI részéből hiszen az megmondja a gyártót, illetve a STP BPDU MAC címből, hiszen az tényleg a szomszéd switchtől jön.