Quản trị mạng – Trong bài viết này chúng tôi sẽ đưa ra những phân tích sâu rộng về vấn đề định tuyến Internet.
Từ khi Internet sinh ra cách đây nhiều thập kỷ đã có nhu cầu cần thiết cho việc định tuyến lưu lượng từ một máy tính này đến một máy tính khác và từ mạng này đến một mạng khác. Khi Internet ngày càng phát triển thì vấn đề định tuyến này cũng ngày càng trở nên phức tạp. Ngày nay có khá nhiều giao thức cho việc định tuyến lưu lượng, chẳng hạn như Border Gateway Protocol và Open Shortest Path First. Border Gateway Protocol là giao thức mà hầu hết người dùng Internet không làm việc trực tiếp với nó, tuy nhiên giao thức này lai cần thiết cho hoạt động của Internet và là một phần quan trọng cho việc dự phòng. Trong bài này, chúng tôi sẽ sử dụng Border Gateway Protocol để truyền đạt các vấn đề phức tạp mà hầu hết mọi người chưa hề biết đến, hoặc chí ít không thường nghĩ đến.
Nền tảng của Border Gateway Protocol (BGP)
Internet được tạo nên bởi hàng nghìn mạng lớn nhỏ khác nhau. Các mạng này được nhóm lại với nhau vào các vùng lân cận được gọi là Autonomous Systems (ASes) (các hệ thống tự trị), mỗi một hệ thống tự trị này có đến hàng chục ngàn máy tính kết nối với nhau. Khi một máy tính trong một mạng tự trị này cần gửi đi các gói dữ liệu đến một máy tính bên trong một hệ thống tự trị khác thì gói dữ liệu này cần phải tìm ra đường đi của nó thông qua các vùng tự trị khác để đến được vùng tự trị mong muốn. Quá trình các gói được truyền thông qua các vùng tự trị này được gọi là định tuyến. Giao thức để thực hiện việc định tuyến này được gọi là Border Gateway Protocol (BGP), xem hình 1 bên dưới để bạn thấy được cơ bản về việc định tuyến giữa hai vùng tự trị logic. Giao thức Border Gateway Protocol (BGP) này khác với các giao thức định tuyến khác, chẳng hạn như Open Shortest Path First (OSPF), đây là giao thức được sử dụng cho các mạng công ty có kích cỡ lớn hoặc trung bình. Mặc dù vậy giao thức OSPF này không thể đáp ứng với các mạng diện rộng như BGP. BGP không bị hạn chế trong việc định tuyến các gói giữa các hệ thống tự trị và có thể hữu dụng cho các mạng doanh nghiệp rất lớn.
Hình 1: Việc định tuyến BGP giữa các hệ thống tự trị (AS)
BGP thường được ám chỉ như một External BGP (EBGP) khi được sử dụng để định tuyến các gói dữ liệu giữa các AS và Internal BGP (IBGP) khi được sử dụng bên trong một AS. Như những gì chúng tôi đã đề cập, IBGP rất hữu dụng cho các mạng doanh nghiệp rất lớn. Một lý do mà các quản trị viên mạng chọn thực thi IBGP trên mạng của mình là để lợi dụng cơ chế multi-home của BGP, đây là cơ chế có thể cải thiện được sự dự phòng cho mạng có nhiều điểm truy cập.
Vấn đề hiệu suất
Khi các mạng lớn thi hành BGP, tất cả đều phải kết nối với nhau theo kiểu full-mesh, đây là kiểu mạng mà ở đó mỗi router cần phải truyền thông với các router khác theo cả hai hướng. Cách thức này có thể đè nặng nên những yêu cầu về bộ nhớ của router. Không cần phải nó rằng nó cũng góp phần làm tăng lưu lượng mạng. Mặc dù vậy chúng ta có các kỹ thuật có thể khắc phục một số vấn đề gặp phải khi mở rộng hệ thống.
Một vấn đề mà Internet đã phải giải quyết một vài năm cách đây là sự lớn mạnh theo quy luật hàm mũ của các bảng định tuyến. Vấn đề này đã được giải quyết (nhưng vẫn khá lớn) với sự xuất hiện của Classless Inter-Domain Routing (CIDR). Bảng định tuyến càng lớn sẽ càng mất nhiều thời gian delay trong quá trình nâng cấp và cuối cùng là ảnh hưởng đến hiệu suất mạng. Vấn đề này cũng góp phần làm giảm hiệu suất CPU và cũng dẫn đến làm chậm thời gian định tuyến.
Một kỹ thuật mà một nhà thiết kế mạng có thể sử dụng được gọi là các liên minh. Với các liên minh, một mạng doanh nghiệp lớn có thể được chia thành nhiều AS logic, mỗi một AS thực thi một kết nối full-mesh, sau đó được đinh tuyến giữa các AS với nhau. Về cơ bản, một mạng doanh nghiệp sẽ như một mạng Internet thu nhỏ.
Một mạng thực thi IBGP cũng có thể thực thi thiết kế Router Reflecting (RR). Trong thiết kế này, một router sẽ làm điểm trung tâm làm nhiệm vụ như một máy chủ phản xạ router còn các router khác trở thành các máy khách phản xạ. Cách thức này giảm đáng kể số lượng session mỗi router cần phải duy trì và có thể tăng đáng kể hiệu suất router. Mặc dù vậy, thiết kế này có thể dẫn đến giảm về độ tối ưu trong định tuyến. Quả thực luôn phải có sự trả giá ở đây mà bạn phải chọn sao cho hợp lý.
Một vấn đề hiệu suất khác mà các nhà thiết kế mạng cần phải xem xét đó là route flapping. Hình 2 bên dưới thể hiện một ví dụ về vấn đề route flapping. Bên trong bất cứ một mạng lớn nào, tất cả các bảng định tuyến BGP cũng đều phải được nâng cấp thường xuyên vì các liên kết có thể gặp sự cố bất cứ lúc nào. Mặc dù vậy, với các router cụ thể thì kiểu hành động này sẽ không được thực hiện thường xuyên. Đôi khi các router có thể bị cấu hình sai; và điều này thường dẫn đến xuất hiện các chu trình thừa và được lặp đi lặp lại. Tiếp sau đó sẽ dẫn đến hành động thừa với tất cả các router ngang hàng đó. Khi một router được online, dù lần đầu hay sau một thời gian chết ngắn, cần phải có một hành động tuyên bố lại đối với các router ngang hàng khác. Điều này có thể dẫn đến ảnh hưởng về hiệu suất CPU trong một khoảng thời gian ngắn (vài giây). Hành động này được gọi là route flapping. Để khắc phục hiện tượng route flapping, chúng ta cần phải có nhiều thực thi BGP giảm hiện tượng route flapping (route flap damping).
Route flap damping là một quá trình cố gắng hạn chế những ảnh hưởng tiêu cực của route flapping. Khi sử dụng kỹ thuật này, hệ thống sẽ bỏ qua các tuyên bố lại bị lặp đi lặp lại (khi một router hoạt động trở lại) trong các khoảng thời gian dài hơn. Trước đây route flap damping được xem như một phương pháp khá hiệu quả cho việc giảm route flapping. Nhưng có nhiều vấn đề gây trở ngại cho việc tối ưu hiệu suất mạng. Nhiều chuyên gia mạng vẫn tranh cãi về route flap damping. Để được an toàn, nếu bạn là một quản trị viên mạng, tốt nhất là quản lý router một cách hiệu quả ngay từ đầu!
Kiến trúc các router
Những gì làm cho các router này thực hiện tốt hơn đến nối không cần đến kỹ thuật route flap damping? Có nhiều lý do rõ ràng ở đây. Thứ nhất, các CPU của router ngày càng có được hiệu suất cao giống như các CPU của các máy tính desktop vậy. Thứ hai, tốc độ bus cũng được cải thiện đáng kể. Một thay đổi khác chủ yếu nữa cũng góp phần tăng hiệu suất router là những thay đổi về mặt kiến trúc diễn ra trong vài năm trở lại đây. Đặc biệt, những thay đổi diễn ra trong bảng định tuyến được nâng cấp bởi các bộ xử lý router trên các interface card. Các bộ xử lý interface card cũng quản lý việc định tuyến. CPU quản lý hệ điều hành và nhiều nhiệm vụ quản lý khác được thực hiện bởi quản trị viên. Sự phân quyền này đã cải thiện đáng kể hiệu suất tổng cộng cho hiệu suất định tuyến mạng.
Như những gì các bạn có thể thấy, có rất nhiều hệ số ảnh hưởng đến vấn đề định tuyến cho các mạng lớn. Đây mới là những suy nghĩ gợi mở đầu tiên về giai đoạn thiết kế giao thức, tiếp theo sẽ là giai đoạn thiết kế router (thiết kế phần cứng, phần mềm và thậm chí kiến trúc tổng thể của router), và thậm chí xa hơn nữa là giai đoạn thiết kế mạng, nơi các chuyên gia thiết kế và quản trị viên sử dụng các công cụ có sẵn cho chúng trong giao thức và trên bản thân các router để tối ưu việc định tuyến cho mạng của họ. Mời các bạn hãy theo dõi các phần sau của loạt bài này.