BGP hoạt động như thế nào trên TCP?


13

Theo như tôi biết, chúng tôi đang sử dụng các giao thức định tuyến để đạt được kết nối Lớp 3, tôi bối rối với thực tế là BGP hoạt động trên TCP là L4. Làm thế nào L4 / TCP có thể được thiết lập mà không cần kết nối L3 trước đó?

Câu trả lời:


17

Ổ cắm TCP / IP thiết lập kết nối đầu cuối qua mạng, giữa hai điểm cuối được xử lý cụ thể. BGP sử dụng TCP / IP để liên lạc giữa các bộ định tuyến (bất kỳ thiết bị nào trao đổi thông tin định tuyến.) Thông tin được trao đổi được sử dụng bởi các đồng nghiệp BGP, để chọn tốt hơn cách họ chọn nơi gửi, (còn gọi là next-hop) mà họ cần chuyển giao.

Ở các cạnh của Internet, mọi thứ đều dễ dàng; "Mọi thứ đều theo cách này" đối với nhà cung cấp dịch vụ Internet của bạn. Hơn nữa, một bộ định tuyến có thể có nhiều lựa chọn. Vì vậy, nó sử dụng TCP / IP để di chuyển lưu lượng BGP giữa các hàng xóm định tuyến của nó. Thông tin BGP sau đó sẽ cho bộ định tuyến biết đường dẫn nào sẽ thích hơn khi có nhiều cách để gói tin đi đến đâu.

Điểm cuối (ví dụ: trình duyệt web) và bộ định tuyến đang nói TCP / IP. Nhưng các bộ định tuyến đang sử dụng TCP / IP, (truyền thông BGP bao gồm các gói TCP / IP) để nói về những việc cần làm với các gói TCP / IP khác mà chúng cần định tuyến.


Tôi tin rằng "Nhưng các bộ định tuyến đang sử dụng TCP / IP để nói về những việc cần làm với các gói TCP / IP khác mà chúng cần định tuyến." có nghĩa là "Nhưng các bộ định tuyến đang sử dụng BGP để nói về những việc cần làm với các gói TCP / IP khác mà chúng cần định tuyến."
Olivier Dulac

1
... Tôi cũng nghĩ về việc viết nó theo cách đó. Với câu cuối cùng của tôi, tôi đã cố gắng làm nổi bật cách các thiết bị khác nhau đang làm những việc khác nhau với TCP / IP. Tôi sẽ điều chỉnh từ ngữ.
Craig Constantine

13

Các giao thức định tuyến không "đạt được" kết nối L3. Họ điền vào bảng định tuyến (chuyển tiếp) của bộ định tuyến với thông tin học được từ các bộ định tuyến khác.

BGP là một "ứng dụng" chạy trên TCP / IP. Nói cách khác, bộ định tuyến BGP sử dụng TCP / IP để liên lạc với các bộ định tuyến BGP khác để trao đổi thông tin định tuyến.

Để BGP hoạt động, bạn phải có kết nối L3 giữa các bộ định tuyến.


vấn đề gà và trứng. "Để BGP hoạt động, bạn phải có kết nối L3 giữa các bộ định tuyến." Vì BGP là giao thức định tuyến internet trên thực tế, cách kết nối L3 đạt được trong Interet
pha trộn vào

6
Không phải là một vấn đề gà và trứng cả. Như tôi đã nói, các giao thức định tuyến không tạo kết nối L3. Loa eBGP (hầu như) luôn được kết nối trực tiếp với nhau. Loa iBGP dựa vào mạng cơ bản để cung cấp kết nối. Nói cách khác, bạn cần kết nối trước, trước khi bạn có thể chạy BGP.
Ron Trunk

Tôi đang cố gắng hiểu nó bắt đầu như thế nào và lý do đằng sau kiến ​​trúc ngày nay. Vì vậy, ban đầu có một vài kẻ có mạng riêng chạy IGP và nói rằng hãy kết nối các mạng của chúng ta? Tại sao lại vượt qua IP / TCP, còn các giao thức cũ như Novell hay Appletalk
pha trộn vào

Đó là những câu hỏi khác nhau (nhưng tốt). Các câu trả lời sẽ cần nhiều không gian hơn phần bình luận. Chúng tôi có thể chuyển cái này sang trò chuyện nếu bạn thích
Ron Trunk

6

Mô hình mạng OSI và phân lớp của nó rất hữu ích để hiểu giao tiếp đầu cuối giữa các máy chủ, nhưng nó không thực sự có ý định giải thích cách thức hoạt động của mặt phẳng điều khiển mạng. Có một vấn đề bootstrapping vốn có trong việc thiết lập kết nối BGP đầy đủ, nhưng cách thức bootstrapping này diễn ra được hiểu rõ và không có bất kỳ sự phụ thuộc vòng tròn nào.

Về mặt BGP, cách thức mà các phần phụ được hình thành và thông tin được trao đổi tùy thuộc vào loại phiên.

Đơn giản nhất là eBGP. Thông thường, eBGP chạy trên phiên TCP giữa hai bộ định tuyến được kết nối trực tiếp. Trong trường hợp này, mỗi người ngang hàng biết cách nói chuyện với nhau vì cả hai đều có giao diện trên cùng một mạng con, do đó không cần sử dụng giao thức định tuyến bên ngoài để tạo thành kề.

Với iBGP mọi thứ hơi phức tạp. Trong cấu hình đơn giản nhất, tất cả các bộ định tuyến trong một hệ thống tự trị sẽ được cấu hình như một phần của một mạng lưới đầy đủ, với các phiên iBGP với tất cả các bộ định tuyến khác trong mạng. Trong hệ thống tự trị, một giao thức cổng bên trong như OSPF hoặc ISIS để xây dựng cấu trúc liên kết định tuyến nội bộ. Khi IGP đã thực hiện công việc của mình, tất cả các bộ định tuyến sẽ có một bảng định tuyến được điền với các tuyến đến tất cả các hàng xóm iBGP cho phép phiên TCP hình thành mà không phụ thuộc vòng tròn.

Trường hợp mọi thứ trở nên thú vị hơn một chút là trong các tình huống mà không phải tất cả các bộ định tuyến trong hệ thống tự trị đều chạy với bảng BGP đầy đủ. Nếu lưới iBGP không hoàn thành, bạn có thể gặp tình huống trong đó một bộ định tuyến ở giữa mạng có chế độ xem khác với bảng mà hàng xóm trực tiếp của nó. Điều này sẽ gây ra định tuyến phụ tối ưu và trong một số trường hợp các vòng định tuyến sẽ dẫn đến lưu lượng truy cập nảy giữa các thiết bị cho đến khi hết hạn.


5

Liên kết có địa chỉ tĩnh và các mục định tuyến liên quan được định cấu hình, được sử dụng để thiết lập phiên BGP. Sử dụng BGP, bảng định tuyến sau đó được mở rộng với các mục trỏ đến các mạng khác.

Vì BGP chỉ được sử dụng giữa các đồng nghiệp trực tiếp, nên không có tuyến đường nào khác ngoài việc chỉ đến đầu kia được yêu cầu tại thời điểm này.

Ví dụ: nếu chúng tôi muốn ngang hàng, chúng tôi đồng ý với mạng con / 30 hoặc / 31, gán một địa chỉ cho mỗi đầu của mạng và tạo tuyến đường mạng cho mạng con đó cho liên kết này, sau đó chúng tôi sẽ định cấu hình mạng khác như BGP ngang hàng, tại thời điểm đó tôi nhận được các mục định tuyến bổ sung cho tất cả các mạng mà bạn thông báo sẽ được gửi qua bộ định tuyến của mình (lần lượt là một phần của tuyến mạng được định cấu hình tĩnh cục bộ).


Simon, thật tốt khi được nghe từ bạn một lần nữa. Câu trả lời của bạn chỉ giải quyết eBGP, nhưng các đồng nghiệp iBGP chỉ cần khả năng tiếp cận IGP (tức là OSPF). Bạn có thể thêm nhiều hơn cho trường hợp iBGP?
Mike Pennington

0
                    ---        ---          ---          ---
                   | D |------| A |--------| B |--------| C |
                    ---        ---          ---          ---

Giả sử A và B là các bộ định tuyến (trong AS khác nhau hoặc giống nhau) và D và C là máy chủ lưu trữ. Bây giờ A và B được kết nối với nhau và có thể giao tiếp. Nhưng làm thế nào D biết được vị trí của C để nó có thể giao tiếp với C. Điều tương tự cũng đúng với C khi nó muốn giao tiếp với D. Bây giờ nếu chúng ta chạy giao thức BGP giữa A và B, họ trao đổi thông tin kết nối lớp 3 với nhau . Nói một cách đơn giản, A sẽ nói với B rằng D được kết nối với nó. Sau đó, B có thể truyền đạt điều này đến C hoặc nếu B là cổng mặc định cho C, theo bất kỳ cách nào C có thể biết vị trí của D.

Vì vậy, trong trường hợp này, thông tin kết nối lớp 3 được truyền giữa A và B, cho A và B chạy giao thức BGP.

Vì vậy, kết nối BGP trước là cần thiết giữa hai hệ thống để trao đổi thông tin định tuyến lớp 3. Tôi vừa chỉ ra một ví dụ đơn giản để trả lời câu hỏi của bạn. Trong kịch bản thực tế, nhiều lượng dữ liệu định tuyến được trao đổi giữa các đồng nghiệp BGP.

BGP chạy trên giao thức TCP. Vì vậy, một ổ cắm TCP phải được mở giữa chúng, chỉ sau đó chúng mới có thể trao đổi dữ liệu định tuyến.


0

không có kết nối L3 trước?

"Kết nối L3" không phải là tất cả hoặc không có gì.

Quản trị viên thiết lập bộ định tuyến sẽ cấu hình các giao diện với địa chỉ IP và mặt nạ mạng con. Dựa trên các cấu hình này, các mục trong bảng định tuyến ngầm sẽ được tạo để cho phép bộ định tuyến nói chuyện với các hàng xóm của nó.

Các giao thức định tuyến sau đó có thể chạy trên kết nối L3 cục bộ này để thiết lập kết nối L3 khoảng cách xa hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.