Tải bản đầy đủ (.pdf) (6 trang)

Giáo Trình CIs+ part 39 pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (130.42 KB, 6 trang )


Enhanced Interior Gateway Routing Protocol(EIGRP)


Tác giả: Trần Văn Thành
Enhanced Interior Gateway Routing Protocol(EIGRP)

Lần đầu tiên được đưa vào sử dụng trong phiên bn ISO 9.21, Enhanced
Interior Gateway Routing protocol (EIGRP) là m
ột sự nâng cấp của IGRP.
Bên cạnh những tính chất vốn có IGRP là một distance-vector protocol,
EIGRP còn mang một số tính chất của link state protocol.

Tất cả các distance vector protocol nguyên thuỷ đều chạy thuật toán
Bellman- Ford để xây dựng nên routing table. Và nhược điểm chung của
chúng là gặp phải vấn đề chúng là gặp phải vấn đề chống loop và th
ời gian
hội tụ của các distance vector protocol là rất lớn, bởi vì mỗi router đều
chạy thuật toán Bellman- Ford sau khi đã thông tin định tuyến từ neighbor
rồi sau đó mới gửi thông tin định tuyến tới tất cả các neighbor.

Ưu điểm hơn so với distace vector protocol, link state protocol không phi
giải quyết vấn đề chống loop và thời gian hội tụ rất lớn bởi vì không gi
ống
như routing-by-rumor approach c
ủa distance vector các router link state có
thông tin trực tiếp từ tất cả các router chạy cùng routing protocol và mỗi
router linkstate chạy các thuật toán định tuyến để tính tuyến đường tối ưu
độc lập với sự tính toán đầu tiên.

Không quan tâm đến việc chạy các thuật toán định tuyến xảy ra trước hay


sau khi xây dựng topology database và chúng thức hiện các quá trình trên
một cách riêng lẻ. Nhưng với EIGRP thì lại hoàn toàn khác bằng cách sử
dụng diffusing computations sự tính toán các tuyến đường được thực hiện
trong sự kết hợp giữa nhiều router_chính điều đó đạt được sự hội tụ rất
nhanh trong khi vẫn loại bỏ được sự loop trên mạng.

1. Đặc trưng của EIGRP (Diffusing computations)
EIGRP gửi thông tin update tới tất cả các neighbor trực tiếp một cách:
nonperiodic, partial, and bounded.

Nonperiodic: có ngh
ĩa là thông tin update được gửi một cách không định
kỳ mà thông tin update chỉ được gửi mỗi khi mạng có sự thay đổi.

Partial: có nghĩa là thông tin update trao đổi với neighbor chỉ bao gồm
thông thay đổi chứ không gửi toàn bộ routing table.

Bounded: có nghĩa là thông tin update chỉ gửi cho router có cùng process
domain.

Chính những đặc trưng đó làm EIGRP tốn ít bandwidth hơn distance
vector protocol. Do đó EIGRP có thể chạy trên những đường truyền có
bandwidth thấp. Không những vậy mà trên những đư
ờng truyền bandwidth
thấp ta còn điều chỉnh được số phần trăm bandwidth dành cho định tuyến.

EIGRP còn hỗ trợ authentication bằng việc sử dụng các bản tin mã hoá
MD5.

EIGRP là classless routing protocol, có nghĩa là gửi subnet mask trong

thông tin định tuyến.

Đặc điểm cuối cùng là EIGRP không chỉ hỗ trợ IP mà còn hỗ trợ IPX và
AppletTalk.

2. Operation of EIGRP

Metric trong EIGRP sử dụng cùng dạng công thức tính metric của IGRP
nhưng lớn hơn 256 lần khiến cho việc tính metric được đảm bảo hơn.
EIGRP có 4 module chính:

Error!


+ Protocol-Dependent Modules
+ Reliable Transport Protocol (RTP)
+ Neighbor Discovery/ Recovery
+ Diffusing Update Algorithm (DUAL)

a/ Protocol-Dependent Modules

EIGRP thi hành module cho IP, IPX và AppleTalk bằng cách mỗi module
được giao một nhiêm vụ xác định riêng biệt. Ví dụ module IPX EIGRP
được giao trách nhiệm trao đổi thông tin định tuyến về mạng IPX với IPX
EIGRP router và đưa thông tin vào module DUAL.

EIGRP tự động redistribution với các giao thức khác trong các trường hợp
sau:

+ IPX EIGRP tự động redistribution với IPX RIP và NLSP.

+ AppleTalk EIGRP tự động redistribution với AppleTalk RTMP.
+ IP EIGRP tự động redistribution IGRP nếu IGRP process có cùng
autonomous system.

b/ Reliable Transport Protocol

Reliable Transport Protocol (RTP) qun lý việc phân phát packet EIGRP.
Reliable có nghĩa là sự phân phát được đảm bảo và packet được phân phát
một cách trình tự.

Sự phân phát trình tự (Ordered delivery) được đảm bảo bởi 2 số sequence
trong packet. Một gán cho router rửi và giá trị này tăng lên một giá trị mỗi
khi router gửi gửi một packet mới. Và một số sequence là của packet cuối
cùng nhận được từ router đích.

Tuy nhiên trong vài trường hợp RTP vẫn sử dụng unreliable delivery,
không có Ack và không có số sequence.
Các gói tin trong EIGRP bao gồm:

Hellos: được sử dụng khám phá neighbor duy trì neighbor, Hello packet s

dụng multicast để trao đổi và là unreliable delivery.

Acknowledgments ( ACKs): là Hello packet nhưng không có data, ACK
luôn luôn là unicast và là unreliable delivery.

Updates: chuyên trở thông tin định tuyến không giống như RIP và IGRP
những gói này chỉ được gửi khi cần thiết và chỉ bao gồm thông tin cần
thiết và chỉ gửi tới router yêu cầu. Khi update được gửi bởi một router xác
định thì nó là unicast. Còn khi yêu cầu update được gửi bởi nhiêu router

khi topo mạng thay đổi thì nó là multicast. Update packet luôn luôn là
reliable delivery.

Queries và Replies: được sử dụng bởi DUAL finite state machine để quản
lý diffusing computation. Query có thể là multicast hay unicast và Reply
luôn luôn là unicast. Cả hai packet này đều là reliable delivery.
Bất cứ packet nào là reliably multicast và không nhận được ACK từ
neighbor thì packet sẽ được gửi lại bằng unicast tới neighbor mà không
gửi lại ACK đó. Nếu không nhận được ACK sau 16 lần gửi lại bằng
unicast thì neighbor công khai dead.

Multicast flow timer: thời gian đợi một ACK trư
ớc khi chuyển từ multicast
sang unicast.
Retransmission timeout (RTO): thời gian giữa 2 unicast liên tiếp.

Smooth round-trip time (SRTT): là khoảng thời gian trung bình trôi qua
tính từ khi truyền packet tới neighbor đến khi nhận một ACK.

Cả hai thông số Multicast flow timer và Retransmission timeout (RTO)
đều dựa trên SRTT.

c/ Neighbor Discovery/Recovery

Bằng cách trao đổi bản tin Hello, EIGRP thiết lập và trao đổi quan hệ với
neighbor router. Trong hầu hết các mạng Hello packet là multicast với chu
kỳ 5 giầy trừ đi random timer để ngăn chặn synchronization. Chú ý trên
các interface: X.25, Frame Relayvà ATM với tốc độ access link là T1 ho
ặc
nhỏ hơn thì Hello packet là unicast với chu kỳ 60 giây.


Khi router nhận Hello packet từ neighbor, trong packet đó có chứa thông
số hold timer. Hold timer báo cho router biết thời gian chờ tối đa cho
Hello packet liền sau đó. Nếu hết thời gian hold timer mà router không
nhận được Hello packet từ neighbor, thì neighbor công khai là unreacha
ble
và DUAL thông báo là mất neighbor. Hold timer gấp 3 lần Hello timer.


d/ The Diffusing Update Algorithm

Trước khi tìm hiểu hoạt động của DUAL ta hãy làm quen với các khái
niệm sau:
Adjacency: khi khởi động router sử dụng Hello để khám phá động
neighbor. Sau khi đã thiết lập được quan hệ với neighbor, router sẽ nhận
được update từ neighbor. Thông tin update bao gồm tất cả tuyến đường m
à
neighbor biết được và metric của tất cả các tuyến đó. Đối với mỗi tuyến,
router sẽ tính được distance dựa trên những thông số mà neighbor đã
quảng cáo.
Feasible distance (FD): là metric nhỏ nhất để tới đích.
Feasibility condition(FC): là điều kiện mà advertised distance của
neighbor phải nhỏ hơn FD.
Feasible successor: nếu neighbor quảng bá advertised distance của nó theo
mản FC thì neighbor đó sẽ trở thành Feasible successor. Tất cả các
Feasible successor được lưu trong topology table.
Successor: từ topology table, nó sẽ tìm route nào có metric nhỏ nhất v
à lưu
nó vào routing table. Và neighbor qung bá route đó sẽ là Seccessor.
The DUAL Finite State Machine

Khi một router không thực hiện diffusing computations thì mỗi route sẽ ở
trạng thái passive state.
Khi router tính toán lại danh sách Feasible successor cho một route bất cứ
khi nào một input event xảy ra. Input event có thể là:
+ Sự thay đổi cost của một link nối trực tiếp.
+ Sự thay đổi trạng thái (up hay down) của link nối trực tiếp.
+ Khi nhận một update packet.
+ Khi nhận một query packet.
+ Khi nhận một reply packet.

N
ếu distance tới destination sẽ được tính toán lại với bước đầu tiên là:
local computation. Có thể xảy ra các trường hợp như sau:
N
ếu FS khác có distance nhỏ nhất sẽ trở thành successor.
N
ếu distance mới nhỏ hơn FD thì FD sẽ được update.
N
ếu distance mới khác với distance đang tồn tại, update sẽ gửi tới tất cả
các neighbor.

Trong khi đang thực hiện local computation thì những route còn lại vẫn ở
trạng thái passive state. Nếu một FS được tìm thấy update sẽ được gửi tới
tất cả các neighbor nhưng state không đổi.

N
ếu không tìm thấy FS trong topology table thì router thực hiện diffusing
computations và route sẽ chuyển trạng thái sang active state. Cho đến khi
diffusing computations chạy xong và route sẽ quay trở về trạng thái
passive state. Chú ý router không thể thực hiện được những việc sau:

Thay đổi successor của route.
Thay đổi distance mà nó quảng bá cho route đó.
Thay đổi FD của route.
Chú ý là khi route chuyển sang active state nó sẽ khởi tạo active timer nếu
hết thời gian này mà route vẫn không chuyển được về passtive state thì
route sẽ được công bố là Suck-in-active(SIA).

3. EIGRP Packet Formats

EIGRP packet chính là IP packet tưng ứng với trường protocol number là
88 và kích thước tối đa của EIGRP chính là kích thước cực đại của IP
packet_thường là 1500 octet.
Cấu trúc cụ thể của EIGRP packet như sau:

Error!



Version:
Opcode: xác định loại EIGRP packet, kết quả cụ thể như bảng sau:

Error!


Checksum: nó tính cho toàn bộ EIGRP packet trừ IP header.
Flags: hiện tại chỉ sử dụng 2 bit cuối cùng trong trường flag. Bit thứ 1 là
bit bên phải là 0x00000001 là bit Init, cho biết EIGRP packet gửi k
èm theo
gửi toàn bộ routing table khi thiết lập quan hệ với neighbor mới. Bit thứ 2
là 0x00000002 là bit Conditional Receive, được sử dụng trong thuật toán

độc quyền Reliable Multicasting.
Sequence: là trường 32 bit sử dụng bởi RTP.
ACK:

×