EBGP vs IBGP
Cả EBGP và IBGP đều là các thuật ngữ được sử dụng với giao thức định tuyến BGP. Về lý thuyết, sự khác biệt chính giữa hai bộ định tuyến là EBGP chạy giữa hai bộ định tuyến BGP trong Hệ thống tự trị (AS) khác nhau, tuy nhiên, IBGP chạy giữa hai bộ định tuyến BGP trong cùng một AS. Trước khi thảo luận về sự khác biệt giữa EBGP và IBGP, chúng ta hãy hiểu cơ bản về EBGP và IBGP.
EBGP là gì?
BGP chạy giữa các bộ định tuyến trong các hệ thống tự trị khác nhau. Theo mặc định, trong EBGP (ngang hàng trong hai AS khác nhau), IP TTL được đặt thành 1, có nghĩa là các đồng nghiệp được giả định là được kết nối trực tiếp.
Trong trường hợp này, khi gói đi qua một bộ định tuyến, TTL sẽ trở thành 0 và sau đó gói sẽ bị loại bỏ sau đó. Trong trường hợp hai hàng xóm không được kết nối trực tiếp, ví dụ: ngang hàng với giao diện lặp lại hoặc ngang hàng khi các thiết bị cách xa nhiều bước, chúng ta cần thêm lệnh “hàng xóm x.x.x.x ebgp-multihop”
Nếu không, quan hệ láng giềng của BGP sẽ không được thiết lập. Ngoài ra, ngang hàng EBGP sẽ quảng cáo tất cả các tuyến tốt nhất mà nó biết hoặc nó đã học được từ các đồng nghiệp của mình (cho dù là ngang hàng EBGP hay ngang hàng IBGP), điều này không xảy ra, trong trường hợp của IBGP.
IBGP là gì?
Trong IBGP, không có hạn chế rằng hàng xóm phải được kết nối trực tiếp; tuy nhiên, một máy ngang hàng IBGP sẽ không quảng cáo tiền tố mà nó đã học được từ một máy ngang hàng IBGP tới một máy ngang hàng IBGP khác. Hạn chế này là có để tránh các vòng lặp trong cùng một AS. Để làm rõ điều này, khi một tuyến được chuyển đến một máy ngang hàng EBGP, số AS cục bộ sẽ được thêm vào tiền tố trong as-path, vì vậy nếu chúng tôi nhận được cùng một gói dữ liệu cho biết AS của chúng tôi trong as-path, chúng tôi biết rằng nó là vòng lặp, và gói tin đó bị loại bỏ. Tuy nhiên, khi một tuyến đường được quảng cáo tới một mạng ngang hàng IBGP, số AS cục bộ sẽ không được thêm vào dưới dạng đường dẫn, vì các đường dẫn ngang hàng nằm trong cùng một AS.
Để tránh các vòng lặp trong cùng một AS, có hai phương pháp được sử dụng.
1. Cấu trúc liên kết lưới đầy đủ: Trong điều này, tất cả các bộ định tuyến trong cùng một AS phải được kết nối với nhau. Ví dụ, nếu chúng ta có N bộ định tuyến, thì chúng ta phải có N (N-1) / 2 phiên IBGP. Chúng tôi có thể tránh điều này bằng cách giới thiệu Công cụ Phản ánh Tuyến đường.
2. Sử dụng Trình phản chiếu tuyến đường: Đây là một phương pháp thay thế để vượt qua kịch bản lưới đầy đủ. Trong trường hợp này, các phiên IBGP được thiết lập với một điểm trung tâm. Điểm trung tâm này được gọi là Bộ phản xạ tuyến và các bộ định tuyến IBGP khác được gọi là máy khách phản xạ tuyến.
Sự khác biệt giữa eBGP và iBGP là gì?
1. EBGP là ngang hàng giữa hai AS khác nhau, trong khi IBGP nằm giữa cùng một AS (Hệ thống tự trị).
2. Các tuyến đường học được từ đồng đẳng eBGP sẽ được quảng cáo cho các đồng nghiệp khác (BGP hoặc IBGP); tuy nhiên, các tuyến học được từ máy ngang hàng IBGP sẽ không được quảng cáo cho các máy ngang hàng IBGP khác.
3. Theo mặc định, các đồng nghiệp EBGP được đặt với TTL=1, có nghĩa là các hàng xóm được giả định là được kết nối trực tiếp, điều này không có trong trường hợp của IBGP. Chúng tôi có thể thay đổi hành vi này cho EBGP bằng cách sử dụng lệnh “hàng xóm x.x.x.x ebgp-multihop”. Multihop là thuật ngữ chỉ được sử dụng trong EBGP.
4. Các tuyến EBGP có khoảng cách hành chính là 20, trong khi IBGP có 200.
5. Bước nhảy tiếp theo vẫn không thay đổi khi tuyến đường được quảng cáo tới IBGP peer; tuy nhiên, nó đã bị thay đổi khi nó được quảng cáo với công ty ngang hàng EBGP theo mặc định.
Hành vi mặc định này của IBGP có thể được thay đổi bằng lệnh “Neighbor x.x.x.x next-hop-self”; điều này thay đổi bước tiếp theo, trong khi quảng cáo, như một tuyến đường địa phương.