Đặng Quang Minh, CCIE#11897

Trung tâm tin học VnPro 149/1D Ung Văn Khiêm Phường 25, Q. Bình Thạnh TPHCM

EIGRP


Cơ bản về EIGRP và hoạt động trong trạng thái ổn định

 

Nhiều ứng cử viên CCIE đã biết một vài điểm hoặc nhiều chi tiết của hoạt động của EIGRP cũng như cách cấu hình. EIGRP được triển khai rộng rãi và đã được mô tả đầy đủ trong khóa học CCNP BSCI. Chương này chỉ mô tả các thuật ngữ chủ chốt và các khái niệm nhưng không mô tả các chi tiết hoặc các ví dụ cụ thể của hoạt động của EIGRP trên một router. Cuối của chương này là một vài đặc điểm chủ yếu của EIGRP.

 

Đặc điểm

Mô tả

Transport

IP, giao thức số 88. Không dùng UDP hay TCP. Cơ chế phân phối đảm bảo bằng cách dùng thuật toán multicast về địa chỉ 224.0.0.10. Các router láng giềng khi nhận được gói tin multicast thì phải gửi gói tin công nhận ACK. Các gói tin được gửi theo thứ tự bằng cách dùng hai chỉ số tuần tự trong gói tin. Từng gói tin bao gồm một chỉ số tuần tự được gán bởi router gửi. Chỉ số tuần tự này gia tăng mỗi lần router gửi ra một gói tin mới. Thêm vào đó, các router gửi sẽ đặt trong gói tin chỉ số tuần tự của gói tin cuối cùng mà nó nhận được từ router đích. Trong một vài trường hợp, RTP có thể dùng cơ chế truyền không tin cậy và không có chỉ số tuần tự nào được dùng.

Nếu có bất kỳ gói tin nào được gửi theo kiểu multicast nhưng không nhận được ACK, gói tin sẽ được truyền lại theo cơ chế unicast tới những router láng giềng không trả lời. Nếu một ACK không nhận được sau 16 lần truyền lại, router láng giềng sẽ được xem là đã chết. Thời gian để chờ 1 ACK trước khi chuyển từ multicast sang unicast được chỉ ra bởi thời gian multicast flow. Thời gian giữa hai lần gửi unicast tuần tự được chỉ ra bởi thông số re-tranmission timeout (RTO). Cả hai thời gian multicast flow timer và RTO được tính toán cho từng láng giềng từ khoảng thời gian Smooth round trip time. SRTT là khoảng thời gian trung bình, tính bằng miligiây giữa hai lần truyền một gói tin và nhận ack. Công thức để tính giá trị chính xác của SRTT, RTO và thông số multicast flow là độc quyền.

Metric

Dựa trên các băng thông và độ trễ. Có thể tham khảo đến tải, độ tin cậy và MTU.

Hello Interval

Là khoảng thời gian mà một router gửi các thông điệp EIGRP Hello trên một interface.

Hold timer

Là khoảng thời gian được dùng để xác định khi nào một router láng giềng không còn hoạt động khi router không nhận được bất kỳ một thông điệp EIGRP nào, bao gồm cả hello.

Địa chỉ mạng đích của thông tin cập nhật

Thường được gửi đến 224.0.0.10. Việc truyền lại thường được gửi cho mỗi địa chỉ unicast láng giềng.

Cập nhật toàn bộ hay cập nhật toàn phần

Khi có một láng giềng mới, sẽ có thông điệp cập nhật đầy đủ được dùng. Nếu không, chỉ có thông điệp cập nhật từng phần. Mặc dù các thông điệp cập nhật của EIGRP vẫn là distance vector truyền trực tiếp đến các láng giềng, các cập nhật loại này là nonperiodic, partial và bounded. Nonperiodic nghĩa là các cập nhật không được gửi ở các khoảng thời gian định kỳ. Thay vào đó, các cập nhật được gửi chỉ khi có metric hay sự thay đổi trong sơ đồ mạng diễn ra. Partial có nghĩa là thông điệp cập nhật chỉ bao gồm những routes đã thay đổi, không bao gồm mọi route trong bảng định tuyến. Bounded có nghĩa là các cập nhật chỉ được gửi đến các router bị ảnh hưởng. Do các đặc điểm này, EIGRP dùng rất ít băng thông so với các giao thức nhóm distance vector khác. Đặc điểm này đặc biệt quan trọng trong các kết nối WAN.

Xác thực

Chỉ hỗ trợ kiểu xác thực MD5.

Hỗ trợ VLSM/classless

EIGRP có bao gồm từ địa chỉ mask trong các thông điệp cập nhật của nó, điều này giúp cho EIGRP hỗ trợ các mạng không liên tục và giải quyết được vấn đề mạng không liên tục.

Route-tag

Cho phép EIGRP đánh dấu các route khi nó được quảng bá vào trong EIGRP.

Next-hop

Hỗ trợ việc quảng bá các routes với các giá trị next-hop khác với địa chỉ của router quảng bá.

Tóm tắt route thủ công

Cho phép tóm tắt các route ở bất kỳ trong điểm nào của mạng.

Multiprotocol

Hỗ trợ việc quảng bá các địa chỉ IPX và AppleTalk

 

Hellos, Neighbors và Adjacencies

 

Sau khi router đã được cấu hình dùng EIGRP và các cổng của nó đã up, router sẽ cố gắng tìm các router láng giềng bằng cách gửi các gói tin EIGRP hello về địa chỉ đích là 224.0.0.10. Khi một cặp router đã nghe các thông điệp hello, cả hai sẽ trở thành láng giềng, với giả sử là vài điều kiện chủ chốt đã đáp ứng.

 

Các router láng giềng sau khi đã vượt qua các phép kiểm tra trong danh sách dưới đây sẽ được xem như là láng giềng. Ở thời điểm đó, các router có thể trao đổi routes và sẽ được hiển thị trong kết quả của lệnh show ip eigrp neighbor command.

Phải vượt qua tiến trình xác thực.

Phải có cùng chỉ số AS.

Phải tin rằng địa chỉ nguồn IP của gói tin Hello nhận được là địa chỉ chính (primary) của cổng kết nối trực tiếp trên router đó.

Giá trị hệ số K phải giống nhau.

 

Mô tả của điều kiện thứ ba phải được phân tích thêm một chút. Thuật ngữ primary subnet ngầm định rằng đây là địa chỉ của một cổng trên router được chỉ ra bởi câu lệnh ip address mà không có câu lệnh secondary. Một router EIGRP tìm địa chỉ IP nguồn của gói tin Hello, nếu địa chỉ nguồn là một phần của địa chỉ primary subnet của cổng vào trên router, gói tin Hello sẽ vượt qua được phép kiểm tra của địa chỉ IP.

 

Cơ chế này làm cho xuất hiện một vài khả năng thú vị. Ví dụ, nếu router bị cấu hình sai với các giá trị netmask khác nhau, phép kiểm tra vẫn thành công. Nếu một router được cấu hình với địa chỉ 10.1.2.1/24 và router kia cấu hình 10.1.2.2/23, cả hai vẫn có thể hình thành quan hệ láng giềng, nếu tất cả các phép kiểm tra khác đều đạt. Mặc dù EIGRP vẫn hỗ trợ cơ chế địa chỉ phụ (secondary) và các mạng con, EIGRP vẫn gán địa chỉ nguồn của tất cả các thông điệp của nó bằng địa chỉ primary và địa chỉ IP của router láng giềng phải nằm trong cùng địa chỉ mạng của subnet con.

 

Mục cuối cùng trong danh sách các mục cần kiểm tra là các giá trị K. Các giá trị K là các hằng số định nghĩa hệ số nhân được dùng bởi EIGRP khi tính toán metric. Việc cài đặt có thể được thay đổi bằng lệnh metric weights tos k1 k2 k3 k4 k5. Ở chế độ mặc định, lệnh này gán giá trị 0 1 0 1 0 0, nghĩa là chỉ có băng thông và độ trễ được dùng để tính metric. Ví dụ trong chương này sẽ đổi giá trị thiết lập về 0 0 0 1 0 0, trong đó loại bỏ thông số băng thông ra khỏi việc tính toán và giúp cho khái niệm metric cho nên rõ ràng hơn một chút.

 

Bên cạnh việc đơn giản kiểm tra xem thông số đúng có được dùng hay không, các thông điệp Hello cũng được phục vụ như một cơ chế keepalive. Các router láng giềng tiếp tục gửi gói tin hello theo kiểu multicast dựa trên thông số hello-interval của từng cổng. Nếu một router không nghe được từng láng giềng sau một khoảng thời gian, còn được gọi là EIGRP holdtime cho láng giềng đó, tất cả các tuyến thông qua router láng giềng được xem là failed.

 

Categories: CCIE