ThS Âu Bửu Long
1
Mạng máy tính nâng cao-V1
Router Router
(cid:1) Chuyển gói tin giữa các mạng mà nó
kết nối đến.
(cid:1) Hoạt động trên tầng 3 của mô hình
OSI.OSI.
(cid:1) Các router dùng các cơ chế khác nhau để xác định đường đi tốt nhất trên mạng.
(cid:1) Router có thể liên kết các loại mạng
khác nhau.
2
Mạng máy tính nâng cao-V1
Phân loại định tuyến Phân loại định tuyến
(cid:1) Định tuyến tĩnh
(cid:1) Định tuyến động ◦ Distance Vector ◦ Link state
3
Mạng máy tính nâng cao-V1
DISTANCE VECTOR DISTANCE VECTOR ROUTING ROUTING ROUTING ROUTING
Định nghĩa khoảng cách bằng số node trung gian
Vector khoảng cách Vector khoảng cách
(cid:1) Mỗi router khi muốn gởi gói tin đến router khác thì cần có thông tin về địa chỉ mạng và cổng vật lý tương ứng. (cid:1) Bên cạnh đó còn có khoảng cách, (cid:1) Bên cạnh đó còn có khoảng cách, được tính là số router trên đường đi. (cid:1) Bảng các giá trị khoảng cách này được trao đổi giữa các router khi cần thiết.
5
Mạng máy tính nâng cao-V1
Vector khoảng cách Vector khoảng cách
N4
N5
N1
0
1*
N2
1
2
N1 N1
R3 R3
N2
2
3
3
1
N3
1
2
R1
N3
2
3
2
N4
1
3
N4
2
2
N2
N3
R2
N5
1
3
N5
2
2
Destination Distance Port
Bảng vector khoảng cách Bảng vector khoảng cách
(cid:1) Bảng định tuyến được khởi tạo động ◦ Router khởi tạo bảng dựa vào các mạng kết nối trực tiếp, khoảng cách bằng 0 ◦ Các router trao đổi bảng định tuyến với
nhau định kỳ. (cid:2) Nếu router kề (GS là R2) quảng bá đường định tuyến đến mạng N với khoảng cách D, thì ta có khoảng cách đến N là D+1
(cid:2) Router nhận sẽ cập nhật lại bảng định tuyến với đường đi đến mạng N là qua port nối với router R2 với khoảng cách D+1
7
Mạng máy tính nâng cao-V1
Cập nhật bảng định tuyến Cập nhật bảng định tuyến
8
Mạng máy tính nâng cao-V1
Distance Vector Tables Distance Vector Tables
N1
Dest Distance Route
N1 0 1
N4
N2 0 2
1 1
1
N3 0 3
4 T1
3 T1 T1 T1
R1
R2
N2
2
2
3
N5
Dest Distance Route
1 N4 0
N3
2 N5 0
Distance Vector Tables Distance Vector Tables
N1
Dest Distance Route
N1 0 1
N2 0 2
N4
1 1
1
N3 0 3
4 T2
T2 T2
3 T2
N2
R1
R2
2
2
3
0
1
N4
N5
0
2
N5
1
3
N1
1
3
N2
N3
1
3
N3
Distance Vector Tables Distance Vector Tables
N1
1
N1 0
2
N2 0
3
N3 0
4
N4 1
N4
4 4
N5 1 N5 1
1 1
1
3
4
R1
N2
R2
2
2
N4 0
1
3
N5 0
2
N5
N1 1
3
N2 1
3
N3 1
3
N3
Ví dụ Distance Vector Ví dụ Distance Vector
Welcome to Bobton Population: 1
Leamington 86 → Essex 21 ↑ Essex 21 ↑ Windsor 46 ←
Whoohoo! A friend!
RIPRIP
Routing Information Protocol
Hoạt động của RIP Hoạt động của RIP
(cid:1) Là một loại định tuyến dựa trên vector
khoảng cách
(cid:1) Các node trong mạng đươc chia
thành 2 loại: ◦ Active node: ◦ Active node:
(cid:2) Là routers, nhận quảng bá của láng giềng để
xây dựng bảng định tuyến.
(cid:2) Quảng bá thông tin định tuyến của chính mình
◦ Passive node:
(cid:2) Thường là các máy tính, chỉ nhận mà không
quảng bá đi.
14
Mạng máy tính nâng cao-V1
Hoạt động của RIP Hoạt động của RIP
(cid:1) Cả active và passive node đều cập
nhật bảng định tuyến của mình bằng các gói quảng bá từ các node khác (cid:1) Các mẫu tin đường đi với khoảng (cid:1) Các mẫu tin đường đi với khoảng cách ngắn hơn sẽ được cập nhật ◦ Các đường đi cùng khoảng cách không
được cập nhật.
15
Mạng máy tính nâng cao-V1
Định dạng gói tin RIP Định dạng gói tin RIP
octets
Cho biết gói tin hỏi hay trả lời
command
1
version
1 1
reserved
2
address family ID
2
address
14
metric
4
Lặp lại ứng với từng mẫu tin
Gói hỏi & trả lời Gói hỏi & trả lời
(cid:1) Gói hỏi: Được gởi bởi router khi thông
tin hết hạn (cid:1) Gói trả lời:
◦ Gởi trả lời cho gói hỏi ◦ Gởi trả lời cho gói hỏi ◦ Gởi định kỳ ◦ Gởi khi có thay đổi về mạng
17
Mạng máy tính nâng cao-V1
Ví dụ: Vấn đề với DV Ví dụ: Vấn đề với DV
(cid:1) Xét mô hình mạng như bên dưới:
1 1
1 1
2
1 1
A A
2B B
C C
Dest Dist Port Dest Dist Port Dest Dist Port
B 1 1 A 1 1 A 2 1
C 2 1 C 1 2 B 1 1
Ví dụ: Vấn đề với DV Ví dụ: Vấn đề với DV
(cid:1) Khi link giữa B và C bị đứt? (cid:1) B sẽ nhận ra trước tiên và cố tìm đường
khác đi đến C
1
1
1
2 X
A
B
C
Dest Dist Port Dest Dist Port Dest Dist Port
B 1 1 A 1 1 A 2 1
C 2 1 C 1 2 B 1 1
Ví dụ: Vấn đề với DV Ví dụ: Vấn đề với DV
(cid:1) B sẽ hỏi router lên cận (A) (cid:1) A sẽ trả lời???
◦ A tra bảng định tuyến của mình để tìm đường đến
C
1
1
1
2 X
A
B
C
Dest Dist Port Dest Dist Port
B 1 1 A 1 1
C 2 1 C ? ?
Ví dụ: Vấn đề với DV Ví dụ: Vấn đề với DV
(cid:1) A có thông tin đường đến C với khoảng
cách là 2 ◦ Đường này đi thông qua link bị đứt, nhưng A không
biết.
(cid:1) B sẽ nhận thông tin (sai) rằng có thể đến C
thông qua A thông qua A ◦ B cập nhật đường đi với khoảng cách =3
1
1
1
2 X
A
B
C
Dest Dist Port Dest Dist Port
B 1 1 A 1 1
C 2 1 C 3 1
Ví dụ: Vấn đề với DV Ví dụ: Vấn đề với DV
(cid:1) G/s B muốn gởi gói tin cho C:
◦ B sẽ gởi sang A:
(cid:2) Như thông tin trong bảng định tuyến
◦ A sẽ gởi lại B... ◦ Dẫn đến lặp liên tục gói tin...
1
1
1
2 X
A
B
C
Dest Dist Port Dest Dist Port
B 1 1 A 1 1
C 2 1 C 3 1
Ví dụ: Vấn đề với DV Ví dụ: Vấn đề với DV
(cid:1) Bên cạnh đó, khi các gói tin cập nhật định tuyến được gởi, A và B có thể liên tục cập nhật khoảng cách sai đến C tăng dần. C tăng dần. (cid:1) Giải pháp:
◦ “Count to infinity” ◦ “Split Horizon”
23
Mạng máy tính nâng cao-V1
Count to Infinity Count to Infinity
(cid:1) Ví dụ đường đi đến host D
R1
R2
R3
D
Network
Count to Infinity Count to Infinity
(cid:1) G/s link giữa R1 và D fail?
◦ R1 nhận biết và tìm đường đi khác
R1
R2
R3
X
D
Network
Count to Infinity Count to Infinity
(cid:1) R2 quảng bá đường đến D (với distance 2) ◦ R1 không biết là đường này đi qua chính mình D.
?
R1
R2
R3
D
Network
Count to Infinity Count to Infinity
(cid:1) R1 cập nhật đường đến D
◦ Khoảng cách = 3 (2+1) ◦ Đường đi thông qua R2
?
R1
R2
R3
D
Network
D 3 …
Count to Infinity Count to Infinity
(cid:1) R2 cập nhật đường đi đến D (theo thông tin
từ R1) ◦ Khoảng cách sẽ là 4 (3+1) ◦ Vector khoảng cách được gởi cho R1
?
R1
R2
R3
D
Network
D 4 …
Count to Infinity Count to Infinity
(cid:1) R1 lại cập nhật thông tin đến D
◦ Khoảng cách 5 (4+1) ◦ ... V/v (đến giá trị ‘infinity’)
?
R1
R2
R3
D
Network
D 5 …
Count to Infinity Count to Infinity
(cid:1) Khi đến giá trị “infinity”, R2 xác nhận không tìm
được đường đến D qua R1
(cid:1) R2 tiếp tục dùng R3 để tìm đường đến D
R1
R2
R3
D
Network
?
Thời gian hội tụ Thời gian hội tụ
(cid:1) Mất nhiều thời gian hội tụ do:
◦ Các router mất nhiều thời gian tìm đường.
(cid:2) Một số router nhận biết đứt kết nối, số khác thì không (cid:1) Trong RIP, khoảng cách 16 được xem là
infinity infinity ◦ Kích thước mạng dùng định tuyến RIP bị giới
hạn.
Cơ chế Split Horizon Cơ chế Split Horizon
(cid:1) Để hạn chế đếm đến vô cùng:
◦ DV không gởi quảng bá đến port đã nhận.
(cid:1) Ví dụ:
◦ R1 quảng bá cho R2 đường đến D: (D,1) ◦ R2 nhận và tạo ra mẫu tin của mình: (D,2) ◦ R2 không quảng bá mẫu tin này lại cho R1 ◦ R2 không quảng bá mẫu tin này lại cho R1
(cid:2) Nhưng sẽ gởi đến các port khác.
R1
R2
R3
D
Network
?
Cơ chế Split Horizon Cơ chế Split Horizon
(cid:1) Vấn đề:
◦ Nguồn của mẫu tin cập nhật cũng phải được lưu lại ◦ Tuy nhiên, vẫn có thể bị “count to infinity” khi có nhiều
router.
Các cơ chế khác Các cơ chế khác
(cid:1) Hold down timer: Tăng tính ổn định khi
mạng đang hội tụ,
(cid:1) Poison Reverse: Router vẫn giữ mậu tin cho các mạng bị đứt kết nối, nhưng thay giá trị khoảng cách bằng infinity giá trị khoảng cách bằng infinity
Q&AQ&A
35
Mạng máy tính nâng cao-V1