{"id":200,"date":"2026-07-09T00:00:00","date_gmt":"2026-07-08T20:30:00","guid":{"rendered":"https:\/\/www.anynet.ir\/blog\/%d8%b4%d8%b1%d9%88%d8%b9-%d8%ac%d9%85%d8%b9%d8%a2%d9%88%d8%b1%db%8c-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae%da%86%d9%87-bgp-%d8%a8%d8%a7-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-bmp\/"},"modified":"2026-07-09T00:00:00","modified_gmt":"2026-07-08T20:30:00","slug":"%d8%b4%d8%b1%d9%88%d8%b9-%d8%ac%d9%85%d8%b9%d8%a2%d9%88%d8%b1%db%8c-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae%da%86%d9%87-bgp-%d8%a8%d8%a7-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-bmp","status":"publish","type":"post","link":"https:\/\/www.anynet.ir\/blog\/%d8%b4%d8%b1%d9%88%d8%b9-%d8%ac%d9%85%d8%b9%d8%a2%d9%88%d8%b1%db%8c-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae%da%86%d9%87-bgp-%d8%a8%d8%a7-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-bmp\/","title":{"rendered":"\u0634\u0631\u0648\u0639 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 BGP \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 BMP"},"content":{"rendered":"<div>\n<div>\n<div>\n<p style=\"direction: rtl; text-align: right\">\u0645\u0646 \u0628\u06cc\u0634 \u0627\u0632 25 \u0633\u0627\u0644 \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0632\u0645\u06cc\u0646\u0647 \u0639\u06cc\u0628\u200c\u06cc\u0627\u0628\u06cc (Troubleshooting) \u0645\u0634\u06a9\u0644\u0627\u062a \u0634\u0628\u06a9\u0647 \u0627\u0631\u0627\u0626\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u062e\u062f\u0645\u0627\u062a (Service-provider) \u0641\u0639\u0627\u0644\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u0645. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062f\u062a \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0628\u0633\u06cc\u0627\u0631\u06cc \u0631\u062e \u062f\u0627\u062f\u0647 \u0627\u0633\u062a. \u0634\u0628\u06a9\u0647\u200c\u0647\u0627\u06cc \u0627\u0631\u0627\u0626\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u062e\u062f\u0645\u0627\u062a \u0627\u0632 \u067e\u0644\u062a\u0641\u0631\u0645\u200c\u0647\u0627\u06cc \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 IOS \u062f\u0631 \u0633\u0631\u06cc\u200c\u0647\u0627\u06cc 7200\/7500 \u0628\u0647 \u0633\u0645\u062a IOS XR \u0628\u0631 \u0631\u0648\u06cc ASR 9000 \u0648 CRS\u060c \u0648 \u0633\u067e\u0633 \u0628\u0647 \u0633\u0645\u062a NCS 5500 \u0648 \u067e\u0644\u062a\u0641\u0631\u0645\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f\u062a\u0631 \u062d\u0631\u06a9\u062a \u06a9\u0631\u062f\u0647\u200c\u0627\u0646\u062f. \u0631\u0648\u062a\u0631\u0647\u0627 \u0628\u0647 \u0646\u0631\u062e\u200c\u0647\u0627\u06cc \u0641\u0648\u0631\u0648\u0627\u0631\u062f\u06cc\u0646\u06af (Forwarding rates) \u062f\u0631 \u0645\u0642\u06cc\u0627\u0633 \u062a\u0631\u0627\u0628\u06cc\u062a \u062f\u0633\u062a \u06cc\u0627\u0641\u062a\u0647\u200c\u0627\u0646\u062f \u0648 \u062c\u062f\u0627\u0648\u0644 \u0645\u0633\u06cc\u0631\u06cc\u0627\u0628\u06cc (Routing tables) \u0628\u0647 \u0645\u06cc\u0644\u06cc\u0648\u0646\u200c\u0647\u0627 \u0645\u0633\u06cc\u0631 \u0627\u0641\u0632\u0627\u06cc\u0634 \u06cc\u0627\u0641\u062a\u0647\u200c\u0627\u0646\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0628\u0627 \u0648\u062c\u0648\u062f \u0627\u06cc\u0646 \u062a\u062d\u0648\u0644\u060c \u067e\u0627\u0633\u062e \u062f\u0627\u062f\u0646 \u0628\u0647 \u0628\u0631\u062e\u06cc \u0627\u0632 \u067e\u0631\u0633\u0634\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0647\u0645\u0686\u0646\u0627\u0646 \u062f\u0634\u0648\u0627\u0631 \u0627\u0633\u062a:<\/p>\n<div style=\"display: flex\" title=\"\u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0644 \u0627\u06cc\u0646 \u0628\u062e\u0634\">&nbsp;<\/div>\n<ul style=\"direction: rtl; text-align: right\">\n<li>\u062f\u0648 \u0631\u0648\u0632 \u067e\u06cc\u0634 \u062f\u0631 \u0633\u0627\u0639\u062a 14:15 \u0628\u0647 \u0648\u0642\u062a CET\u060c \u06af\u0627\u0645 \u0628\u0639\u062f\u06cc (Next Hop) \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0645\u0633\u06cc\u0631 BGP \u062e\u0627\u0635 \u0686\u0647 \u0628\u0648\u062f\u061f<\/li>\n<li>\u062f\u0631 \u0637\u0648\u0644 \u06cc\u06a9 \u0642\u0637\u0639\u06cc \u06af\u0632\u0627\u0631\u0634\u200c\u0634\u062f\u0647\u060c \u06cc\u06a9 \u0645\u0633\u06cc\u0631 \u0686\u0647 \u06a9\u0627\u0645\u06cc\u0648\u0646\u06cc\u062a\u06cc\u200c\u0647\u0627\u06cc\u06cc (Communities) \u0631\u0627 \u062d\u0645\u0644 \u0645\u06cc\u200c\u06a9\u0631\u062f\u061f<\/li>\n<li>\u0628\u0631\u0686\u0633\u0628 \u062e\u0631\u0648\u062c\u06cc (Egress Label)\u060c \u0648\u0636\u0639\u06cc\u062a \u0641\u0648\u0631\u0648\u0627\u0631\u062f\u06cc\u0646\u06af (Forwarding State) \u06cc\u0627 \u0648\u06cc\u0698\u06af\u06cc \u0645\u0633\u06cc\u0631 (Route Attribute) \u062f\u0631 \u06cc\u06a9 \u0644\u062d\u0638\u0647 \u062e\u0627\u0635 \u0627\u0632 \u0632\u0645\u0627\u0646 \u0686\u0647 \u0628\u0648\u062f\u061f<\/li>\n<li>\u06cc\u06a9 \u0645\u0633\u06cc\u0631 \u062f\u0642\u06cc\u0642\u0627\u064b \u0686\u0647 \u0632\u0645\u0627\u0646\u06cc \u0634\u0631\u0648\u0639 \u0628\u0647 \u0646\u0648\u0633\u0627\u0646 (Flapping) \u06a9\u0631\u062f \u0648 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627 \u0627\u0632 \u06a9\u062f\u0627\u0645 \u0647\u0645\u062a\u0627 (Peer) \u062f\u0631\u06cc\u0627\u0641\u062a \u0634\u062f\u0646\u062f\u061f<\/li>\n<\/ul>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646\u200c\u0647\u0627 \u067e\u0631\u0633\u0634\u200c\u0647\u0627\u06cc\u06cc \u062f\u0631\u0628\u0627\u0631\u0647 \u0648\u0636\u0639\u06cc\u062a \u06af\u0630\u0634\u062a\u0647 \u0634\u0628\u06a9\u0647 \u0647\u0633\u062a\u0646\u062f. \u0628\u062f\u0648\u0646 \u0648\u062c\u0648\u062f \u0648\u0636\u0639\u06cc\u062a \u062a\u0627\u0631\u06cc\u062e\u06cc BGP\u060c \u067e\u0627\u0633\u062e \u062f\u0627\u062f\u0646 \u0628\u0647 \u0622\u0646\u200c\u0647\u0627 \u0647\u0645\u0686\u0646\u0627\u0646 \u062f\u0634\u0648\u0627\u0631 \u0627\u0633\u062a. \u0641\u0642\u062f\u0627\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062a\u0627\u0631\u06cc\u062e\u06cc\u060c \u0645\u0647\u0646\u062f\u0633 \u0634\u0628\u06a9\u0647 \u0631\u0627 \u0645\u062c\u0628\u0648\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0628\u0647 \u062c\u0627\u06cc \u062a\u06a9\u06cc\u0647 \u0628\u0631 \u062d\u0642\u0627\u06cc\u0642\u060c \u0628\u0647 \u062d\u062f\u0633 \u0648 \u06af\u0645\u0627\u0646 \u06cc\u0627 \u0627\u0631\u0627\u0626\u0647 \u0646\u0638\u0631\u06cc\u0647\u200c\u0647\u0627\u06cc \u0627\u062d\u062a\u0645\u0627\u0644\u06cc \u0631\u0648\u06cc \u0622\u0648\u0631\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647 \u06cc\u06a9 \u062e\u0637 \u0644\u0648\u0644\u0647 (Pipeline) \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0628\u0631\u0627\u06cc \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u0648 \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc BMP \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0627\u0631\u0627\u06cc \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 (Web UI) \u0627\u0633\u062a \u06a9\u0647 \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0627\u0632 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062a\u0627\u0631\u06cc\u062e\u06cc BGP \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0647\u062f\u0627\u0641 \u062a\u062d\u0644\u06cc\u0644\u06cc \u067e\u0627\u06cc\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f.<\/p>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0686\u0631\u0627 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc \u0633\u0646\u062a\u06cc \u0646\u0627\u06a9\u0627\u0631\u0622\u0645\u062f \u0647\u0633\u062a\u0646\u062f<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u0633\u06cc\u0633\u062a\u0645\u200c\u0639\u0627\u0645\u0644\u200c\u0647\u0627\u06cc \u0634\u0628\u06a9\u0647 \u0645\u062f\u0631\u0646\u060c \u0631\u062f\u067e\u0627\u0647\u0627\u06cc (Traces) \u0628\u0633\u06cc\u0627\u0631 \u063a\u0646\u06cc\u200c\u062a\u0631\u06cc \u0646\u0633\u0628\u062a \u0628\u0647 \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u0642\u062f\u06cc\u0645\u06cc syslog \u0648 \u06a9\u0646\u0633\u0648\u0644 \u06a9\u0647 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0645\u0627 \u0628\u0627 \u0622\u0646\u200c\u0647\u0627 \u0628\u0632\u0631\u06af \u0634\u062f\u0647\u200c\u0627\u06cc\u0645\u060c \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u0627\u06cc\u0646 \u0631\u062f\u067e\u0627\u0647\u0627 \u0645\u0641\u06cc\u062f \u0647\u0633\u062a\u0646\u062f\u060c \u0627\u0645\u0627 \u067e\u0627\u0633\u062e \u06a9\u0627\u0645\u0644\u06cc \u0628\u0631\u0627\u06cc \u062a\u062d\u0644\u06cc\u0644 \u0648\u0636\u0639\u06cc\u062a \u0645\u0633\u06cc\u0631 (Route-state analysis) \u062f\u0631 \u06af\u0630\u0634\u062a\u0647 \u0645\u062d\u0633\u0648\u0628 \u0646\u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0631\u062f\u06cc\u0627\u0628\u06cc\u200c\u0647\u0627 (Traces) \u062f\u0627\u0631\u0627\u06cc \u0686\u0646\u062f\u06cc\u0646 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0639\u0645\u0644\u06cc \u0647\u0633\u062a\u0646\u062f:<\/p>\n<ul style=\"direction: rtl; text-align: right\">\n<li>\u0622\u0646\u200c\u0647\u0627 \u0627\u063a\u0644\u0628 \u0646\u06cc\u0627\u0632\u0645\u0646\u062f \u06cc\u06a9 \u0645\u0647\u0646\u062f\u0633 \u0634\u0628\u06a9\u0647 \u0647\u0633\u062a\u0646\u062f \u062a\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062f\u0633\u062a\u06cc \u062d\u062c\u0645 \u0639\u0638\u06cc\u0645\u06cc \u0627\u0632 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0631\u0627 \u062c\u0633\u062a\u062c\u0648 \u06a9\u0646\u062f.<\/li>\n<li>\u0622\u0646\u200c\u0647\u0627 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0648 \u0645\u0627\u0644\u06a9\u0627\u0646 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647\u200c\u0627\u0646\u062f\u060c \u0646\u0647 \u0628\u0631\u0627\u06cc \u067e\u0631\u0633\u200c\u0648\u062c\u0648\u0647\u0627\u06cc \u0633\u0631\u06cc\u0639 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0645\u0633\u06cc\u0631 (Route-history) \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc.<\/li>\n<li>\u0622\u0646\u200c\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u062d\u062c\u0645 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u0627\u0632 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0631\u0627 \u0628\u062f\u0648\u0646 \u0646\u0645\u0627\u06cc\u0634 \u0648\u0636\u0639\u06cc\u062a BGP \u0628\u0647 \u0634\u06a9\u0644\u06cc \u06a9\u0647 \u0627\u067e\u0631\u0627\u062a\u0648\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f\u060c \u062a\u0648\u0644\u06cc\u062f \u06a9\u0646\u0646\u062f.<\/li>\n<\/ul>\n<p style=\"direction: rtl; text-align: right\">\u06cc\u06a9 \u0631\u0648\u06cc\u06a9\u0631\u062f \u0631\u0627\u06cc\u062c \u062f\u06cc\u06af\u0631\u060c \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0633\u06cc\u0631 (Route) \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0633\u062a\u0648\u0631\u0627\u062a CLI \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u0647 \u0648 \u062e\u0631\u0648\u062c\u06cc \u0631\u0627 \u0627\u0633\u062a\u062e\u0631\u0627\u062c (Scrape) \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u0627\u06cc\u0646 \u0631\u0648\u0634 \u062f\u0631 \u0634\u0628\u06a9\u0647\u200c\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 \u0645\u0642\u06cc\u0627\u0633\u200c\u067e\u0630\u06cc\u0631\u06cc (Scalability) \u0645\u0646\u0627\u0633\u0628\u06cc \u0646\u062f\u0627\u0631\u062f. \u062e\u0631\u0648\u062c\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062f\u0642\u06cc\u0642 BGP \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0633\u06cc\u0627\u0631 \u062d\u062c\u06cc\u0645 \u0628\u0627\u0634\u062f\u060c \u0641\u0631\u0645\u062a \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u06cc\u0646 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0646\u062f \u0648 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0645\u062a\u0646 (Text scraping) \u0647\u0645 \u0647\u0632\u06cc\u0646\u0647\u200c\u0628\u0631 \u0648 \u0647\u0645 \u0622\u0633\u06cc\u0628\u200c\u067e\u0630\u06cc\u0631 \u0627\u0633\u062a. \u062f\u0631 \u06cc\u06a9 \u0631\u0648\u062a\u0631 \u0645\u0642\u06cc\u0627\u0633\u200c\u067e\u0630\u06cc\u0631\u060c \u0627\u062c\u0631\u0627\u06cc \u06cc\u06a9 \u062f\u0633\u062a\u0648\u0631 \u0645\u0633\u06cc\u0631 (Route) \u062f\u0642\u06cc\u0642 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062f\u0647\u200c\u0647\u0627 \u062f\u0642\u06cc\u0642\u0647 \u0632\u0645\u0627\u0646 \u0628\u0628\u0631\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u062a\u0644\u0647\u200c\u0645\u062a\u0631\u06cc \u062c\u0631\u06cc\u0627\u0646\u06cc (Streaming telemetry) \u0648 \u0631\u0648\u06cc\u06a9\u0631\u062f\u0647\u0627\u06cc \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 gRPC \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0642\u0627\u0628\u0644\u200c\u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u0628\u0627\u0634\u0646\u062f\u060c \u0628\u0647\u200c\u0648\u06cc\u0698\u0647 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0627\u0632 \u0627\u0646\u062a\u0634\u0627\u0631 \u0631\u0648\u06cc\u062f\u0627\u062f-\u0645\u062d\u0648\u0631 (event-driven) \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc \u0645\u0633\u06cc\u0631 (route updates) \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u06a9\u0646\u0646\u062f. \u0686\u0627\u0644\u0634 \u0627\u0635\u0644\u06cc\u060c \u0633\u0627\u0632\u06af\u0627\u0631\u06cc (consistency) \u0627\u0633\u062a: \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627 \u062f\u0631 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 BGP speaker \u0648 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631\u06cc \u0645\u062a\u0641\u0627\u0648\u062a\u060c \u0645\u062a\u063a\u06cc\u0631 \u0627\u0633\u062a.<\/p>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0686\u0631\u0627 BMP \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u067e\u0631\u0648\u062a\u06a9\u0644 \u0646\u0638\u0627\u0631\u062a \u0628\u0631 BGP (BMP) \u0628\u0631\u0627\u06cc \u062d\u0644 \u0627\u06cc\u0646 \u0646\u0648\u0639 \u0645\u0634\u06a9\u0644\u0627\u062a \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u067e\u0631\u0648\u062a\u06a9\u0644 \u06cc\u06a9 \u0631\u0648\u0634 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0628\u0631\u0627\u06cc \u0646\u0638\u0627\u0631\u062a \u0628\u0631 \u0646\u0634\u0633\u062a\u200c\u0647\u0627\u06cc BGP (BGP sessions) \u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u06cc\u062f\u06af\u0627\u0647\u200c\u0647\u0627\u06cc \u0645\u0633\u06cc\u0631 (route views) \u0627\u0632 BGP speakers \u0627\u0633\u062a. BMP \u062f\u0631 \u0633\u0646\u062f \u0632\u06cc\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a:<a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc7854.html\" style=\"color: rgb(0, 102, 204)\">RFC 7854<\/a>.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u067e\u0631\u0648\u062a\u06a9\u0644 BMP \u06cc\u06a9 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0645\u0633\u06cc\u0631\u06cc\u0627\u0628\u06cc (Routing Protocol) \u0646\u06cc\u0633\u062a\u060c \u0628\u0644\u06a9\u0647 \u06cc\u06a9 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0646\u0638\u0627\u0631\u062a\u06cc (Monitoring Protocol) \u0627\u0633\u062a. \u06cc\u06a9 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector) \u062f\u0631 BMP \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0646\u0645\u0627\u06cc \u0627\u0648\u0644\u06cc\u0647\u200c\u0627\u06cc \u0627\u0632 \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc BGP \u062a\u062d\u062a \u0646\u0638\u0627\u0631\u062a \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u0647 \u0648 \u0633\u067e\u0633 \u0628\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634\u06cc \u0645\u0633\u06cc\u0631\u060c \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0647\u0645\u062a\u0627 (Peer-up events)\u060c \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0642\u0637\u0639 \u0627\u062a\u0635\u0627\u0644 \u0647\u0645\u062a\u0627 (Peer-down events) \u0648 \u0622\u0645\u0627\u0631\u0647\u0627 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u062f.<\/p>\n<p>The exact visibility depends on the BGP speaker implementation, BMP configuration, and whether pre-policy, post-policy, or both views are exported. In many service-provider designs, connecting BMP collectors to route reflectors provides broad visibility into the BGP domain because route reflectors already observe a large portion of the BGP update stream.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 \u0648\u06cc\u0698\u06af\u06cc\u060c BMP \u0631\u0627 \u0628\u0647 \u0645\u0646\u0628\u0639\u06cc \u0637\u0628\u06cc\u0639\u06cc \u0628\u0631\u0627\u06cc \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0645\u0633\u06cc\u0631 (Route-history) \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0627\u0632 \u062c\u0631\u06cc\u0627\u0646 BMP \u0628\u0647 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0642\u0627\u0628\u0644 \u067e\u0631\u0633\u200c\u0648\u062c\u0648 (Queryable History)<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc BMP \u062a\u0646\u0647\u0627 \u06af\u0627\u0645 \u0646\u062e\u0633\u062a \u0627\u0633\u062a. \u0628\u0631\u0627\u06cc \u067e\u0627\u0633\u062e \u0628\u0647 \u067e\u0631\u0633\u0634\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc\u060c \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0628\u0627\u06cc\u062f \u062a\u062c\u0632\u06cc\u0647 (Parsed)\u060c \u0646\u0631\u0645\u0627\u0644\u200c\u0633\u0627\u0632\u06cc (Normalized)\u060c \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc (Persisted) \u0648 \u0642\u0627\u0628\u0644 \u062c\u0633\u062a\u062c\u0648 (Queryable) \u0634\u0648\u0646\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631 \u0627\u0632 \u0631\u0648\u06cc\u06a9\u0631\u062f \u00ab\u062e\u0637 \u0644\u0648\u0644\u0647 \u067e\u0631\u062f\u0627\u0632\u0634\u00bb (processing pipeline) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0647\u0631 \u0645\u0631\u062d\u0644\u0647 \u0627\u0632 \u067e\u0631\u062f\u0627\u0632\u0634\u060c \u0645\u0633\u0626\u0648\u0644 \u0645\u062c\u0645\u0648\u0639\u0647\u200c\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631 \u0645\u0634\u062e\u0635 \u0627\u0632 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0627\u0633\u062a. \u0627\u0632 \u062a\u0648\u0644\u06cc\u062f\u06a9\u0646\u0646\u062f\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a BMP \u06af\u0631\u0641\u062a\u0647 \u062a\u0627 \u0645\u0635\u0631\u0641\u200c\u06a9\u0646\u0646\u062f\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062a\u0627\u0631\u06cc\u062e\u06cc \u0630\u062e\u06cc\u0631\u0647\u200c\u0634\u062f\u0647\u060c \u0647\u0631 \u0645\u0631\u062d\u0644\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a\u060c \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc\u060c \u062a\u063a\u06cc\u06cc\u0631 \u0648 \u0628\u0647 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u06cc \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0645\u0646\u0628\u0639 \u0642\u0627\u0628\u0644\u200c\u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0648 \u062d\u0642\u06cc\u0642\u062a\u06cc \u063a\u06cc\u0631\u0642\u0627\u0628\u0644\u200c\u0627\u0646\u06a9\u0627\u0631 \u0627\u0632 \u0686\u0631\u062e\u0647 \u062d\u06cc\u0627\u062a \u06cc\u06a9 \u0645\u0633\u06cc\u0631 BGP \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0646\u0645\u0648\u062f\u0627\u0631 \u0632\u06cc\u0631 \u0646\u0645\u0627\u06cc\u0634\u06cc \u0628\u0635\u0631\u06cc \u0627\u0632 \u0627\u062c\u0632\u0627 \u0648 \u062c\u0631\u06cc\u0627\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n<div style=\"width: 100%; margin: 1.5rem 0px\">\n<pre style=\"display: block; white-space: pre; max-width: 100%; width: 100%\"><code><span>Routers \/ Route Reflectors\n<\/span><span> |\n<\/span><span> | BMP (RFC 7854)\n<\/span><span> v\n<\/span><span> +---------+\n<\/span><span> | GoBMP | parses BMP and publishes JSON\n<\/span><span> +----+----+\n<\/span><span> |\n<\/span><span> | Kafka topics (gobmp.parsed.*)\n<\/span><span> v\n<\/span><span>+----------------------------------+\n<\/span><span>| GoBMP-MongoDB Connector |\n<\/span><span>| |\n<\/span><span>| Kafka consumer |\n<\/span><span>| consumes per-AFI\/SAFI topics |\n<\/span><span>| |\n<\/span><span>| MongoDB writer |\n<\/span><span>| stores current route state |\n<\/span><span>| stores route event history |\n<\/span><span>| tracks statistics and damping |\n<\/span><span>+----------------+-----------------+\n<\/span><span> |\n<\/span><span> v\n<\/span><span> MongoDB\n<\/span><span> |\n<\/span><span> v\n<\/span><span> Queries, dashboards, reports,\n<\/span><span> correlation, alerting, analytics\n<\/span><\/code><\/pre>\n<div>\n<div><\/div>\n<\/div>\n<\/div>\n<p style=\"direction: rtl; text-align: right\">GoBMP \u0639\u0645\u0644\u06cc\u0627\u062a \u062a\u062c\u0632\u06cc\u0647 (Parsing) \u067e\u0631\u0648\u062a\u06a9\u0644 BMP \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u0647 \u0648 \u0627\u0633\u0646\u0627\u062f \u0645\u0633\u06cc\u0631 (Route) \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a JSON \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 \u062f\u0631 Kafka \u0645\u0646\u062a\u0634\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062a\u0648\u0644\u06cc\u062f\u06a9\u0646\u0646\u062f\u0647 (Producer) \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u062a\u0631\u062c\u0645\u0647\u200c\u0634\u062f\u0647 BGP\/BMP \u0639\u0645\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0631\u0627\u0628\u0637 (Connector) GoBMP-MongoDB \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639\u0627\u062a (Topics) \u0631\u0627 \u0627\u0632 Kafka \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u0647 \u0648 MongoDB \u0631\u0627 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0645\u0647\u0645\u200c\u062a\u0631\u06cc\u0646 \u0646\u062a\u06cc\u062c\u0647 \u0627\u06cc\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f\u060c \u06cc\u06a9 \u0635\u0641\u062d\u0647 \u06cc\u0627 \u06af\u0631\u062f\u0634\u200c\u06a9\u0627\u0631 (Workflow) \u062e\u0627\u0635 \u0646\u06cc\u0633\u062a\u060c \u0628\u0644\u06a9\u0647 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u067e\u0627\u06cc\u062f\u0627\u0631 \u0648 \u0642\u0627\u0628\u0644 \u062c\u0633\u062a\u062c\u0648 \u0627\u0632 \u0648\u0636\u0639\u06cc\u062a BGP \u0627\u0633\u062a.<\/p>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0622\u0646\u0686\u0647 GoBMP-MongoDB Connector \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u0628\u0631\u0627\u06cc \u0647\u0631 \u0645\u0633\u06cc\u0631\u060c MongoDB \u0648\u0636\u0639\u06cc\u062a \u0641\u0639\u0644\u06cc \u0648 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 \u0631\u0627 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0627\u0645\u06a9\u0627\u0646 \u067e\u0631\u0633\u0634 \u062f\u0631\u0628\u0627\u0631\u0647 \u00ab\u0648\u0636\u0639\u06cc\u062a \u0641\u0639\u0644\u06cc \u0686\u06cc\u0633\u062a\u061f\u00bb \u0648 \u00ab\u0627\u06cc\u0646 \u0648\u0636\u0639\u06cc\u062a \u062f\u0631 \u0637\u0648\u0644 \u0632\u0645\u0627\u0646 \u0686\u06af\u0648\u0646\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a\u061f\u00bb \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u0633\u0627\u0632\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647\u200c\u0634\u062f\u0647 \u0634\u0627\u0645\u0644 \u0647\u0648\u06cc\u062a \u0645\u0633\u06cc\u0631 (Route Identity)\u060c \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0647\u0645\u062a\u0627 (Peer Information)\u060c \u0645\u0646\u0628\u0639 BMP\u060c \u0634\u0646\u0627\u0633\u0647 \u0645\u0633\u06cc\u0631 (Path ID)\u060c \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc BGP\u060c \u0628\u0631\u0686\u0633\u0628\u200c\u0647\u0627\u06cc \u0632\u0645\u0627\u0646\u06cc (Timestamps) \u0648 \u0648\u0631\u0648\u062f\u06cc\u200c\u0647\u0627\u06cc \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0627\u0633\u062a. \u0628\u0631\u0627\u06cc \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc VPN\u060c \u0645\u062a\u0645\u0627\u06cc\u0632\u06a9\u0646\u0646\u062f\u0647 \u0645\u0633\u06cc\u0631 (Route Distinguisher) \u0628\u062e\u0634\u06cc \u0627\u0632 \u0647\u0648\u06cc\u062a \u0645\u0633\u06cc\u0631 \u0627\u0633\u062a \u06a9\u0647 \u0627\u0645\u06a9\u0627\u0646 \u0628\u0627\u0632\u0631\u0633\u06cc \u062f\u0631 \u0633\u0637\u062d VRF \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 \u06a9\u0627\u0646\u06a9\u062a\u0648\u0631 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0646\u0627\u067e\u0627\u06cc\u062f\u0627\u0631\u06cc \u0645\u0633\u06cc\u0631 (Route Instability) \u0631\u0627 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631\u060c \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc\u200c\u0647\u0627 (Withdrawals)\u060c \u0627\u0639\u0644\u0627\u0646\u200c\u0647\u0627 (Announcements)\u060c \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627 (Attribute Changes) \u0648 \u0645\u0639\u06cc\u0627\u0631\u0647\u0627\u06cc \u0645\u06cc\u0631\u0627\u06cc\u06cc \u0645\u0633\u06cc\u0631 BGP (BGP Route Dampening) \u0631\u0627 \u0631\u062f\u06cc\u0627\u0628\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0627\u067e\u0631\u0627\u062a\u0648\u0631\u0647\u0627 \u0628\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0647 \u0633\u0631\u0639\u062a \u067e\u06cc\u0634\u0648\u0646\u062f\u0647\u0627\u06cc (Prefixes) \u0646\u0627\u067e\u0627\u06cc\u062f\u0627\u0631 \u06cc\u0627 \u0628\u0627 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0645\u06a9\u0631\u0631 \u0631\u0627 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0644\u06cc\u0633\u062a \u062e\u0627\u0646\u0648\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0622\u062f\u0631\u0633 (Address Families) \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc\u200c\u0634\u062f\u0647 \u0648 \u0630\u062e\u06cc\u0631\u0647\u200c\u0634\u062f\u0647 \u0622\u0645\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<ul>\n<li>IPv4 unicast<\/li>\n<li>IPv6 unicast<\/li>\n<li>VPNv4<\/li>\n<li>VPNv6<\/li>\n<\/ul>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0686\u0631\u0627 Kafka \u062f\u0631 \u0645\u06cc\u0627\u0646\u0647 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f<\/h2>\n<p style=\"direction: rtl; text-align: right\">Kafka \u06cc\u06a9 \u062c\u062f\u0627\u0633\u0627\u0632\u06cc \u0645\u0641\u06cc\u062f \u0628\u06cc\u0646 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u0648 \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u062f\u0631 \u062e\u0637 \u0644\u0648\u0644\u0647 (Pipeline) \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. GoBMP \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0631 \u062a\u062c\u0632\u06cc\u0647 (Parsing) \u067e\u0631\u0648\u062a\u06a9\u0644 BMP \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u0645\u0633\u06cc\u0631 \u062a\u0645\u0631\u06a9\u0632 \u06a9\u0646\u062f. \u06a9\u0627\u0646\u06a9\u062a\u0648\u0631 MongoDB \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0631 \u0645\u0635\u0631\u0641 \u0622\u0646 \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u060c \u062d\u0641\u0638 \u062a\u0631\u062a\u06cc\u0628 \u062f\u0631 \u0645\u0648\u0627\u0631\u062f \u0636\u0631\u0648\u0631\u06cc \u0648 \u0646\u0648\u0634\u062a\u0646 \u0648\u0636\u0639\u06cc\u062a \u0645\u0633\u06cc\u0631 \u062f\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u062a\u0645\u0631\u06a9\u0632 \u0646\u0645\u0627\u06cc\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 \u062c\u062f\u0627\u0633\u0627\u0632\u06cc \u0647\u0645\u0686\u0646\u06cc\u0646 \u062a\u06a9\u0627\u0645\u0644 \u0633\u06cc\u0633\u062a\u0645 \u0631\u0627 \u0622\u0633\u0627\u0646\u200c\u062a\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0645\u0635\u0631\u0641\u200c\u06a9\u0646\u0646\u062f\u06af\u0627\u0646 (Consumers) \u0627\u0636\u0627\u0641\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u062f\u0648\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0631 \u0644\u0627\u06cc\u0647 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc BMP\u060c \u062f\u0631 \u0647\u0645\u0627\u0646 \u0645\u0648\u0636\u0648\u0639\u0627\u062a (Topics) \u0645\u0634\u062a\u0631\u06a9 \u0634\u0648\u0646\u062f. \u0627\u067e\u0631\u0627\u062a\u0648\u0631\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0633\u062a\u0647 \u0628\u0647 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u062e\u0648\u062f \u062f\u0631 \u0632\u0645\u06cc\u0646\u0647 \u062a\u062d\u0644\u06cc\u0644 (Analytics)\u060c \u0646\u0638\u0627\u0631\u062a (Monitoring) \u06cc\u0627 \u0628\u0627\u06cc\u06af\u0627\u0646\u06cc (Archival)\u060c \u062a\u0635\u0645\u06cc\u0645 \u0628\u06af\u06cc\u0631\u0646\u062f \u06a9\u0647 \u0628\u0647 \u06cc\u06a9 \u0645\u0635\u0631\u0641\u200c\u06a9\u0646\u0646\u062f\u0647 \u067e\u0627\u06cc\u06cc\u0646\u200c\u062f\u0633\u062a (Downstream consumer) \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u0646\u062f \u06cc\u0627 \u0686\u0646\u062f\u06cc\u0646 \u0645\u0635\u0631\u0641\u200c\u06a9\u0646\u0646\u062f\u0647.<\/p>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0627\u067e\u0631\u0627\u062a\u0648\u0631\u0647\u0627 \u0686\u0647 \u067e\u0627\u0633\u062e\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u062f\u0647\u0646\u062f<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0633\u06cc\u0631 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0639\u06cc\u0628\u200c\u06cc\u0627\u0628\u06cc (Troubleshooting) \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u0647 \u062c\u0627\u06cc \u062c\u0633\u062a\u062c\u0648 \u062f\u0631 \u0645\u06cc\u0627\u0646 \u0631\u062f\u067e\u0627\u0647\u0627 (Traces) \u06cc\u0627 \u062a\u0644\u0627\u0634 \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u062a\u0648\u0644\u06cc\u062f \u06cc\u06a9 \u062e\u0631\u0627\u0628\u06cc \u06af\u0630\u0634\u062a\u0647\u060c \u0627\u067e\u0631\u0627\u062a\u0648\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0631\u0627 \u062c\u0633\u062a\u062c\u0648 (Query) \u06a9\u0646\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0644\u0637\u0641\u0627\u064b \u0645\u062a\u0646 \u0648\u0631\u0648\u062f\u06cc \u062e\u0648\u062f \u0631\u0627 \u067e\u0633 \u0627\u0632 \u0639\u0628\u0627\u0631\u062a &#8220;Examples:&#8221; \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f \u062a\u0627 \u0637\u0628\u0642 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0648 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u200c\u0647\u0627\u06cc \u062a\u0639\u06cc\u06cc\u0646\u200c\u0634\u062f\u0647\u060c \u062a\u0631\u062c\u0645\u0647 \u062f\u0642\u06cc\u0642 \u0622\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u0645.<\/p>\n<ul>\n<li>Show me the state of <code>45.8.233.0\/24<\/code> in the <code style=\"direction: rtl; text-align: right\">\u067e\u06cc\u0634\u0648\u0646\u062f \u06cc\u0648\u0646\u06cc\u06a9\u0633\u062a (unicast_prefix_v4)<\/code> collection at a specific timestamp.<\/li>\n<li style=\"direction: rtl; text-align: right\">\u0646\u0645\u0627\u06cc\u0634 \u062a\u0645\u0627\u0645\u06cc \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0645\u0633\u06cc\u0631 (Route) \u0627\u0632 \u0646\u0648\u0639 VPNv4 \u062f\u0631 \u06cc\u06a9 \u0634\u0646\u0627\u0633\u0647\u200c\u06af\u0630\u0627\u0631 \u0645\u0633\u06cc\u0631 (Route Distinguisher) \u0645\u0634\u062e\u0635.<\/li>\n<li style=\"direction: rtl; text-align: right\">\u0644\u06cc\u0633\u062a \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc\u06cc (Routes) \u06a9\u0647 \u0628\u06cc\u0634\u062a\u0631\u06cc\u0646 \u062a\u0639\u062f\u0627\u062f \u062d\u0630\u0641 (Withdrawal count) \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0633\u0627\u0639\u062a \u06af\u0630\u0634\u062a\u0647 \u062f\u0627\u0634\u062a\u0647\u200c\u0627\u0646\u062f\u060c \u0646\u0645\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f.<\/li>\n<li style=\"direction: rtl; text-align: right\">\u0645\u0642\u0627\u06cc\u0633\u0647 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0645\u0633\u06cc\u0631 (Route History) \u062f\u0631 \u0645\u06cc\u0627\u0646 \u0647\u0645\u062a\u0627\u06cc\u0627\u0646 (Peers).<\/li>\n<li style=\"direction: rtl; text-align: right\">\u0632\u0645\u0627\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0631 \u06af\u0627\u0645 \u0628\u0639\u062f\u06cc (Next Hop)\u060c \u0628\u0631\u0686\u0633\u0628 (Label)\u060c \u0645\u0633\u06cc\u0631 AS (AS Path) \u06cc\u0627 \u0644\u06cc\u0633\u062a \u06a9\u0627\u0645\u06cc\u0648\u0646\u06cc\u062a\u06cc (Community List) \u06cc\u06a9 \u0645\u0633\u06cc\u0631 \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n<p style=\"direction: rtl; text-align: right\">\u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627<code>GoBMP-MongoDB Connector<\/code>\u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 \u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0628\u0631 \u067e\u0631\u0633\u0634\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0631\u0627\u06cc\u062c \u0645\u0627\u0646\u0646\u062f \u062a\u062d\u0644\u06cc\u0644 \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc \u0646\u0648\u0633\u0627\u0646\u06cc (flapping-route)\u060c \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0627\u062e\u06cc\u0631 \u0645\u0633\u06cc\u0631\u060c \u0622\u0645\u0627\u0631 \u0647\u0645\u062a\u0627\u06cc\u0627\u0646 (peer statistics)\u060c \u062c\u0633\u062a\u062c\u0648\u06cc \u0645\u0633\u06cc\u0631 \u0648 \u062c\u0632\u0626\u06cc\u0627\u062a \u0645\u0633\u06cc\u0631 \u062a\u0645\u0631\u06a9\u0632 \u062f\u0627\u0631\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0627\u0645\u0627 \u062f\u0627\u0634\u0628\u0648\u0631\u062f\u060c \u0628\u062e\u0634 \u0627\u0635\u0644\u06cc \u0648 \u0645\u0631\u06a9\u0632\u06cc \u0646\u06cc\u0633\u062a. \u0628\u062e\u0634 \u0627\u0635\u0644\u06cc\u060c \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u0634\u062f\u0647 BGP \u0627\u0633\u062a. \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0645\u0648\u062c\u0648\u062f \u0628\u0627\u0634\u0646\u062f\u060c \u062a\u06cc\u0645\u200c\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u062a\u062d\u0644\u06cc\u0644\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u0646\u062f \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637 \u06a9\u0627\u0631\u06cc \u0622\u0646\u200c\u0647\u0627 \u0645\u0639\u0646\u0627\u062f\u0627\u0631 \u0628\u0627\u0634\u062f: \u062f\u0627\u0634\u0628\u0648\u0631\u062f\u0647\u0627\u060c \u06af\u0632\u0627\u0631\u0634\u200c\u0647\u0627\u060c \u062a\u0634\u062e\u06cc\u0635 \u0646\u0627\u0647\u0646\u062c\u0627\u0631\u06cc (Anomaly Detection)\u060c \u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc \u0631\u062e\u062f\u0627\u062f\u0647\u0627 (Incident Timelines)\u060c \u0645\u0637\u0627\u0644\u0639\u0627\u062a \u0638\u0631\u0641\u06cc\u062a (Capacity Studies)\u060c \u0645\u0642\u0627\u06cc\u0633\u0647 \u0647\u0645\u062a\u0627\u06cc\u0627\u0646 (Peer Comparisons)\u060c \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u0633\u06cc\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u0645\u0633\u06cc\u0631\u06cc\u0627\u0628\u06cc (Route-policy Validation) \u06cc\u0627 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647\u200c\u0633\u0627\u0632\u06cc \u0628\u0627 \u067e\u0644\u062a\u0641\u0631\u0645\u200c\u0647\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647\u200c\u067e\u0630\u06cc\u0631\u06cc (Observability Platforms) \u0645\u0648\u062c\u0648\u062f.<\/p>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0646\u06a9\u062a\u0647 \u0627\u0635\u0644\u06cc<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06af\u0631 \u0628\u062e\u0648\u0627\u0647\u06cc\u0645 \u0628\u0647 \u067e\u0631\u0633\u0634\u200c\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0648\u0636\u0639\u06cc\u062a \u06af\u0630\u0634\u062a\u0647 BGP \u067e\u0627\u0633\u062e \u062f\u0647\u06cc\u0645\u060c \u0628\u0627\u06cc\u062f \u0622\u0646 \u0648\u0636\u0639\u06cc\u062a \u0631\u0627 \u067e\u06cc\u0634 \u0627\u0632 \u0648\u0642\u0648\u0639\u060c \u062f\u0631 \u062d\u06cc\u0646 \u0648\u0642\u0648\u0639 \u0648 \u067e\u0633 \u0627\u0632 \u067e\u0627\u06cc\u0627\u0646 \u0642\u0637\u0639\u06cc (Outage) \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u067e\u0631\u0648\u062a\u06a9\u0644 BMP \u0645\u0646\u0628\u0639\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0627\u0632 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc \u0645\u0633\u06cc\u0631 BGP \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0645\u0627 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f. \u0627\u0628\u0632\u0627\u0631 GoBMP \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc BMP \u0631\u0627 \u0628\u0647 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f. Kafka \u06cc\u06a9 \u0644\u0627\u06cc\u0647 \u0627\u0646\u062a\u0642\u0627\u0644 (Transport Layer) \u0628\u06cc\u0646 \u062a\u0648\u0644\u06cc\u062f\u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0648 \u0645\u0635\u0631\u0641\u200c\u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u0622\u0648\u0631\u062f. MongoDB \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u067e\u0627\u06cc\u062f\u0627\u0631\u06cc \u0627\u0632 \u0645\u0633\u06cc\u0631\u0647\u0627 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f. \u0627\u06cc\u0646<code>\u0627\u062a\u0635\u0627\u0644\u200c\u062f\u0647\u0646\u062f\u0647 GoBMP-MongoDB<\/code>\u0627\u06cc\u0646 \u0628\u062e\u0634\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0645\u062a\u0635\u0644 \u06a9\u0631\u062f\u0647 \u0648 \u062c\u0631\u06cc\u0627\u0646 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc \u0645\u0633\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0645\u062c\u0645\u0648\u0639\u0647\u200c\u062f\u0627\u062f\u0647\u200c\u0627\u06cc \u0645\u0627\u0646\u062f\u06af\u0627\u0631 \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0627\u067e\u0631\u0627\u062a\u0648\u0631\u0647\u0627 \u0648 \u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u06cc \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0622\u0646 \u0631\u0627 \u062c\u0633\u062a\u062c\u0648\u060c \u0647\u0645\u0628\u0633\u062a\u0647\u200c\u0633\u0627\u0632\u06cc \u0648 \u062a\u062d\u0644\u06cc\u0644 \u06a9\u0646\u0646\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0628\u062f\u0648\u0646 \u062f\u0627\u062f\u0647\u060c \u0647\u06cc\u0686 \u062a\u062d\u0644\u06cc\u0644 (Analytics) \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f. \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0645\u0633\u06cc\u0631 (Route history) \u0645\u0648\u062c\u0648\u062f \u0628\u0627\u0634\u062f\u060c \u067e\u0631\u0633\u0634\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u062f\u0634\u0648\u0627\u0631 \u0628\u0648\u062f\u0646\u062f\u060c \u0628\u0647 \u067e\u0631\u0633\u200c\u0648\u062c\u0648\u0647\u0627\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 (Database queries) \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/p>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0628\u0648\u062f\u0646 (Availability)<\/h2>\n<p style=\"direction: rtl; text-align: right\"><code>\u0627\u062a\u0635\u0627\u0644\u200c\u062f\u0647\u0646\u062f\u0647 GoBMP-MongoDB<\/code>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062f\u0627\u06a9\u0631 (Docker container) \u062f\u0631 \u062f\u0627\u06a9\u0631 \u0647\u0627\u0628 (Docker Hub) \u0628\u0647 \u0622\u062f\u0631\u0633 docker.io\/sbezverk\/gobmp-mongodb-connector \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a<\/p>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u062a\u0648\u067e\u0648\u0644\u0648\u0698\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634\u06af\u0627\u0647\u06cc \u0646\u0645\u0648\u0646\u0647<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u200c\u0647\u0627\u06cc \u0627\u06cc\u0646 \u067e\u0633\u062a\u060c \u0645\u0646 \u0627\u0632 \u06cc\u06a9 \u0622\u0632\u0645\u0627\u06cc\u0634\u06af\u0627\u0647 \u06a9\u0648\u0686\u06a9 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0645\u0633\u06cc\u0631\u0647\u0627 \u0628\u0647 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 Cisco XRd \u062a\u0632\u0631\u06cc\u0642 \u0634\u062f\u0647\u060c \u0627\u0632 \u0637\u0631\u06cc\u0642 BMP \u0635\u0627\u062f\u0631 \u0634\u062f\u0647\u060c \u062a\u0648\u0633\u0637 GoBMP \u062a\u062c\u0632\u06cc\u0647 (Parse) \u0634\u062f\u0647\u060c \u0627\u0632 \u0637\u0631\u06cc\u0642 Kafka \u062a\u062d\u0648\u06cc\u0644 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0648 \u062a\u0648\u0633\u0637<code>GoBMP-MongoDB Connector<\/code>\u062f\u0631 MongoDB \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/p>\n<pre><code><span>bgpinjector\n<\/span><span>(RIS Live and manual injection)\n<\/span><span> |\n<\/span><span> v\n<\/span><span>Cisco XRd 26.2.1\n<\/span><span> |\n<\/span><span> v\n<\/span><span>GoBMP collector\n<\/span><span> |\n<\/span><span> v\n<\/span><span>Kafka\n<\/span><span> |\n<\/span><span> v\n<\/span><span>GoBMP-MongoDB Connector\n<\/span><span> |\n<\/span><span> v\n<\/span><span>MongoDB\n<\/span><\/code><\/pre>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u06cc\u0627\u062f\u062f\u0627\u0634\u062a\u200c\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637 \u0622\u0632\u0645\u0627\u06cc\u0634\u06af\u0627\u0647\u06cc \u0648 \u0639\u0645\u0644\u06a9\u0631\u062f (Performance)<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0632\u0645\u0627\u06cc\u0634\u06af\u0627\u0647\u060c<code>bgpinjector<\/code>\u062c\u0631\u06cc\u0627\u0646 \u0632\u0646\u062f\u0647 RIS \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u0632 \u062a\u0632\u0631\u06cc\u0642 \u062f\u0633\u062a\u06cc \u0645\u0633\u06cc\u0631 (Route Injection) \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0646\u0645\u0648\u062f. \u062f\u0631 \u0637\u0648\u0644 \u0627\u06cc\u0646 \u062a\u0633\u062a\u060c \u062e\u0637 \u0644\u0648\u0644\u0647 (Pipeline) \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 1500 \u0631\u0648\u06cc\u062f\u0627\u062f \u0645\u0633\u06cc\u0631 \u062f\u0631 \u062b\u0627\u0646\u06cc\u0647 \u0631\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 \u06a9\u0631\u062f. \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 MongoDB \u0628\u0647 \u0635\u0648\u0631\u062a \u06cc\u06a9 \u0645\u062c\u0645\u0648\u0639\u0647 \u062a\u06a9\u0631\u0627\u0631 \u0634\u0648\u0646\u062f\u0647 (Replica Set) \u062a\u06a9-\u0634\u0627\u0631\u062f \u062f\u0631 \u0647\u0645\u0627\u0646 \u0645\u062d\u06cc\u0637 \u0622\u0632\u0645\u0627\u06cc\u0634\u06af\u0627\u0647\u06cc \u0645\u0633\u062a\u0642\u0631 \u0634\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u06cc\u06a9 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062a\u06a9 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc (VM) \u0628\u0627 16 \u06af\u06cc\u06af\u0627\u0628\u0627\u06cc\u062a \u0631\u0645 (RAM) \u0648 8 \u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647 \u0645\u062c\u0627\u0632\u06cc (vCPU) \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0628\u0633\u062a\u0631 \u062a\u0633\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u062c\u0647\u062a \u0646\u0645\u0627\u06cc\u0634 \u0645\u062f\u0644 \u062f\u0627\u062f\u0647 \u0648 \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u062e\u0637 \u0644\u0648\u0644\u0647 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc (Collection Pipeline) \u062a\u062d\u062a \u0646\u0631\u062e \u0631\u0648\u06cc\u062f\u0627\u062f \u0645\u0639\u0646\u0627\u062f\u0627\u0631 \u0645\u0641\u06cc\u062f \u0627\u0633\u062a. \u0627\u06cc\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0646\u0628\u0627\u06cc\u062f \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0637\u0631\u062d \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc \u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc (Production) \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0647 \u0634\u0648\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0646\u0632\u062f\u06cc\u06a9 \u0628\u0647 \u0645\u062d\u06cc\u0637 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc (Production)\u060c \u062d\u062f\u0627\u0642\u0644 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0633\u0647 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc (VM) \u0631\u0627 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f. Kafka \u0628\u0627\u06cc\u062f \u0642\u0627\u062f\u0631 \u0628\u0647 \u0627\u062c\u0631\u0627 \u0628\u0627 \u0642\u0627\u0628\u0644\u06cc\u062a \u062a\u06a9\u062b\u06cc\u0631 \u06a9\u0627\u0631\u06af\u0632\u0627\u0631 (Broker Replication) \u0628\u0627\u0634\u062f \u0648 MongoDB \u0646\u06cc\u0632 \u0628\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u062d\u0627\u0644\u062a \u062a\u0648\u0632\u06cc\u0639\u200c\u0634\u062f\u0647 \u0639\u0627\u062f\u06cc \u062e\u0648\u062f \u0627\u062c\u0631\u0627 \u0634\u0648\u062f: \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0635\u0648\u0631\u062a \u0642\u0637\u0639\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0634\u062f\u0647 (Sharded) \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u062c\u0645\u0648\u0639\u0647\u200c\u0647\u0627\u06cc \u062a\u06a9\u062b\u06cc\u0631 (Replica Sets) \u0628\u0631\u0627\u06cc \u0641\u0631\u0627\u0647\u0645 \u06a9\u0631\u062f\u0646 \u0627\u0641\u0632\u0648\u0646\u06af\u06cc (Redundancy). \u062a\u0639\u06cc\u06cc\u0646 \u0627\u0646\u062f\u0627\u0632\u0647 \u0646\u0647\u0627\u06cc\u06cc \u0628\u0647 \u062a\u0639\u062f\u0627\u062f \u0647\u0645\u062a\u0627\u06cc\u0627\u0646 (Peer Count)\u060c \u0645\u0642\u06cc\u0627\u0633 \u0645\u0633\u06cc\u0631 (Route Scale)\u060c \u0646\u0631\u062e \u0631\u0648\u06cc\u062f\u0627\u062f (Event Rate)\u060c \u062f\u0648\u0631\u0647 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc (Retention Period)\u060c \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0646\u0645\u0627\u06cc\u0647\u200c\u0633\u0627\u0632\u06cc (Indexing Strategy) \u0648 \u062d\u062c\u0645 \u06a9\u0627\u0631\u06cc \u067e\u0631\u0633\u200c\u0648\u062c\u0648 (Query Workload) \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f. \u0641\u0636\u0627\u06cc \u062f\u06cc\u0633\u06a9 \u0639\u0645\u062f\u062a\u0627\u064b \u062a\u0648\u0633\u0637 \u0633\u06cc\u0627\u0633\u062a \u0646\u06af\u0647\u062f\u0627\u0631\u06cc (Retention Policy) \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u06a9\u0646\u062a\u0631\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0628\u0627\u06cc\u062f \u0628\u0627 \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0646 \u0647\u0645\u0627\u0646 \u0633\u06cc\u0627\u0633\u062a \u0645\u062d\u0627\u0633\u0628\u0647 \u06af\u0631\u062f\u062f.<\/p>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u062a\u062c\u0633\u0645 \u0646\u0645\u0648\u0646\u0647<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u062f\u0627\u0634\u0628\u0648\u0631\u062f \u06af\u0646\u062c\u0627\u0646\u062f\u0647\u200c\u0634\u062f\u0647\u060c \u062a\u0646\u0647\u0627 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 \u0645\u0635\u0631\u0641\u200c\u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0645\u0633\u06cc\u0631 (route-history) \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0639\u0645\u062f\u0627\u064b \u062a\u0646\u0647\u0627 \u0631\u0627\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u062c\u0645\u0648\u0639\u0647 \u062f\u0627\u062f\u0647 (dataset) \u0646\u06cc\u0633\u062a\u060c \u0627\u0645\u0627 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634 \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u067e\u0631\u0633\u0634\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0631\u0627\u06cc\u062c \u0631\u0627 \u0628\u0647\u200c\u0633\u0631\u0639\u062a \u0627\u0631\u0627\u0626\u0647 \u06a9\u0631\u062f.<\/p>\n<p><img decoding=\"async\" alt=\"Unicast IPv4 route history dashboard example\" src=\"https:\/\/www.anynet.ir\/blog\/wp-content\/uploads\/2026\/10\/unicast_v4_main_page-scaled.webp\"><\/p>\n<p style=\"direction: rtl; text-align: right\">\u0647\u0645\u0627\u0646 \u0645\u062f\u0644 \u062f\u0627\u062f\u0647 (Data Model) \u0627\u0632 \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc VPN \u0646\u06cc\u0632 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u062f\u0631 \u0622\u0646 Route Distinguisher \u0628\u062e\u0634\u06cc \u0627\u0632 \u0647\u0648\u06cc\u062a \u0645\u0633\u06cc\u0631 (Route Identity) \u0627\u0633\u062a.<\/p>\n<p><img decoding=\"async\" alt=\"VPNv4 route history dashboard example\" src=\"https:\/\/www.anynet.ir\/blog\/wp-content\/uploads\/2026\/10\/vpnv4_main_page-scaled.webp\"><\/p>\n<blockquote>\n<p><strong style=\"color: rgb(26, 26, 26); direction: rtl; text-align: right\">\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0627\u0632 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0627\u0632 \u0645\u0647\u0646\u062f\u0633\u0627\u0646 \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u06a9\u0627\u0631\u0647\u0627\u06cc \u0645\u0627\u0634\u06cc\u0646\u06cc \u0628\u0647 \u0635\u0648\u0631\u062a \u062f\u0633\u062a\u06cc \u062f\u0633\u062a \u0628\u0631\u062f\u0627\u0631\u06cc\u0645 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u0634\u062f\u0647 BGP \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u0646\u0628\u0639\u06cc \u0627\u0632 \u062d\u0642\u0627\u06cc\u0642 \u0622\u063a\u0627\u0632 \u06a9\u0646\u06cc\u0645.<\/strong><\/p>\n<\/blockquote>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u067e\u06cc\u0648\u0633\u062a \u0627\u0644\u0641: \u0646\u0645\u0648\u0646\u0647\u200c\u0627\u06cc \u0627\u0632 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc (Configuration) \u067e\u0631\u0648\u062a\u06a9\u0644 BGP \u062f\u0631 \u0646\u0645\u0648\u0646\u0647 XRD \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u062f\u0631 \u0628\u0633\u062a\u0631 \u062a\u0633\u062a<\/h2>\n<pre><code><span>route-policy pass-all\n<\/span><span> pass\n<\/span><span>end-policy\n<\/span><span>!\n<\/span><span>router bgp 5070\n<\/span><span> bgp router-id 1.1.1.1\n<\/span><span># Activating all address families we want to support \n<\/span><span> address-family ipv4 unicast\n<\/span><span> label mode per-vrf\n<\/span><span> redistribute connected\n<\/span><span>!\n<\/span><span> address-family vpnv4 unicast\n<\/span><span> retain route-target all\n<\/span><span>!\n<\/span><span> address-family ipv6 unicast\n<\/span><span> redistribute connected\n<\/span><span>!\n<\/span><span> address-family vpnv6 unicast\n<\/span><span> retain route-target all\n<\/span><span>!\n<\/span><span># BGP peer connection to bgpinjecor process\n<\/span><span> neighbor 10.2.1.5\n<\/span><span> remote-as 50123\n<\/span><span> ebgp-multihop 254\n<\/span><span> tcp mtu-discovery\n<\/span><span># Activating BMP server to send all BGP updates \n<\/span><span># received from bgpinjector towards GoBMP collector\n<\/span><span> bmp-activate server 1\n<\/span><span> update-source GigabitEthernet0\/0\/0\/1\n<\/span><span> address-family ipv4 unicast\n<\/span><span> route-policy pass-all in\n<\/span><span> route-policy pass-all out\n<\/span><span>!\n<\/span><span> address-family ipv4 labeled-unicast\n<\/span><span> route-policy pass-all in\n<\/span><span> route-policy pass-all out\n<\/span><span>!\n<\/span><span> address-family vpnv4 unicast\n<\/span><span> route-policy pass-all in\n<\/span><span> route-policy pass-all out\n<\/span><span>!\n<\/span><span> address-family ipv6 unicast\n<\/span><span> route-policy pass-all in\n<\/span><span> route-policy pass-all out\n<\/span><span>!\n<\/span><span> address-family vpnv6 unicast\n<\/span><span> route-policy pass-all in\n<\/span><span> route-policy pass-all out\n<\/span><span>!\n<\/span><span>!\n<\/span><span>!\n<\/span><span># Configure BMP collector\n<\/span><span>bmp server 1\n<\/span><span> host 10.1.1.2 port 5000\n<\/span><span>!\n<\/span><\/code><\/pre>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u067e\u06cc\u0648\u0633\u062a \u0628: \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627\u06cc \u06a9\u0648\u0626\u0631\u06cc MongoDB<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631<code>mongosh<\/code>\u067e\u0631\u0633\u200c\u0648\u062c\u0648\u0647\u0627 (Queries) \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627\u06cc \u067e\u06cc\u0634\u200c\u0646\u0648\u06cc\u0633 \u0628\u0631\u0627\u06cc \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634\u06af\u0627\u0647\u06cc \u0647\u0633\u062a\u0646\u062f. \u0622\u0646\u200c\u0647\u0627 \u0627\u0632 \u0645\u0633\u06cc\u0631 (route) \u062f\u0631 \u0645\u062c\u0645\u0648\u0639\u0647 (collection) unicast_prefix_v4 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.<code>45.8.233.0\/24<\/code>\u062f\u0631<code>\u067e\u06cc\u0634\u0648\u0646\u062f \u062a\u06a9\u200c\u067e\u062e\u0634\u06cc (Unicast Prefix) \u0646\u0633\u062e\u0647 4<\/code>\u0645\u062c\u0645\u0648\u0639\u0647.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 \u067e\u06cc\u0648\u0633\u062a \u062f\u0648 \u0646\u0645\u0648\u0646\u0647 \u0645\u0639\u0631\u0641 \u0631\u0627 \u062f\u0631 \u067e\u0633\u062a \u0627\u0635\u0644\u06cc \u0646\u06af\u0647 \u0645\u06cc\u200c\u062f\u0627\u0631\u062f. \u0645\u062c\u0645\u0648\u0639\u0647 \u067e\u0631\u0633\u200c\u0648\u062c\u0648 (Query) \u06a9\u0627\u0645\u0644 \u0648 \u06af\u0632\u06cc\u062f\u0647\u200c\u0647\u0627\u06cc \u0646\u062a\u0627\u06cc\u062c \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0647\u0633\u062a\u0646\u062f \u062f\u0631 <a href=\"https:\/\/github.com\/sbezverk\/gobmp-mongodb-connector-supplements\/blob\/main\/mongodb-query-examples-and-results.md\" style=\"color: rgb(0, 102, 204)\">\u0645\u062e\u0632\u0646 gobmp-mongodb-connector-supplements<\/a>.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u200c\u0647\u0627\u060c \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 (Database)\u060c \u0645\u062c\u0645\u0648\u0639\u0647 (Collection)\u060c \u0645\u0633\u06cc\u0631 (Route) \u0648 \u0628\u0627\u0632\u0647 \u0632\u0645\u0627\u0646\u06cc (Time-window) \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code><span>use gobmp_history\n<\/span><span><span>var<\/span> routeColl <span>=<\/span> <span>\"unicast_prefix_v4\"<\/span><span>;<\/span>\n<\/span><span><span>var<\/span> eventColl <span>=<\/span> routeColl <span>+<\/span> <span>\"_events\"<\/span><span>;<\/span>\n<\/span><span><span>var<\/span> routePrefix <span>=<\/span> <span>\"45.8.233.0\"<\/span><span>;<\/span>\n<\/span><span><span>var<\/span> routeLen <span>=<\/span> <span>24<\/span><span>;<\/span>\n<\/span><span><span>var<\/span> since <span>=<\/span> <span>new<\/span> <span>Date<\/span><span>(<\/span><span>Date<\/span><span>.<\/span><span>now<\/span><span>(<\/span><span>)<\/span> <span>-<\/span> <span>60<\/span> <span>*<\/span> <span>60<\/span> <span>*<\/span> <span>1000<\/span><span>)<\/span><span>;<\/span>\n<\/span><span><span>var<\/span> until <span>=<\/span> <span>new<\/span> <span>Date<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n<\/span><span><span>\/\/ Fill these in after the first lookup query.<\/span>\n<\/span><span><span>var<\/span> peer <span>=<\/span> <span>\"10.2.1.5\"<\/span><span>;<\/span>\n<\/span><span><span>var<\/span> bmpSource <span>=<\/span> <span>\"10.2.1.3\"<\/span><span>;<\/span>\n<\/span><span><span>var<\/span> pathID <span>=<\/span> <span>0<\/span><span>;<\/span>\n<\/span><span><span>\/\/ Pick the timestamp you want to inspect. This example is just before the<\/span>\n<\/span><span><span>\/\/ peer-down withdrawal seen in the sample output below.<\/span>\n<\/span><span><span>var<\/span> at <span>=<\/span> <span><span>ISODate<\/span><\/span><span>(<\/span><span>\"2026-07-07T02:17:57.500Z\"<\/span><span>)<\/span><span>;<\/span>\n<\/span><\/code><\/pre>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u06cc\u0627\u0641\u062a\u0646 \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647\u200c\u0634\u062f\u0647 \u0627\u0632 \u0645\u0633\u06cc\u0631 (Route)<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u0627\u0632 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0627\u0628\u062a\u062f\u0627 \u0628\u0631\u0627\u06cc \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0647\u0645\u062a\u0627\u06cc\u0627\u0646 (Peers)\u060c \u0645\u0646\u0627\u0628\u0639 BMP \u0648 \u0634\u0646\u0627\u0633\u0647\u200c\u0647\u0627\u06cc \u0645\u0633\u06cc\u0631 (Path IDs) \u06a9\u0647 \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u062f\u0627\u0631\u0627\u06cc \u0633\u0646\u062f \u0628\u0631\u0627\u06cc \u0622\u0646\u200c\u0647\u0627 \u0647\u0633\u062a\u06cc\u062f\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<code>45.8.233.0\/24<\/code>.<\/p>\n<pre><code><span>db<span>.<\/span><span>getCollection<\/span><span>(<\/span>routeColl<span>)<\/span><span>.<\/span><span>find<\/span><span>(<\/span>\n<\/span><span> <span>{<\/span>\n<\/span><span> <span>\"_id.pfx\"<\/span><span>:<\/span> routePrefix<span>,<\/span>\n<\/span><span> <span>\"_id.len\"<\/span><span>:<\/span> routeLen\n<\/span><span> <span>}<\/span><span>,<\/span>\n<\/span><span> <span>{<\/span>\n<\/span><span> <span>_id<\/span><span>:<\/span> <span>1<\/span><span>,<\/span>\n<\/span><span> <span>current_state<\/span><span>:<\/span> <span>1<\/span><span>,<\/span>\n<\/span><span> <span>stats<\/span><span>:<\/span> <span>1<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span><span>)<\/span><span>.<\/span><span>sort<\/span><span>(<\/span><span>{<\/span>\n<\/span><span> <span>\"current_state.last_update\"<\/span><span>:<\/span> <span>-<\/span><span>1<\/span>\n<\/span><span><span>}<\/span><span>)<\/span><span>.<\/span><span>pretty<\/span><span>(<\/span><span>)<\/span>\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0644\u0637\u0641\u0627\u064b \u0645\u062a\u0646 \u0648\u0631\u0648\u062f\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0637\u0628\u0642 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0648 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u200c\u0647\u0627\u06cc \u0630\u06a9\u0631 \u0634\u062f\u0647\u060c \u062a\u0631\u062c\u0645\u0647 \u0622\u0646 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u0645.<\/p>\n<pre><code><span>[\n<\/span><span> {\n<\/span><span> _id: {\n<\/span><span> pfx: '45.8.233.0',\n<\/span><span> len: 24,\n<\/span><span> peer: '10.2.1.5',\n<\/span><span> bmp_source_ip: '10.2.1.3',\n<\/span><span> path_id: 0\n<\/span><span>},\n<\/span><span> current_state: {\n<\/span><span> attributes: null,\n<\/span><span> status: 'withdrawn',\n<\/span><span> last_update: ISODate('2026-07-07T02:17:57.613Z')\n<\/span><span>},\n<\/span><span> stats: {\n<\/span><span> advertisements: 2640,\n<\/span><span> withdrawals: 313,\n<\/span><span> instability_score: 0,\n<\/span><span> dampening_penalty: 0,\n<\/span><span> is_suppressed: false,\n<\/span><span> attribute_changes: 2327\n<\/span><span>}\n<\/span><span>}\n<\/span><span>]\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 \u0645\u0633\u06cc\u0631 \u0646\u0645\u0648\u0646\u0647 \u0645\u0646\u0627\u0633\u0628\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0686\u0631\u0627 \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 (History) \u0627\u0647\u0645\u06cc\u062a \u062f\u0627\u0631\u062f. \u0648\u0636\u0639\u06cc\u062a \u0641\u0639\u0644\u06cc \u062a\u0646\u0647\u0627 \u0628\u06cc\u0627\u0646\u06af\u0631 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0645\u0633\u06cc\u0631 \u062d\u0630\u0641 (Withdrawn) \u0634\u062f\u0647 \u0627\u0633\u062a. \u0634\u0645\u0627\u0631\u0646\u062f\u0647\u200c\u0647\u0627 (Counters) \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u0633\u06cc\u0627\u0631 \u0628\u06cc\u0634\u062a\u0631\u06cc \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f: \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0646\u0645\u0648\u0646\u0647 \u0645\u0633\u06cc\u0631 \u062e\u0627\u0635\u060c 2,640 \u0645\u0648\u0631\u062f \u062a\u0628\u0644\u06cc\u063a (Advertisement)\u060c 313 \u0645\u0648\u0631\u062f \u062d\u0630\u0641 (Withdrawal) \u0648 2,327 \u0645\u0648\u0631\u062f \u062a\u063a\u06cc\u06cc\u0631 \u0648\u06cc\u0698\u06af\u06cc (Attribute change) \u0645\u0634\u0627\u0647\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0646\u0645\u0627\u06cc\u0634 \u0648\u0636\u0639\u06cc\u062a \u0645\u0633\u06cc\u0631 (Route State) \u062f\u0631 \u06cc\u06a9 \u0632\u0645\u0627\u0646 \u0645\u0634\u062e\u0635<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 \u067e\u0631\u0633\u200c\u0648\u062c\u0648 \u0622\u062e\u0631\u06cc\u0646 \u0631\u0648\u06cc\u062f\u0627\u062f \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647 \u0645\u0633\u06cc\u0631 (Route Instance) \u0627\u0646\u062a\u062e\u0627\u0628\u200c\u0634\u062f\u0647 \u0631\u0627 \u062f\u0631 \u0632\u0645\u0627\u0646 \u06cc\u0627 \u0642\u0628\u0644 \u0627\u0632 \u0622\u0646 \u067e\u06cc\u062f\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f.<code>at<\/code>\u0627\u06af\u0631 \u0622\u062e\u0631\u06cc\u0646 \u0631\u0648\u06cc\u062f\u0627\u062f<code>withdraw<\/code>\u0628\u0627\u0634\u062f\u060c \u0645\u0633\u06cc\u0631 \u062f\u0631 \u0622\u0646 \u0646\u0642\u0637\u0647 \u062d\u0630\u0641 (Withdraw) \u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u06af\u0631<code>\u0622\u062e\u0631\u06cc\u0646 \u0631\u0648\u06cc\u062f\u0627\u062f<\/code> or <code>advertise<\/code>\u06cc\u0627<\/p>\n<pre><code><span>db<span>.<\/span><span>getCollection<\/span><span>(<\/span>eventColl<span>)<\/span><span>.<\/span><span>find<\/span><span>(<\/span>\n<\/span><span> <span>{<\/span>\n<\/span><span> <span>\"route_key.pfx\"<\/span><span>:<\/span> routePrefix<span>,<\/span>\n<\/span><span> <span>\"route_key.len\"<\/span><span>:<\/span> routeLen<span>,<\/span>\n<\/span><span> <span>\"route_key.peer\"<\/span><span>:<\/span> peer<span>,<\/span>\n<\/span><span> <span>\"route_key.bmp_source_ip\"<\/span><span>:<\/span> bmpSource<span>,<\/span>\n<\/span><span> <span>\"route_key.path_id\"<\/span><span>:<\/span> pathID<span>,<\/span>\n<\/span><span> <span>ts<\/span><span>:<\/span> <span>{<\/span> <span>$lte<\/span><span>:<\/span> at <span>}<\/span>\n<\/span><span> <span>}<\/span><span>,<\/span>\n<\/span><span> <span>{<\/span>\n<\/span><span> <span>_id<\/span><span>:<\/span> <span>0<\/span><span>,<\/span>\n<\/span><span> <span>route_key<\/span><span>:<\/span> <span>1<\/span><span>,<\/span>\n<\/span><span> <span>ts<\/span><span>:<\/span> <span>1<\/span><span>,<\/span>\n<\/span><span> <span>event<\/span><span>:<\/span> <span>1<\/span><span>,<\/span>\n<\/span><span> <span>changed<\/span><span>:<\/span> <span>1<\/span><span>,<\/span>\n<\/span><span> <span>kafka<\/span><span>:<\/span> <span>1<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span><span>)<\/span><span>.<\/span><span>sort<\/span><span>(<\/span><span>{<\/span> <span>ts<\/span><span>:<\/span> <span>-<\/span><span>1<\/span><span>,<\/span> <span>_id<\/span><span>:<\/span> <span>-<\/span><span>1<\/span> <span>}<\/span><span>)<\/span><span>.<\/span><span>limit<\/span><span>(<\/span><span>1<\/span><span>)<\/span><span>.<\/span><span>pretty<\/span><span>(<\/span><span>)<\/span>\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0644\u0637\u0641\u0627\u064b \u0645\u062a\u0646 \u0648\u0631\u0648\u062f\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0631\u062c\u0645\u0647 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f. \u0645\u0646 \u0622\u0645\u0627\u062f\u0647\u200c\u0627\u0645 \u062a\u0627 \u0637\u0628\u0642 \u0642\u0648\u0627\u0646\u06cc\u0646 \u062f\u0642\u06cc\u0642 \u0634\u0645\u0627\u060c \u062a\u0631\u062c\u0645\u0647 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u0645.<\/p>\n<pre><code><span>[\n<\/span><span> {\n<\/span><span> route_key: {\n<\/span><span> pfx: '45.8.233.0',\n<\/span><span> len: 24,\n<\/span><span> peer: '10.2.1.5',\n<\/span><span> bmp_source_ip: '10.2.1.3',\n<\/span><span> path_id: 0\n<\/span><span>},\n<\/span><span> ts: ISODate('2026-07-07T02:17:57.467Z'),\n<\/span><span> event: 'update',\n<\/span><span> changed: {\n<\/span><span> as_path: [ Long('50123'), Long('58308'), Long('29075'), Long('41765')],\n<\/span><span> community_list: [\n<\/span><span> '41765:8000',\n<\/span><span> '41765:9400',\n<\/span><span> '51706:64601',\n<\/span><span> '51706:64650',\n<\/span><span> '51706:65011',\n<\/span><span> '51706:65012'\n<\/span><span>]\n<\/span><span>},\n<\/span><span> kafka: {\n<\/span><span> topic: 'gobmp.parsed.unicast_prefix_v4',\n<\/span><span> partition: 1,\n<\/span><span> offset: Long('2520143')\n<\/span><span>}\n<\/span><span>}\n<\/span><span>]\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0628\u0627<code>at = ISODate(\"2026-07-07T02:17:57.500Z\")<\/code>\u060c \u0622\u062e\u0631\u06cc\u0646 \u0631\u0648\u06cc\u062f\u0627\u062f \u067e\u06cc\u0634 \u0627\u0632 \u0622\u0646 \u0628\u0631\u0686\u0633\u0628 \u0632\u0645\u0627\u0646\u06cc (Timestamp)\u060c \u0639\u0628\u0627\u0631\u062a \u0627\u0633\u062a \u0627\u0632<code>\u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc (update)<\/code> at <code>2026-07-07T02:17:57.467Z<\/code>\u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u0627\u0633\u062a \u06a9\u0647 \u0645\u0633\u06cc\u0631 (route) \u062f\u0631\u0633\u062a \u067e\u06cc\u0634 \u0627\u0632<code>2026-07-07T02:17:57.613Z<\/code>\u0627\u0639\u0644\u0627\u0645 \u062e\u0631\u0648\u062c (withdrawal) \u0647\u0645\u062a\u0627 (peer-down) \u0647\u0645\u0686\u0646\u0627\u0646 \u062a\u0628\u0644\u06cc\u063a \u0645\u06cc\u200c\u0634\u062f. \u0627\u06cc\u0646 \u0631\u0648\u06cc\u062f\u0627\u062f \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u0633\u06cc\u0631 AS\u060c \u06a9\u0627\u0645\u06cc\u0648\u0646\u06cc\u062a\u06cc\u200c\u0647\u0627 (communities)\u060c \u0645\u0648\u0636\u0648\u0639 (topic) \u06a9\u0627\u0641\u06a9\u0627\u060c \u067e\u0627\u0631\u062a\u06cc\u0634\u0646 \u0648 \u0622\u0641\u0633\u062a \u0645\u0631\u062a\u0628\u0637 \u0628\u0627 \u0622\u0646 \u0645\u0634\u0627\u0647\u062f\u0647 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n<div style=\"display: flex\" title=\"\u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0644 \u0627\u06cc\u0646 \u0628\u062e\u0634\">&nbsp;<\/div>\n<div style=\"display: flex\" title=\"\u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0644 \u0627\u06cc\u0646 \u0628\u062e\u0634\">&nbsp;<\/div>\n<div title=\"\u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0644 \u0627\u06cc\u0646 \u0628\u062e\u0634\" style=\"display: flex\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><\/svg><\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0646 \u0628\u06cc\u0634 \u0627\u0632 25 \u0633\u0627\u0644 \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0632\u0645\u06cc\u0646\u0647 \u0639\u06cc\u0628\u200c\u06cc\u0627\u0628\u06cc (Troubleshooting) \u0645\u0634\u06a9\u0644\u0627\u062a \u0634\u0628\u06a9\u0647 \u0627\u0631\u0627\u0626\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u062e\u062f\u0645\u0627\u062a (Service-provider) \u0641\u0639\u0627\u0644\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u0645. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062f\u062a \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0628\u0633\u06cc\u0627\u0631\u06cc \u0631\u062e\u2026<\/p>\n","protected":false},"author":1,"featured_media":199,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[137,128,134,47,66],"tags":[],"class_list":["post-200","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics","category-bgp","category-bmp","category-iosxr","category-networking-fa"],"_links":{"self":[{"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/posts\/200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/comments?post=200"}],"version-history":[{"count":0,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/posts\/200\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/media\/199"}],"wp:attachment":[{"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/media?parent=200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/categories?post=200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/tags?post=200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}