IGRP là giao thức định tuyến độc quyền của Cisco, là giao thức định tuyến động dạng Distance Vector. IGRP được mở rộng nhiều chức năng hơn so với RIP. Là giao thức định tuyến dạng Distance vector nên nó cũng bao gồm chức năng sau:
+ Gửi bản update định tuyến theo định kỳ là 90s.
+ Gửi đầy đủ thông tin cập nhật trong bảng định tuyến theo định kỳ
+ Thuật toán mà nó sử dụng là Bellman Fort IGRP nó có thể khắc phục được những yếu điểm của RIP như metric là hop-count, kích thước mạng tối đa là 15 hop.
Cụ thể metric của nó là sự kết hợp của 5 yếu tố sau:
+ Bandwidth – Băng thông
+ Delay – Trễ
+ Load –Tải
+ Reliability – Độ tin cậy
+ Maximum transfer Unit (MTU) - Đơn vị tối đa IGRP không sử dụng hop count trong metric của mình mà nó vẫn có thể theo dõi được hop count.
Một mạng mà sử dụng IGRP thì kích thước mạng tối đa có thể lên đến 255 hop. Cái ưu điểm dễ thấy ở đây của IGRP so với RIP ở đây là có hỗ trợ unequal-cost load sharing (là tính năng load balancing nghĩa là gói tin có thể đi nhiều đường tới địa chỉ đích nhưng cố định thay vì chỉ chọn đường đi tốt nhất cho gói tin) và thời gian update lâu hơn RIP gấp 3 lần. Tuy vậy nhưng IGRP là giao thức định tuyến nên cũng tồn tại yếu điểm là giao thức độc quyền của Cisco.
Nguyên lý hoạt động và những đặc trưng của IGRP
Cũng giống như RIP nó là Classfull Distance Protocol nghĩa là nó sẽ gửi toàn bộ thông tin của bảng định tuyến một cách có định kỳ ra tất cả các active interface, cũng broadcast request packet khi khởi động, cũng cẩn thận check packet xem sourch Address, chúng cũng không mang theo subnet mask trong thông tin định tuyến.
Nếu như RIP sử dụng port 520, chạy trên nền UDP để trao đổi định tuyến thì IGRP lại làm điều này trực tiếp trong gói tin IP, với protocol numbers là 9. IGRP sử dụng khái niệm Autonomous System (AS), một IGRP AS là một IGRP process domain_tập hợp các router có chung routing protocol là một IGRP process. Cho phép multiple IGRP AS tồn tại bên trong một AS có nghĩa là người quản trị có phân đoạn mạng tốt hơn. Người quản trị có thể tạo một IGRP AS cho mỗi routing domain, giúp cho việc điều khiển thông tin giữa các mạng tương tác tốt hơn.
IGRP thừa nhận 3 loại tuyến đường trong thông tin update:
+ Interior route: mạng nối trực tiếp với router.
+ System route: là đường tới địa chỉ mạng mà bị summary bởi network border router.
+ Exterior route: là đường học qua IGRP từ IGRP AS khác, nó cung cấp thông tin sử dụng bởi default route.
IGRP timer
Chu kỳ update của IGRP là 90 giây, IGRP có sử dụng nhân tố random 20% để ngăn chặn sự đồng bộ update timer. Khoảng thời gian giữa 2 lần update biến đổi từ 72 đến 90 giây. Khi một tuyến đường đầu tiên được học, invalid timer cho tuyến đó là 270 giây hay là gấp 3 lần update timer. Flush timer được thiết lập với giá trị là 630 giây_ gấp 7 lần update timer. Mỗi lần tuyến được được update thì những thông số thời gian này được khởi động lại.
Nếu như invalid timer trôi qua mà tuyến đường đó không nhận được một update thì tuyến đường đó sẽ bị đánh dấu là không đến được. Tuyến đường đó sẽ được giữ trong routing table và quảng bá với thông tin là tuyến đó không đến được cho đến khi flush timer trôi qua, tuyến đó sẽ được xoá khỏi routing table. Update timer của IGRP gấp 3 lần RIP, điều đó chứng tỏ IGRP tốn ít băng thông hơn cho việc gửi update. Nhưng thời gian hội tụ của IGRP sẽ lớn hơn RIP.
IGRP packet format
Gói tin IGRP
Như ta thấy bản tin IGRP update mang nhiều thông tin hơn so với RIP. Mỗi bản tin IGRP update có thể chứa tối đa 104 mục nhập (entry) với mỗi mục nhập có kích thước 14octet và header của IGRP update là 12 octet. Ta có maximum của IGRP packet là 12 + 104*14 = 1468 byte.
+ Ý nghĩa các trường
- Version: luôn luôn có giá trị bằng 1.
- Opcode: có giá trị là 1 cho IGRP Request packet và có giá trị là 2 cho IGRP Update packet. Chú ý Request packet không chứa mục nhập (entry).
- Edition: giá trị được tăng lên bởi nơi gửi bất cứ khi nào có một thay đổi về thông tin định tuyến. Giá trị này giúp cho router tránh update nhầm thông tin update cũ sau khi nhận thông tin update mới.
- Autonomous System Number: là ID number của IGRP process. Thông số này cho phép multiple IGRP process trao đổi thông tin định tuyến qua một liên kết dữ liệu chung.
- Number of Interior Routes: là số mục nhập trong update, là những subnet của những network nối trực tiếp.
- Number of System Routes: số tuyến đường tới những mạng mà không nối trực tiếp. Hay nói cách khác, là những tuyến đường đã được summary bởi router biên.
- Number of Exterior Routes: là số tuyến đường tới những mạng mà được học bởi default route.
- Checksum: được tính trên IGRP header và tất cả các mục nhập.
- Destination: là trường đầu tiên của mỗi mục nhập. Có một chú ý là trường destination chỉ có 3 octet trong khi địa chỉ IP có 4 octet. Điều này được thực hiện do những nguyên nhân sau. Nếu mục nhập là một interior route thì ít nhất octet đầu tiên của địa chỉ IP luôn luôn được xác định từ địa chỉ IP của interface mà nó nhận được update. Tương tự như vậy nếu mục nhập là system hay external route thì route sẽ bị summary và ít nhất là octet cuối cùng là toàn zero. Do đó trường destination chỉ cần biểu diễn 3 octet đầu là đủ:
- Delay: trường này bao gồm 24 bit.
- Bandwidth: trường này bao gồm 24 bit.
- MTU: là Maximum Transmission Unit nhỏ nhất của bất kỳ link nào trong tuyến đường đến đích. Mặc dù đây là một thông số nhưng không bao giờ được sử dụng để tính route.
Reliability, Load: có giá trị biến đổi từ 0x01 đến 0xFF.
Hop Count: có giá trị biến đổi từ 0x01 đến 0xFF cho biết số hop của tuyến đường
Hà Phùng Khắc Thăng – VnPro