Nghiên cứu Khoa học

Giao thức định tuyến BGP

  • 14/09/2022
  • Nghiên cứu Khoa học

GIAO THỨC ĐỊNH TUYẾN BGP

Các giao thức định tuyến có thể chia thành 3 loại:Các giao thức véc-tơ khoảng cách, trạng thái tuyến và véc-tơ đường đi. Hoạt động cơ bản của mỗi loại giao thức như sau:

  • Các giao thức véc-tơ khoảng cách hoạt động bằng cách xây dựng một bảng tại mỗi bộ định tuyến bao gồm các khoảng cách tới các bộ định tuyến lân cận. Đường đi của một gói tin được tính theo từng chặng một, với mỗi bộ định tuyến trên đường chuyển tiếp gói tin tới bộ gần nhất.
  • Các giao thức véc-tơ đường đi hoạt động giống như các giao thức véc-tơ khoảng cách nhưng các đường đi tới một đích được trao đổi giữa các bộ định tuyến thay vì khoảng cách tới bộ định tuyến tiếp theo. Khi mỗi bộ định tuyến nhận các đường đi có thể từ bộ định tuyến lân cận, nó tính toán các đường nên sử dụng để đi đến một đích cụ thể. Tính toán này thường trên cơ sở chi phí thấp nhất (nghĩa là ít các bộ định tuyến trung gian nhất) nhưng cũng có thể bao gồm một số điều kiện cụ thể (nghĩa là phải không sử dụng một liên kết cụ thể).
  • Các bộ định tuyến giao thức trạng thái tuyến là tương tự như các bộ định tuyến trao đổi trạng thái tuyến thay vì xây dựng các bảng định tuyến. Các trạng thái tuyến này mô tả các hướng khác nhau của mạng. Mỗi bộ định tuyến trong phạm vi mạng lưu trữ các bảng trạng thái tuyến từ các bộ định tuyến khác trên mạng và một khi nó đã có một tập đầy đủ, nó có thể tính toán một đường ngắn nhất cho mỗi điểm đích trên mạng.

Các vấn đề đặc trưng với bộ định tuyến IP bao gồm:

          + Định tuyến không đối xứng: Tất cả ISP đều cố gắng tối thiểu thời gian truyền gói, và do đó các bộ định tuyến sẽ cố định tuyến càng nhanh càng tốt. Vì vậy, nếu các điểm cuối của một cuộc gọi VoIP được phục vụ bởi các ISP khác nhau, thì trễ gọi đến và gọi đi rất khác nhau, hay là không đối xứng. Như vậy do mỗi ISP cố gắng chuyển các gói nhanh nhất đến đích như có thể, nhưng mỗi ISP có tải khác nhau, số bước nhảy giữa các Gateway cũng khác nhau, và còn nhiều nguyên nhân khác nữa. Vấn đề ở đây là hầu hết các công cụ IP đều chỉ báo cáo trễ và lỗi gói theo một chiều,  ví dụ như một nửa của trễ vòng và mất gói. Thậm chí là còn các con đường khác nhau mà các ISP sử dụng tại mỗi chiều.

 Các nghiên cứu chỉ ra rằng 50% thời gian các đường đi qua các thành phố khác nhau, và 30% thời gian thậm chí được dùng để đi qua các ISP khác nhau.

          + Vòng định tuyến: Trong một số trường hợp các bộ định tuyến có thể hướng một gói tin từ một bộ định tuyến này tới một bộ định tuyến khác và kết thúc nếu gói quay vòng trở lại. Điều này xảy ra khi liên kết mạng và bộ định tuyến bị hỏng trước khi bảng định tuyến được cập nhật lại chính xác các thông tin mới. Gói tin vẫn biết được phải đi đâu, bởi vì một khi gói tin quay trở lại bộ định tuyến đầu tiên của vòng, thì bảng định tuyến giờ đây đã đúng. Nếu vòng lặp không bị loại trừ nhanh chóng, thì biến đếm TTL có thể giảm về 0, và gói tin bị hủy.

          + Chuyển tuyến: Sự thay đổi tuyến đường nhanh chóng trên mạng được gọi là chuyển tuyến, hay đôi lúc gọi là bộ thay tuyến. Cân bằng tải đạt được cho các ứng dụng dữ liệu có thể gây ra jitter tiêu cực cho thoại. Ngày nay, các giao thức mới được sử dụng giữa các ISP đã gần như loại bỏ được nhược điểm này.

          + Định tuyến không ổn định: Các bộ định tuyến có thể tự động định tuyến lại vòng qua các liên kết và bộ định tuyến bị hỏng. Theo đó, người sử dụng có thể vẫn thấy ứng dụng của mình hoạt động tốt, mặc dù các gói tin phải đi qua một quãng đường rất dài và rất khác nhau để đến được đích. Do đó, độ ổn định của một tuyến đường qua một mạng của các bộ định tuyến ISP là không tốt đối với thoại. Khả năng một tuyến không đổi theo thời gian gọi là bất biến tuyến trên mạng. Thời gian bao lâu trước khi bộ định tuyến thay đổi đường đi được sử dụng được gọi là sự bền vững tuyến. Sự bất biến tuyến có thể coi như là đại lượng đo lường ngắn hạn của độ ổn định tuyến đường so với thời gian của gói tin, và sự bền vững như là đại lượng đo lường dài hạn của độ ổn định tuyến đường. Một cách tự nhiên, sự bất biến và sự bền vững tuyến qua một mạng của các bộ định tuyến là điều mong muốn của VoIP. Trên Internet, hầu hết các bộ định tuyến đều rất bất biến (hàng nghìn gói tin đi qua cùng một đường), nhưng sự bền vững tuyến có thể thay đổi từ vài giây đến vài ngày phụ thuộc vào ISP.          

Giao thức thông tin định tuyến

          RIP (Router information Protocol) hoạt động bằng cách cứ 30 giây  truyền tải thông tin định tuyến chứa trong gói tin cập nhật RIP cho 25 mạng hoặc máy chủ. Kích thước lớn nhất của mỗi gói tin cập nhật RIP là 512 octet (chưa bao gồm tiêu đề IP và UDP). RIP sử dụng cổng giao thức đơn vị dữ liệu người sử dụng (UDP) số 520 để gửi và nhận các dữ liệu. RIP sử dụng một số đếm chặng để biểu thị chi phí tới một mạng hoặc máy chủ đích nào đó.

          Địa chỉ IP được ghi trong gói tin RIP thường là địa chỉ mạng IP 32 bit. Trường mê-tríc phải bao hàm một giá trị giữa 1 và 15. Một mê-tríc bằng 16 liên quan tới một mạng cụ thể được sử dụng để chỉ ra rằng không thể liên lạc được tới mạng đó. RIP nguyên thủy có 5 gói tin (bây giờ hai loại đã bị lạc hậu và một loại dành riêng cho công ty Sun Microsystems) nên hai loại còn lại thường được dùng là gói tin yêu cầu và gói tin đáp ứng.

vGói tin yêu cầu: loại này được thể hiện bằng giá trị 1 trong trường lệnh và được sử dụng để yêu cầu hoặc là bảng định tuyến đầy đủ hoặc là một phần của bảng định tuyến.

vGói tin đáp ứng: loại này được thể hiện bằng giá trị 2 trong trường lệnh. Các gói tin đáp ứng có thể được tạo ra để đáp lại một gói tin yêu cầu như một thông tin cập nhật định kỳ hoặc một thông tin cập nhật được kích hoạt. Các thông tin cập nhật định kỳ được gửi 30 giây một lần và bao hàm bảng định tuyến đầy đủ. Các thông tin cập nhật kích thích xảy ra khi có sự thay đổi đối với một tuyến cụ thể hoặc một loạt các tuyến; bảng định tuyến đầy đủ không cần được chuyển tiếp trong trường hợp này.

 Giao thức cổng ranh giới

              Ngày nay giao thức cổng ranh giới phiên bản 4 (BGP - 4) được sử dụng trên toàn Internet như một cơ chế thông báo thông tin định tuyến giữa các hệ thống tự trị khác nhau. BGP - 4 được định nghĩa trong khuyến nghị RFC 1771 và là một giao thức véc-tơ đường đi. BGP là một giao thức cổng ngoài được sử dụng để truyền tải thông tin định tuyến giữa các hệ thống tự trị như mô tả trong hình 1

                               

  AS 1

 

AS 5

 

AS 9

AS 20

 AS 30

 

AS 15

Giao thức cổng  bên ngoài được sử dụng giữa các AS; ví dụ: BGP

Giao thức cổng bên trong được sử dụng trong hệ thống tự trị (AS).

undefined

Hình 1. BGP được sử dụng như một giao thức bên ngoài.

          BGP được coi là một giao thức véc-tơ đường đi bởi vì mỗi đơn vị thông tin định tuyến được gắn với một đường đi của các hệ thống tự trị và chỉ báo đường đi một tuyến đã chuyển qua. Véc-tơ các đường đi này giải quyết được  các vấn đề tính toán tới vô cực vốn có trong các giao thức véc-tơ khoảng cách bởi vì khi nhận được một bản cập nhật định tuyến, mỗi bộ định tuyến kiểm tra xem số hiệu hệ thống tự trị đã nằm trong đường đi của hệ thống tự trị chưa. Nếu một vòng lặp xảy ra thì bản cập nhật có thể lập tức bị loại bỏ.

Nguyên tắc hoạt động của BGP

          BGP hoạt động theo nguyên tắc từng chặng, quy định bất cứ tuyến nào được thông báo từ một bộ định tuyến BGP tới bộ định tuyến ngang hàng với nó đều được sử dụng đặc biệt bởi bộ định tuyến thông báo BGP. Nói cách khác, một bộ định tuyến không thể thông báo các tuyến tới bộ định tuyến ngang hàng và sau đó xử lý chuyển tiếp lưu lượng qua một tuyến khác trừ khi một số hình thức định tuyến nguồn được sử dụng.

Sự truyền dẫn tin cậy các gói tin BGP được đảm bảo bằng giao thức truyền tải (TCP - Transport Control Protocol). Hai bộ định tuyến láng giềng sẽ sử dụng cổng TCP số 179 để thiết lập một phiên qua đó BGP có thể trao đổi thông tin định tuyến.

              BGP không cung cấp các bản tin cập nhật định kỳ; thay vào đó, sau lần trao đổi ban đầu bảng định tuyến đầy đủ thì chỉ những thay đổi trong bảng định tuyến mới được chuyển tiếp. Thông tin định tuyến được trao đổi giữa các bộ định tuyến BGP sử dụng một bản tin cập nhật (kích thước gói tin BGP tối đa là 4.096 octec, kích thước tối thiểu là 19 octec).

Các loại bản tin trong BGP

          BGP sử dụng bốn loại bản tin: mở, thông báo, duy trì, cập nhật. Việc gửi bản tin mở theo sau việc thiết lập thành công phiên liên lạc TCP. Bản tin thông báo được sử dụng để thông báo cho cặp BGP về các lỗi xảy ra trong quá trình trao đổi thông tin hoặc thiết lập một phiên liên lạc. Các bản tin duy trì được sử dụng để đảm bảo rằng các bộ định tuyến láng giềng vẫn còn có thể liên lạc được (bản tin duy trì được gửi định kỳ). Các bản tin cập nhật cung cấp cơ chế trao đổi thông tin giữa các cặp BGP. Bản tin cập nhật có thể được chia thành ba phần cụ thể:

+ Các tuyến cô lập: BGP sử dụng trường các tuyến cô lập để chỉ báo những tuyến không còn hợp lệ.

              + Các thuộc tính đường đi: Một trong những thuộc tính quan trọng nhất của BGP là nó truyền thông tin bổ sung liên quan đến thông tin định tuyến được quảng bá. Đặc biệt, các thuộc tính đường đi (có bốn loại) cho phép triển khai các chính sách định tuyến mạnh. Hai trong các thuộc tính đường đi đáng quan tâm là AS_Path (bao gồm chuỗi các hệ thống tự chủ đã đi qua) và Next_Hop (cho phép thực hiện định tuyến tối ưu khi thoát khỏi một hệ thống tự chủ).

          Không có hạn chế về loại chính sách định tuyến mà BGP có thể hỗ trợ do đó các chính sách mà có thể được hỗ trợ là độc lập với hãng sản xuất.

BGP đảm bảo các thuộc tính có thể được thực hiện để cho phép các chính sách phù hợp được triển khai. Khả năng thiết kế một chính sách dựa trên các thuộc tính đường đi là một trong những đặc tính chủ yếu của BGP.

          + Thông tin về khả năng đạt tới lớp mạng: do các bản tin cập nhật truyền tải thông tin này.

             Như đã nêu ở trên, BGP được sử dụng để thông báo thông tin về khả năng đạt tới lớp mạng giữa các hệ thống tự chủ. Nó cũng có thể được sử dụng để thông báo các tuyến trong một hệ thống tự chủ. Nếu BGP được sử dụng trong một hệ thống tự chủ thì nó được gọi là BGP nội bộ (IBGP). Nếu BGP được sử dụng giữa các hệ thống tự chủ thì nó được gọi là BGP bên ngoài (EBGP).

 

 

 

 

Các tin khác