Định tuyến động, thuật toán định tuyến, giao thức RIP và OSPF DT7 Báo cáo bài tập lớn môn Mạng máy tính Viện điện tử viễn thông Đại học Bách Khoa Hà Nội
Trang 1Computer NetworksDynamic Routing : Distance Vector and Link State Protocol ,
Routing Algorithm , RIP and OSPF
Định tuyến động, thuật toán định tuyến, giao thức RIP và OSPF
Người thực hiện: Nguyễn Huy Thành
Chu Anh Dũng Bùi Thị Thanh Hường
Nội dung seminar
• Khái niệm cơ bản về định tuyến
• Thuật toán định tuyến
• Định tuyến động
Distance vector , RIP
Linkstate , OSPF
Tài liệu tham khảo :
1 Computer Networks - Andrew S Tanenbaum
2 Cisco Networking Academy Program
3 Wikipedia
4 Bài giảng nhập môn MMT – GV Hồ Đắc Phương ĐHQGHN
Trang 2Nội dung seminar
• Khái niệm cơ bản về định tuyến
• Thuật toán định tuyến
• Định tuyến động
Distance vector , RIP
Linkstate , OSPF
Tài liệu tham khảo :
1 Computer Networks - Andrew S Tanenbaum
2 Cisco Networking Academy Program
3 Wikipedia
Tài liệu tham khảo :
1 Computer Networks - Andrew S Tanenbaum
2 Cisco Networking Academy Program
3 Wikipedia
4 Bài giảng nhập môn MMT – GV Hồ Đắc Phương ĐHQGHN
5 Internet resources
Khái niệm cơ bản về định tuyến
• Định tuyến là một chức năng không thể thiếu được trong mạng viễn thông
trong quá trình thực hiện đấu nối các cuộc gọi trong mạng, và nó cũng được
coi là phần trung tâm của kiến trúc mạng, thiết kế mạng và điều hành mạng
Việc định tuyến được thực hiện bởi 1 thiết bị mạng được gọi là Router
• Định tuyến giúp ta có thể trao đổi thông tin giữa các máy ở cách xa nhau
Trang 3• Định tuyến : là phương thức tổ chức các đường đi từ 1 mạng
này đến các mạng khác.
• Router : thực hiện định tuyến , tìm đường tốt nhất và lọc các
gói tin (packet)!Để thực hiện định tuyến , 1 router cần biết :
o Địa chỉ đích (nơi nó gửi packet)
o Tài nguyên (thông tin) mà router học được từ các mạng khác
mà nó biết
o Cách để duy trì hoạt động của router (duy trì bảng định tuyến)
o Phương pháp để tìm đường
Path Selection ÆThe best Route
Có rất nhiều đường để đi từ nhà đến trường!Nhưng đâu là đường đi an toàn
nhất ,nhanh nhất , đáng tin cậy nhất!?
Trang 4Path Selection ÆThe best Route
Câu hỏi tương tự cũng đặt ra cho việc định tuyến dữ liệu !
Để truyền dữ liệu cho PC2 , PC1 phải truyền dữ liệu cho R1, R1 sẽ
gửi cho R2 , sau đó R2 sẽ gửi cho R3 , và cuối cùng là Pc2.Cách
thức gửi gói tin ở mỗi thiết bị là ko như nhau , chúng biến đổi rất
mềm dẻo
Layer 3 Protocol
Định tuyến hoạt động ở lớp 3 trong mô hình OSI, dựa trên nền địa chỉ IP
Trang 5Các thành phần,khái niệm liên quan đến định tuyến
9 Bảng định tuyến : dùng để lưu các địa chỉ mạng mà router
biết
9 Thông số định tuyến (Routing metrics):các giao thức định
tuyến dựa vào metric để lựa chọn đường đi cho router , mỗi
giao thức có cách tính metric riêng , RIP dựa vào số hop ,
OSPF dựa vào cost.
9 Giao thức định tuyến (routing protocols):router sd các giao
thức định tuyến để duy trì bảng định tuyến và trao đổi thông
tin với các router lân cận
Vd: RIP , OSPF , IGRP , EIGRP
9 Convergence time (thời gian hội tụ ):
Khoảng thời gian tính từ lúc router mất 1 tuyến và tìm được
tuyến khác để thay thế gọi là Convergence time
Tham khảo : http://vi.wikipedia.org/wiki/Routing
Bảng định tuyến và thông số định tuyến
Network Protocol
Destination Network Connected
Learned
10.120.2.0
172.16.1.0
Exit Interface E0
S0
Routed Protocol: IP
Nhiệm vụ của router là học về các mạng mà nó
không trực tiếp kết nối
172.16.1.0 10.120.2.0
E0 S0
Trang 6Giao thức định tuyến
9Giao thức định tuyến trong :Interior Gateway Protocol(IGP)
vd : RIP , OSPF
9Giao thức định tuyến ngoài : Exterior Gateway Protocol (EGP)
vd: Border Gateway Protocol (BGP)
Phân loại định tuyến
Định tuyến tĩnh : người quản trị
mạng tự cấu hình và thiết lập
đường đi cho router
Định tuyến động: các giao thức định tuyến sẽ tự động lựa chọn đường đi cho mô hình mạng dựa trên thông tin , trạng thái của mạng
• 2 loại :
Trang 7Định tuyến tĩnh
•Định tuyến tĩnh:đường đi được xác định trước , ko thay đổi trong quá trình
định tuyến, định tuyến tĩnh sử dụng trong các mạng có ít máy ,việc cấu hình
là đơn giản
•Người quản trị sẽ cấu hình định tuyến tĩnh bao gồm : các mạng đích sẽ đến
thông qua interface nào !Cũng như định tuyến động , mục đích của việc cấu
hình (configuring) cho router là đưa các tuyến vào bảng định tuyến.Router
chỉ gửi các gói tin tới các địa chỉ đích có trong bảng định tuyến
•Nhược điểm : kém linh động , không thích nghi được với sự thay đổi của
mạng
Định tuyến động
•Định tuyến động : các router sử dụng các giao thức định tuyến để gửi
thông tin định tuyến cho các router mà nó biết, các router khác sẽ cập nhật
các thông tin định tuyến,và tiếp tục gửi đi các thông tin định tuyến của nó
cho các router lân cận, quá trình diễn ra liên tiếp tạo ra các tuyến thông
suốt kết nối các mạng với nhau
• Định tuyến động sử dụng trong các mạng có số lượng thiết bị lớn
Trang 8Phân loại định tuyến động
Để tránh các hiện tượng routing loop(lặp đường đi) người ta phải kết
hợp với các thuật toán định tuyến để đưa ra các giao thức định
tuyến.Dựa vào cơ chế hoạt động của giao thức định tuyến , người ta
chia định tuyến động ra làm 2 loại cơ bản :
+ Distance Vector vd : RIP, IGRP
+ Link-State vd : OSPF , IS-IS
Nội dung seminar
• Khái niệm cơ bản về định tuyến
• Thuật toán định tuyến
• Định tuyến động
Distance vector , RIP
Linkstate , OSPF
Trang 9Thuật toán định tuyến
• Thuật toán định tuyến có nhiệm vụ quyết định đường đi
cho gói tin
z
22
1
12
53
5
• Network = Graph = G(N,E)
• N = tập hợp các routers = { u, v, w, x, y, z }
• E = tập các đường nối giữa các routers
= { (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
• Trọng số = chi phí (cost): độ trễ, độ nghẽn mạng, cước phí…
• Đường đi tốt = đường đi có “chi phí” thấp nhất
Phân loại thuật toán định tuyến
Thông tin tập trung hay phân tán?
Tập trung:
• mỗi router phải nắm giữ thông
tin toàn bộ mạng (topology, link
cost…)
• “link state” algorithms
Phân tán:
• router nắm được chi phí truyền
tin tới các router được nối trực
tiếp với mình (hàng xóm)
• quá trình tính toán mang tính
chất lặp đi lặp lại, trao đổi thông
tin giữa các routers
• “distance vector” algorithms
• link cost thay đổi
Trang 10A Link-State Routing Algorithm
• Giải thuật SPF(hay còn gọi là Giải thuật Dijkstra):
– tất cả các nút mạng có thông tin như nhau về các liên kết của
toàn bộ mạng.
– cho phép tìm đường đi từ một nút tới tất cả các nút còn lại.
• Ký hiệu:
– c(i,j): chi phí phải trả để đi từ i tới j (trực tiếp)
– D(v): giá trị hiện tại của chi phí phải trả để đi từ đỉnh xuất phát tới
đỉnh v.
– p(v): đỉnh trước đỉnh v trên đường đi ngắn nhất
– N: tập hợp đỉnh mà đường đi ngắn nhất đã được xác định.
Dijkstra’s algorithm: example
D(C),p(C) 5,A 4,D 3,E 3,E
D(D),p(D) 1,A D(E),p(E) ∞
2,D
D(F),p(F)
∞
∞ 4,E 4,E 4,E
A
E D
C B
F
22
1
12
53
5
Trang 11Distance Vector Routing Algorithm
Distance Table data structure
chi phí cho đường đi (XÆZÆ…ÆY)
Z là nút kế tiếp cần đi tới c(X,Z) + min {D (Y,w)}Z
D 5 5 4 2
E cost to destination via
A,1 D,5 D,4 D,4
Trang 12Distance Table: example
A
C B
A 1 7 6 4
B 14 8 9 11
D 5 5 4 2
E cost to destination via
• Thông tin dẫn đường của nút nàyđược sử dụng bởi nút khác
– Một nút gặp sự cố có thể gây ảnh hưởng tới các nút khác.
Trang 13Other routing algorithms
• Routing in Ad-hoc networks
• Routing in Mobile Systems
Nội dung seminar
• Khái niệm cơ bản về định tuyến
• Thuật toán định tuyến
• Định tuyến động
Distance vector , RIP
Linkstate , OSPF
Trang 14Distance Vector Routing Protocols
• Pass periodic copies of routing table to neighbor routers and accumulate distance vectors
Routing Table Routing Table
Routing Table Routing Table
Routing Table Routing Table
Routing Table
Distance—How Far
Vector—In Which Direction
Distance—How Far
Vector—In Which Direction
Duy trì thông tin bảng định tuyến
Updates proceed step-by-step
from router to router.
A B
Process to Update This Routing Table
Topology Change Causes Routing Table Update
Router A Sends Out This Updated Routing Table After the Next Period Expires
Trang 15Process ( step)
9 Router lưu các mạng kết nối trực tiếp với nó vào bảng định tuyến mà không
cần thông qua giao thức định tuyến
9 Routers gửi các bản tin update ra các interface của nó để quảng bá các mạng
mà nó biết.Những mạng này bo gồm các mạng kết nối trực tiếp với nó và các
mạng mà nó học được từ các router khác
9 Router nghe các bản tin routing update từ các hàng xóm để nó có thể học
thêm các tuyến mới
9 Các bản tin định tuyến bao gồm subnet number (địa chỉ mạng) và các metric
Metric xác định tuyến nào là tốt , metric càng thấp thì tuýen đó càng tốt
9 Khi có thể , router sử dụng các bản tin broadcast và multicast để gửi các
routing update.Bằng việc sử dụng các bản tin broadcast hay multicast , tất cả
các hàng xóm trong mạng LAN có thể nhận được 1 thông tin định tuyến như
nhau từ 1 bản tin update
9 Nếu router học được nhiều tuyến tới cùng 1 mạng , thì nó sẽ chọn tuyến dựa
trên metric
9 Router gửi các bản tin update định kỳ và cũng đợi để nhận các bản tin update
định kỳ từ các router khác
9 Nếu sau 1 khoảng thời gian nhất định mà router không nhận đươợ bản tin
update từ hàng xóm thì nó sẽ loại bỏ tuyến mà nó đã học được từ router đó
E0 S0 S0
1 2 10.1.0.0
10.2.0.0 10.4.0.0
0 0
10.3.0.0
10.2.0.0
0 0
Routing Table 10.2.0.0 S0
S1 S1 S0
1 1 10.1.0.0
10.4.0.0 10.3.0.0
0 0
Trang 16Maintaining Routing Information Problem—
E0 S0 S0
1 2 10.1.0.0
10.2.0.0 10.4.0.0
0 0
10.3.0.0
10.2.0.0
0 0
Routing Table 10.2.0.0 S0
S1 S1 S0
1 1 10.1.0.0
10.4.0.0 10.3.0.0
0 0
Maintaining Routing Information Problem—
Routing Loops (cont.)
Maintaining Routing Information Problem—
Routing Loops (cont.)
• Slow convergence produces inconsistent routing
Routing Table 10.3.0.0 S0
E0
S0 S0
1 2 10.1.0.0
10.3.0.0
10.2.0.0
0 0
Routing Table 10.2.0.0 S0
S1 S1 S0
1 1 10.1.0.0
10.4.0.0 10.3.0.0
0 0
Trang 17• Router C concludes that the best path to network
10.4.0.0 is through router B.
Maintaining Routing Information Problem—
Routing Loops (cont.)
Maintaining Routing Information Problem—
Routing Loops (cont.)
Routing Table 10.3.0.0 S0
S0
S0 S0
1 2 10.1.0.0
10.3.0.0
10.2.0.0
0 0
Routing Table 10.2.0.0 S0
S1
S1
S1
1 1 10.1.0.0
10.4.0.0
10.3.0.0
0 0
• Router A updates its table to reflect the new but
erroneous hop count.
Maintaining Routing Information Problem—
Routing Loops (cont.)
Maintaining Routing Information Problem—
Routing Loops (cont.)
Routing Table S0
S0
S0 S0
1 2
10.3.0.0
10.1.0.0 10.2.0.0
Routing Table S0 S1
S1
S0
3 1
Trang 18Symptom: Counting to Infinity
• Packets for network 10.4.0.0 bounce between routers A, B, and C
• Hop count for network 10.4.0.0 counts to infinity
Routing Table 10.3.0.0 S0
S0
S0 S0
1 2 10.1.0.0
Routing Table S0 S1
S1
S0
5 1
Solution: Defining a Maximum
• Define a limit on the number of hops to prevent infinite loops
Routing Table 10.3.0.0 S0
S0
S0 S0
1 2 10.1.0.0
Routing Table S0 S1
S1
S0
16 1
Trang 19Solution: Split Horizon
• It is never useful to send information about a route back in the direction from which the original packet came
X X
Routing Table 10.3.0.0 S0
S0 S0 S0
1 2 10.1.0.0
10.2.0.0 10.4.0.0
0 0
Routing Table S0 S1 S1 E1
1 2
10.2.0.0
10.1.0.0 10.4.0.0 10.3.0.0
0 0
Solution: Route Poisoning
• Routers set the distance of routes that have gone down to infinity
Routing Table 10.3.0.0 S0
S0 S0 S0
1 2 10.1.0.0
10.2.0.0 10.4.0.0
0 Infinity
10.3.0.0
10.2.0.0
0 0
Routing Table 10.2.0.0 S0
S1 S1 E1
1 2 10.1.0.0
10.4.0.0 10.3.0.0
0 0
Trang 20Solution: Poison Reverse
• Poison reverse overrides split horizon
Routing Table 10.3.0.0 S0
S0 S0 S0
1 2 10.1.0.0
10.2.0.0 10.4.0.0
0 Infinity
10.3.0.0
10.2.0.0
0 0
Routing Table 10.2.0.0 S0
S1 S1 E1
Possibly Down Possibly Down
2 10.1.0.0
10.4.0.0 10.3.0.0
0 0
Poison Reverse
Solution: Holddown Timers
• The router keeps an entry for the network possibly down state, allowing
time for other routers to recompute for this topology change
Network 10.4.0.0 Is Down Then Back Up Then Back Down
Update After Holddown Time
Update After Holddown Time
Trang 21Solution: Triggered Updates
• The router sends updates when a change in its routing table occurs
RIP(Routing Information Protocol)
• RIP là 1 giao thức định thuyến thuộc loại Distance Vector nên
nó có mọi đặc điểm của giao thức Distance Vector như : thuật
toán , cơ chế chống loop , cơ chế cập nhật bảng định tuyến
• Sử dụng thuật toán Distance Vector để tìm đường
• Được sử dụng trong hầu hết những ứng dụng LAN-to-LAN
Giao thức RIP trao đổi thông tin định tuyến giữa những router.
• Metric của nó tính bằng Hop count : số lượng chặng
• Nếu số Hop count bằng 15 thì gói tin gửi đi sẽ bị hủy bỏ
• Bản tin routing update sẽ được gửi đi tuần tự sau mỗi 30 giây
Trang 2219.2 kbps
T1
– Maximum is 6 paths(default = 4)
– Hop-countmetric selects the path
– Routes update every 30 seconds
RIP Overview
RIPv1 vs RIPv2
• RIP Version 1 (RIPv1) requires that all devices in the
network use the same subnet mask, because it does not
include subnet mask information in routing updates This
is also known as classful routing
• RIP Version 2 (RIPv2) provides prefix routing, and does
send subnet mask information in routing updates This is
also known as classless routing
• With classless routing protocols, different subnets within
the same network can have different subnet masks The
use of different subnet masks within the same network is
referred to as variable-length subnet masking (VLSM).
Trang 24RIP’s Routing Table
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
U - per-user static route, o - ODR
T - traffic engineered route Gateway of last resort is not set
• Bản tin routing update gửi đi định kỳ, mỗi khi gửi router
gửi đi toàn bộ thông tin bảng định tuyến mà nó có
• RIP là 1 giao thức định tuyến Distance Vector
• Các phương pháp chống routing loop:
Trang 25Nội dung seminar
• Khái niệm cơ bản về định tuyến
• Thuật toán định tuyến
Trang 26LinkState Overview
• LinkState và Distance Vector đều có điểm chung là điền
vào bảng định tuyến những tuyến đường tốt nhất , chỉ
khác nhau ở cách chúng thực hiện việc Khác biệt lớn
nhất giữa chúng là :
• Distance vector protocols chỉ biết về 1 router khác nếu
nó nhận được 1 bản tin quảng bá về router ấy Bản tin
update của giao thức distance vector không nói gì về
router hàng xóm của router gửi Trong khi đó,giao thức
link-state quảng bá một thông tin lớn về mạng ,về topo
của mạng,khi đó router đòi hỏi phải có bộ nhớ lớn
Process (step)
1 Mỗi router tìm ra hàng xóm của nó thông qua mỗi
interface.Danh sách các router hàng xóm được giữ
trong bảng neighbor table
2 Mỗi router sử dụng các giao thức tin cậy để trao đổi
thông tin về topo mạng (LSAs) với các hàng xóm của
mình.
3 Mỗi router đặt các thông tin về topo mạng mà nó học
được vào 1 bảng gọi là topology table (hay topology
database)
4 Mỗi router sử dụng thuật toán SPF dựa trên bảng
topology database của nó để tính ra tuyến tốt nhất tới
mỗi mạng trong database
• Mỗi router tiếp tục đặt các tuyến tốt nhất vào bảng định
Trang 27Ưu và nhược điểm của LinkState
9Thời gian hội tụ nhanh ,thay
đổi ngay lập tức khi cosự tác
động của nguồn
9Nó bao gồm cơ chế chống
routing loop trong thuật toán
9Router biết được topo của
9Đòi hỏi admin phải có kiến thức nhiều về mạng
Ưu điểm Nhược điểm
OSPF(Open Shortest Path First)
• Là chuẩn mở, sử dụng thuật toán SPF
• OSPF : l à 1 giao thức link-state phát triển bởi tổ chức
Internet Engineering Task Force (IETF) v ào năm 1988.
• OSPF được phát minh ra để đáp ứng đòi hỏi về 1 hệ thống
mạng lớn , ổn định mà RIP không có Trong khi EIGRP có
thể cấu hình dễ hơn nhưng chỉ hoạt động trên thiết bị
(router)của hãng Cisco
• OSPF không có giới hạn về metric (cost)