{"id":19317850,"url":"https://github.com/queeniecplusplus/ccnp_bgp","last_synced_at":"2026-02-27T22:40:41.923Z","repository":{"id":104588135,"uuid":"276032319","full_name":"QueenieCplusplus/CCNP_BGP","owner":"QueenieCplusplus","description":"僅適用於 ISP 之間，抑或是超大型企業與 ISP 之間的連接，故不常見。","archived":false,"fork":false,"pushed_at":"2020-07-01T07:24:59.000Z","size":94,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-15T02:45:12.586Z","etag":null,"topics":["ccnp"],"latest_commit_sha":null,"homepage":"https://github.com/QueenieCplusplus/QuickGoThru/blob/master/README.md#ccnp","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QueenieCplusplus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-30T07:44:56.000Z","updated_at":"2020-07-01T07:25:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"89ad11f1-341a-49d9-8f8a-e0e4c83d89c7","html_url":"https://github.com/QueenieCplusplus/CCNP_BGP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/QueenieCplusplus/CCNP_BGP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QueenieCplusplus%2FCCNP_BGP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QueenieCplusplus%2FCCNP_BGP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QueenieCplusplus%2FCCNP_BGP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QueenieCplusplus%2FCCNP_BGP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QueenieCplusplus","download_url":"https://codeload.github.com/QueenieCplusplus/CCNP_BGP/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QueenieCplusplus%2FCCNP_BGP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29917895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"ssl_error","status_checked_at":"2026-02-27T19:37:41.463Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ccnp"],"created_at":"2024-11-10T01:16:26.917Z","updated_at":"2026-02-27T22:40:41.900Z","avatar_url":"https://github.com/QueenieCplusplus.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# CCNP BGP\n\n邊界閘道器路由協定\n\nBGP 是 EGP 的改良。\n僅適用於 ISP 之間，抑或是超大型企業與 ISP 之間的連接，故不常見。\n\n# AS\n\n自治系統，全名為 Autonomous System。AS 的功能在一定範圍內，使用單一技術（IGP 包含 RIP 靜態路由、不支援可變動長度子網路遮罩的 IGP、僅有 cisco 有的 EIGRP、可支援多品牌和多層級架構的 OSPF）抑或是多個 IGP 方式來來管理一群路由器（IGP），\n其相關技術亦可參考 CIDR （c lass IP 位置的配置）。\nhttps://github.com/QueenieCplusplus/CCNP_IP#cidr--supernet\n\n然而透過 BGP，仍然可以得到單一路由協定的路由資訊。\n\n          AS 100                           AS 200\n\n\n            R 群- R-gw-----------------gw-R -R群\n                   |                    |\n                  BGP                  BGP\n                  \n                    \\                  /\n                     \\                /\n                      \\              /\n                      \n                             BGP\n                             \n\n* ASN\n\n自治系統號碼是由 IANA 組織所管理的。\n亞洲區各國 ASN 申請單位是 Asia Pacific - NIC 組織。\n號碼共有 2 ^ 16 = 65535 個，其中私有網路使用的 ASN 為 64512 ~ 65535 區間。 \n\n* BGP Requirements\n\n不同 AS 間的頻寬要大，不然 BGP 無法運作，另外 BGP 的路由器的能力（需要較高的處理器和較多的記憶體，最好是 128 MB RAM）也要能勝任任務。\n\n# BGP \n\n  在 ASs 間，運用 Routing Policy 路由政策決定封包的路徑。另外，BGP 屬於 Distance Vector 距離向量的路由協定。\n  仰賴 TCP port 179 (預設) 傳送訊息。\n  \n  * BGP 的路徑選擇\n  \n  BGP 是 ASs 間，用來接收和更新路徑的主要協定，由於互聯網路是由多的 ASs 所組成，常會有許多路徑可達到同一網段的情形，\n  因此 BGP 需要一定程序來選擇最佳路徑。\n  \n  因為 BGP 能區分出不同 AS 路徑和 同一 AS 路徑（分別採用 EBGP 和 IBGP ），細節詳見 Next-Hops 屬性。\n  \n  依據的屬性，請詳封包標頭（路徑屬性）的解析。\n  \n            (1) 同一 As 內，『同步化』開啟情況下，方才會送出路徑資訊。否則詳見 10。\n\n            (2) Next-Hop 需要 reachable 方才會使用這條路徑，故需要使用 IGP 協定。\n\n            (3) 選擇高權值 Weight 的路徑。\n\n            (4) 若權值相等，則採用較高的 Local Preference。\n\n            (5) 若有相同 Local Prefreance，則採用本身產生的路徑的 Router。\n\n            (6) 若有相同 Local Prefreance，且都非本身產生的路徑的 Router，則選擇最短的 AS-Path。\n\n            (7) 若有相同 AS-Path，則選擇最小 Origin Code，基本上 IGP \u003c EGP \u003c Incomplete。\n\n            (8) 若有相同 Origin Code，則選擇最小 MED 值。\n\n            (9) 若 MED 相同，則選則 EBGP，才選擇 IBGP。\n\n            (10) 倘若 Async 關閉，則只有 IGP 協定可使用，則會選擇最短 BGP Next-Hop 路徑。\n\n            (11) 最後是最久路徑，在選擇最小的鄰接 BGP Router ID, 通常是最高的 IP 位址代表。\n  \n  \n# BPG Packet Header \n\n\n          +-----------+-------------------------------------+\n          | IP Header |                Data                 |\n          +-----------+-------------------------------------+\n                   |                         |\n                   V                         |\n                  6: TCP                     |\n                                             |\n                                             V\n                              +------------+-------------------------------------+\n                              | TCP Header |                Data                 |\n                              +------------+-------------------------------------+\n                                        |                      |\n                                        V                      |\n                                      179 (BGP port number)    |\n                                                               |\n                                                               |\n                                                               V\n                                                               \n                                                  +------------+-----------------+\n                                                  | BGP Header |      Data       |\n                                                  +------------+-----------------+   \n                                  \n\n解讀 BGP 封包標頭主要欄位\n\n* Open 是否打開\n\n* Update 路由更新訊息\n\n           （重要訊息請詳 Path Attribute。）\n\n* Notification （錯誤）通知\n \n* Keepalive 存活時間\n\n            可供判定鄰近路由器是否存活即其網段是否可達到。\n            Hold Time 最好是 Keep Alive 的三倍時間。\n            不用太頻繁，避免耗損 CPU。\n\n# Path Attributes \n\n解讀 BGP 封包標頭欄位 Update 內的路徑屬性。\n\n* Synch 同步化\n\n* Next-Hops 下一跳\n\n             因為 BGP 能區分出不同 AS 路徑和 同一 AS 路徑（分別採用 EBGP 和 IBGP ），\n             故此屬性的使用上也有所不同。\n\n* Weight 權值\n\n            權值區間為 0 ~ 65535，設定路由的預設權值為 32768，未設定則預設為 0。\n            倘若有多條路徑可達到相同目的地時，可採用 Wight 屬性。\n  \n* Local Preference 在地化偏好\n\n            此屬性是在同一 AS 內才會被傳送，使用的是 IBGP 協定，目的是通往相同目的網段的路徑們，從中選擇一個喜好的程度。\n            數值越高，受喜愛程度越大。\n  \n* AS Path 自治區路徑\n\n            此屬性由一連串 ASN 所組成，用來提供到達目的地網路的路徑，此路徑的行程是由最早產生這路徑的 AS，\n            會將 ASN 加入到 AS-Path 屬性中，收到路徑的 AS 在送出路徑時，都會將自己的 ASN 號碼加入到此清單中。\n\n            為了避免迴路 Loop，清單中若有自己的 ASN，就不會繼續更新路徑了！（不會重複放自己的 ASN 至清單中）\n  \n* Origin 路徑起源\n\n          Origin Code 代表路徑的起源，即此 AS 內產生路由更新的來源，資訊都在 BGP 的 Update 中。\n          三種：\n          \n          IGP\n          \n          EGP\n          \n          Incomplete\n          \n* MED (非強制性，選項轉移類)\n\n           Multi-exit-discriminator 代表外部臨接路徑的喜好程度\n\n          \n* Auto Aggregate  (非強制性，選項轉移類)\n\n           倘若 Update 資訊中，集合起來的路徑無法辨識路徑來源，就不會加入此屬性。\n           倘若真的無法辨識路徑來源，等同資料的遺失，此時會選擇較少指定的路徑，加上此屬性，方才送出訊息。\n\n* Community (非強制性，選項轉移類)\n\n           此屬性可過濾路徑，作用如同 Prefix，但不限制於影體界線，如自治系統或是網段，\n           社群屬性用在一群路徑中，讓他們擁有相同路徑選擇政策。\n\n# BPG CLI setup\n\n解析 BGP 設定指令\n\nhttps://github.com/QueenieCplusplus/CCNP_BGP_CLI\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqueeniecplusplus%2Fccnp_bgp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqueeniecplusplus%2Fccnp_bgp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqueeniecplusplus%2Fccnp_bgp/lists"}