287
3.1.3. Các đặc điểm của EIGRP
EIGRP hoạt động khác với IGRP. Về bản chất EIGRP là một giao thức định tuyến
theo vectơ khoảng cách nâng cao nhng khi cập nhật và bảo trì thông tin láng giềng
và thông tin định tuyến thì nó làm việc giống nh một giao thức định tuyến theo
trạng thái đờng liên kết. Sau đây là các u điểm của EIGRP so với giao thức định
tuyến theo vectơ khoảng cách thông thờng:
ã Tốc độ hội tụ nhanh.
ã Sử dụng băng thông hiệu quả.
288
ã Có hỗ trợ VLSM (Variable Length Subnet Mask) và CIDR (Classless
Interdomain Routing). Không giống nh IGRP, EIGRP có trao đổi thông tin
về subnet mask nên nó hỗ trợ đợc cho hệ thống IP không theo lớp.
ã Hỗ trợ nhiều giao thức mạng khác nhau.
ã Không phụ thuộc vào giao thức định tuyến. Nhờ cấu trúc từng phần riêng
biệt tơng ứng với từng giao thức mà EIGRP không cần phải chỉnh sửa lâu.
Ví dụ nh khi phát triển để hỗ trợ một giao thức mới nh IP chẳng hạn,
EIGRP cần phải có thêm phần mới tơng ứng cho IP nhng hoàn toàn
không cần phải viết lại EIGRP.
EIGRP router hội tụ nhanh vì chúng sử dụng DUAL. DUAL bảo đảm hoạt động
không bị lặp vòng khi tính toán đờng đi, cho phép mọi router trong hệ thống mạng
thực hiện đồng bộ cùng lúc khi có sự thay đổi xảy ra.
EIGRP sử dụng băng thông hiệu quả vì nó chỉ gửi thông tin cập nhật một phần và
giới hạn chứ không gửi toàn bộ bảng định tuyến. Nhờ vậy nó chỉ tốn một lợng
băng thông tối thiểu khi hệ thống mạng đà ổn định. Điều này tơng tự nh hoạt
động cập nhËt cđa OSPF, nh−ng kh«ng gièng nh− router OSPF, router EIGRP chỉ
gửi thông tin cập nhật một phần cho router nào cần thông tin đó mà thôi, chứ không
gửi cho mọi router khác trong vùng nh OSPF. Chính vì vậy mà hoạt động cập nhật
của EIGRP gọi là cập nhật giới hạn. Thay vì hoạt động cập nhật theo chu kỳ, các
router EIGRP giữ liên lạc với nhau bằng các gói hello rất nhỏ. Việc trao đổi các gói
hello theo định kỳ không chiếm nhiều băng thông đờng truyền.
EIGRP có thể hỗ trợ cho IP, IPX và Apple Talk nhờ cã cÊu tróc tõng phÇn theo giao
thøc (PDMs – Protocol-dependent modules). EIGRP có thể phân phối thông tin
của IPX RIP và SAP để cải tiến hoạt động toàn diện. Trên thực tế, EIGRP có thể
điều khiển hai giao thức này. Router EIGRP nhận thông tin định tuyến và dịch vụ,
chỉ cập nhật cho các router khác khi thông tin trong bảng định tuyến hay bảng SAP
thay đổi.
EIGRP còn có thể ®iỊu khiĨn giao thøc Apple Talk Routing Table Maintenance
Protocol (RTMP). RTMP sử dụng số lợng hop để chọn đờng nên khả năng chọn
đờng không đợc tốt lắm. Do đó, EIGRP sử dụng thông số định tuyến tổng hợp
289
cấu hình đợc để chọn đờng tốt nhất cho mạng Apple Talk. Là một giao thức định
tuyến theo vectơ khoảng cách, RTMP thực hiện trao đổi toàn bộ thông tin định
tuyến theo chu kỳ. Để giảm bớt sự quá tải này, EIGRP thực hiện phân phối thông
tin định tuyến Apple Talk khi có sự kiện thay đổi mà thôi. Tuy nhiên, Apple Talk
client cũng muốn nhận thông tin RTMP từ các router nội bộ, do đó EIGRP dùng
cho Apple Talk chỉ nên chạy trong mạng không có client, ví dụ nh các liên kết
WAN chẳng hạn.
3.1.4. Các kỹ thuật của EIGRP
EIGRP có rất nhiều kỹ thuật mới để cải tiến hiệu quả hoạt động, tốc độ hội tụ và
các chức năng so với IGRP và các giao thức định tuyến khác. Các kỹ thuật này
đợc tập trung thành 4 loại nh sau:
ã Sự phát hiện và tái phát hiện các router láng giềng.
ã Giao thức truyền tải tin cậy (RTD Reliable Transport Protocol).
ã Thuật toán DUAL finite state machine.
ã Cấu trúc từng phần theo giao thức (PDMs Protocol-dependent modules).
Router định tuyến theo vectơ khoảng cách dạng đơn giản không thiết lập mối quan
hệ với các láng giềng của nó. RIP và IGRP router chỉ đơn giản là phát quảng bá hay
multicast các thông tin cập nhật của nó ra mọi cổng đà đợc cấu hình. Ngợc lại,
EIGRP router chủ động thiết lập mối quan hệ với các láng giềng của chúng, tơng
tự nh cách làm của OSPF router.
290
291
Hình 3.1.4
Quá trình EIGRP router thiết lập mối quan hệ thân mật đợc mô tả trong hình
3.1.4. EIGRP router
Sử dụng các gói hello rất nhỏ để thực hiện việc thiết lập mối quan hệ thân mật với
các router láng giềng. Mặc định, hello đợc gửi đi theo chu kỳ là 5 giây. Nếu router
vẫn nhận đợc hello từ láng giềng thì nó sẽ xem nh láng giềng này và các đờng
đi của nó vẫn hoạt động. Bằng cách thiết lập mối quan hệ này, EIGRP router có thể
thực hiện đợc nh÷ng viƯc sau:
292
ã Tự động học đợc đờng mới khi chúng kết nối vào hệ thống mạng.
ã Xác định một router không còn kết nối hoặc không còn hoạt động nữa.
ã Phát hiện sự hoạt động trở lại của các router.
Giao thức vËn chun tin cËy RTP (Reliable Transport Protocol) lµ giao thøc ë líp
vËn chun, thùc hiƯn viƯc chun gãi EIGRP một cách tin cậy và có thứ tự đến tất
cả các láng giềng. Trong mạng IP, host sử dụng TCP để vận chuyển các gói một
cách tuần tự và tin cậy. Tuy nhiên, EIGRP là một giao thức độc lập với giao thức
mạng, do đó nó không dựa vào TCP/IP để thực hiện trao đổi thông tin định tuyến
giống nh RIP, IGRP và OSPF đà làm. Để không bị phụ thc vµo IP, EIGRP sư
dơng RTP lµm giao thøc vËn chuyển riêng độc quyền của nó để đảm bảo việc
truyền tin định tuyến.
EIGRP có thể yêu cầu RTP cung cấp dịch vụ truyền tin cậy hoặc không tin cậy tuỳ
theo yêu cầu của từng trờng hợp. Ví dụ, các gói hello đợc truyền theo định kỳ và
cần phải càng nhỏ càng tốt nên chúng không cần phải dùng chế độ truyền tin cậy.
Ngợc lại, việc truyền tin cậy các thông tin định tuyến sẽ có thể làm tăng tốc độ
hội tụ vì EIGRP router không cần chờ hết thời hạn mới truyền lại.
Với RTP, EIGRP có thể gủi multicast và trực tiếp cho các đối tác khác nhau cùng
một lúc, giúp tối u hiệu quả hoạt động.
Thành phần trung tâm của EIGRP là thuật toán Diffusing Update Algorithm
(DUAL), là bộ máy tính toán đờng đi của EIGRP. Tên đầy đủ cđa kü tht nµy lµ
DUAL finite-state machine (FSM). FSM lµ một bộ máy thuật toán nhng không
phải là một thiết bị cơ khí có các thành phần di chuyển đợc. FSM định nghĩa một
tập hợp các trạng thái có thế trải qua, sự kiện nào gây ra trạng thái nào và sẽ có kết
quả gì. Ngời thiết kế sử dụng FSM để lập trình cách mà một thiết bị, một chơng
trình máy tính hay một thuật toán định tuyến sẽ xử lý nh thế nào với một tập hợp
các dữ liệu đầu vào. DUAL FSM chứa tất cả các logic đợc sử dụng để tính toán và
so sánh đờng đi trong mạng EIGRP.
DUAL lu tất cả các đờng đi mà láng giềng thông báo qua. Dựa trên thông số
định tuyến tổng hợp của mỗi đờng, DUAL so sánh và chọn ra đờng có chi phí
thấp nhất đến đích. DUAL đảm bảo mỗi một đờng này là không có lặp vòng.
293
Đờng chính đợc chọn ra gọi là đờng successor. Đờng successor đợc lu trên
băng định tuyến và đồng thời cũng đợc lu trong bảng cấu trúc mạng.
EIGRP giữ các thông tin quan trọng về đờng đi và cấu trúc mạng trong bảng láng
giềng và bảng cấu trúc mạng. Hai bảng này cung cấp cho DUAL các thông tin về
đờng đi khi cần thiết. Nếu có một đờng liên kết bị đứt, DUAL sẽ tìm đờng thay
thế hoặc một feasible successor trong bảng cấu trúc mang.
Một trong những u điểm nổi bật của EIGRP là nó đợc thiết kế thành từng phần
riêng biệt theo giao thức. Nhờ cấu trúc này, nó có khả năng mở rộng và tơng thích
tốt nhất. Các giao thức đợc định tuyến nh IP, IPX và Apple Talk đợc đa vào
EIGRP thông qua các PDM. EIGRP có thể dễ dàng tơng thích với giao thức dịnh
tuyến mới hoặc các phiên bản mới của chúng nh IPv6 chẳng hạn bằng cách thêm
PDM vào.
Mỗi PDM chịu trách nhiệm thực hiện mọi chức năng liên quan đến một giao thức
đợc định tuyến. Ví dụ phần IP- EIGRP chịu trách nhiệm các việc sau:
ã Gửi và nhận các gói EIGRP chứa dữ liệu IP.
ã Thông báo cho DUAL khi nhận đợc thông tin định tuyến IP mới.
ã Duy trì kết quả chọn đờng của DUAL trong bảng định tuyến IP.
ã Phân phối thông tin định tuyến mà nó học đợc từ các giao thức định tuyến
IP khác.
3.1.5. Cấu trúc dữ liệu của EIGRP
Giống nh OSPF, EIGRP dựa vào nhiều loại gói dữ liệu khác nhau để duy trì các
loại bảng của nó và thiết lập mối quan hệ phức tạp với router láng giềng.
Có 5 loại gói EIGRP:
ã Hello.
ã Báo nhận.
ã Cập nhật.
ã Yêu cầu.
294
ã Đáp ứng.
EIGRP dựa vào các gói hello để phát hiện, kiểm tra và tái phát hiện các router láng
giềng. Tái phát hiện có nghĩa là router EIGRP không nhận đợc hello từ một router
láng giềng trong suốt khoảng thời gian lu giữ nhng sau đó router láng giềng này
lại tái lập lại thông tin liên lạc.
Chu kỳ gửi hello của EIGRP router có thể cấu hình đợc. Khoảng thời gian hello
mặc định phụ thuộc vào băng thông trên từng cỉng cđa router. Trong m¹ng IP,
EIGRP router gưi hello theo địa multicast 224.0.0.10.
EIGRP router lu thông tin về các láng giềng trong bảng láng giềng. Bảng láng
giềng này có lu số thứ tự (Seq No) và thời gian lu giữ của gói EIGRP cuối cùng
nhận đợc từ mỗi router láng giềng. Theo định kỳ và trong giới hạn của khoảng
thời gian lu giữ, router phải nhận đợc gói EIGRP thì những đờng tơng ứng mới
có trạng thái Passive. Trạng thái Passive có nghĩa là trạng thái hoạt động ổn định.
Nếu router không nghe ngóng đợc gì về router láng giềng trong suốt khoảng thời
gian lu giữ thì EIGRP sẽ xem nh láng giềng đó đà bị sự cố và DUAL phải tính
toán lại bảng định tuyến. Mặc định, khoảng thời gian lu giữ gấp 3 lần chu kỳ
hello. Ngời quản trị mạng có thể cấu hình giá trị cho 2 khoảng thời gian này phù
hợp hơn với hệ thống của mình.
Hình 3.1.5
OSPF bắt buộc các router láng giềng với nhau phải có cùng khoảng thời gian hello
và khoảng thời gian bất động thì mới có thể thông tin liên lạc với nhau đợc.
EIGRP thì không yêu cầu nh vậy. Router sẽ học các khoảng thời gian của router
láng giềng thông qua việc trao đổi gói hello. Chúng sẽ dùng thông tin trong ®ã ®Ĩ
295
thiết lập mối quan hệ ổn định mà không cần các khoảng thời gian này phải giống
nhau giữa chúng.
Gói hello thờng đợc gửi theo chế độ không bảo đảm tin cậy. Điều này có nghĩa
là không có báo nhận cho các gói hello.
EIGRP router sử dụng gói báo nhận để xác nhận là đà nhận đợc gói EIGRP trong
quá trình trao ®ỉi tin cËy. Giao thøc vËn chun tin cËy (RTP Reliable Transport
Protocol) cung cấp dịch vụ liên lạc tin cậy giữa hai host EIGRP. Gói báo nhận
chính là gói hello mà không có dữ liệu. Không giống nh hello đợc gửi multicast,
các gói báo nhận chỉ gửi trực tiếp cho một máy nhận. Báo nhận có thể đợc kết hợp
vào loại gói EIGRP khác nh gói trả lời chẳng hạn.
Gói cập nhật đợc sử dụng khi router phát hiƯn mét l¸ng giỊng míi. Router EIGRP
sÏ gưi gãi cËp nhật cho router láng giềng mới này để nó có thể xây dựng bảng cấu
trúc mạng. Có thể sẽ cần nhiỊu gãi cËp nhËt míi cã thĨ trun t¶i hÕt các thông tin
cấu trúc mạng cho router láng giềng mới này.
Gói cập nhật còn đợc sử dụng khi router phát hiện sự thay đổi trong cấu trúc
mạng. Trong trờng hợp nµy, EIGRP router sÏ gưi multicast gãi cËp nhËt cho mọi
router láng giềng của nó để thông báo về sự thay đổi. Mọi gói cập nhật đều đợc
gửi bảo đảm.
EIGRP router sử dụng gói yêu cầu khi nó cần một thông tin đặc biệt nào đó từ một
hay nhiều láng giềng của nó. Gói đáp ứng đợc sử dụng để trả lời cho các gói yêu
cầu.
Nếu một EIGRP router mất successor và nó không tìm đợc feasible successor để
thay thế thì DUAL sẽ đặt con đờng đến mạng đích đó vào trạng thái Active. Sau
đó router gửi multicast gói yêu cầu đến tất cả các láng giềng để cố gắng tìm
successor mới cho mạng đích này. Router láng giềng phải trả lời bằng gói đáp ứng
để cung cấp thông tin hoặc cho biết là không có thông tin nào khác có thể khả thi.
Gói yêu cầu có thể đợc gửi multicast hoặc chỉ gửi cho một máy, còn gói đáp ứng
thì chỉ gửi cho máy nào gửi yêu cầu mà thôi. Cả hai loại gói này đều đợc gửi bảo
đảm.
3.1.6. ThuËt to¸n EIGRP
296
Thuật toán DUAL phức tạp giúp cho EIGRP hội tụ nhanh. Để hiểu rõ hơn về quá
trình hội tụ với DUAL, ta xét ví dụ ở hình 3.1.6a. Mỗi router xây dựng một bảng
cấu trúc mạng chứa các thông tin về đờng đi đến mạng A.
Mỗi bảng cấu trúc mạng trong ví dụ ở các hình 3.1.6.a-f có các thông tin sau:
ã Giao thức định tuyến là giao thức EIGRP.
ã Chi phí thấp nhất của đờng đến một mạng đích gọi là Feasible Distance
(FD).
ã Chi phí của một đờng đến một mạng đích do router láng giềng thông báo
qua gọi là Reported Distance (RD).
Nguyên tắc chọn đờng Feasible successor:
1. Đờng feasible successor là đờng dự phòng, thay thế cho đờng successor
khi đờng này bị sự cố.
2. Reported Distance (RD) của một đờng đến một đích nào đó là chi phí
đợc thông báo từ một router láng giềng. Chi phí này phải nhỏ hơn Feasible
Distance (FD) của đờng successor hiện tại.
3. Nếu thoả mÃn điều kiện trên thì có nghĩa là không có vòng lặp, đờng đó sẽ
đợc chọn làm feasible successor
4. Đờng feasible succesor có thể thay thế cho đờng successor khi cần thiết.
5. Nếu RD của một đờng lớn hơn hoặc bằng FD của successor hiện tại thì
đờng đó không đợc chọn làm feasible successor.
6. Router phải tính toán cấu trúc mạng bằng cách thu nhâp thông tin từ tất cả
các láng giềng.
7. Router gửi gói yêu cầu đến tất cả các láng giềng để tìm thông tin về đờng
đi và chi phí của đờng đó đến mạng đích mà router đang cần .
8. Tất cả các láng giềng phải gửi gói đáp ứng để trả lời cho gói yêu cầu.
9. Router ghi nhận giữ liệu mới nhận đợc vào bảng cấu trúc mạng của mình.
10. Bây giờ DUAL đà có thể xác định đờng successor mới và feasible
297
successor mới nếu có dựa vào thông tin mới.
Hình 3.1.6.a
Cột Topology trong hình cho biết đờng nào là đờng chính hay còn gọi là
successor, đờng nào là đờng dự phòng hay còn gọi là feasible successor (FS).
Tuy nhiên, bạn cần lu ý là không nhất thiết lúc nào cũng phải tìm đợc feasible
successor.
Mạng EIGRP sẽ hoạt động theo các bớc mô tả bên dới để tiến hành hội tụ giữa
các router. Hiện tại các router có các thông tin về đờng đến mạng A nh sau:
ã Router C có một đờng successor là đờng qua Router B.
ã Router C có một đờng feasible successor là đờng qua Router D.
ã Router D có một đờng successor là đờng qua Router B.
ã Router D không có đờng feasible successor.
ã Router E có một đờng successor là đờng qua Router D.
ã Router E không có đờng feasible successor.
298
Sau đây sẽ mô tả mỗi router thực hiện nguyên tắc chọn feasible successor nh thế
nào khi đờng liên kết giữa Router D và Router B bị đứt:
Hình 3.1.6b
Trong Router D (hình 3.1.6b):
ã Đờng đi qua Router B bị xoá khỏi bảng cấu trúc mạng.
ã Đờng này là đờng successor. Router không xác định đợc feasible
successor trớc đó.
ã Router D phải tính toán lại đờng mới.
Trong Router C:
ã Đờng đến Mạng A qua Router D bị đứt.
ã Đờng này bị xoá khỏi bảng.
ã Đờng này là successor của Router C.
299
Hình 3.1.6.c
Trong router D (hình 3.1.6.c):
ã Router D không có feasible successor. Do đó, nó không thể chuyển qua
đờng dự phòng đợc.
ã Router D phải tính toán lại cấu trúc mạng. Con đờng đến Mạng A đợc đặt
voà trạng thái Active.
ã Router D gửi gói yêu cầu cho tất cả các láng giềng kết nối với nó là Router
C và Router E để yêu cầu gửi thông tin về mạng.
ã Trớc đó, Router C có đờng qua Router D.
ã Trớc ®ã, Router D kh«ng cã ®−êng qua Router E.
Trong Router E:
ã Đờng đến Mạng A thông qua Router D bị đứt.
ã Đờng này là đờng successor của Router E.
ã Router E kh«ng cã feasible successor.
300
ã Lu ý rằng RD của đờng thông qua Router C là 3, bằng với chi phí của
đờng successor qua Router D.
Hình 3.1.6.d
Trong Router C (hình 3.1.6.d):
ã Router E gửi gói yêu cầu cho Router C.
ã Router C xoá đờng qua Router E khỏi bảng.
ã Router C trả lời cho Router D với thông tin về đờng mới đến Mạng A.
Trong Router D:
ã Trạng thái của đờng đến Mạng A vẫn là Active vì công việc tính toán cha
hoàn tất.
ã Router C trả lời cho Router D để xác nhận là đờng đến Mạng A đang hoạt
động với chi phí là 5.
ã Router D vẫn đang chờ đáp ứng từ Router E.