19127580-Routing Loops

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Nguyễn Mác Tin MSSV: 19127580

- Distance vector là gì ?

Distance vector: RIP , IGRP. Hoạt động theo nguyên tắc “hàng xóm”, nghĩa
là mỗi router sẽ gửi bảng routing-table của chính mình cho tất cả các router
được nối trực tiếp với mình . Các router đó sau đó so sánh với bảng routing-
table mà mình hiện có và kiểm xem route của mình và route mới nhận được,
route nào tốt hơn sẽ được cập nhâtj. Các routing-update sẽ được gởi theo
định kỳ (30 giây với RIP, 60 giây đối với RIP- novell, 90 giây với IGRP). Do
đó, khi có sự thay đổi trong mạng, các router sẽ nhận biết được khúc mạng
nào bị down.

- Routing loop là gì ?
Như đã nói ở trên (DV : Distance Vector), giao thức DV khi cập nhật sẽ gửi
toàn bộ thông tin về routing table và gói tin cập nhật này được gửi theo kiểu
broadcast, thời gian định kỳ là 30s. Cần lưu ý rằng, việc update này là định
kỳ sau mỗi 30s. Điều này dẫn đến việc bị loop (vòng lặp vô hạn). Routing
loop có thể gây sụp đổ toàn bộ hệ thống, làm cho router không có cái nhìn
chính xác về toàn mạng, làm sai quá trình routing.
Ví dụ việc loop:

Với mô hình mạng trên, ta giả sử rằng tất cả các router đã được routing và
biết thông tin vbeef Network 5 thông qua routerE. Khi Network 5 có vấn đề
và bị down, nó sẽ nói cho routerC biết và không routing các packet đến
Netửok5 thông qua routerE nữa. Nhưng các routers A,B,D thì hoàn toàn
không biết gì hết, chúng vẫn tiếp tục việc routing và update cho nhau.
RouterC cũng sẽ gửi qua routerB, nói rằng Network5 đã down và không
routing đến Network5 nữa, nhưng routerA,D thì vẫn chưa biết đến việc này.
Với chúng, hiện tại vẫn có mội route đến Network5 với metric là 3.
Vấn đề ở đây là, sau mỗi 30s, routerA sẽ update thông tin và thông tin của
nó. Như vậy, routing table của routerA cũng nói lên rằng, routerA có thể
route được các packet đến các đích nằm trong routing table của nó, tất nhiên
là bao gồm cả thông tin là “vẫn có route để đến được network5”. Khi
routerB,D nhận được thông tin này, chúng sẽ lại “update” thông tin của
routerA vào trong routing table của mình, khi đó, nó sẽ hiểu rằng “nếu có
packet nào muốn đến network5 thì cứ route đến routerA để router A xử lý
tiếp”.
Như vậy, nếu có packet nào đến network5 thì tống đến router.A, trong
routerA thì lại nói là đưa packet đến routerB,D .. cuối cùng sẽ teaoj nên một
vòng lặp (loop)vô hạn.

- Các cách phòng chống :


o Split horizon:
Router B và D nhận update về N1(down) sẽ không gửi lại updatew về
N1( up, sau khi nhận được từ C) tới cho router A. Sokut horizon được
sử dụng để đảm bảo rằng thông tin về một route do một router phát ra
không quay lại chính nó . Ví dụ, khi network 1 chưa down, router E
gửi thông tin update đến router A. Router A sẽ không gửi lại thông tin
update đến N1 quay lại E vì nếu làm như thế, đương nhiên E sẽ không
dùng thông tin đó => lãng phí. Còn trong trường hợp route bị posion
=> do có split horizon, thông tin về route đến N1 không bị lặp đi lặp
lại trên link giữa A và E (count- to-infinitie)
Split horizon with Poison reverse: Bình thường, A không gửi lại cho E
thông tin về route đến N1 với metric là infinite.
o Hold down timer:
Khi router nhận được thông tin về một route là unreachable, router sẽ
đánh dấu route đó và đặt nó vào trạng thái hold-down (Router đặt bộ
định thời = thời gian hold-down). Trong thời gian hold-down, router
vẫn tiếp tục dùng route đó để forward gói tin, nhưng sẽ bỏ qua tất cả
các thông tin về route với thông số metric bằng hoăc xấu hơn metric
router đang có về route đó .
Hold-down timer bị reset khi thời gian hold-down đã hết, hoặc router
nhận được thông tin về route với metric tốt hơn metric nó đang giữ.
Ví dụ: Khi A nhận được thông tin route đến N1 bị down, hold-down
timer cho route đó được thiết lập. Tương tự với B, D. Do đó khi D
nhận được update từ C, vì metric mà C gửi lớn hơn (xấu hơn) metric
D đang có về route N1 nên D bỏ qua ==> Không còn loop

o Posion reverse update:


Khi router nhận được thông tin về một route là unreachable, router sẽ
đánh dấu route đó và đặt nó vào trạng thái hold-down (Router đặt bộ
định thời = thời gian hold-down). Trong thời gian hold-down, router
vẫn tiếp tục dùng route đó để forward gói tin, nhưng sẽ bỏ qua tất cả
các thông tin về route với thông số metric bằng hoăc xấu hơn metric
router đang có về route đó .
Hold-down timer bị reset khi thời gian hold-down đã hết, hoặc router
nhận được thông tin về route với metric tốt hơn metric nó đang giữ.
Ví dụ: Khi A nhận được thông tin route đến N1 bị down, hold-down
timer cho route đó được thiết lập. Tương tự với B, D. Do đó khi D
nhận được update từ C, vì metric mà C gửi lớn hơn (xấu hơn) metric
D đang có về route N1 nên D bỏ qua ==> Không còn loop
- Trigger Update:
Trigger updates là bản update được gửi ngay khi có route bị fail,
không cần chờ đến thời gian định kỳ để gửi update.

You might also like