Xem mẫu
- DISTANCE VECTOR PROTOCOL: RIP & IGRP
Tổng quan về giao thức định tuyến
Một giao thức là một tập hợp các qui tắc trong đó xác định một đối tượng nào đó sẽ
hoạt động như thế nào. Một giao thức định tuyến là một tập hợp các qui tắc mô tả
một giao thức lớp 3 sẽ gửi các cập nhật cho nhau về các mạng hiện có. Nếu có nhiều
đường đi đến một mạng cùng tồn tại, giao thức định tuyến cũng sẽ xác định đường đi
tốt nhất được dùng. Khi các thiết bị có chung một hiểu biết về mạng đó, các thiết bị
sẽ bắt đầu route trên đường đi tốt nhất.
Các giao thức định tuyến hoạt động như thế nào?
Có ba bước cơ bản liên quan trong quá trình xây dựng, duy trì và sử dụng bảng định
tuyến:
- Các giao thức định tuyến gửi các thông tin cập nhật về routes hoặc về network
bên trong AS, chẳng hạn như RIPv1, IGRP và EIGRP và giữa các AS như
BGP4
- Bảng định tuyến nhận các cập nhật từ các giao thức định tuyến và cung cấp
các thông tin theo yêu cầu
- Quá trình chuyển gói xác định đường đi nào cần chọn lựa từ bảng định tuyến
để chuyển một gói tin đi.
Hoạt động của các giao thức Distance Vector
Các giao thức distance vector gửi định kỳ các cập nhật về các mạng mà quá trình định
tuyến đã tìm thấy và đưa vào bảng định tuyến. Các cập nhật được gửi trực tiếp vào
các router láng giềng kết nối trực tiếp. Địa chỉ đích của các routing update là
255.255.255.255 (địa chỉ broadcast), có nghĩa là tất cả các router trên phân đoạn mạng
đó sẽ nghe được các update.
Các cập nhật sẽ gửi ra định kỳ sau khi một khoảng thời gian bị hết. Khoảng thời gian
timer này sẽ được reset ngay lập tức sau khi router gửi một cập nhật. Như vậy giao
thức định tuyến distance vector sẽ gửi ra toàn bộ bảng định tuyến đến các láng giềng
của nó, thiết lập một đồng hồ thời gian và sau một khoảng thời gian xác định trước
(30 giây đối với RIP v.1) sẽ gửi ra toàn bộ bảng định tuyến một lần nữa. Sau khi nhận
được bảng định tuyến của router láng giềng, router sẽ cập nhật bảng định tuyến của
nó và thay đổi bảng định tuyến theo các cập nhật mà nó nhận được. Do router sẽ tiếp
tục truyền những thông tin mà nó nghe được từ router láng giềng, các giao thức định
tuyến nhóm distance vector được gọi là “định tuyến theo tin đồn”.
RIP là giao thức định tuyến dạng classful, nghĩa là không chứa thông tin subnet mask
trong các cập nhật định tuyến. Do đó, RIP không hỗ trợ VLSM và mạng không liên tục
(discontiguos network). RIP có hai phiên bản là RIPv1 và RIPv2, sử dụng metric là hop
count với giới hạn là 15 hop. RIPv1 là giao thức định tuyến dạng classful, không hỗ trợ
VLSM. RIPv2 là giao thức định tuyến dạng classless, có hỗ trợ VLSM, route
summarization và xác thực.
- Hoạt động của RIP:
Routing Information Protocol version 1 (RIPv1) là một giao thức đơn giản và vì vậy hoạt động
hiệu quả trong những mạng nhỏ ít có những thay đổi. RIP là giao thức đầu tiên trong nhóm
distance vector và trở thành một chuẩn mở cho các nhà quản trị mạng.
Router RIP sẽ gửi bảng định tuyến để cập nhật thông tin sau khoảng thời gian trung bình là 30
giây (update timer), địa chỉ đích của thông tin cập nhật này là 255.255.255.255 (all-hosts
broadcast). Thời gian route tồn tại trong bảng định tuyến khi không có cập nhật mới là 180 giây
(invalid timer/timeout/expiration timer). Trong vòng 180 giây mà không nhận được thông tin cập
nhật thì hop count của route sẽ mang giá trị 16, mặc dù route là unreachable nhưng route vẫn
được dùng để chuyển tiếp gói. Router sẽ không nhận bất cứ cập nhật mới của route này trong
khoảng thời gian 180 giây (holddown timer). Khoảng thời gian router phải chờ trước khi xoá route
ra khỏi bảng định tuyến là 240 giây (flush timer/garbage collection timer).
Metric của RIP
Giao thức định tuyến RIP sử dụng metric là hop count mang giá trị từ 1 đến 15. Tuyến
đường (route) có metric là 16 được định nghĩa là vô hạn (infinity), nghĩa là tuyến đó
không đến được (unreachable).
Count to infinity
Một router A nghe các thông tin về các mạng từ các láng giềng B và C và cập nhật
bảng định tuyến với các mạng mới. Bảng định tuyến sau đó sẽ được gửi tới tất cả các
láng giềng (B và C). Tuy nhiên, nếu láng giềng B được gửi thông tin về network mà
chính router B là nguồn gốc của network này, sự nhầm lẫn có thể xảy ra. Vấn đề này
còn gọi là routing loop. Vấn đề xảy ra khi đường đi đến một mạng bị down và mỗi
router có thể tin rằng có một đường đi khác về router láng giềng của bó. Mỗi router
thường tăng giá trị hop count trước khi nó gửi update. Khi giá trị hop count đạt đến giá
trị 16, thông tin về network đó sẽ được xem là unreachable, bởi vì giá trị của RIPv1 sẽ
không vượt quá con số 15. Đây còn được gọi là count-to-infinity, trong đó giá trị bất
định là bằng 16.
Split Horizon
Split horizon là một kỹ thuật dùng để tránh lặp trong quá trình cập nhật định tuyến.
Với split horizon khi tuyến học được từ một cổng giao tiếp thì tuyến đó sẽ không
quảng cáo lại trên cổng giao tiếp đó. Ví dụ ở hình 2-1:
Hình 2-1
R o u te r 1 R o u te r 2
N e tw o r k X
- Router 1 nhận thông tin về mạng X với metric là 1 từ router 2. Khi split horizon được
kích hoạt trên router 1, thông tin về mạng X sẽ không quảng cáo ngược lại về router 2.
Nếu không kích hoạt split horizon, router 1 sẽ quảng cáo mạng X cho router 2 với
metric là 2. Nếu mạng X bị sự cố, router 2 sẽ học tuyến đường đến mạng X qua router
1 và sẽ tạo ra lỗ hổng (black hole).
Split Horizon with Poison Reverse
Đây là một kỹ thuật khác được dùng để tránh lặp. Với poison reverse, tuyến đường
học được từ cổng giao tiếp sẽ được quảng cáo ngược lại cổng giao tiếp đó nhưng
được đánh dấu với metric là 16 (unreachable). Ví dụ ở hình 2-2
Hình 2-2
R o u te r 1 R o u te r 2
N e tw o r k X
Router 1 nhận thông tin về mạng X với metric là 1 từ router 2. Khi sử dụng kỹ thuật
split horizon with poison reverse, router 1 sẽ quảng cáo mạng X với metric là 16 ngược
trở về router 2. Bình thường kỹ thuật này không được dùng (vì nó có khuynh hướng
làm tăng kích thước bảng định tuyến) mà chỉ được dùng khi mạng gặp sự cố (link
failure occurs).
Holddown
Sau khi quyết định rằng một địa chỉ mạng trong bảng định tuyến là không còn hợp lệ,
quá trình định tuyến sẽ chờ trong khoảng thời gian 3 lần thời gian gửi routing update
trước khi nó bắt đầu quá trình định tuyến với một đường đi cho metric tồi hơn.
Triggered updates
Ngay khi một quá trình định tuyến thay đổi metric cho một địa chỉ mạng nào đó trong bảng định
tuyến của nó, nó sẽ gửi một cập nhật với giá trị metric đến một giá trị không dùng được. Giá trị
này thường là bằng 16. Trigger update thông báo cho các router khác ngay lập tức. Nếu có một
vấn đề xảy ra, tất cả các router bị ành hưởng sẽ đi vào trạng thái holdown ngay lập tức thay vì
chờ một khoảng thời gian định kỳ. Cơ chế này giúp giảm thời gian hội tụ và giúp ngăn ngừa
routing loop.
Load balancing
Nếu một giao thức định tuyến tìm thấy nhiều đường đi có chi phí bằng nhau, nó sẽ phân phối
các gói bằng nhau giữa các đường đi. Các gói dữ liệu sẽ được phân phốI theo kiểu round-robin.
Kiểu switching được dùng bên trong router (process switching hay fast switching) sẽ xác định là
quá trình cân bằng tải sẽ thực hiện theo kiểu round-robin hay là theo kiều session. Cân bằng tải
theo kiểu round-robin sẽ được dùng khi cơ chế process switching được dùng.
- Nguyên tắc gửi và nhận thông tin cập nhật định tuyến
Xét ví dụ như hình dưới, 2 router sử dụng giao thức định tuyến RIP, mạng 131.108.0.0
kết nối router 1 và router 2.
Hình 2-3
S0 1 3 1 .1 0 8 .2 .0 /2 4
.2 .1 .1
R o u te r 1 .2 R o u te r 2
1 3 7 .9 9 .8 8 .0 /2 4 S0 1 3 1 .1 0 8 .3 .0 /2 4
.2
1 3 1 .1 0 3 .5 .0 /2 4
Các bước thực hiện khi Router 1 gửi cập nhật định tuyến cho Router 2
1. Kiểm tra xem mạng 131.108.5.0/24 có cùng mạng chính (major network) với
mạng 131.108.2.0/24 hay không?
2. Có. Kiểm tra tiếp mạng 131.108.5.0/24 có cùng subnet mask với mạng
131.108.2.0/24 hay không?
3. Có. Router 1 tiến hành quảng cáo mạng này.
4. Kiểm tra xem mạng 137.99.88.0/24 có cùng mạng chính (major network) với
mạng 131.108.2.0/24 hay không?
5. Không. Router 1 tiến hành tóm tắt mạng 137.99.88.0/24 thành mạng 137.99.0.0
và quảng cáo mạng này đến router 2.
Như vậy Router 1 sẽ gửi đến Router 2 mạng 131.108.5.0 và 137.99.0.0.
Khi sử dụng lệnh debug ip rip trên router 1, kết quả sẽ như sau:
Router1#debug ip rip
RIP: sending v1 update to 255.255.255.255 via Serial0 (131.108.2.2)
subnet 131.108.5.0, metric 1
network 137.99.0.0, metric 1
Các bước kiểm tra khi router 2 tiến hành cập nhật định tuyến
1. Kiểm tra xem mạng 137.99.0.0 có cùng mạng chính (major network) với mạng
131.108.2.0/24 hay không?
2. Không. Kiểm tra xem trong bảng định tuyến có tồn tại mạng con của mạng
137.99.0.0 hay không?
3. Không. Router 2 áp dụng subnet mask /16 cho mạng 137.99.0.0.
- 4. Kiểm tra xem mạng 131.108.5.0 có cùng mạng chính (major network) với mạng
131.108.2.0/24 hay không?
5. Có. Router 2 tiến hành áp dụng subnet mask /24 cho mạng 131.108.5.0 (mask
này là mask của cổng giao tiếp nhận thông tin định tuyến).
Như vậy router 2 sẽ nhận được 2 mạng đến router 1 là mạng 131.108.5.0/24 và
137.99.0.0/16.
Khi sử dụng lệnh debug ip rip trên Router 2, kết quả sẽ như sau:
Router2#debug ip rip
RIP: received v1 update from 131.108.2.2 on Serial0
131.108.5.0 in 1 hops
137.99.0.0 in 1 hops
Xem bảng định tuyến trên Router 2 kết quả sẽ như sau:
Router2#show ip route
R 137.99.0.0/16 [120/1] via 131.108.2.2, 00:00:07, Serial0
131.108.0.0/24 is subnetted, 3 subnets
R 131.108.5.0 [120/1] via 131.108.2.2, 00:00:08, Serial0
C 131.108.2.0 is directly connected, Serial0
C 131.108.3.0 is directly connected, Ethernet0
RIP không hỗ trợ discontigous network
Mạng không liên tục là một major network bị phân cách bởi một major network khác.
Ví dụ mạng 131.108.0.0 bị ngăn cách bởi mạng 137.99.0.0 như hình 2-4:
Hình 2-4
1 3 1 .1 0 8 .5 .0 /2 4 1 3 7 .9 9 .8 8 .0 /2 4 1 3 1 .1 0 8 .2 .0 /2 4
R o u te r1 R o u te r 2
.2 .2 .1 .1
- RIP là giao thức dạng classful, khi RIP quảng cáo một mạng đi qua một major network
khác thì sẽ tiến hành tóm tắt mạng đó về major network. Ví dụ router 1 gửi cập nhật
chứa mạng 131.108.5.0 đến router 2 thông qua mạng 137.99.88.0, mạng 131.108.5.0 sẽ
được tóm tắt thành mạng 131.108.0.0/16. Tiến trình này được gọi là
autosummarization.
Trước khi gửi cập nhật định tuyến cho router 2, router 1 thực hiện các bước
sau:
1. Kiểm tra xem mạng 131.108.5.0/24 có cùng major network với mạng
137.99.88.0/24 hay không?
2. Không. Router 1 tóm tắt mạng 131.108.5.0/24 thành mạng 131.108.0.0/16 và
tiến hành quảng cáo mạng này.
Khi sử dụng lệnh debug ip rip trên router 1, kết quả sẽ như sau:
Router1#debug ip rip
RIP: sending v1 update to 255.255.255.255 via Serial0 (137.99.88.2)
network 131.108.0.0, metric 1
Router 2 thực hiện kiểm tra các cập nhật định tuyến qua các bước sau:
1. Kiểm tra xem mạng nhận được (131.108.0.0) có cùng major network với mạng
137.99.88.0/24 hay không?
2. Không. Kiểm tra trong bảng định tuyến xem có mạng con nào có cùng major
network với mạng 131.108.0.0 hay không?
3. Có. Router 2 tiến hành loại bỏ cập nhật định tuyến.
Khi sử dụng lệnh debug ip rip trên router 2, kết quả như sau:
Router2#debug ip rip
RIP: received v1 update from 137.99.88.1 on Serial0
131.108.0.0 in 1 hops
Xem bảng định tuyến trên router 2 bằng lệnh show ip route kết quả như sau:
Router2#show ip route
137.99.0.0/24 is subnetted, 1 subnets
C 137.99.88.0 is directly connected, Serial0
131.108.0.0/24 is subnetted, 3 subnets
- C 131.108.2.0 is directly connected, Ethernet0
Có nhiều cách để giải quyết vấn đề này, cách cơ bản nhất là dùng định tuyến tĩnh như
sau:
Router1(config)#ip route 131.108.2.0 255.255.255.0 137.99.88.1
Router2(config)#ip route 131.108.5.0 255.255.255.0 137.99.88.2
RIP không hỗ trợ VLSM
Xét ví dụ như hình 2-5, 2 router sử dụng giao thức định tuyến RIP, mạng 131.108.0.0
kết nối router 1 và router 2.
Hình 2-5
1 3 1 .1 0 3 .7 .0 /3 0
S0 1 3 1 .1 0 8 .6 .0 /3 0
.2 .1 .1
R o u te r 1 .2 R o u te r 2
1 3 1 .1 0 8 .5 .0 /2 4 S0 1 3 1 .1 0 8 .2 .0 /3 0
.2
Các bước thực hiện khi Router 1 gửi cập nhật định tuyến cho Router 2
1. Router 1 kiểm tra xem mạng 131.108.5.0/24 có cùng mạng chính (major
network) với mạng 131.108.6.0/30 hay không?
2. Có. Kiểm tra tiếp mạng 131.108.5.0/24 có cùng subnet mask với mạng
131.108.6.0/30 hay không?
3. Không. Router 1 tiến hành loại bỏ và không quảng cáo mạng này.
4. Router 1 kiểm tra xem mạng 131.108.7.0/30 có cùng mạng chính (major
network) với mạng 131.108.6.0/30 hay không?
5. Có. Kiểm tra tiếp mạng 131.108.7.0/30 có cùng subnet mask với mạng
131.108.6.0/30 hay không?
6. Có. Router 1 tiến hành quảng cáo mạng này.
Khi sử dụng lệnh debug ip rip trên router 1, kết quả như sau:
RIP: sending v1 update to 255.255.255.255 via Serial0 (131.108.6.2)
subnet 131.108.7.0, metric 1
Xem bảng định tuyến trên router 2 bằng lệnh show ip route kết quả như sau:
Router2#show ip route
131.108.0.0/30 is subnetted, 3 subnets
- R 131.108.7.0 [120/1] via 131.108.2.2, 00:00:08, Serial0
C 131.108.6.0 is directly connected, Serial0
C 131.108.2.0 is directly connected, Ethernet0
Ta thấy rằng chỉ có mạng 131.108.7.0 được quảng cáo.
Để khắc phục, trong mạng RIP nên sử dụng cùng chung subnet mask hoặc sử dụng
cách cơ bản nhất là dùng định tuyến tĩnh để định tuyến.
RIP và default route
RIP hỗ trợ default route, nghĩa là cho phép quảng bá mạng 0.0.0.0/0. Khi RIP tìm thấy
một default route trong bảng định tuyến, nó sẽ tự động quảng cáo route này trong các
cập nhật định tuyến. Chú ý rằng default route phải có metric phù hợp. Ví dụ nếu
default route học được từ OSPF có metric là 20, RIP sẽ quảng bá route này với metric
là 16 (infinity). Khi đó, cần sử dụng lệnh router(config-router)# default-metric để áp
đặt metric cho route đó.
Trong định tuyến dạng classful, nếu router nhận gói tin đến một mạng không có trong
bảng định tuyến và không khai báo default route trong bảng định tuyến thì router sẽ
loại bỏ gói tin đó.
Hình 2-6
1 3 1 .1 0 3 .1 .0 /2 4
R 1 s e õ lo a ïi b o û g o ù tô ù
i i
1 3 1 .1 0 8 .3 .0 /2 4
0 .0 .0 .0 /0
1 3 1 .1 0 8 .3 .0 /2 4
1 3 1 .1 0 3 .2 .0 /2 4
Host X gửi dữ liệu đến mạng 131.108.3.0/24. Router R1 sẽ loại bỏ các gói tin này vì
không tồn tại route đến mạng 131.108.3.0/24. Traffic cũng sẽ không gửi đến default
route vì đây là định tuyến dạng classful. Nếu router R1 cho phép định tuyến dạng
classless (thực hiện lệnh ip classless), R1 sẽ chuyển tiếp traffic đến default route. Do
đó, nên cấu hình định tuyến dạng classless khi sử dụng default route hay default
network.
RIP version 2
- RIPv2 là một cải tiến của RIPv1. RIPv2 là giao thức định tuyến dạng classless,
có hỗ trợ VLSM, route summarization và authentication. Một số cải tiến thể hiện ở:
route tag, subnet mask, next-hop metric, multicast capability, authentication.
0 8 16 31
Command Version Route tag
Address family identifier 00000000
IP address
Subnet mask
Next hop
Metric
Route tag
Trường route tag dài 16 bit (2 byte) dùng để nhận dạng các route, được sử dụng để
đánh dấu trong quá trình redistribution. Các route khi phân phối (redistribute) vào RIP
sẽ được đánh dấu bằng route tag để phân biệt giữa internal RIP và external RIP. Ví dụ
có 10 tuyến đường tĩnh muốn phân phối vào RIP và được gán tag là 20. Các tuyến
đường tĩnh này sẽ được quảng cáo vào RIP như là external route với tag là 20. Nếu các
router RIP muốn phân phối vào OSPF và OSPF chỉ muốn phân phối 10 tuyến đường
tĩnh này thì OSPF chỉ cần kiểm tra tag này. Hơn nữa, nếu OSPF được phân phối
ngược về RIP, RIP sẽ từ chối các route nào với tag là 20. Do đó, việc sử dụng tag còn
giúp giải quyết vấn đề lặp (routing loops).
Next Hop
Trường Next Hop được sử dụng để tránh sự mở rộng hop trong quá trình chuyển tiếp
gói tin.
Hình 2-7
ro u te r rip
v e rs io n 2
r e d is trib u te o s p f m e tric 1
OSPF
R o u te r1 R o u te r2
OSPF
R o u te r 5
R o u te r4 R o u te r3
Trong hình, router 2 thực hiện phân phối route giữa OSPF và RIP. Khi gói tin từ router
1 đến router 2 sẽ được chuyển tiếp đến router 5 để qua mạng OSPF. Khi gói tin từ R4
đến router 3 để qua mạng OSPF, giả sử router 3 không có trường next-hop (RIPv1),
router 3 sẽ gửi gói tin đến router 2 và router 2 sẽ chuyển tiếp gói tin đến router 5.
Trường hợp này gọi là sự mở rộng hop (extra hop) trên router 3 để đến mạng OSPF.
- Khi có trường Next Hop, khi gói tin đến router 3 để đến mạng OSPF, các route sẽ có
trường Next Hop là router 5 và gói tin sẽ gửi thẳng đến router 5.
RIPv2 hỗ trợ Multicast
RIPv2 sử dụng mô hình truyền thông multicast để trao đổi các thông tin định tuyến.
Địa chỉ multicast RIPv2 sử dụng là 224.0.0.9 (01-00-5E-00-00-09).
IGRP
Tổng quan về IGRP
IGRP là giao thức định tuyến dạng classful, nghĩa là không chứa subnet mask trong các
thông tin cập nhật định tuyến (routing update). Do không có khả năng mang các thông
tin update nên dẫn đến có một vài hạn chế trong các thiết kế mạng dùng giao thức
này. Các giao thức nhóm classful gồm RIPv1 và IGRP. Các đặc điểm của một giao
thức classful gồm
- Thực hiện quá trình summary ở ranh giới các mạng
- Các routes được trao đổi giữa các mạng được summary theo địa chỉ của IANA.
- Bên trong một network, các lớp mạng con trao đổi với nhau bởi router mà
không cần giá trị mask. Do đó giá trị subnet mask phải có cùng giá trị cho tất cả
các ĩinterface trong cùng mạng. Nếu có một entry trong bảng định tuyến cho
một subnet cụ thể, gói IP sẽ được chuyển về địa chỉ đích đó. Nếu địa chỉ đích
là không biết, datagram sẽ bị drop. Nếu ta có cấu hình default-network cho
router, default network sẽ được dùng. Tuy nhiên default-network chỉ được dùng
trong classful routing nếu router không có kiến thức về mạng đíc ở bất kỳ mức
nào. Như vậy nếu major network là biết, gói IP sẽ bị drop cho dù có một mạng
default network.
Ở chế độ mặc định, IGRP tính toán metric dựa trên các thông số băng thông
(bandwidth) và độ trễ (delay). IGRP có thời gian cập nhật dài hơn RIP, có khả năng hỗ
trợ cân bằng tải với metric không bằng nhau. IGRP không hỗ trợ discontiguous
network, VLSM.
Ở chế độ mặc định
– Update - Router sẽ gửi toàn bộ bảng định tuyến để cập nhật thông tin sau khoảng
thời gian trung bình là 90 giây (update timer). Địa chỉ đích của các gói tin cập nhật
này là 255.255.255.255 (all-hosts broadcast).
– Invalid - Thời gian route tồn tại trong bảng định tuyến khi không có cập nhật mới là
270 giây (invalid timer/timeout/expiration timer). Khi router ngừng gửi cập nhật định
tuyến trong thời gian invalid timer, các route sẽ ở trong tình trạng invalid.
- – Holddown – Router sẽ không nhận bất cứ cập nhật mới của route này trong khoảng
thời gian 280 giây (holddown timer).
– Flush - Khoảng thời gian router phải chờ trước khi xoá route ra khỏi bảng định
tuyến là 630 giây (flush timer/garbage collection timer).
Metric
Giao thức định tuyến IGRP sử dụng công thức dưới đây để tính metric.
IGRPMetric = K1 ∗ BW +
( K 2 ∗ BW ) + K 3 ∗ Delay ∗ K 5
( 256 − Load ) ( Re li + K 4 )
– K1, K2, K3, K4, K5 là hằng số
– BW = 107/ Băng thông nhỏ nhất trên tuyến đường (kbps)
– Delay = Tổng các giá trị độ trễ trên tuyến đường /10 (ms)
– Load: tải trên cổng giao tiếp, mang giá trị 1-255 (255 – 100% traffic, 1 – không có
traffic)
– Reli: độ tin cậy của cổng giao tiếp, mang giá trị 1-255 (1 – unreliable link, 255 –
100% reliable link)
– Mặc định: K1=K3=1, K2=K4=K5=0. Khi đó
IGRP Metric = BW + Delay
Bảng 2-1
Môi trường Băng thông Delay
Ethernet 10.000 Kbps 1000 microseconds
Fast Ethernet 100.000 Kbps 100 microseconds
Gigabit Ethernet 1.000.000 Kbps 10 microseconds
FDDI 100.000 Kbps 100 microseconds
Token Ring (16M) 16.000 Kbps 630 microseconds
T1 1544 Kbps 20.000 microseconds
R o u te r 3
N e tw o rk X
R o u te r 1 R o u te r 2
F a s tE th e r n e t
T1
E th e r n e t
Hình 2-9
- Xem hình 2-9, giá trị metric từ router 3 đến mạng X được tính toán như sau:
Băng thông nhỏ nhất đến mạng X là kết nối T1 nên: BW = 107/1544 = 6476
Delay = (100ms + 20000ms + 1000ms)/10 = 21100 ms/10 = 2110 ms
Khi đó: IGRP Metric = BW + Delay = 6476 + 2110 = 8586
Giá trị độ trễ của các cổng giao tiếp của router có thể được biết bằng cách dùng lệnh
show interfaces. Thông tin về giá trị thấp nhất của băng thông trên đường truyền được
xác định thông qua các gói cập nhật IGRP.
Split Horizon
Split horizon là một kỹ thuật dùng để tránh lặp trong quá trình định tuyến. Khi một
route x được nhận trên một cổng S0 của router, route x đó sẽ không được quảng bá
ngược trở lại trên cổng router đó. Ví dụ ờ hình 2-10:
Hình 2-10
R o u te r 1 R o u te r 2
N e tw o r k X
Router 1 nhận thông tin về mạng X với metric là 1 từ router 2. Khi split horizon được
kích hoạt trên router 1, thông tin về mạng X sẽ không quảng cáo ngược lại về router 2.
Nếu không kích hoạt split horizon, router 1 sẽ quảng cáo mạng X cho router 2 với
metric là 2. Nếu mạng X bị sự cố, router 2 sẽ học tuyến đường đến mạng X qua router
1 và sẽ tạo ra lỗ hổng (black hole).
Split Horizon with Poison Reverse
Đây là một kỹ thuật khác được dùng để tránh lặp. Với poison reverse, tuyến đường
học được từ cổng giao tiếp sẽ được quảng cáo ngược lại cổng giao tiếp đó nhưng
được đánh dấu với IGRP metric lớn vô cùng (unreachable). Ví dụ hình 2-11
Hình 2-11
R o u te r 1 R o u te r 2
N e tw o r k X
Router 1 nhận thông tin về mạng X với metric là 1 từ router 2. Khi sử dụng kỹ thuật
split horizon with poison reverse, router 1 sẽ quảng cáo mạng X với metric là
4,294,967,295 ngược trở về router 2. Bình thường kỹ thuật này không được dùng (vì
- nó có khuynh hướng làm tăng kích thước bảng định tuyến) mà chỉ được dùng khi
mạng gặp sự cố (link failure occurs).
Nguyên tắc gửi và nhận các cập nhật định tuyến
Xét ví dụ như hình dưới, 2 router sử dụng giao thức định tuyến IGRP, mạng
131.108.0.0 kết nối router 1 và router 2.
Hình 2-12
S0 1 3 1 .1 0 8 .2 .0 /2 4
.2 .1 .1
R o u te r 1 .2 R o u te r 2
1 3 7 .9 9 .8 8 .0 /2 4 S0 1 3 1 .1 0 8 .3 .0 /2 4
.2
1 3 1 .1 0 3 .5 .0 /2 4
Các bước thực hiện khi router 1 gửi cập nhật định tuyến cho router 2
1. Kiểm tra xem mạng 131.108.5.0/24 có cùng mạng chính (major network) với
mạng 131.108.2.0/24 hay không?
2. Có. Kiểm tra tiếp mạng 131.108.5.0/24 có cùng subnet mask với mạng
131.108.2.0/24 hay không?
3. Có. Router 1 tiến hành quảng cáo mạng này.
4. Kiểm tra xem mạng 137.99.88.0/24 có cùng mạng chính (major network) với
mạng 131.108.2.0/24 hay không?
5. Không. Router 1 tiến hành tóm tắt mạng 137.99.88.0/24 thành mạng 137.99.0.0
và quảng cáo mạng này đến router 2.
Như vậy router 1 sẽ gửi đến router 2 mạng 131.108.5.0 và 137.99.0.0.
Các bước kiểm tra khi router 2 tiến hành cập nhật định tuyến
1. Kiểm tra xem mạng 137.99.0.0 có cùng mạng chính (major network) với mạng
131.108.2.0/24 hay không?
2. Không. Kiểm tra xem trong bảng định tuyến có tồn tại mạng con của mạng
137.99.0.0 hay không?
3. Không. Router 2 áp dụng subnet mask /16 cho mạng 137.99.0.0.
4. Kiểm tra xem mạng 131.108.5.0 có cùng mạng chính (major network) với mạng
131.108.2.0/24 hay không?
5. Có. Router 2 tiến hành áp dụng subnet mask /24 cho mạng 131.108.5.0 (mask
này là mask của cổng giao tiếp nhận thông tin cập nhật).
- Như vậy router 2 sẽ nhận được 2 mạng đến router 1 là mạng 131.108.5.0/24 và
137.99.0.0/16.
Tại sao IGRP không hỗ trợ discontigous network?
Mạng không liên tục là một major network bị phân cách bởi một major network khác.
Ví dụ mạng 131.108.0.0 bị ngăn cách bởi mạng 137.99.0.0 như hình 2-13 dưới đây:
Hình 2-13
1 3 1 .1 0 8 .5 .0 /2 4 1 3 7 .9 9 .8 8 .0 /2 4 1 3 1 .1 0 8 .2 .0 /2 4
R o u te r1 R o u te r 2
.2 .2 .1 .1
IGRP là giao thức dạng classful, khi IGRP quảng cáo một mạng đi qua một major
network khác thì sẽ tiến hành tóm tắt mạng đó về major network. Ví dụ router 1 gửi
cập nhật chứa mạng 131.108.5.0 đến router 2 thông qua mạng 137.99.88.0, mạng
131.108.5.0 sẽ được tóm tắt thành mạng 131.108.0.0/16. Tiến trình này được gọi là
autosummarization.
Trước khi gửi cập nhật định tuyến cho router 2, router 1 thực hiện các bước
sau:
1. Kiểm tra xem mạng 131.108.5.0/24 có cùng major network với mạng
137.99.88.0/24 hay không?
2. Không. Router 1 tóm tắt mạng 131.108.5.0/24 thành mạng 131.108.0.0/16 và
tiến hành quảng cáo mạng này.
Router 2 thực hiện kiểm tra các cập nhật định tuyến qua các bước sau:
1. Kiểm tra xem mạng nhận được (131.108.0.0) có cùng major network với mạng
137.99.88.0/24 hay không?
2. Không. Kiểm tra trong bảng định tuyến xem có mạng con nào có cùng major
network với mạng 131.108.0.0 hay không?
3. Có. Router 2 tiến hành loại bỏ cập nhật định tuyến.
- Có nhiều cách để giải quyết vấn đề này, cách cơ bản nhất là dùng định tuyến tĩnh như
sau:
Router1(config)#ip route 131.108.2.0 255.255.255.0 137.99.88.1
Router2(config)#ip route 131.108.5.0 255.255.255.0 137.99.88.2
Tại sao IGRP không hỗ trợ VLSM?
Xét ví dụ như hình dưới, 2 router sử dụng giao thức định tuyến IGRP, mạng
131.108.0.0 kết nối router 1 và router 2.
Hình 2-14
1 3 1 .1 0 8 .7 .0 /3 0
S0 1 3 1 .1 0 8 .6 .0 /3 0
.2 .1 .1
R o u te r 1 .2 R o u te r 2
1 3 1 .1 0 8 .5 .0 /2 4 S0 1 3 1 .1 0 8 .2 .0 /3 0
.2
Các bước thực hiện khi router 1 gửi cập nhật định tuyến cho router 2
1. Router 1 kiểm tra xem mạng 131.108.5.0/24 có cùng mạng chính (major
network) với mạng 131.108.6.0/30 hay không?
2. Có. Kiểm tra tiếp mạng 131.108.5.0/24 có cùng subnet mask với mạng
131.108.6.0/30 hay không?
3. Không. Router 1 tiến hành loại bỏ và không quảng cáo mạng này.
4. Router 1 kiểm tra xem mạng 131.108.7.0/30 có cùng mạng chính (major
network) với mạng 131.108.6.0/30 hay không?
5. Có. Kiểm tra tiếp mạng 131.108.7.0/30 có cùng subnet mask với mạng
131.108.6.0/30 hay không?
6. Có. Router 1 tiến hành quảng cáo mạng này.
Ta thấy rằng chỉ có mạng 131.108.7.0 được quảng cáo.
Để khắc phục, trong mạng IGRP nên sử dụng cùng chung subnet mask hoặc sử dụng
cách cơ bản nhất là dùng định tuyến tĩnh để định tuyến.
IGRP và default route
- Trong Cisco router, IGRP không nhận biết được mạng 0.0.0.0/0. Trong mạng IGRP
cần sử dụng lệnh ip default-network để áp đặt metric cho route đó.
Lệnh ip default-network được dùng để chỉ định địa chỉ major network và đánh dấu
mạng này là default network. Major network phải là mạng nối trực tiếp, được định
nghĩa bởi định tuyến tĩnh hay học được từ các giao thức định tuyến khác. Mạng được
chỉ định bởi lệnh ip default-network phải tồn tại trong bảng định tuyến trước khi lệnh
này có hiệu lực.
Hình 2-15
1 0 .x .x .x
1 9 2 .1 6 8 .1 .x
R e m o te s ite
R o u te r 1 R o u te r 2
D S 3 lin k
Trong hình trên, router 1 muốn đi đến mạng remotesite dùng tuyến đường mặc định
(default-route) thông qua R2. IGRP không nhận biết được route 0.0.0.0, do đó ta cần
cấu hình trên router 1 lệnh ip default-network 192.168.1.0 để chỉ định mạng
192.168.1.0 làm default route. Khi router ở remote site nhận thông tin về mạng
192.168.1.0, nó sẽ đánh dấu tuyến đường này là tuyến đường mặc định và thiết lập
route đi đến mạng 192.168.1.0 làm gateway of last resort.
Unequal-Cost Load Balancing với IGRP
IGRP và RIP cung cấp khả năng cân bằng tải đến 6 tuyến đường. IGRP còn có khả
năng hỗ trợ cân bằng tải trên các tuyến đường có chi phí không bằng nhau (unequal-
cost). Lợi ích của tính năng này là tăng khả năng linh động, sử dụng hiệu quả đường
truyền. IGRP sử dụng lệnh router(config-router)# variance để thực hiện cân bằng tải
unequal-cost.
variance = variance factor x local metric
R o u te r3
S0 1 5 4 4 k b p s
S0
R o u te r 1 R o u te r2
S1 2 5 6 k b p s S1
1 3 3 .3 3 .0 .0
Hình 2-16: Router 1 tính toán metric để đến router 3.
Metric đến Router 3 khi qua đường T1 (1544Kbps) là: IGRP metric = 6476 + 2100 =
8576. Metric đến Router 3 khi qua đường 256Kbps là: IGRP metric = 3902 + 2100 =
41162. Nếu không thực hiện cân bằng tải, IGRP sẽ chọn tuyến T1 để chuyển tiếp gói
tin đến router 3, bảng định tuyến trên router 1 sẽ như sau:
- Router_1#show ip route 133.33.0.0
Routing entry for 133.33.0.0/16
Known via "igrp 1", distance 100, metric 8576
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 192.168.6.2 on Serial0, 00:00:20 ago
Routing Descriptor Blocks:
* 192.168.6.2, from 192.168.6.2, 00:00:20 ago, via Serial0
Route metric is 8576, traffic share count is 1
Total delay is 21000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Khi sử dụng tính năng cân bằng tải unequal-cost. Metric qua tuyến 256 kbps lớn hơn
4.8 lần metric qua tuyến T1. Để sử dụng được tuyến 256 kbps cần sử dụng lệnh:
router(config-router)# variance 5
Khi đó, bảng định tuyến trên router 1 như sau:
Router_1#show ip route 133.33.0.0
Routing entry for 133.33.0.0/16
Known via "igrp 1", distance 100, metric 8576
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 10.1.1.2 on Serial1, 00:01:02 ago
Routing Descriptor Blocks:
* 192.168.6.2, from 192.168.6.2, 00:01:02 ago, via Serial0
Route metric is 8576, traffic share count is 5
Total delay is 21000 microseconds, minimum bandwidth is 1544 Kbit
- Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
10.1.1.2, from 10.1.1.2, 00:01:02 ago, via Serial1
Route metric is 41162, traffic share count is 1
Total delay is 21000 microseconds, minimum bandwidth is 256Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Ta thấy cổng Serial 0 có traffic share count là 5, Serial 1 có traffic share count là 1
nghĩa là router sẽ gửi 5 gói tin qua cổng serial 0 thì chỉ 1 gói tin được gửi qua cổng
serial 1.
Sự khác nhau giữa RIPv1 và IGRP
Metric của IGRP là một metric dạng hỗn hợp gồm băng thông, delay, tải, độ tin cậy,
MTU. Thật ra, mặc dù MTU được gán như một phần của metric, thông số này chỉ
dùng để theo dõi chứ không được dùng trong quá trình tính toán. Có thể cấu hình các
hệ số k sao cho tất cả các giá trị đều có thể dùng. Nếu tất cả các thành phần không
được dùng, hệ thống sẽ chỉ dùng giá trị băng thông và delay. Giá trị hop count của
IGRP là 100, có thể cấu hình thành 255. Mặc dù hop count không được dùng như
metric của IGRP, nó có thể được dùng để loại bỏ các gói đã tồn tại lâu trong mạng.
Thời gian cập nhật của IGRP là 90s. IGRP dùng cơ chế cân bằng tải unequal cost.
IGRP có dùng các giá trị AS, cho phép các mạng được mở rộng.
nguon tai.lieu . vn