რატომ ჩანს QFX-ის MAC EVPN-ში, მაგრამ არა გადაგზავნის ცხრილში
MAC EVPN-ის მონაცემთა ბაზაში საკონტროლო სიბრტყის ფაქტია, არა იმის მტკიცებულება, რომ გადაგზავნის ცხრილი დაპროგრამებულია. სანამ BGP-ს დაადანაშაულებთ, ოთხი ეტაპი თანმიმდევრობით წაიკითხეთ.
EVPN-ის მონაცემთა ბაზაში MAC-ის პოვნა ამტკიცებს, რომ ის მარშრუტად გამოცხადდა ან მიიღეს, და მეტი არაფერი. გადაგზავნის ცხრილი სხვა სტრუქტურაა, რომელიც მოგვიანებით პროგრამდება, ამიტომ ერთი და იგივე MAC შეიძლება ერთში გამოჩნდეს და მეორეში არ იყოს, მაშინ როცა ყველა პროტოკოლი სწორად მუშაობს. ამ ორი გამომავალი ერთმანეთის ასლად მიჩნევა ინჟინრებს BGP-ის ხარვეზისკენ აგზავნის, მაშინ როცა ნამდვილი ხარვეზი იმპორტის პოლიტიკა ან გადაუწყვეტელი შემდეგი ნახტომია. საკითხი, რომლის დასმაც ღირს, არ არის იცის თუ არა fabric-მა MAC, არამედ ის, თუ რომელ ეტაპზე შეწყვიტა მისი გადაცემა.
ორი ცხრილი, რომლებიც სხვადასხვა კითხვას პასუხობს
Junos EVPN-ში ბაზა ჩამოთვლის MAC მისამართებს ინსტანსის მიხედვით და იმასაც, როგორ მოვიდა თითოეული: ნასწავლია წვდომის პორტიდან, მიღებულია Type 2 მარშრუტში ან მონიშნულია მრავალჯერადი ჰოსტინგის ჯგუფის ნაწილად. Juniper-ის show evpn database საცნობარი მოიცავს MAC-ისა და ინსტანსის მიხედვით ფილტრებს, რომლებიც ხედს კითხვადს ხდის. ეს საკონტროლო სიბრტყის რეზიუმეა ინსტანსისა და MAC-ის გასაღებით, და არა ცხრილი, რომლითაც ტექნიკა კადრებს გადართავს.
გადართვის ცხრილი სწორედ ეს გადაგზავნის მდგომარეობაა. ორივე გამომავალი MAC-ებს VLAN-ის ან VNI-ის კონტექსტის გვერდით ჩამოთვლის, და ეს არის ზუსტად მიზეზი, რომ მათ სტრიქონ-სტრიქონ ადარებენ, და ზუსტად მიზეზი, რომ შედარება შეცდომაში შემყვანია. ბაზაში ჩანაწერი ამბობს, რომ მარშრუტი არსებობს და ინსტანსში მიღებულ იქნა; ის არაფერს ამბობს იმაზე, დააინსტალირა თუ არა პლატფორმამ ის გადაგზავნისთვის.
Type 2 მარშრუტი ატარებს MAC-ს, არასავალდებულო IP-ს, ლეიბლს ან VNI-ს, მარშრუტის გამმიჯნავს და შემდეგ ნახტომს, რომელიც შორეულ VTEP-ს ასახელებს. ოთხი რამ შეიძლება გატყდეს კაბელსა და ამ მარშრუტს შორის: ჰოსტი არასოდეს ისწავლება, მარშრუტი არასოდეს გამოცხადდება, ის იმპორტისას უარყოფილია, ან მისი შემდეგი ნახტომი არ წყდება. ყოველი მარცხი სხვადასხვა ცხრილების ერთობლიობას ტოვებს სავსეს, და სწორედ ამიტომ შეიძლება ამ მიმდევრობის დიაგნოსტირება.
ლოკალური სწავლება კვლავ პირველად ხდება
გავრცელებული ვარაუდია, რომ EVPN იღებს MAC-ის სწავლებას, ამიტომ ცარიელი ბაზა overlay-ის პრობლემას უნდა ნიშნავდეს. ლოკალური სწავლება კვლავ წვდომის მხარეს მუშაობს, ზუსტად ისე, როგორც VXLAN-ამდე: კომუტატორი სწავლობს დაშვებული კადრის წყარო MAC-ს სწორ VLAN-სა და სერვისში, და მხოლოდ ამის შემდეგ ქმნის მისთვის Type 2-ს. ჰოსტს, რომელსაც შესაბამისი კადრი არ გაუგზავნია, გამოსაცხადებელი არაფერი აქვს. ჰოსტი, რომლის კადრებს VLAN-ის წევრობა, ფილტრი ან აგრეგატის გამორთული წევრი ყრის, overlay-ის თვალსაზრისით იდენტურად გამოიყურება.
დაიწყეთ მიერთების ადგილიდან და წინ წაიწიეთ მხოლოდ-კითხვითი ბრძანებებით. მიზანია დავამტკიცოთ, რომ ჰოსტის კადრმა გაიარა განკუთვნილ სერვისში, რადგან ვერსად ქვემოთ არაფერი ანაზღაურებს იმ კადრს, რომელიც არასოდეს მოვიდა.
show interfaces ge-0/0/1.0
show ethernet-switching interface ge-0/0/1.0
show lacp interfaces ae0
არჩეული LACP წევრები უფრო მნიშვნელოვანია, ვიდრე ის, რომ კონა ჩართულია, რადგან აგრეგატი შეიძლება ერთ წევრზე ჩართული იყოს, სანამ ჰოსტის ტრაფიკი ჰეშირდება ბმულზე, რომელიც გამორთული ან დაბლოკილია. ინტერფეისის მთვლელები ჩუმ ჰოსტს ამიჯნებს ჩამომავალისაგან, რადგან ჰოსტი, რომელიც არასოდეს აგზავნის, და ჰოსტი, რომლის კადრებს კლასიფიკაცია ყრის, ერთსა და იმავე ცარიელ ცხრილს ტოვებენ.
სად იკარგება შორეული MAC
შორეული MAC საპირისპირო მიმართულებით მარცხდება, და ჩუმად. Type 2 მარშრუტი მოდის, მაგრამ ინსტანსში შედის მხოლოდ მაშინ, როცა მისი მარშრუტის სამიზნე და VNI ემთხვევა ლოკალურ კონფიგურაციას, და გამოსადეგი ხდება მხოლოდ მაშინ, როცა შემდეგი ნახტომი წყდება ხელმისაწვდომ VTEP-ად. მარშრუტის სამიზნის შეუსაბამობა BGP-ის ცხრილში ტოვებს სწორ მარშრუტს, რომელსაც არც ერთი ინსტანსი არასოდეს ითხოვს.
სამი ხედი თანმიმდევრობით წაიკითხეთ: მარშრუტის არსებობა, ბაზის ჩანაწერი, გადაგზავნის ჩანაწერი. ქვემოთ მოცემული ბრძანებები ყოველ ეტაპზე ერთსა და იმავე MAC-ს იკითხავს, და ნიმუშის მისამართი გამომავალს შედარებადს ინახავს.
show evpn database instance blue mac-address 02:00:00:00:00:5c extensive
show route table bgp.evpn.0 | match 02:00:00:00:00:5c
show route table bgp.evpn.0 | match 02:00:00:00:00:5c extensive
ეს გამომავალი სამ ცალკე კითხვას პასუხობს. მარშრუტი bgp.evpn.0-ში ბაზის ჩანაწერის გარეშე მიუთითებს იმპორტის პოლიტიკაზე, მარშრუტის სამიზნეზე ან ინსტანსის კონფიგურაციაზე. ბაზის ჩანაწერი გადაგზავნის ჩანაწერის გარეშე მიუთითებს პლატფორმის პროგრამირებაზე, რაც სხვა ესკალაციის გზას ეკუთვნის. აქტიური მარშრუტი, რომლის შემდეგი ნახტომი არ წყდება, ტრანსპორტის ან ლეიბლის პრობლემაა, და MAC-ის გამართვის არც ერთი რაოდენობა მას არ ასწორებს.
გადატვირთვა, რომელმაც ეს გამოასწორა, ძალიან ცოტას ამტკიცებს
როცა გადატვირთვა სიმპტომს აქრობს, მაცდური დასკვნა ისაა, რომ კონფიგურაცია ჯანსაღი უნდა იყოს. გადატვირთვა ყველა ცხრილს ნულიდან ხელახლა აპროგრამებს, ამიტომ ის ფარავს იმ შემთხვევასაც, როცა მოძველებული ჩანაწერი პოლიტიკის შეცდომას ფარავდა; ხარვეზი ჩვეულებრივ ბრუნდება შემდეგ ცვლილებაზე, ბმულის ციმციმზე ან მარშრუტის უკან წაღებაზე.
ნებისმიერი მომსახურების ფანჯრის წინ დააფიქსირეთ, რას წაშლის გადატვირთვა. ეს სამი ბრძანება საკმარისია წინ და შემდეგ შესადარებლად, და მოწყობილობაზე არაფერს ცვლის.
show evpn database instance blue
show route table bgp.evpn.0
show version
დაარქივეთ ეს გამომავალი თარიღთან და პროგრამული უზრუნველყოფის ვერსიასთან ერთად. მოგვიანო ცნობა, რომ იგივე გადატვირთვა ადრეც დაეხმარა, ნახევრად მინიშნებაა და არა მტკიცებულება, და განსხვავება ჩანს მხოლოდ მაშინ, როცა ვინმემ ადრინდელი გამომავალი შეინახა.
ოთხი დაკვირვება, რომლებიც უმეტეს შემთხვევას წყვეტს
ოთხი დაკვირვება თითქმის ყველა შემთხვევას მოიცავს: მიერთება და მისი სერვისი, MAC როგორც ნიმუშის მნიშვნელობა, მარშრუტისა და ბაზის მდგომარეობა, და გამოყენებული ვერსია. აირჩიეთ MAC, რომელიც აშკარად ნიმუშია, რათა არავინ არ აურიოს ის წარმოების მისამართში: პირველი ოქტეტი 02 აღნიშნავს ლოკალურად მართულ unicast მისამართს, დანარჩენი ოქტეტები თავისუფალია, და ამიტომ 02:00:00:00:00:5c უსაფრთხო ჩანაცვლებითი ადგილია.
შემდეგ ნება მიეცით პასუხებს მიუთითონ იმ ეტაპზე, რომელიც ჩავარდა. მიერთებაზე სწავლების არარსებობა ნიშნავს წვდომის მხარეს; მარშრუტი ბაზის ჩანაწერის გარეშე ნიშნავს იმპორტს; ბაზის ჩანაწერი გადაგზავნის მდგომარეობის გარეშე ნიშნავს პროგრამირებას. რაც არ უნდა იყოს, გადასცეთ შეგროვებული გამომავალი ჰოსტთან, ინტერფეისთან, სერვისთან და ვერსიასთან ერთად, რათა შემდეგ ინჟინერს შეეძლოს გზის რეპროდუცირება კითხვის გამეორების ნაცვლად.