Giao Thức Định Tuyến RIP, IGRP và OSPF

Các giao thức cổng nội (Interior Routing Protocols)

I. Classfull routing protocol

Phần A : Lý thuyết về RIP

RIP được phát triển trong nhiều năm, bắt đầu từ phiên bản 1(RIPv1) và hiện nay là phiên bản 2 (RIPv2).
RIPv1 là một giao thức định tuyến theo Distance Vector, sử dụng số hop làm metric để xác định hướng và khoảng cách cho bất kỳ một liên kết nào trong mạng. Quảng bá toàn bộ bảng định tuyến của nó cho các router láng giềng theo định kỳ là 30 giây.
RIPv1 là giao thức định tuyến theo lớp địa chỉ. Khi RIP router nhận thông tin về một mạng nào đó từ một cổng, trong thông tin định tuyến không có thông tin về subnet mask đi kèm. Do đó, router sẽ lấy subnet mask của cổng để áp dụng cho địa chỉ mạng mà nó nhận được từ cổng này. Nếu subnet mask này không phù hợp thì nó sẽ lấy subnet mask mặc định theo lớp địa chỉ để áp dụng cho địa chỉ mạng mà nó nhận được.
-Địa chỉ lớp A có subnet mask mặc định là : 255.0.0.0.
-Địa chỉ lớp B có subnet mask mặc định la : 255.255.0.0.
-Địa chỉ lớp C có subnet mask mặc định la : 255.255.255.0.
Khi có một gói tin chuyển đến, nếu có nhiều đường dẫn đến một đích, RIP sẽ chọn đường dẫn có số hop nhỏ nhất. Tuy nhiên số hop chỉ là một metric được dùng bởi RIP, nên giao thức này không phải lúc nào cũng chọn chính xác đường dẫn đến đích. RIP cũng không thể định tuyến cho một gói với metric quá 15 hop. RIPv1 yêu cầu tất cả các thiết bị trên mạng sử dụng cùng subnet mask, vì nó không chứa thông tin subnet mask trong các cập nhật định tuyến. Điều này được xem như Classful Routing.
Các đặc điểm chính của RIP:
-Là giao thức định tuyến theo Distance Vector.
-Thông tin định tuyến là số lượng hop.
-Nếu gói dữ liệu đến mạng đích có số lượng hop lớn hơn 15 thì gói dữ liệu đó sẽ bị hủy bỏ.
-Chu kỳ cập nhật mặc định là 30 giây.
RIPv1 là giao thức định tuyến được sử dụng phổ biến vì mọi router đều có hỗ trợ giao thức này. RIPv1 được phổ biến vì tính đơn giản và tính tương thích toàn cầu của nó, nó có thể chia tải ra tối đa là 6 đường có metric bằng nhau.
RIP tránh định tuyến loop đến vô hạn bằng cách giới hạn số lượng hop tối đa cho phép từ máy gửi đến máy nhận. Số lượng hop cho mỗi con đường là 15. Đối với các con đường mà router nhận được từ thông tin cập nhật của router láng giềng, router sẽ tăng chỉ số hop lên 1 vì router xem bản thân nó cũng là một hop trên đường đi. Nếu sau khi tăng chỉ số hop lên 1 mà chỉ số này lớn hơn 15 thì router sẽ xem như mạng đích tương ứng với con đường này không đến. Ngoài ra, RIP cũng có nhiều đặc tính tương tự như giao thức định tuyến khác. Ví dụ: RIP cũng có split horizon và thời gian holddown để tránh cập nhật thông tin định tuyến không chính xác.

Routing Information Protocol Version 2 (RIPv2)
* Đặc Điểm Của RIPv2:
RIPv2 cung cấp định tuyến cố định, truyền thông tin cố định và truyền thông tin subnet mask trong các cập nhật định tuyến. Điều này cũng được gọi là Classless Routing. Với các giao thức định tuyến Classless, các mạng con khác nhau trong cùng một mạng có thể có các subnet mask khác nhau, điều này được gọi là thao tác subnet mask có chiều dài thay đổi VLSM (Variable-Length Subnet Masking).
RIPv2 được phát triển từ RIPv1 nên vẫn giữ các đặc điểm như RIPv1:
-Là một giao thức theo Distance Vector, sử dụng số lượng hop làm thông số định tuyến.
-Sử dụng thời gian holddown để chống loop với thời gian mặc định là 180 giây.
-Sử dụng cơ chế split horizon để chống loop.
-Số hop tối đa là 16.
Tuy nhiên, với phiên bản RIPv2 thì RIP đã trở thành giao thức định tuyến không theo lớp địa chỉ.
RIPv2 có hỗ trợ việc xác minh thông tin định tuyến. Chúng ta có thể cấu hình cho RIPv2 gửi và nhận thông tin xác minh trên cổng giao tiếp của router bằng mã hóa MD5 hay không mã hóa.
RIPv2 gởi thông tin định tuyến theo địa chỉ multicast 224.0.0.9.

So Sánh RIPv1 và RIPv2:
RIP sử dụng thuật toán định tuyến theo Distance Vector. Nếu có nhiều đường đến cùng một đích thì RIP sẽ chọn đường có số hop ít nhất. Vì vậy, đôi khi con đường mà RIP chọn chưa hẳn là nhanh nhất đến đích.
RIPv1 cho phép các router cập nhật bảng định tuyến của chúng theo chu kỳ mặc định là 30 giây. Việc gửi thông tin định tuyến cập nhật liên tục như vậy giúp cho mạng được xây dựng nhanh chóng. Để tránh loop vô tận, RIP giới hạn số hop tối đa để chuyển gói tin là 16 hop. Nếu một mạng đích nhiều hơn 16 hop thì mạng đó xem như không tới được và gói tin đến đó sẽ bị hủy. Điều này làm giới hạn khả năng mở rộng của RIP. RIPv1 sử dụng cơ chế split horizon để chống lặp vòng. Với cơ chế này, khi gửi thông tin định tuyến ra một cổng, RIPv1 router không gởi ngược trở lại các thông tin định tuyến mà nó học được từ chính cổng đó. RIPv1 còn sử dụng thời gian holdown. Trong suốt khoảng thời gian holdown, router sẽ không cập nhật tất cả các thông tin có số định tuyến xấu hơn về mạng đó.
RIPv2 được phát triển từ RIPv1 nên cũng thừa hưởng những đặc tính trên.

Một số điểm khác nhau giữa RIPv1 và RIPv2:

RIPv1
Định tuyến theo lớp địa chỉ.
Không gởi thông tin về subnet-mask trong thông tin định tuyến.
Không hỗ trợ VLSM. Vì vậy tất cả các mạng trong hệ thống RIPv1 phải cùng subnet mask.
Không có cơ chế xác minh thông tin định tuyến.
Gởi quản bá theo địa chỉ 255.255.255.255

RIPv2
Định tuyến không theo lớp địa chỉ.
Có gởi thông tin về subnet mask trong thông tin định tuyến.
Có hỗ trợ VLSM. Nên các mạng trong hệ thống RIPv2 có thể có chiều dài subnet mask khác nhau.
Có cơ chế xác minh thông tin định tuyến.
Gửi quản bá theo địa chỉ 224.0.0.9 nên hiệu quả hơn.

Vài Cơ Chế Của RIP :
Split Horizon : cơ chế này dùng để chống loop bằng cách, giả sử router A nhận thông tin định tuyến từ router B về mạng X, thì sau khi đưa vào bảng routing table, router A sẽ không broadcast thông tin định tuyến của mạng X về lại cho router B nữa.

Route Poisoning : giả sử mạng X kết nối trực tiếp với router B và thông tin định tuyến về mạng X đã được router B gửi cho router A. Nếu như mạng X bị disconect thì ngay lập tức router B sẽ gửi ngay thông tin định tuyến cho router A về mạng X với metric là 16.

Poison Reverse : cơ chế này sẽ gắn liền với cơ chế Route Poisoning, khi router A đã nhận được thông tin định tuyến từ router B về mạng X với metric là 16 thì router A sẽ gửi lại thông tin định tuyến về mạng X cho router B với metric là 16 để chắc chắn rằng mạng X đã bị disconect. (lưu ý là khi cơ chế Route Poisoning và Poison Reverse hoạt động thì cơ chế Split Horizon sẽ được tạm dừng, đây là trường hợp đặc biệt vì metric = 16).

 
* Quá trình gởi và nhận thông tin định tuyến
Mô hình minh họa



Lúc gởi thông tin định tuyến : Trước khi gởi update( về đường mạng 131.108 và 131.99) cho router 2 thì router 1 phải check rằng
Đường mạng 131.108.5.0/24 có cùng major net với 131.108.2.0/24 hay không?
Trong case này là có, Router 1 mới check típ 131.108.5.0 và 131.108.2.0 có cùng subnet mask hay không?
Nếu trùng, Router 1 sẽ quảng bá đường mạng này.
Nếu k trùng , router 1 sẽ drop packet đó k thương tiếc
Đường mạng 137.99.88.0/24 có cùng major net với 131.108.2.0/24 hay không?
Nếu không thì router 1 sẽ làm động tác là tổng hợp (summarize) 137.99.88.0/24 tại major net boundary thành 137.99.0.0 và quảng bá nó.


Trong mô hình này thì ta nhận được kết quả như thế này trong khi thi hành lệnh debug ip rip

 

Nhận update :
Lúc này nhanh tay debug ip rip ngay trên router 2 thì ta thấy như thế này


Router 2 sẽ check để xem nên apply mask nào cho đường mạng 131 và 137 này đây
131.108.5.0 và 131.108.2.0( xét trên interface mà nhận update vào) có cùng 1 major net k?
Nếu có thì apply thẳng mask của interface mà nó nhận update, trong trường hợp này là apply /24). Nếu mạng được quảng bá tức 131.108 mà /32 thì router 2 sẽ apply /32 và típ tục quảng bá cho các router khác là /32( điều này nó khác với IGRP nhé)
131.108.5.0 và 137.99.0.0 có cùng major net k?
Nếu không xét típ , trong bảng định tuyến có subnet nào hay mạng con của major net này mà nó học từ các interface khác không?
Nếu không thì router 2 sẽ apply thẳng classful subnet mask là /16 luôn vì 137 là mạng lớp B. Chú ý ở đây nó sẽ apply host mask nếu như giữa 2 router là 1 unnumbered link và chứa thông tin về subnet ( tức là khi đó các bit trong phần portion của network được set).
Ngược lại thì router sẽ ignore thông tin định tuyến này đi


Lúc này show ip route thử xem

 

Lab


Giả sử ta có mô hình như hình trên.
Để định tuyến 3 router trên bằng giao thức RIP, ta làm như sau:


Đối với router R1:
Router >en
Router # config terminal
Router (config) # hostname R1

R1 (config) # interface loopback 0
R1 (config-if) # ip address 192.168.1.1 255.255.255.0
R1 (config-if) # exit

R1 (config) # interface s1/0
R1 (config-if) # ip address 192.168.12.1 255.255.255.0
R1 (config-if) # no shutdown
R1 (config-if) # exit

R1 (config) # router rip
R1 (config-router) # network 192.168.1.0
R1 (config-router) # network 192.168.12.0

Đối với router R2:
Router >en
Router # config terminal
Router (config) # hostname R2

R2 (config) # interface loopback 0
R2 (config-if) # ip address 192.168.2.1 255.255.255.0
R2 (config-if) # exit

R2 (config) # interface s1/0
R2 (config-if) # ip address 192.168.12.2 255.255.255.0
R2 (config-if) # no shutdown
R2 (config-if) # exit

R2 (config) # interface s1/1
R2 (config-if) # ip address 192.168.23.2 255.255.255.0
R2 (config-if) # no shutdown
R2 (config-if) # exit

R2 (config) # router rip
R2 (config-router) # network 192.168.2.0
R2 (config-router) # network 192.168.12.0
R2 (config-router) # network 192.168.23.0

Đối với router R3:
Router >en
Router # config terminal
Router (config) # hostname R3

R1 (config) # interface loopback 0
R1 (config-if) # ip address 192.168.3.1 255.255.255.0
R1 (config-if) # exit

R1 (config) # interface s1/0
R1 (config-if) # ip address 192.168.23.3 255.255.255.0
R1 (config-if) # no shutdown
R1 (config-if) # exit

R1 (config) # router rip
R1 (config-router) # network 192.168.3.0
R1 (config-router) # network 192.168.23.0

Xong việc cấu hình cho 3 router. Để kiểm tra các mạng có thể thấy nhau hay không, ta có thể dùng lệnh “ping” để kiểm tra hoặc dùng lệnh “show ip route” hoặc “show ip route rip” để kiểm tra bảng định tuyến của các router



I.2. Interior Gateway Routing Protocol (IGRP)
1. Định nghĩa

Trước những nhược điểm vốn có của RIP như: metric là hop count, kích thước mạng tối đa là 15 hop. Cisco đã phát triển một giao thức độc quyền của riêng mình là IGRP để khắc phục những nhược điểm đó. Cụ thể là metric của IGRP là sự tổ hợp của 5 yếu tố, mặc định là bandwidth và delay:
Bandwidth
Delay
Load
Reliability

Maximum transfer unit (MTU)
IGRP không sử dụng hop count trong metric của mình, tuy nhiên nó vẫn theo dõi được hop count. Một mạng cài đặt IGRP thì kích thước mạng có thể nên tới 255 hop.

Ưu điểm nữa của IGRP so với RIP là nó hỗ trợ được unequal-cost load sharing và thời gian update lâu hơn RIP gấp 3 lần.

Tuy nhiên bên cạnh những ưu điểm của mình so với RIP, IGRP cũng có những nhược điểm đó là giao thức độc quyền của Cisco.

2. Hoạt động và đặc trưng

IGRP có rất nhiều điểm chung với RIP, chúng cùng là classfull distance vector protocol cũng như định kỳ gửi toàn bộ routing table ra tất cả active interface.

Cũng giống như RIP, IGRP cũng broadcasd Request packet ra tất cả các active interface khi khởi động và cẩn thận check các paket update nhận được xem source address của packet đó có cùng subnet mà update được nhận. Giống như RIP nó cũng không gửi subnetmask trong thông tin định tuyến.

Nếu như RIP dùng port 520 của giao thức UDP để trao đổi thông tin định tuyến, thì IGRP thì làm điều này trực tiếp trong gói tin IP với trường Protocol number 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.

a/ 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 it 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.

b/ IGRP Metrics

Metric của IGRP là tổ hợp của các thành phần sau: bandwidth, delay, load, reliability. Mặc định của metric là bandwidth và delay, bạn hãy tưởng tượng liên kết dữ liệu (data link) như là một cái ống thì bandwidth như là chiều rộng của ống còn delay như là chiều dài của ống. Nói cách khác bandwidth là thước đo khả năng mang thông tin và delay độ trễ cần thiết để một bít truyền đến đích.

Bandwidth: được biểt diễn với đơn vị là kbps, là một thông số được sử dụng để IGRP sử dụng để chạy thuật toán Bellman-Ford. Nó là một thông số tĩnh có thể thay đổi bởi người quản trị không liên quan gì đến bandwidth thật của đường truyền.
BW = [10000000/(bandwidth in Kbps)]
Delay: giống như bandwidth là một thông số tĩnh có thể được cấu hình bằng tay.
Delay = [Delay in 10s of microseconds]
Reliability: là một thông số động, được biểu diễn bởi một số 8bit. được tính số lượng gói tin đến đích mà không bị hỏng. Reliability có giá trị 255 có nghĩa là 100% gói tin không bị hỏng, giá trị nhỏ nhất là 1.
Load: là một phần băng thông sử dụng trên đường truyền, được biểu diễn bởi một số 8 bit. Load có giá trị là 255 nghĩa là sử dụng 100%, 1 là giá trị nhỏ nhất.
Mặc định: K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0. Các hăng số trên có thể được thay tuỳ theo mục đích của người quản trị.

c/ IGRP Packet Format
Định dạng gói tin IGRP được biểu diễn như hình sau:
http://chuyenviet.com/html/articles/routingdetail_files/image004.jpg

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 muc 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.
Các trường của IGRP có ý nghĩa là:
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 đến đích.
d/ Unequal-Cost Load Balancing
Load balancing là cách router gửi lưu lượng qua nhiều đường để đến cùng đích. Nó được sử dụng để giảm lưu lượng qua single path. Không giống như RIP, IGRP không những chỉ hỗ trợ equal-cost balancing mà còn hỗ trợ cả unequal-cost balancing. Điều này được thực hiện nhờ sử dụng thông số variance. Những route nào có metric nhỏ hơn hoặc bằng metric*variance sẽ được chọn là feasiable route (metric tốt nhất). Thông số Maximum Paths xác định tối đa có bao nhiêu route tham gia load balancing.
 

Lý thuyết về OSPF1.Tổng Quan Về OSPF:
OSPF là một giao thức định tuyến theo trạng thái đường liên kết được triển khai dựa trên các chuẩn mở. OSPF được mô tả trong nhiều chuẩn của IETF (Internet Engineering Task Force). Chuẩn mở ở đây có nghĩa là OSPF hoàn toàn mở với công cộng, không có tính độc quyền.
Nếu so sánh với RIPv1 và RIPv2 là một giao thức nội thì IGP tốt hơn vì khả năng mở rộng của nó. RIP chỉ giới hạn trong 15 hop, hội tụ chậm và đôi khi còn chọn đường có tốc độ chậm vì khi quyết định chọn đường nó không quan tâm đến các yếu quan trọng khác như băng thông chẳng hạn. OSPF khắc phục được các nhược điểm của RIP vì nó là một giao thức định tuyến mạnh, có khả năng mởi rộng, phù hợp với các hệ thống mạng hiện đại. OSPF có thể cấu hình đơn vùng để sử dụng cho các mạng nhỏ.

2. So Sánh OSPF Với Giao Thức Định Tuyến Theo Distance Vector:
Router định tuyến theo trạng thái đường liên kết có một cơ sở đầy đủ về cấu trúc hệ thống mạng. Chúng chỉ thực hiện trao đổi thông tin về trạng thái đường liên kết lúc khởi động và khi hệ thống mạng có sự thay đổi. Chúng không phát quảng bá bảng định tuyến theo định kỳ như các router định tuyến theo distance vector. Do đó, các router định tuyến theo trạng thái đường liên kết sử dụng ít băng thông hơn cho hoạt động duy trì bảng định tuyến.
RIP phù hợp với các mạng nhỏ và đường tốt nhất đối với RIP là đường có số hop ít nhất. OSPF thì phù hợp với mạng lớn, có khả năng mở rộng, đường đi tốt nhất của OSPF được xác định dựa trên tốc độ của đường truyền. RIP cũng như các giao thức định tuyến theo distance vector khác đều sử dụng thuật toán chọn đường đơn giản. Còn thuật toán SPF thì phức tạp. Do đó, nếu router chạy theo giao thức định tuyến theo distance vector thì sẽ ít tốn bộ nhớ và cần năng lực xử lý thấp hơn so với khi chạy OSPF.
OSPF chọn đường dựa trên chi phí được tính từ tốc độ của đường truyền. Đường truyền có tốc độ càng cao thì chi phí OSPF tương ứng càng thấp.
OSPF chọn đường tốt nhất từ cây SPF.
OSPF bảo đảm không bị định tuyến lặp vòng. Còn giao thức định tuyến theo distance vector vẫn có thể bị loop.
Nếu một kết nối không ổn định, chập chờn, việc phát liên tục các thông tin về trạng thái của đường kiên kết này sẽ dẫn đén tình trạng các thông tin quảng cáo không đồng bộ làm cho kết quả chọn đường của các router bị đảo lộn.
*OSPF giải quyết được các vấn đề sau:
-Tốc độ hội tụ.
-Hỗ trợ VLSM (Variable Length Subnet Mask).
-Kích cỡ mạng.
-Chọn đường.
-Nhóm các thành viên.
Trong một hệ thống mạng lớn, RIP phải mất ít nhất vài phút mới có thể hội tụ được vì mỗi router chỉ trao đổi bảng định tuyến với các router láng giềng kết nối trực tiếp với mình mà thôi. Còn đối với OSPF sau khi đã hội tụ vào lúc khởi động, khi có thay đổi thì việc hội tụ sẽ rất nhanh vì chỉ có thông tin về sự thay đổi được phát ra cho mọi router trong vùng.
OSPF có hỗ trợ VLSM nên nó được xem là một giao thức định tuyến không theo lớp địa chỉ. RIPv1 không hỗ trợ VLSM, nhưng RIPv2 thì có.
Đối với RIP, một mạng đích cách xa hơn 15 router xem như không thể đến được vì RIP có số lượng hop giới hạn là 15. Điều này làm kích thước mạng của RIP bị giới hạn trong phạm vi nhỏ. OSPF thì không giới hạn về kích thước mạng, nó hoàn toàn có thể phù hợp với mạng vừa và lớn.
Khi nhận được từ router láng giềng các báo cáo về số lượng hop đến mạng đích, RIP sẽ cộng thêm 1 vào thông số hop này và dựa vào số lượng hop đó để chọn đường đến mạng đích. Đường nào có khoảng cách ngắn nhất hay nói cách khác là có số lương hop ít nhất sẽ là đường tốt nhất đối với RIP. Nhận xét thấy thuật toán chọn đường như vậy là rất đơn giản và không đòi hỏi nhiều bộ nhớ và năng lực xử lý của router. RIP không hề quan tâm đến băng thông đường truyền khi quyết định chọn đường.
OSPF thì chọn đường dựa vào chi phí được tính từ băng thông của đường truyền. Mọi OSPF đều có thông tin đầy đủ về cấu trúc của hệ thống mạng và dựa vào đó để chọn đường đi tốt nhất. Do đó, thuật toán chọn đường này rất phức tạp, đòi hỏi nhiều bộ nhớ và năng lực xử lý của router cao hơn so với RIP.
RIP sử dụng cấu trúc mạng dạng ngang hàng. Thông tin định tuyến được truyền lần lượt cho mọi router trong cùng một hệ thống RIP. Còn OSPF sử dụng khái niệm về phân vùng. Một mạng OSPF có thể chia các router thành nhiều nhóm. Bằng cách này, OSPF có thể giới hạn lưu thông trong từng vùng. Thay đổi trong vùng này không ảnh hưởng đến hoạt động của các vùng khác. Cấu trúc phân lớp như vậy cho phép hệ thống mạng có khả năng mở rộng một cách hiệu quả.

3. Thuật Toán Chọn Đường Ngắn Nhất:
Theo thuật toán này, đường tốt nhất là đường có chi phí thấp nhất. Thuật toán được sử dụng là Dijkstra, thuật toán này xem hệ thống mạng là mọt tập hợp các nodes được kết nối với nhau bằng kết nối point-to-point. Mỗi kết nối này có một chi phí. Mỗi nodes có một tên. Mỗi nodes có đầy đủ cơ sở dữ liệu về trạng thái của các đường liên kết. Do đó, chúng có đầy đủ thông tin về cấu trúc vật lý của hệ thống mạng. Tất cả các cơ sở dữ liệu này điều giống nhau cho mọi router trong cùng một vùng.

4. Các Loại Mạng OSPF:
Các OSPF phải thiết lập mối quan hệ láng giềng để trao đổi thông tin định tuyến. Trong mỗi mạng IP kết nối vào router. Nó đều cố gắng ít nhất là trở thành một láng giềng hoặc là một láng giềng thân mật với một router khác, router OSPF quyết định chọn router nào làm láng giềng thân mật là tùy thuộc vào từng loại mạng kết nối với nó. Có một số router có thể cố gắng trở thành láng giềng thân mật với mọi router láng giềng khác. Có một số router khác lại có thể chỉ cố gắng trở thành láng giềng thân mật với một hoặc hai router láng giềng thôi. Một khi mối quan hệ láng giềng thân mật đã được thiết lập giữa hai láng giềng với nhau thì thông tin về trạng thái đường liên kết mới được trao đổi.
Giao thức OSPF nhận biết các loại mạng sau:
-Mạng quảng bá đa truy cập, ví dụ mạng Ethernet.
-Mạng point-to-point.
-Mạng không quảng bá đa truy cập (NBMA – NonBroadcast Multil-Access), ví dụ Frame Relay.
-Mạng Point-to-Multipoint có thể được nhà quản trị mạng cấu hình cho một cổng của router.
Trong mạng đa truy cập không thể biết được là có bao nhiêu router sẽ có thể được kết nối vào mạng.
Trong mạng point-to-point thì chỉ có hai router được kết nối với nhau.
Trong mạng quảng bá đa truy cập có rất nhiều router kết nối vào. Nếu mỗi router đều thiết lập mối quan hệ thân mật với mọi router khác và thực hiện trao đổi thông tin về trạng thái đường liên kết với mọi router láng giềng thì sẽ quá tải. Nếu có 10 router thì sẽ cần 45 mối liên hệ thân mật, nếu có n router thì sẽ có n*(n-1)/2 mối quan hệ láng giềng cần thiết lập.
Giải pháp cho vấn đề quá tải trên là bầu ra một router làm đại diện (DR- Designated Router). Router này sẽ thiết lập mối quan hệ thân mật với mọi router khác trong mạng quản bá. Mọi router còn lại sẽ chỉ gởi thông tin về trạng thái đường liên kết cho DR. Sau đó DR sẽ gởi các thông tin này cho mọi router khác trong mạng bằng địa chỉ multicast 224.0.0.5 DR đóng vai trò như một người phát ngôn chung.
Việc bầu DR rất có hiệu quả nhưng cũng có một nhược điểm. DR trở thành một tâm điểm nhạy cảm đối với sự cố. Do đó, cần có một router thứ hai được bầu ra để làm đại diện dự phòng (BDR – Backup Designated Router), router này sẽ đảm trách vai trò của DR nếu DR bị sự cố. Để đảm bảo cả DR và BDR đều nhận được thông tin về trạng thái đường liên kết từ mọi router khác trong cùng một mạng, địa chỉ multicast 224.0.0.6 cho các router đại diện.
Trong mạng point-to-point chỉ có 2 router kết nối với nhau nên không cần bầu ra DR và DBR. Hai router này sẽ thiết lập mối quan hệ láng giềng thân mật với nhau.

Loại Mạng Các Đặc Tính Bầu DR

Broadcast Multi-Access Ethernet,ToKen Ring,FĐI Có
NonBroadcast Multi-Access Frame Relay,X25,SMDS Có
Point-to-Point PPP,HDLC Không
Point-to-Multipoint Được cấu hình bởi Administrator không

5. Giao Thức OSPF Hello:
Khi router bắt đầu khởi động tiến trình định tuyến OSPF trên một cổng nào đó thì nó sẽ gởi một gói hello ra cổng đó và tiếp tục gởi hello theo định kỳ. Giao thức hello đưa ra các nguyên tắc quản lý việc trao đổi các gói OSPF hello.
Ở lớp 3 của mô hình OSI, gói hello mang địa chỉ multicast 224.0.5.0 địa chỉ này chỉ đến tất cả các OSPF router. OSPF router sử dụng gói hello để thiết lập một quan hệ láng giềng thân mật mới và để xác định là router láng giềng có còn hoạt động hay không. Mặc định hello được gởi đi 10 giây một lần trong mạng quảng bá đa truy cập và mạng Point-to-Point. Trên cổng nói vào mạng NBMA, ví dụ như Frame Relay, chu trình mặc định của hello là 30 giây.
Trong mạng đa truy cập, giao thức hello tiến hành bầu DR và BDR.
Mặc dù gói hello rất nhỏ nhưng nó cũng bao gồm cả phần header của gói OSPF. Cấu trúc của phần header trong gói OSPF được thể hiện như hình sau. Nếu gói hello thì trường Type sẽ có giá trị là một.

 

Gói hello mang những thông tin để thống nhất giữa mọi láng giềng với nhau trước khi có thể thiết lập mối quan hệ láng giềng thân mật và trao đổi thông tin về trạng thái đường liên kết.

 




Post a Comment

Mới hơn Cũ hơn