EIGRP là giao thức định tuyến dạng lai giữa distance vector và link state. EIGRP là một phát triển riêng của Cisco nhằm khắc phục các nhược điểm của RIP/IGRP và có những ưu điểm như dễ cấu hình, độ hội tụ nhanh, tiết kiệm tài nguyên mạng khi trao đổi thông tin, sử dụng địa chỉ multicast để liên lạc, khả năng sử dụng hiệu quả băng thông, hỗ trợ VLSM và vấn đề mạng không liên tục (discontiguous network).
22 trang |
Chia sẻ: vietpd | Lượt xem: 1701 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài nghiên cứu giao thức định tuyến ospf và ứng dụng trong mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
EIGRP là giao thức định tuyến dạng lai giữa distance vector và link state. EIGRP là một phát triển riêng của Cisco nhằm khắc phục các nhược điểm của RIP/IGRP và có những ưu điểm như dễ cấu hình, độ hội tụ nhanh, tiết kiệm tài nguyên mạng khi trao đổi thông tin, sử dụng địa chỉ multicast để liên lạc, khả năng sử dụng hiệu quả băng thông, hỗ trợ VLSM và vấn đề mạng không liên tục (discontiguous network).Các giao thức định tuyến nhóm classless được thiết kế để khắc phục các hạn chế của định tuyến classful, trong đó bao gồm các đặc điểm sau:- Không gian địa chỉ được sử dụng hiệu quả- Hỗ trợ VLSM. Các cổng của router trong cùng một network có thể có các giá trị subnet mask khác nhau- Hỗ trợ cho việc sử dụng CIDR- Các route có thể được summary.Để sử dụng các ưu điểm của quá trình định tuyến classless, Cisco tạo ra lệnh ip classless. Lệnh này hiện được cấu hình mặc định trong các phiên bản IOS hiện hành.Bảng 3-1: CÁC THUẬT NGỮ EIGRPThuât ngỮĐỊnh nghĩaNeighborMột router đang chạy EIGRP và kết nối trực tiếpNeighbor tableMột danh sách của các router, bao gồm địa chỉ IP, các interface đi ra ngoài, hold-time, SRTT và thời gian uptime. Bảng này cũng chứa các thông tin chỉ ra router láng giềng đã thêm vào bảng được bao lâu. Bảng này được xây dựng từ các thông tin nhận được từ các gói hello.Route tableBảng định tuyến. Bảng này chứa danh sách các mạng hiện có và đường đi tốt nhất về các mạng này. Một route EIGRP sẽ được đưa vào bảng định tuyến khi route loại feasible successor được chỉ ra.Topology tableMột bảng chứa tất cả các đường đi được quảng bá bởi các router láng giềng. Đây là danh sách tất cả các route dự phòng, route tốt nhất, giá trị AD và các interface. Giải thuật DUAL sẽ tính toán trên bảng topology này để xác định successor và feasible successor để xây dựng một bảng định tuyến.HelloMột thông điệp được dùng để duy trì bảng các router láng giềng. Các gói hello này được gửi định kỳ và được gửi theo kiểu không tin cậy.UpdateMột gói EIGRP chứa các thông tin thay đổi về mạng. Các gói này được gửi theo cơ chế tin cậy. Nó được gửi chỉ khi có một thay đổi ảnh hưởng đến router:- Khi một router láng giềng xuất hiện- Khi một router láng giềng đi từ trạng thái active sang trạng thái passive- Khi có một sự thay đổi trong tính toán metric cho một địa chỉ mạng đích.QueryĐược gửi từ router khi router mất một đường đi về một mạng nào đó. Nếu không có đường đi dự phòng (feasible successor), router sẽ gửi ra các gói tin truy vấn (query) để hỏi về đường đi dự phòng. Khi này router sẽ chuyển sang trạng thái active. Các gói tin truy vấn của EIGRP được gửi ra theo kiểu tin cậy.ReplyLà một trả lời cho gói tin query. Nếu router không có thông tin nào trong gói reply, router sẽ gửi gói query đến tất cả các router láng giềng. Một unicast sẽ được gửi lại.ACKBản chất là một gói tin Hello nhưng không có dữ liệu bên trongHold timeGiá trị được thiết lập trong gói hello. Thời gian hold time này sẽ xác định router sẽ đợi một khoảng thời gian bao lâu trước khi công bố là mạng bị down. Thông tin này được để trong bảng neighborSmooth Round-Trip Time (SRTT)Khoảng thời gian router phải đợi sau khi gửi một gói tin để nhận được ACK. Thông tin này được giữ trong bảng neighbor và được dùng để tính khoảng thời gian RTO.Retransmission Timeout (RTO)RTO sẽ xác định khoảng thời gian mà router phải chờ trước khi truyền một gói tin.Reliable Transport Protocol (RTP)Đây là cơ chế được dùng để xác định các yêu cầu mà một gói được phân phối theo thứ tự.Diffusing Update Algorithm (DUAL)Một giải thuật được thực hiện trên bảng topology để giúp mạng hội tụ. Giải thuật này dựa trên việc router phát hiện những thay đổi trong một khoảng thời gian xác định. Vì giải thuật là được tính toán đồng thời, nó sẽ đảm bảo mạng không bị loop.Advertise DistanceChi phí của đường đi đến mạng ở xa từ router láng giềngFeasible distance (FD)Đường đi tốt nhất đến một mạngFeasible condition (FCTrạng thái này xuất hiện khi một láng giềng báo cáo một giá trị AD thấp hơn giá trị FDFeasible successor (FS)Khi router láng giềng báo về giá trị AD thấp hơn giá trị FD của router. FS là router kế tiếp trong trạng thái FCSuccessorRouter kế tiếp truyền giá trị FC. Successor được chọn lựa từ các giá trị FS vì nó có giá trị thấp nhất đến mạng ở xa.Stuck in Active (SIA)Trạng thái đạt được khi router gửi ra các gói tin và chờ ACK. Router vẫn ở trạng thái active cho đến khi nào tất cả các ACK được nhận về. Nếu các ACK không trở về sau một khoảng thời gian nào đó, router sẽ duy trì trạng thái SIA cho route đó.Query scopingThiết kế mạng để giới hạn phạm vi truy cập của các gói query. Phạm vi này sẽ chỉ ra gói tin query có thể đi đến đâu. Điều này là cần thiết để ngăn ngừa SIA.ActiveTrạng thái của route khi mà có một thay đổi về mạng nhưng sau khi kiểm tra bảng topo, không có FS nào được tìm thấy. Route sẽ được gán giá trị active và router sẽ truy vấn các router láng giềng cho những route dự phòngPassiveMột đường đi đang trong trạng thái passive. Nếu đường đi bị mất, router sẽ kiểm tra bảng topology để tìm ra FS. Nếu có một FS, route này sẽ được đặt trong bảng định tuyến. Nếu không, router sẽ truy vấn các router láng giềng và đưa route vào trạng thái active.MetricEIGRP và IGRP có cùng cách tính metric, tuy nhiên metric của EIGRP bằng metric của IGRP nhân với 256 do IGRP có trường metric là 24 bit trong khi EIGRP có trường metric là 32 bit:EIGRP Metric = IGRP Metric * 256Thiết lập quan hệ láng giềng trong EIGRPKhông giống IGRP, EIGRP cần phải thiết lập quan hệ láng giềng trước khi gửi cập nhật định tuyến bằng cách trao đổi gói tin hello qua địa chỉ multicast 224.0.0.10 sau khoảng thời gian 5 giây (hay 60 giây đối với kết nối có băng thông thấp hơn T1). Thời gian holdtime là thời gian tối đa mà router phải chờ trước khi reset lại quan hệ láng giềng nếu không nhận được gói tin hello, thời gian này gấp 3 lần thời gian hello time (15 giây hay 180 giây đối với kết nối có băng thông thấp hơn T1). Khi đã thiết lập quan hệ láng giềng, bảng quan hệ láng giềng table sẽ như sau:Router_1#show ip eigrp neighborIP-EIGRP neighbors for process 1H Address Interface Hold Uptime SRTT RTO Q Seq(sec) (ms) Cnt Num1 5.5.5.4 Et0 11 00:00:22 1 4500 0 30 192.168.9.5 Et1 10 00:00:23 372 2232 0 2H— Danh sách các quan hệ láng giềng mà router đã thiết lập đượcAddress— Địa chỉ IP của router EIGRP láng giềng.Interface— Cổng nhận thông tin của router EIGRP láng giềng.Hold— Thời gian holddown-timer, nếu mang giá trị 0 sẽ xoá bỏ quan hệ láng giềng.Uptime— Thời gian đã thiết lập quan hệ láng giềng.SRTT (Smooth Round Trip Time)— Thời gian trung bình để đảm bảo gửi và nhận gói tin EIGRP.RTO (Round Trip Timeout)— Thời gian router phải chờ để truyền lại gói tin nếu router không nhận được gói tin.Q Count (Queue Count)— Số lượng gói tin EIGRP chờ để gửi đến router EIGRP láng giềng.Sequence Number— Số tuần tự của gói tin EIGRP cuối cùng nhận được từ router EIGRP láng giềng.Tạo ra bảng topologySau khi các router đã biết các router láng giềng, nó có thể tạo ra một cơ sở dữ liệu của các feasible successor. Các router láng giềng và các đường đi tốt nhất được giữ trong bảng topology này. Điều cần chú ý là bảng topology chứa đường đi của tất cả các routes trong một hệ thống mạng chứ không chỉ là các router có đường đi tốt nhất và các routes dự phòng. Các tuyến đường khác được gọi là các khả năng. Bảng topology trong EIGRP sẽ quản lý việc chọn lựa route để thêm vào bảng định tuyến của router. Bảng topology bao gồm các thông tin như sau:- Một route nào đó là ở trạng thái active hay passive- Cập nhật có gửi đến các router láng giềng hay không- Một gói tin truy vấn đã gửi về router láng giềng. Nếu có thông tin trong cột này của bảng, đã có ít nhất một route đang được đánh dấu như active- Nếu một gói tin đã được gửi đi, một cột khác trong bảng sẽ theo dõi là có bất cứ một trả lời nào từ router láng giềng.- Các mạng ở xa- Địa chỉ mạng và giá trị subnet của các mạng- Giá trị metric của các mạng ở xa, gọi là FD.- Giá trị metric của các mạng ở xa được quảng bá bởi router kết nối trực tiếp, giá trị này còn gọi là AD.- Giá trị next-hop- Cổng đi ra của các router được dùng để đến router next-hop- Tuyến đường tốt nhất được chỉ ra ở dạng hop-countBảng topology được xây dựng từ các gói tin update giữa các router láng giềng và được trả lời bởi các truy vấn từ router. Các gói tin trả lời được gửi ra nhằm đáp ứng với các gói tin truy vấn. Các gói tin truy vấn và gói trả lời được dùng giải thuật DUAL sẽ được gửi đi một cách tin cậy dùng module RTP của Cisco. Nếu một router không nghe một ACK trong một khoảng thời gian cho trước, nó sẽ truyền lại gói như một dạng unicast.Nếu không nhận được một gói tin trả lời sau 16 lần cố gắng, router sẽ đánh dấu router láng giềng là đã chết. Mỗi lần một router gửi ra một gói tin, RTP sẽ tăng chỉ số thứ tụ lên 1. Router phải nghe trả lời từ tất cả các router trước khi nó có thể gửi các gói tin kế tiếp. Thời gian xây dựng bảng topo càng ngắn nếu router không phải truyền các gói tin unicast.Duy trì bảng topologyCó ba nguyên nhân làm cho một bảng topology phải được tính toán lại- Router nhận được một thay đổi khi có một mạng mới. Mạng mới này có thể là một mạng ở xa hoặc một cổng kết nối trực tiếp của router được up lên.- Router thay đổi giá trị successor trong bảng topology và bảng định tuyến trong các tình huống như bảng topology nhận được một trả lời hoặc một truy vấn từ các router láng giềng. Hoặc trong một tình huống khác là có một cấu hình đã làm thay đổi cost của kết nối.- Router nhận được một thay đổi từ router láng giềng khi một mạng không còn tồn tại. Các thay đổi này có thể là bảng topology nhận được một truy vấn, một gói tin trả lời hoặc một cập nhật chỉ ra rằng mạng ở xa đang bị down. Một tình huống khác là bảng router láng giềng không nhận được gói hello trong khoảng thời gian hold-time. Hoặc một mạng là kết nối trực tiếp nhưng bị down.Hình 3-1: Duy trì bảng topologyThêm một network vào bảng topology của EIGRPGiả sử một router nằm ở lớp access kết nối vào một hệ thống mạng mới. Người quản trị mạng đã kết nối và cấu hình một cổng Ethernet khác vào phòng dịch vụ mà phòng dịch vụ này di dời sang một toà nhà khác.Hình 3-2: cập nhật bảng với một router mớiMột mạng mới sẽ được truyền đến tất cả các router như sau:- Ngay khi router nhận biết được có một mạng mới, router A bắt đầu gửi gói tin hello ra các cổng giao tiếp mới. Sẽ không có router nào trả lời vì đây là một router cho phép kết nối đến các thiết bị đầu cuối khác. Sẽ không có entry nào trong bảng neighbor vì không có router láng giềng nào trả lời gói tin hello. Sẽ có một entry xuất hiện trong bảng topology vì đây là một mạng mới- EIGRP sau khi nhận ra có một thay đổi, bắt buộc phải gửi một cập nhật đến tất cả các router láng giềng của nó về mạng mới xuất hiện. Giá trị bit ban đầu chỉ ra rằng cập nhật sẽ bao gồm các entry đầu tiên trong quá trình thiết lập một láng giềng mới. Các cập nhật này được theo dõi trong bảng topology và bảng neighnor bởi vì các cập nhật này là hướng kết nối. Các gói tin ACK từ các router láng giềng phải nhận được trong một khoảng thời gian cho phép.- Router A, sau khi đã thêm mạng mới vào bảng topology, sẽ cập nhật luôn mạng mới này vào bảng định tuyến. Mạng mới sẽ bị đánh dấu như là passive bởi vì nó đang hoạt động. Khi công việc của routerA hoàn tất, RouterD sẽ bắt đầu. Do routerD hoạt động như một thiết bị ở lớp Distribution, routerA là router kết nối router A,B và C vào phần còn lại của mạng. Các router láng giềng của nó sẽ là các router trên mỗi tầng và các router khác trong toà nhà.- Sau khi nghe cập nhật từ routerA, router D bắt đầu cập nhật chỉ số thứ tự trong bảng neighbor và thêm mạng mới vào bảng topo. Router sẽ tính giá trị FD và các được đi tốt nhất (successor) sẽ được đặt vào bảng định tuyến. Sau đó router sẽ gửi một cập nhật đến tất cả các router láng giềng của nó, ngoại trừ các router A,B và C. Luật split horizon vẫn được tuân thủ. Router B và C được cập nhật trong cùng một cách và cùng một thờI điểm như routerD.Xóa một đường đi ra khỏi bảng topologyQuá trình xóa một đường đi ra khỏi một router EIGRP thì phức tạp hơn. Trong qui trình này, chú ý đến routerD:- Nếu một mạng kết nối đến routerA là bị down, routerA sẽ cập nhật bảng topo, bảng định tuyến và gửi một cập nhật đến các router láng giềng.- Khi routerD nhận được cập nhận, nó sẽ cập nhật bảng neighbor và bảng topology của nó- RouterD sẽ tìm một đường đi dự phòng. Vì chỉ có một đường đi duy nhất đến mạng ở xa, sẽ không có đường đi dự phòng nào được tìm thấy.- Router sẽ gửi một truy vấn đến các router láng giềng của nó. Đường đi lúc này được đánh dấu là active.- Các gói tin truy vấn sẽ được theo dõi. Khi tất cả các trả lời là nhận được, Router sẽ cập nhật bảng router láng giềng và các bảng topology.- Giải thuật DUAL sẽ bắt đầu tính toán ngay khi các thay đổi về mạng được cập nhật. Giải thuật này sẽ tính ra đường đi tốt nhất để đặt vào bảng định tuyến- Vì không có đừơng đi dự phòng nào đang tồn tại, các router láng giềng sẽ trả lời rằng nó không có đường đi.- Trước khi các router láng giềng trả lời, các router này sẽ tiếp tục truy vấn các router láng giềng của nó. Bằng cách này, quá trình tìm kiếm một đường đi dự phòng sẽ mở rộng ra toàn mạng- Khi không có router nào có khả năng cung cấp đường đi đến một mạng nào đó, tất cả các router sẽ xóa route đó ra khỏi bảng topology của nó.Tìm một đường đi dự phòng về một mạng ở xaKhi đường đi về một mạng nào đó bị mất, EIGRP sẽ tìm các tuyến đường dự phòng. Quá trình này là một trong những ưu điểm chính của EIGRP. Phương thức mà EIGRP dùng để tìm đường đi dự phòng thì rất nhanh và rất tin cậy.Hình 3-3: Tìm các đường đi dự phòngCác sự kiện sau đây sẽ xảy ra khi router G bị down:- RouterD gửi traffic về routerG- RouterD sẽ tìm trong bảng topology. Bảng này có tất cả các mạng và đường đi về mạng này để xác định xem có một đường đi dự phòng nào không. Nghĩa là routerD đang tìm kiếm một FS- Một FS sẽ được xác định. Bảng topo sẽ có một AD và một FD cho tất cả các route hoặc các successor. Thông tin này bao gồm giá trị metric qua đó route sẽ được chọn lựa- RouterD sẽ thêm các đường đi dự phòng về routerX thông qua routerH. Các đường đi dự phòng này sẽ tìm thấy trong bảng topology mà không bị chuyển sang chế độ active bởi vì giá trị AD vẫn nhỏ hơn giá trị FD. Giá trị AD là 5. Giá trị FD là 15. Router cần phải gửi các cập nhật đến các router láng giềng của bó bởi vì giá trị AD đã thay đổi.- Nếu router không có một giá trị FS, nó sẽ đặt route đó vào trạng thái active khi nó đang truy vấn các router khác về các đường đi dự phòng- Sau khi tìm kiếm trong bảng topology, nó có một đường đi FS là tìm thấy, router sẽ trả lời lại bằng đường đi dự phòng. Đường đi dự phòng sẽ được thêm vào bảng topology.- Bảng định tuyến sẽ được cập nhật- Route đó sẽ được đặt vào trạng thái passive khi router chuyển về trạng thái forwarding bình thường cho đến khi có một thay đổi kế tiếp trong mạng- Nếu một router láng giềng đã được truy vấn và không có đường đi dự phòng hoặc FS, nó sẽ đặt route đó vào trạng thái active và truy vấn những router láng giềng của nó- Nếu không có bất cứ một trả lời nào tìm thấy, các gói tin sẽ tiếp tục truyền cho đến khi nào nó đến ranh giới của mạng hoặc của AS.Khi router gửi ra một gói tin truy vấn, nó sẽ lưu trong bảng topology. Cơ chế này đảm bảo các gói tin trả lời nhận được trong khoảng thời gian cho phép. Nếu một router không nhận được một gói trả lời, router láng giềng sẽ bị xóa ra khỏi bảng láng giềng. Tất cả các network hiện được chứa trong bảng topology cho láng giềng đó sẽ được gửi truy vấn. Thỉng thoảng, do các kết nối là chậm do băng thông thấp, các vấn đề mới có thể xảy ra. Đặc biệt là khi một router không nhận được các trả lời từ tất cả các truy vấn đang được gửi ra. Trạng thái này gọi là SIA. Các router láng giềng không có trả lời sẽ bị xóa ra khỏi bảng neighbor và giải thuật DUAL sẽ giả sử rằng có một gói reply nhận được với giá trị là vô hạn.The Diffusing Update AlgorithmEIGRP sử dụng giải thuật DUAL để quảng cáo các route đến các láng giềng và chọn đường đi đến đích. Một số khái niệm dùng trong giải thuật này như sau:Feasible distance (FD) – FD là metric nhỏ nhất để đi đến đích theo một tuyến xác định.Hình 3-4: Giải thuật DUALReported distance (RD)— RD là metric đi đến đích được quảng cáo bởi upstream router EIGRP láng giềng.Hình 3-5: Tính toán giải thuật DUALFeasibility condition (FC)— FC là điều kiện yêu cầu để RD 121 và do đó không thoả mãn điều kiện FC.Passive route— Passive route là router có một successor đúng đi đến đích.Active route— Active route là router mất quyền làm successor và không có feasible successor thay thế, khi đó router phải tìm các route khác để đi đến đích.EIGRP Reliable Transport ProtocolCó 5 loại gói tin EIGRP chia làm 2 loại: reliable EIGRP packet (Update, Query, Reply) và unreliable EIGRP packet ( Hello, Acknowledgment).Hello— Gói tin Hello được dùng để thiết lập quan hệ láng giềng trên đường truyền.Acknowledgment— Gói tin Acknowledgment được dùng báo hiệu nhằm đảm bảo phân phối tin cậy các gói tin EIGRP. Tất cả các gói tin EIGRP được gửi đến địa chỉ multicast nhóm EIGRP là 224.0.0.10. Vì có nhiều thiết bị nhận nên cần một giao thức để đảm bảo phân phối tin cậy các gói tin EIGRP là giao thức RTP (Reliable Transport Protocol). Khi gói tin reliable EIGRP packet được gửi đến router EIGRP láng giềng, router gửi mong muốn được hồi đáp để đảm bảo gói tin này đã gửi đến router EIGRP láng giềng.Update— Gói tin Update chứa các cập nhật định tuyến EIGRP gửi đến EIGRP router EIGRP láng giềng.Query— Các gói tin Query được gửi đến router EIGRP láng giềng khi route không sẵn sàng và router cần biết trạng thái của route để đạt hội tụ nhanh.Reply— Các gói tin Reply chứa trạng thái các route được gửi để đáp lại gói tin Query.EIGRP hỗ trợ discontigous network và VLSMHình 3-7Router B kết nối với mạng 192.168.8.128/25 muốn quảng cáo đến Router A qua mạng 10.1.1.0/24. Mặc định , EIGRP là giao thức định tuyến dạng classful; Router B sẽ tiến hành tóm tắt (autosummarize) mạng này về địa chỉ lớp mạng mặc định. Do đó , Router B sẽ quảng cáo mạng 192.168.8.0/24 đến Router A. Do đó, để đảm bảo EIGRP hỗ trợ mạng không liên tục, người quản trị mạng cần phải cấu hình:RouterB(config-router)# no auto-summaryKhi đó router B sẽ quảng cáo mạng 192.168.8.128/25 đến Router A và giải quyết được vấn đề mạng không liên tục.EIGRP SummarizationCó hai loại summarization trong EIGRP là autosummarization và manual summarization. Autosummarization được dùng mặc định trên EIGRP, khi đó EIGRP mang đặc tính tương tự như RIP và IGRP. Nghĩa là khi gửi cập nhật định tuyến thì router sẽ tự động tóm tắt route về major network boundary.Hình 3-8: Quá trình summarization của EIGRPỞ hình trên, router R1 gửi cập nhật về mạng 132.168.1.0 đến R2 thông qua major network là 192.168.2.0. R1 sẽ tự động tóm tắt route này (autosummarizes) về classful boundary là mạng 132.168.0.0 và gửi đến R2. Và do đó, sự cố sẽ xuất hiện trong trường hợp mạng không liên tục discontiguous network. Manual summarization là ta cấu hình summarization trên các cổng giao tiếp của router bằng lệnh:Router (config-if)# ip summary-address eigrp address maskCó thể thực hiện summarization trên tất cả các loại cổng giao tiếp trên router (còn OSPF thì chỉ tóm tắt tại các router biên ABR và ASBR), khi đó router ngay lập tức sẽ tạo ra route về null 0 với AD là 5 nhằm ngăn chặn routing loop. Khi route cuối cùng được tóm tắt xong, summary route sẽ bị xoá.Hình 3-9: cấu hình summary routeinterface s0ip address 192.168.11.1 255.255.255.252ip summary-address eigrp 1 192.168.8.0 255.255.252.0Ở ví dụ trên, router R1 tóm tắt địa chỉ 192.168.8.0/24, 192.168.9.0/24 và 192.168.10.0/24 thành 192.168.8.0/22. Việc thực hiện summarization trong EIGRP nhằm giảm kích thước bảng định tuyến và số lần cập nhật giúp dễ dàng nâng cấp khi mở rộng mạng EIGRP.EIGRP Query ProcessEIGRP không dựa vào thời gian flush timer như IGRP mà EIGRP sẽ tiến hành tìm các tuyến đường bị