Hai văn phòng kết nối qua một chi nhánh lẽ ra chỉ nên chở lưu lượng của chính nó và rất ít thứ khác. Chi nhánh cần tuyến đến cả hai điểm, và không điểm nào nên ưu tiên nó làm đường đi giữa chúng. Bỏ chi nhánh khỏi tô-pô sẽ giải quyết vấn đề trung chuyển và phá vỡ yêu cầu, vì chi nhánh vẫn phải đến được cả hai điểm và cả hai điểm vẫn phải đến được chi nhánh.

Điều bạn muốn là một sự ưu tiên, được diễn đạt trong giao thức định tuyến, giữ cho chi nhánh hoàn toàn đến được và biến nó thành lựa chọn kém cho mọi thứ đi xuyên qua. Hãy đi qua vấn đề theo đúng thứ tự mà các bộ định tuyến nhìn thấy.

Bắt đầu từ tuyến đường bạn muốn tránh

Vẽ tô-pô như giao thức nhìn thấy, không phải như sơ đồ nhìn thấy. Những giao diện nào tạo nên quan hệ láng giềng, những cái nào cùng một vùng, và quan hệ nào trong số đó sẽ chở lưu lượng giữa hai văn phòng nếu chi nhánh được ưu tiên? Đó là ba câu hỏi riêng biệt, và một sơ đồ không trả lời đáng tin câu nào.

Sau đó tìm tuyến thay thế. Nếu tuyến duy nhất giữa hai văn phòng đi qua chi nhánh thì không metric nào có thể đưa lưu lượng ra khỏi đó, vì lưu lượng không có nơi nào để đi. Dự phòng không phải là chi tiết của thiết kế này; nó là điều kiện tiên quyết. Một tuyến thứ hai chỉ tồn tại trên giấy thì không tính.

show ip ospf neighbor
show ip ospf interface brief
show ip route 10.40.0.0

Ba góc nhìn này trả lời những câu hỏi khác nhau: ai là láng giềng, giao diện nào tham gia và với chi phí bao nhiêu, và thiết bị đang chọn tuyến nào. Triển khai đường hầm thêm góc nhìn thứ tư: một đường trên sơ đồ không chứng minh quan hệ láng giềng hình thành qua nó, và một quan hệ láng giềng đã hình thành không chứng minh việc chuyển tiếp đi theo cùng tuyến. Chính trong các thiết kế đường hầm, khoảng trống này xuất hiện nhiều nhất.

Metric tối đa quảng bá điều gì

RFC 6987 mô tả một bộ định tuyến quảng bá các liên kết không phải stub với metric liên kết tối đa, được định nghĩa là 0xffff. Bộ định tuyến vẫn mô tả chính nó và các liên kết của nó; nó chỉ định giá chúng ở đỉnh của dải, nên mọi bộ định tuyến khác tính tuyến đi qua nó là đắt.

Đây là thay đổi router-LSA, không phải xoá tô-pô. Sự khác biệt quan trọng: xoá router-LSA rút lại chính thông tin tô-pô, điều này cũng có thể rút lại các quan hệ cần thiết để đến được bộ định tuyến và các tiền tố phía sau nó. Giữ quảng bá và nâng giá của nó bảo toàn những quan hệ đó. Đó là toàn bộ khác biệt giữa kỹ thuật này và việc xoá.

Cơ chế RFC 6987 cũng không liên quan gì đến loại vùng hay việc bầu bộ định tuyến được chỉ định. Một vùng stub chặn một loại quảng bá trạng thái liên kết tại ranh giới vùng, và một bộ định tuyến stub định giá các liên kết của chính nó. Từ ngữ tương tự, máy móc không liên quan.

Vì sao khả năng đến được tồn tại còn trung chuyển thì không

Các bộ định tuyến khác vẫn có tuyến đến các tiền tố kết nối của chi nhánh, vì chi nhánh vẫn quảng bá chúng và các liên kết vẫn tồn tại. Điều thay đổi là tổng chi phí của bất kỳ tuyến nào đi qua chi nhánh trên đường đến nơi khác. Các tiền tố không di chuyển; chỉ giá của việc băng qua bộ định tuyến thay đổi.

Với lưu lượng mà nguồn hoặc đích là chính chi nhánh, liên kết đắt vẫn nằm trên tuyến hợp lý duy nhất, nên nó được dùng. Với lưu lượng giữa hai văn phòng, tuyến thay thế giờ thắng về chi phí, và chi nhánh rơi khỏi quyết định chuyển tiếp mà không biến mất khỏi tô-pô. Hai hướng, hai câu trả lời khác nhau, và cả hai đều là cơ chế đang hoạt động.

Đó là hành vi cần kiểm chứng thay vì giả định. Hãy xem router-LSA mà chi nhánh tạo ra, rồi xem tuyến mà một bộ định tuyến khác chọn cho một đích phía sau chi nhánh và cho một đích trong văn phòng kia. Hai câu trả lời phải khác nhau, và nếu không khác, thay đổi metric không chạm tới quyết định mà bạn nghĩ.

Vấn đề tuyến cuối

Chính RFC nói rõ kỹ thuật này không cấm sử dụng. Khi tuyến thay thế hỏng, các bộ định tuyến quay lại tuyến đắt qua chi nhánh, vì đó vẫn là tuyến hợp lệ và giao thức ưu tiên một tuyến đắt hơn là không có tuyến.

Việc quay lại đó có chấp nhận được hay không là câu hỏi chính sách mà bạn phải trả lời trước khi triển khai. Một chi nhánh trên đường lên nhỏ bỗng chở lưu lượng giữa các văn phòng có thể tệ hơn một lần gián đoạn, và cũng có thể đúng là điều bạn muốn trong cửa sổ bảo trì. Cả hai câu trả lời đều chính đáng; im lặng thì không.

Nếu yêu cầu là cấm tuyệt đối chứ không phải ưu tiên, chỉ thiết kế metric sẽ không tạo ra được. Bạn cần cưỡng chế chuyển tiếp khớp với ý định, cộng với hành vi được định nghĩa cho trường hợp lưu lượng vẫn đến. Quảng bá một tuyến là dùng được rồi bỏ lưu lượng sẽ tạo ra một hố đen khó chẩn đoán hơn một vòng lặp định tuyến.

Với OSPFv3, RFC bàn về bit R như một cách khác để loại trừ việc tham gia trung chuyển. Đừng giả định nó thừa hưởng cùng hành vi tuyến cuối như kỹ thuật metric tối đa, và đừng sao chép cấu hình giữa hai họ địa chỉ như thể là cùng một tính năng.

Chứng minh trong điều kiện bình thường và khi hỏng

Kiểm tra hai lần: một lần khi cả hai tuyến sẵn có và một lần khi tuyến ưu tiên bị bỏ. Lần đầu cho thấy sự ưu tiên hoạt động, lần sau cho thấy mạng làm gì khi không thể tôn trọng ưu tiên. Bỏ qua lần kiểm tra thứ hai để nửa quan trọng không được xem xét.

show ip ospf database router 10.0.0.3
show ip route 172.20.8.0
traceroute 172.20.8.1

Chế độ xem cơ sở dữ liệu cho thấy metric được quảng bá, tra cứu tuyến cho thấy bước nhảy kế tiếp được chọn, và dấu vết cho thấy gói tin thực sự đã đi đâu. Khi ba thứ đó khớp nhau, bạn có một thiết kế đã kiểm chứng chứ không phải một cấu hình trông có vẻ đúng.

Sau đó khôi phục tuyến ưu tiên và xác nhận chi nhánh quay lại chỉ chở lưu lượng của chính nó. Bước khôi phục thuộc về kiểm tra chứ không phải dọn dẹp, vì một thiết kế chỉ hoạt động đến lần thay đổi kế tiếp thì không phải thiết kế. Ghi lại cả hai kết quả, kể cả việc quay lại, vì kết quả thứ hai là câu trả lời mà ai đó sẽ cần lúc ba giờ sáng.

Bài viết liên quan