Home / Şəbəkə / Cisco / vPC – yardımçı funksiyalar

vPC – yardımçı funksiyalar

Nədən danışacağıq

Bundan əvvəlki yazımda vPC-nin yardımçı funksiylarından olan vPC peer-switch haqqında danışmışdım. Bu dəfə isə geriyə qalan imkanları – peer-gatewaylayer3 peer-router haqqında danışacağam.

Ssenari

Aşağıda göstərilən topologiyamızda 10.10.10.10 IP ünvanlı HOST-1 10.10.20.10 ünvanlı HOST-2-ə çatmaq istəyir. Hər ikisinin Default Gateway-ı (Varsayılan çıxış nötqəsi) Nexus cihazlarındadır. Nexus cihazları vPC kimi konfiqurasiya edilib. Fərz edək ki, HOST-1 üçün varsayılan çıxış nöqtəsi CSW-01-ə məxsus SVI ünvanı göstərilib.

vpc-05

HOST-1 HOST-2-yə sorğu göndərən zaman HOST-2 fərqli alt şəbəkədə olduğu üçün paket marşrutlama prosesindən keçməlidir. Bunun üçün HOST-1 paketi öz varsayılan çıxış nöqtəsinə göndərir. Daxili alqoritminə əsasən HOST-1 paketi Eth1/50 üzərindən CSW-02-ə göndərir. CSW-02 öz MAC cədvəlinə baxır və görür ki, 10.10.10.1 IP ünvanı peer-link üzərindən əl çatandır. Paketi peer-link ilə CSW-01-ə göndərir. vPC Loop Avoidance mexanizmi isə peer-link üzərindən gələn heç bir paketi vpc üzvü olan portlara göndərmir. Nəticədə paket itir. Gəlin bunu yoxlayaq. Öncə CSW-01-in SVI 10 intefeysinin MAC ünvanına baxaq:

CSW-01# sho int vlan 10
Vlan10 is up, line protocol is up, autostate enabled
  Hardware is EtherSVI, address is  28af.fd9b.817d
  Internet Address is 10.10.10.1/24

CSW-02-nin MAC cədvəlinə baxaq:

CSW-02# sho mac address-table 
Legend: 
        * - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC
        age - seconds since last seen,+ - primary entry using vPC Peer-Link,
        (T) - True, (F) - False, C - ControlPlane MAC, ~ - vsan
   VLAN     MAC Address      Type      age     Secure NTFY Ports
---------+-----------------+--------+---------+------+----+------------------
*   10     4c5d.3ccd.4517   dynamic  0         F      F    Po2
+   20     4c5d.3ccd.4d3f   dynamic  0         F      F    Po3
*   10     28af.fd9b.817d   static   -         F      F    vPC Peer-Link(R)
*   20     28af.fd9b.817d   static   -         F      F    vPC Peer-Link(R)
G    -     28af.fd9b.8219   static   -         F      F    sup-eth1(R)
G   10     28af.fd9b.8219   static   -         F      F    sup-eth1(R)
G   20     28af.fd9b.8219   static   -         F      F    sup-eth1(R)

Gördüyümüz kimi, CSW-01-ə məxsus olan MAC ünvanlar peer-link üzərindən öyrənilib. İndi HOST-1-dən HOST-2-yə sorğu göndərək. Ping paketləri göndəririk – sorğu ünvana çatmır:

HOST-1(config-if) ping 10.10.20.10
PING 10.10.20.10 (10.10.20.10): 56 data bytes
Request 0 timed out 
Request 1 timed out 
Request 2 timed out 
Request 3 timed out
Request 4 timed out
--- 10.10.20.10 ping statistics ---
5 packets transmitted, 0 packets received, 100.00% packet loss

NX OS əməliyyat sisteminin ELAM kimi möhtəşəm bir aləti var. Bu alət sayəsində svitçə daxil olan paketin aqibətini görə bilərik. Çox dərinə getmədən öncə CSW-02-də paketin hara getdiyinə baxaq:

CSW-02(TAH-elam-insel6)# report 
ELAM not triggered yet on slot - 1, asic - 0, slice - 0
ELAM not triggered yet on slot - 1, asic - 0, slice - 1
BIGSKY ELAM REPORT SUMMARY
slot - 1, asic - 0, slice - 2
============================

Incoming Interface: Eth1/4
Src Idx : 0x603, Src BD : 10
Outgoing Interface Info: dmod 1, dpid 160
Dst Idx : 0x601, Dst BD : 10

Packet Type: IPv4

Dst MAC address: 28:AF:FD:9B:81:7D
Src MAC address: 4C:5D:3C:CD:45:17
.1q Tag0 VLAN: 10,  cos = 0x0

Dst IPv4 address: 10.10.20.10
Src IPv4 address: 10.10.10.10
Ver     =  4, DSCP    =    0, Don't Fragment = 0
Proto   =  1, TTL     =  255, More Fragments = 0
Hdr len = 20, Pkt len =   84, Checksum       = 0xd128

L4 Protocol  : 1
ICMP type    : 8
ICMP code    : 0

Outgoing intefeys sətrində olan dpid dəyərinin açıqlamasına baxaq:

CSW-02(TAH-elam-insel6)# show system internal ethpm info all | i i "dmod=1,dpid=160"
  IF_STATIC_INFO: port_name=Ethernet1/1,if_index:0x1a000000,ltl=6144,slot=0, nxos_port=0,dmod=1,dpid=160

CSW-02(TAH-elam-insel6)# sho cdp neighbors int eth1/1

Device-ID          Local Intrfce  Hldtme Capability  Platform      Port ID
CSW-01(FDO2523000J)
                    Eth1/1         174    R S I s   N9K-C9364C    Eth1/1  

Gözlədiyimiz kimi paket peer-link ilə CSW-01-ə göndərilib. CSW-01-in ELAM çıxarışına baxaq:

BIGSKY ELAM REPORT SUMMARY
slot - 1, asic - 0, slice - 2
============================

Incoming Interface: Eth1/1
Src Idx : 0x601, Src BD : 10
Outgoing Interface Info: dmod 1, dpid 172
Dst Idx : 0x603, Dst BD : 20

Packet Type: IPv4

Dst MAC address: 28:AF:FD:9B:81:7D
Src MAC address: 4C:5D:3C:CD:45:17
.1q Tag0 VLAN: 10,  cos = 0x0

Dst IPv4 address: 10.10.20.10
Src IPv4 address: 10.10.10.10
Ver     =  4, DSCP    =    0, Don't Fragment = 0
Proto   =  1, TTL     =  255, More Fragments = 0
Hdr len = 20, Pkt len =   84, Checksum       = 0xd123

L4 Protocol  : 1
ICMP type    : 8
ICMP code    : 0

Drop Info:
----------

LUA:
LUB:
LUC:
LUD:
  UC_DF_CHECK_FAIILURE     <<<<<<<<<
Final Drops:
  UC_DF_CHECK_FAIILURE

Çıxarışın nəticəsinə görə paket CSW-01 svitçinə Eth1/1-dən daxil olub. Aşağıdakı ekran şəklinə əsasən Eth1/1 Po1-in üzvüdür. Po1 isə peer-linkdir.

vpc-peer-gateway

Paketi qəbul edən CSW-01 marşrutlama prosesini həyata keçirir, MAC ünvanları dəyişdirilir və paket HOST-2-yə göndərilməyə hazır olur. Lakin paket peer-linkdən gəldiyi üçün vPC Loop Avoidance mexanizmi onu blok edəcək.

Drop InfoFinal Drops hissələrinə baxsanız UC_DF_CHECK_FAILURE yazısı görəcəksiniz. Bu yazı paketin vPC Loop Avoidance mexanizmi tərəfindən bloklandığını deyir.

Əslində belə topologiyalarda FHRP – First Hop Redundancy Protocol istifadə olunur. Konfiqurasiyanı sadə saxlamaq üçün bizim ssenaridə FHRP qurmayacağıq. Lakin FHRP vPC Loop Avoidance mexanizmi səbəbindən paketlərin bloklanmasının qarşısını almır.

vPC Peer-gateway

Bunun qarşısını almaq üçün NXOS əməliyyat sistemində peer-gateway köməkçi funsiyası var. Bu funksiyanı işə salmaqla vPC qonşulara bir-birlərinin adından paketləri marşrutlamağa imkan verir. Yəni CSW-02 CSW-01 üçün göndərilmiş paketi artıq özü marşrutlaya biləcək. Bu funksiyanı işə salmaq üçün sadəcə vpc domen konfiqurasiya rejimində peer-gateway komandasını yazmaq lazımdır. Bu komanda hər iki vPC qonşuda əlavə edilməlidir:

vpc domain 100
peer-gateway

Funksiyanı aktivləşdirək və nəticəyə baxaq. Funksiyanı işə salmazdan əvvəl:

CSW-02# sho mac address-table 
Legend: 
        * - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC
        age - seconds since last seen,+ - primary entry using vPC Peer-Link,
        (T) - True, (F) - False, C - ControlPlane MAC, ~ - vsan
   VLAN     MAC Address      Type      age     Secure NTFY Ports
---------+-----------------+--------+---------+------+----+------------------
*   10     4c5d.3ccd.4517   dynamic  0         F      F    Po2
+   20     4c5d.3ccd.4d3f   dynamic  0         F      F    Po3
*   10     28af.fd9b.817d   static   -         F      F    vPC Peer-Link(R)
*   20     28af.fd9b.817d   static   -         F      F    vPC Peer-Link(R)
G    -     28af.fd9b.8219   static   -         F      F    sup-eth1(R)
G   10     28af.fd9b.8219   static   -         F      F    sup-eth1(R)
G   20     28af.fd9b.8219   static   -         F      F    sup-eth1(R)

Sonra:

CSW-02(TAH-elam-insel6)# sho mac address-table 
Legend: 
        * - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC
        age - seconds since last seen,+ - primary entry using vPC Peer-Link,
        (T) - True, (F) - False, C - ControlPlane MAC, ~ - vsan
   VLAN     MAC Address      Type      age     Secure NTFY Ports
---------+-----------------+--------+---------+------+----+------------------
*   10     4c5d.3ccd.4517   dynamic  0         F      F    Po2
+   20     4c5d.3ccd.4d3f   dynamic  0         F      F    Po3
G   10     28af.fd9b.817d   static   -         F      F    vPC Peer-Link(R)
G   20     28af.fd9b.817d   static   -         F      F    vPC Peer-Link(R)
G    -     28af.fd9b.8219   static   -         F      F    sup-eth1(R)
G   10     28af.fd9b.8219   static   -         F      F    sup-eth1(R)
G   20     28af.fd9b.8219   static   -         F      F    sup-eth1(R)

CSW-02-nin MAC ünvanları cədvəlinin əvvəlki çıxarışı ilə müqayisə etsək görərik ki, CSW-01-ə məxsus MAC ünvanların qarşısında “*” işarəsi “G” hərfi ilə əvəzlənib. Bu o deməkdir ki, artıq CSW-02-də CSW-01-in MAC ünvanları üçün varsayılan çıxış nöqtəsi qismində çıxış edir. Gəlin bir daha HOST-2-ni pingləməyə cəhd edək:

HOST-1# ping 10.10.20.10
PING 10.10.20.10 (10.10.20.10): 56 data bytes
64 bytes from 10.10.20.10: icmp_seq-0 ttl-253 time-1.14 ms
64 bytes from 10.10.20.10: icmp_seq-1 ttl-253 time 0.752 ms
64 bytes from 10.10.20.10: icmp_seq-2 ttl-253 time 0.601 ms
64 bytes from 10.10.20.10: icmp_seq-3 ttl-253 time 0.549 ms
64 bytes from 10.10.20.10: icmp_seq=4 ttl-253 time-0.725 ms

--- 10.10.20.10 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max - 0.549/0.753/1.14 ms

Gördüyümüz kimi, hər şey çalışır. Gəlin yenə ELAM-dan istifadə edək və CSW-02-də paketlə nə baş verdiyinə baxaq:

CSW-02(TAH-elam-insel6)# report 
ELAM not triggered yet on slot - 1, asic - 0, slice - 0
ELAM not triggered yet on slot - 1, asic - 0, slice - 1
BIGSKY ELAM REPORT SUMMARY
slot - 1, asic - 0, slice - 2
============================

Incoming Interface: Eth1/4
Src Idx : 0x603, Src BD : 10
Outgoing Interface Info: dmod 1, dpid 168
Dst Idx : 0x602, Dst BD : 20

Packet Type: IPv4

Dst MAC address: 28:AF:FD:9B:81:7D
Src MAC address: 4C:5D:3C:CD:45:17
.1q Tag0 VLAN: 10,  cos = 0x0

Dst IPv4 address: 10.10.20.10
Src IPv4 address: 10.10.10.10

Xatırlayırsıza əvvəl paket üçün Outgoing interface qismində fərqli dpid dəyəri var idi (160). Bu dəfə isə 168-dir. Dəyərin hansı intefeysə məxsus olduğuna baxaq:

CSW-02# show system internal ethpm info all | i i "dmod=1,dpid=168"
  IF_STATIC_INFO: port_name=Ethernet1/3,if_index:0x1a000400,ltl=6136,slot=0, nxos_port=8,dmod=1,dpid=168

CSW-02# show cdp neighbors interface ethernet 1/3

Device-ID          Local Intrfce  Hldtme Capability  Platform      Port ID
HOST-02.cisco.com(FDO25200TGZ)
                    Eth1/3         137    R S I s   N9K-C93240YC- Eth1/49 

Etdiyimiz dəyişiklik nəticəsində paket peer-link üzərindən yox, vpc üzvü olan eth1/3 vasitəsi ilə HOST-2-ə göndərilib.

vPC layer3 peer-router

Bəzən vPC domeni olan topologiyalarda vPC peer-lərlə router, fayervol kimi digər avadanlıqlar arasında dinamik marşrutlama protokolu qurulması tələb olunur. Aşağıdakı topologiyaya baxaq:

vpc-layer3-peer-router

Burada R1 CSW-01 və CSW-02 ilə OSPF qonşuluq qurmalıdır. Konfiqurasiya çox bəsitdir və bütün avadanlıqlarda eynidir.:

CSW-01# sh run ospf 

!Command: show running-config ospf
!Running configuration last done at: Sun Mar 10 17:19:18 2024
!Time: Sun Mar 10 18:57:08 2024

version 10.3(4a) Bios:version 05.47 
feature ospf

router ospf 1
  router-id 1.1.1.1

interface Vlan10
  ip router ospf 1 area 0.0.0.0

Hazırki konfiqurasiya ilə OSPF qonşuluğuna baxsaq, qonşuluğun qurulmadığını görəcəyik:

CSW-01(config-vpc-domain)# show ip ospf neighbors 
 OSPF Process ID 1 VRF default
 Total number of neighbors: 2
 Neighbor ID     Pri State            Up Time  Address         Interface
 2.2.2.2           1 FULL/BDR         01:37:52 10.10.10.2      Vlan10 
 3.3.3.3           1 EXSTART/DR       01:38:39 10.10.10.10     Vlan10 

Səbəb isə dinamik marşrutlama protokollarında paketin TTL dəyəri 1 olur. Fərz edək ki, R1 OSPF hello paketini birbaşa CSW-01-ə deyil CSW-02 üzərindən göndərir. Paket CSW-02-yə çatdıqdan sonra o, TTL dəyərini 1 vahid azaldır. TTL dəyəri 0 olan paket növbəti cihaza ötürülmür.

Bu çətinliyi aradan qaldırmaq üçün layer3 peer-router funksiyası istifadə olunur. Bu funksiya peer-gateway ilə əl-ələ çalışır. Yəni peer-gateway funksiyası qoşulmadan layer3 peer-router funksiyası qoşulmayacaq və ERROR: Operation failed: [Peer Gateway Not Enabled] belə bir loq alacaqsınız.

Qeyd etdiyim funksiyanı işə salaq. Bunun üçün vpc domain konfiqurasiya rejimində layer3 peer-router komandasını yazmaq lazımdır. Bu komanda hər iki vPC peer-də yazılmalıdır:

vpc domain 100
  peer-keepalive destination 10.82.143.21
  peer-gateway
  layer3 peer-router

Bundan sonra qonşuluq uğurla qurulur:

CSW-01# show ip ospf neighbors 
 OSPF Process ID 1 VRF default
 Total number of neighbors: 2
 Neighbor ID     Pri State            Up Time  Address         Interface
 2.2.2.2           1 FULL/BDR         01:38:11 10.10.10.2      Vlan10 
 3.3.3.3           1 FULL/DR          00:00:02 10.10.10.10     Vlan10 

CSW-02# show ip ospf neighbors 
 OSPF Process ID 1 VRF default
 Total number of neighbors: 2
 Neighbor ID     Pri State            Up Time  Address         Interface
 1.1.1.1           1 FULL/DROTHER     01:46:44 10.10.10.1      Vlan10 
 3.3.3.3           1 FULL/DR          01:46:51 10.10.10.10     Vlan10 


R1# show ip ospf neighbors 
 OSPF Process ID 1 VRF default
 Total number of neighbors: 2
 Neighbor ID     Pri State            Up Time  Address         Interface
 1.1.1.1           1 FULL/DROTHER     00:08:53 10.10.10.1      Vlan10 
 2.2.2.2           1 FULL/BDR         01:47:08 10.10.10.2      Vlan10 

Yarana biləcək problemlər

Bu funksiyalar olduqca faydalıdır, lakin hər bir dəyişiklik etməzdən əvvəl mütləq xidməyi pəncərə planlaşdırılmalıdır. Çünki bəzən bu dəyişikliklər trafikə təsir edə bilər. Məsələn, peer-gateway funksiyasını işə salan zaman əgər vPC peerlərlə vPC ilə və ya Orphan port ilə qoşulan cihazlar arasında dinamik marşrutlama protokolları ilə qonşuluq qurulubsa, bu qonşuluq davamlıq düşüb-qalxa bilər. Problemi həll etmək üçün dinamik marşrutlama istifadə olunan topologiyalarda mütləq peer-gateway funksiyası ilə yanaşı layer3 peer-router funksiyası da qoşulmalıdır.

layer3 peer-router qoşulan zaman trafikdə kəsinti və ya vPC-də hər hansı problem müşahidə olunmur. Lakin əgər bundan əvvəl qonşuluq qurulmayan dinamik marşrutlama protokolları var idisə, funksiya işə salınan zaman qonşuluq qurulacaq, bu da bəzi prefikslərin elanında və ya öyrənilməsində dəyişikliklərə səbəb ola bilər.

Xülasə

Bu dəfə vPC-nin köməkçi funksiyalarında danışdım. Cisco-nun öz rəsmi saytında bu funksiyalar haqqında ətraflı təlimat var. Linkdən tanış ola bilərsiniz. Növbəti yazılarımda vPC-nin auto-recovery kimi başqa köməkçi funksiyalarına nəzər salacağam.

Yazını paylaş
x

Check Also

cisco avto-reload

Cisco IOS avto-reload

Şəbəkə inzibaçıtları adətən avadanlıqları kilometrlərlə uzaqlıqdan idarə edirlər. Bu səbəbdən hər hansı səhv komanda avadanlığa girişi məhdudlaşdıra bilər. Xüsüsən Cisco ...

netflow-record

Cisco IOS da NetFlow sazlanması

İstifadəçilərə daha keyfiyyətli xidmət göstərilmək üçün şəbəkənin işinin optimallaşdırılması vacibdir. Lakin şəbəkədə dövr edən trafik haqqında məlumat olmadan bunu etmək çətindir. Cisco IOS da Netflow protokolu məhz trafiki monitorinq etməyə kömək edir.

dmpvn-mpls-topology.jpeg

EoMPLS üzərindən IPSec DMVPN qurulması

Bir neçə yerdə filialları olan şirkətlərdə filialla baş ofis və ya digər obyektlərlə əlaqənin yaradılması üçün müxtəlif vasitələrdən istifadə olunur. Bu İnternet üzərindən S2S VPN əlaqəsi və s. ola bilər Adətən şirkətlər DMVPN texnologiyasından istifadə edir. Bu yazıda EoMPLS üzərindən DMVPN quracağıq.