You are on page 1of 65

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

BÀI GIẢNG MÔN

Kĩ thuật mạng truyền thông


(Fundamentals of Communications Networks)

Giảng viên: TS. Phạm Anh Thư


Điện thoại/E-mail: 0912528188, thupa80@yahoo.com, thupaptit@gmail.com
Bộ môn: Mạng viễn thông - KhoaViễn thông 1
Học kỳ/Năm biên soạn: II/ 2021-2022
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

ĐỊNH TUYẾN
Khái niệm Định tuyến
 Định tuyến là sự lựa chọn một con đường để truyền một đơn vị
dữ liệu từ trạm nguồn đến trạm đích trong một liên mạng.
 Chức năng định tuyến, được thực hiện ở tầng mạng, cho phép bộ
định tuyến đánh giá các đường đi sẵn có tới đích.
 Để đánh giá đường đi, định tuyến sử dụng các thông tin tôpô
mạng. Các thông tin này có thể do người quản trị thiết lập hoặc
nhờ các giao thức định tuyến.
 Đối với mạng hoạt động theo hướng phi kết nối, quyết định định
tuyến được thực hiện cho mỗi gói tin. Đối với các mạng hướng kết
nối, quyết định định tuyến được thực hiện một lần, tại thời điểm
thiết lập kênh.
 Định tuyến (Routing) khác với chuyển tiếp (Forwarding)!:
 Forwarding: Select the output path using routing table
 Routing: Management and updating the routing tables
Khái niệm Định tuyến

 Bảng định Tuyến


(Routing table): chứa
thông tin để Router có
thể chuyển tiếp gói tin
hướng tới đích
 Giao thức định tuyến:
Định nghĩa một tập các
quy tắc mà router sử
dụng khi liên lạc với các
router hàng xóm
Khái niệm Định tuyến

 Định tuyến trong


(Interior
Routing): RIP ,
IGRP , OSPF, EIGRP
...
 Định tuyến ngoài
(Exterior
Routing): BGP.
Thông tin bảng định tuyến

<Router>display ip routing-table
Routing Tables:
Destination/Mask proto pref Cost Nexthop Interface
0.0.0.0/0 STATIC 60 0 10.0.1.1 Ethernet1/0
1.0.0.0/8 RIP 100 1 10.0.1.1 Ethernet1/0
1.1.1.0/24 STATIC 60 0 10.0.1.1 Ethernet1/0
1.1.1.1/32 OSPF 10 2 10.0.1.1 Ethernet1/0
2.2.2.2/32 DIRECT 0 0 127.0.0.1 InLoopBack0
10.0.1.0/30 DIRECT 0 0 10.0.1.2 Ethernet1/0
10.0.1.2/32 DIRECT 0 0 127.0.0.1 InLoopBack0

Định tuyến
 Có hai kiểu định tuyến:
 Định tuyến tĩnh (Static - Non-Adaptive): thông tin
trong các bảng định tuyến được người quản trị
mạng tạo lập trực tiếp
 routes never update or update slowly over time
 Examples: Dijkstra, Flooding algorithm
 Định tuyến động (Dynamic - Adaptive):
 routes update more quickly use dynamic information of
current topology such as load, delay, …
 Examples: Distance Vector, Link State Routing
Định tuyến tĩnh

 Định tuyến tĩnh:


 Vì lý do an toàn
 Trường hợp chỉ
có một đường đi
duy nhất tới
mạng, tránh
được lưu lượng
cập nhật định
tuyến động
Định tuyến tĩnh
 Thông tin trong các bảng định tuyến được
người quản trị mạng tạo lập trực tiếp
 Ưu điểm: Không cần tốn băng thông cho quá trình trao
đổi thông tin định tuyến.
 Nhược điểm:Không thích ứng với sự thay đổi cấu trúc của
mạng. Các tuyến tĩnh được người quản trị cập nhật và
quản lý nhân công. Trong trường hợp tô pô mạng thay
đổi, người quản trị phải cập nhật lại tuyến tĩnh một cách
thủ công.
Định tuyến động

 Khắc phục nhược điểm của định tuyến tĩnh


Định tuyến động

 Sau khi người quản trị nhập các lệnh cấu hình
để khởi tạo định tuyến động, thông tin về tuyến
sẽ được cập nhật tự động mỗi khi nhận được
một thông tin mới từ liên mạng.
 Các thay đổi về tôpô mạng được trao đổi giữa
các router.
Định tuyến động
 Định tuyến động hoạt động linh hoạt hơn định
tuyến tĩnh khi mạng có sự thay đổi trạng thái:
 „Có sự cố
 „Khôi phục sau sự cố
 Các giao thức định tuyến động cũng có thể
chuyển lưu lượng từ cùng một phiên làm việc
qua nhiều đường đi khác nhau trong mạng để
có hiệu suất cao hơn. Tính chất này được gọi là
chia sẻ tải (load sharing)
Định tuyến động
 Sự thành công của định tuyến
động phụ thuộc vào hai chức năng
cơ bản của Router:
 „Duy trì bảng định tuyến

 „Chia sẻ tri thức cho các Router khác


dưới dạng các thông tin cập nhật định
tuyến
 Định tuyến động dựa vào các giao
thức định tuyến để chia sẻ tri thức
giữa các router.
Định tuyến động
 Trong phương pháp định tuyến động, một trong các
giao thức định tuyến được kích hoạt trong môi trường
liên mạng.
 „Các bộ định tuyến sẽ tự động trao đổi, cập nhật
thông tin định tuyến một cách tự động.
 „Dựa trên các thông tin định tuyến thu thập được, các
bộ định tuyến sẽ tự động xây dựng các thực thể trong
bảng định tuyến
 „Việc sử dụng định tuyến động cho phép các bộ định
tuyến thích ứng với việc thay đổi cấu trúc mạng.
So sánh định tuyến tĩnh và động

Định tuyến tĩnh Định tuyến động

Tính linh hoạt

Hiệu quả sử
dụng băng thông
cho định tuyến
Tính bảo mật

Cần sử dụng
giao thức định
tuyến
Q&A

b4
300 km 200 km
a5
200 km 400 km 150 km b3
100 km
150 km
A 200 km a4 400 km b5
100 km 200 km
100 km
200 km 300 km b2
100 km 150 km 200 km
a3 100 km
300 km
200 km a2 200 km
a1 b1
: Nút mạng 200 km
100 km
Q: Tìm đường đi từ A đến B với số
hopcount không vượt quá 5. B
Q&A

b4
a5 3 2 b3
1 4 2
2
2
A a4 b5
2 4 2

7 1 1 b2
1 2 1 2
a3 1
3
2 a2 2
a1 b1
: Nút mạng 2
1
Q: Tìm đường đi từ A đến B có giá
(cost) thấp nhất. B
Q&A

b4
5 5
a5
2 10 10 b3
10 10
a4 100
A 10
b5
3
10
10
2 5 10 b2
10 100
a3 5
5
2 a2 10
a1 b1
: Nút mạng 3
10

Q: Tìm đường đi từ A đến B để đảm bảo


băng thông ít nhất là 3(Mb/s), 10(Mb/s). B
Giải thuật định tuyến

 Khi một giao thức định tuyến cập nhật bảng định tuyến, mục
đích của nó là xác định đâu là thông tin tốt nhất để lưu trong
bảng định tuyến thông qua giải thuật định tuyến.
 Mỗi giải thuật định tuyến xác định thông tin tốt nhất theo cách
riêng của nó.
 „Giải thuật tạo ra một số, được gọi là giá trị metric, cho mỗi
đường qua mạng. Thường thì giá trị metric càng nhỏ thì đường
đi càng tối ưu.
 „Có thể tính toán các metric dựa trên một đặc tính đơn lẻ của
đường đi; hoặc cũng có thể tính các metric phức tạp hơn bằng
cách kết hợp nhiều đặc tính.
Giải thuật định tuyến

 Các metric được sử dụng phổ biến gồm:


 „Chiều dài đường đi (số hopcount/trạmtrung gian)
 „Độ tin cậy/khả dụng
 „Độ trễ định tuyến
 „Băng thông
 „Chi phí truyền thông
 „Trong một giao thức định tuyến cụ thể, chỉ
một hoặc một vài tham số được lựa chọn để
tính quãng đường.
Giải thuật định tuyến

 Căn cứ vào cách thức trao đổi thông tin và lựa


chọn đường đi ngắn nhất, có thể chia định
tuyến động thành 2 loại
 „Véc tơ khoảng cách dựa trên giải thuật Bellman-
Ford
 „Trạng thái liên kết dựa trên giải thuật Dijkstra
Nguyên lý tuyến tối ưu

Optimal path from I to K over J

I  d1 distance
 K
d2
d1 + d2 is minimal
J  d3
Other path from J to K
d3 > d2
Set of all optimal routes as
• from all sources d1 + d3 > d1 + d2
• to a given destination
is a tree: sink tree
Nguyên lý tuyến tối ưu

 Cây bao trùm nhỏ nhất (sink tree)


Destination
Định tuyến vector khoảng cách
(Distance Vector Routing)
 Định tuyến vector khoảng cách là một phương pháp định
tuyến đơn giản, hiệu quả và được sử dụng trong nhiều giao
thức định tuyến như RIP
 Vector khoảng cách được thiết kế để giảm tối đa sự liên lạc
giữa các Router. Bản chất của định tuyến vector khoảng cách
là một Router không cần biết tất cả các đường đi đến các
phân đoạn mạng, nó chỉ cần biết phải truyền một datagram
được gán địa chỉ đến một phân đoạn mạng đi theo hướng
nào.
Định tuyến vector khoảng cách
 Mỗi router
 Duy trì một bảng (vector) cho biết
khoảng cách tốt nhất tới đích
 Các bảng được cập nhật bởi việc trao
đổi thông tin với các neighbors.
 Mỗi router biết khoảng cách (chi phí)
đến các node kế cận
 Router trao đổi một cách có chu
kỳ các bảng định tuyến với các
node kế cận của nó.
 Dựa trên giải thuật Bellman-Ford
Định tuyến vector khoảng cách

 Thuật toán
 Tại mỗi bước trong một router:
 Nhận bảng định tuyến từ các hàng xóm
 Tính toán khoảng cách tới các hàng xóm
 Tính toán cập nhật lại bảng định tuyến
 Các đặc tính:
 Lặp
 Không đồng bộ
 Phân tán
Giải thuật Bellman-Ford
 Thuật toán gồm các bước sau:
 Mỗi nút tính khoảng cách giữa nó và tất cả các nút

khác trong hệ thống và lưu trữ thông tin này trong


một bảng.
 Mỗi nút gửi bảng thông tin của mình cho tất cả các

nút lân cận.


 Khi một nút nhận được các bảng thông tin từ các

nút lân cận, nó tính các tuyến đường ngắn nhất tới
tất cả các nút khác và cập nhật bảng thông tin của
chính mình.
Giải thuật Bellman-Ford
 Lặp: Tiếp diễn tới khi không có thông tin nào thay đổi
 Phân bổ: Mỗi nút truyền thông chỉ với hàng xóm trực tiếp
 Mỗi router duy trì:
 „Hàng cho mỗi đích khả thi
 „Cột cho mỗi hàng xóm trực tiếp tới nút
 „Mục trong hàng Y và cột Z của nút X: khoảng cách tốt nhất từ X tới Y
qua hop tiếp theo là Z
 „Chú ý: Để đơn giản, ở ví dụ này chỉ cho thấy khoảng cách
ngắn nhất tới đích.
 Mỗi nút thông báo các hàng xóm chỉ khi có đường đi giá
thành thấp nhất tới bất kỳ đích nào đó có thay đổi
 Khi đó hàng xóm lại thông báo tới hàng xóm của nó nếu cần.
36
Giải thuật Bellman-Ford
neighbor: j
1 C
B A B D
7
8 2
A A 1 14 5

destination: i
1 E D B 7 8 5
source 2
C 6 9 4
E’s neighbor A D 4 11 2
B’s neighbor E
Distance table: D(i, j)
B
D (A,C) node E, for dest. A via neighbor B: DE(A,B)

C E
A
D (A,B)=
B B
E c(E,B) = c(E,B) + min w{D (A,w)}

= 8 + 6 = 14
Định tuyến vector khoảng cách
 Ưu điểm:
 Đơn giản, dễ cấu hình
 Router ít tốn CPU và bộ nhớ
 Nhược điểm:
 Hội tụ chậm, dẫn đến việc sai lệch trong bảng định tuyến.
 Chiếm nhiều băng thông khi cập nhật do phải gửi toàn bộ bảng định
tuyến
 Tin tốt thì truyền nhanh, tin xấu thì truyền chậm
 Các thay đổi của tô-pô mạng không được ghi nhận nhanh do các cập
nhật được lan truyền theo từng nút một.
 Đếm dần đến vô cùng (nếu liên kết hỏng hoặc nút mạng hỏng làm
cho một nút bị tách khỏi một tập các nút khác, các nút này vẫn sẽ
tiếp tục ước tính khoảng cách tới nút đó và tăng dần giá trị tính được,
trong khi đó còn có thể xảy ra việc định tuyến thành vòng tròn)
Định tuyến vector khoảng cách
 Example: Propagation of good news
 The count-to-infinity problem
 A goes down after initially

After this A goes down


2+1

3+1
4+1
B thinks that there is a path to A thru C but
4+1
C itself go to A via B!

Counting will continuous to infinity

 If the metric is “Number of Hop”, Infinite can define as longest path+1


 If the metric is “delay”, there is no well-defined upper bound
Định tuyến trạng thái liên kết (Link State)

 Mỗi Router xây dựng bên trong nó


một sơ đồ cấu trúc mạng. Định kỳ,
mỗi Router cũng gửi ra mạng những
thông điệp trạng thái.
 Các Router sử dụng bản tin trạng
thái nhận được từ các Router khác
để xây dựng sơ đồ mạng. Khi một
Router chuyển tiếp dữ liệu, nó sẽ
chọn đường đi đến đích tốt nhất dựa
trên những điều kiện hiện tại.

40
Định tuyến theo trạng thái liên kết

 Trao đổi thông tin định tuyến


Định tuyến trạng thái liên kết (Link State)

 Mỗi router phải: Overview of algorithm:


 Khám phá ra các hàng xóm của nó và các địa chỉ mạng của
chúng
 Tính trễ hoặc chi phí (cost) tới mỗi hàng xóm của nó
 Tạo gói tin (packet) chứa khoảng cách này
 Gửi gói tin đó tới tất cả các router khác
 Tính toán đường đi ngắn nhất (shortest path) tới mọi
router khác
Định tuyến trạng thái liên kết
Algorithm:
 Khám phá ra các hàng xóm:
 Gửi các gói tin HELLO tới các hàng xóm (chu kỳ 10s,
40s không có trao đổi coi như liên kết bị hỏng)
Định tuyến trạng thái liên kết (Link State)

 Tính toán chi phí của liên kết Algorithm:


 Có thể tính trễ quay vòng của gói tin HELLO
 Dựa trên các thông tin được gửi trong gói tin trả lời
Định tuyến trạng thái liên
Algorithm:
 Xây dựng các gói tin về trạng thái liên kết, gồm
các thông tin: o When to build?
• periodically
 Địa chỉ gửi
• when significant events occur
 Số tuần tự và tuổi của gói tin
 Các hàng xóm và chi phí đến hàng xóm đó
Định tuyến trạng thái liên kết
Algorithm:
 Tính toán đường đi ngắn nhất tới các đích
 Với đầy đủ các thông tin về liên kết, router có thể:
 Xây dựng lên topo hoàn chỉnh
 Sử dụng thuật toán Dijkstra để tính toán đường đi ngắn
nhất tới tất cả các đích
 Đối với các mạng lớn
 Bộ nhớ lưu trữ lớn
 Thời gian tính toán lâu
Giải thuật Dijkstra
 Thuật toán Dijkstra xây dựng cấu trúc dữ liệu dạng
cây, trong đó node hiện tại là gốc, và chứa mọi node
khác trong mạng.
 Bắt đầu với một cây ban đầu chỉ chứa chính nó. Sau
đó lần lượt từ tập các node chưa được thêm vào cây,
nó sẽ thêm node có chi phí thấp nhất để đến một
node đã có trên cây. Tiếp tục quá trình đến khi mọi
node đều được thêm.
 Cây này sau đó phục vụ để xây dựng bảng định tuyến,
đưa ra bước truyền kế tiếp tốt ưu, … để từ một node
đến bất kỳ node khác trên mạng.
47
Giải thuật Dijkstra
 Các node có cấu hình mạng, chi phí liên kết cho các
liên kết trong cấu hình đó
 Chi phí liên kết (link cost) là một hàm của:

 Số chặng, khoảng cách, lưu lượng trung bình, trễ, …


 Tính toán đường đi ngắn nhất (ít chi phí nhất) từ
một node (‘source”) tới tất cả các node khác
 Tạo ra bảng định tuyến (routing table) cho node

đó
 Lặp lại: sau k lần lặp lại, sẽ tính được tuyến ngắn
nhất tới k đích
Giải thuật Dijkstra
5 5
 Ký hiệu: 3 C
B
 N: Tập các node trong mạng 2 5
A 3 1
 c(i,j): chi phí liên kết (link cost) 23 F
từ node i tới j. Nếu I và j không 1 2
kết nối trực tiếp với nhau thì D E
1
c(i,j) nhận giá trị vô cùng
Example: N: A, B, C, D, E, F
 p(v): các node dọc theo tuyến C(A,C)=5; C(C,A)=5
từ nguồn tới v C(B,D)=2; C(D,B)=3

 D(v): Giá trị hiện tại của chi phí
Source=A
tuyến từ nguồn tới đích V
p(F): A-D-E-F
D(F)=4
Giải thuật Dijkstra

50
51
52
53
54
55
56
Giải thuật Dijkstra
 Example: computes least cost paths from node A to all other nodes

Step start N D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)


0 A 2,A-B 5,A-C 1,A-D infinity infinity
1 AD 2,A-B 4,A-D-C 1,A-D 2,A-D-E infinity
2 ADE 2,A-B 3,A-D-E-C 1,A-D 2,A-D-E 4,A-D-E-F
3 ADEB 2,A-B 3,A-D-E-C 1,A-D 2,A-D-E 4,A-D-E-F
4 ADEBC 2,A-B 3,A-D-E-C 1,A-D 2,A-D-E 4,A-D-E-F
5 ADEBCF 2,A-B 3,A-D-E-C 1,A-D 2,A-D-E 4,A-D-E-F

5
D(v): Distance (cost) of A to v. 3
P(v): nodes along path fromA to v. B C
2 5
A 3 1
2 F
1 2
D E
1
Giải thuật Dijkstra

 Thảo luận:
 Độ phức tạp thuật toán:
 Giả sử có n nodes, trừ node nguồn
 Vòng lặp đầu tiên: Tìm qua n nodes để xác định node có giá trị nhỏ nhất, w.
 Vòng lặp thứ hai: Kiểm tra n-1 nodes để xác định node có giá trị nhỏ nhấ.
 Vòng lặp thứ ba: n-2 nodes, ...
 Tổng số nodes được tìm: n(n+1)/2
 Như vậy khi n lớn, thuật toán sẽ trở lên phức tạp
Ưu nhược điểm của định tuyến LS

 Ưu điểm chính của định tuyến bằng trạng thái kết nối là
phản ứng nhanh nhạy hơn, và trong một khoảng thời gian
có hạn, đối với sự thay đổi kết nối
 Gói được gửi qua mạng trong định tuyến bằng trạng thái
liên kết thì nhỏ hơn những gói dùng trong định tuyến bằng
vector. Định tuyến bằng vector đòi hỏi bảng định tuyến
đầy đủ phải được truyền đi, trong khi định tuyến bằng
trạng thái kết nối thì chỉ có thông tin về “hàng xóm” của
node được truyền đi. Vì vậy, các gói này dùng tài nguyên
mạng ở mức không đáng kể.
 Khuyết điểm chính của định tuyến bằng trạng thái liên kết
là nó đòi hỏi nhiều sự lưu trữ và tính toán để chạy hơn
định tuyến bằng vector.
Định tuyến phân cấp (1)
 Hai vấn đề cần xem xét khi mạng có số lượng lớn router:
 Phạm vi (scale): Khi số lượng các router lớn, khối lượng thông tin phải
tính toán, lưu trữ và trao đổi giữa các bảng chứa thông tin định tuyến trên
mỗi router (ví dụ các cập nhật về đường đi ngắn nhất) cũng trở nên cực
lớn. Các thông tin trao đổi cập nhật giữa các router sẽ “ngốn” toàn bộ
băng thông của đường truyền. Do đó nẩy sinh ra nhu cầu làm giảm độ
phức tạp trong việc xác định đường đi trên một mạng lớn như Internet.
 Quản trị (Administrative automomy) : Mặc dù các nhà thiết kế
thường bỏ qua yêu cầu của các tô chức - chẳng hạn khả năng lựa chọn
thuật toán định tuyến hay che dấu cấu trúc mạng bên trong của tổ chức
với bên ngoài - nhưng trên thực tế đây là những vấn đề quan trọng. Lý
tưởng mà nói, một tổ chức phải giữ khả năng quản trị và kiểm soát mạng
máy tính của mình nhưng vẫn có khả năng kết nối với các mạng bên
ngoài.
Định tuyến phân cấp (2)
 Cả hai vấn đề trên đều có thể giải quyết bằng cách nhóm các
router thành các vùng hay Miền tự trị (Autonomous System
- AS).
 Các router trong cùng AS sử dụng cùng một thuật toán định
tuyến (ví dụ như thuật toán LS hay DV) và biết đầy đủ về nhau .
Thuật toán định tuyến chạy trong mỗi AS được gọi là intra AS
routing protocol.
 Như vậy cần phải kết nối các AS với nhau - và vì thế một số
router trong AS phải có thêm nhiệm vụ định tuyến gói tin ra phía
ngoài AS. Các router định tuyến gói tin ra phía ngoài như vậy
được gọi là gateway router.
 Thuật toán định tuyến được sử dụng tại các gateway router là
inter AS routing protocol.
Định tuyến phân cấp (3)
 Phân cấp định tuyến:
 Chia mạng thành các vùng nhỏ hơn, router trong
vùng này chỉ biết cách định tuyến tới các router
khác trong cùng vùng với nó.
 Giảm khối lượng thông tin mà một router cần phải
thực hiện định tuyến
 Router không biết về cấu hình nội bộ của các

vùng khác.
 Gateway là router mà biết về các vùng khác
Định tuyến phân cấp (4)

C.b
B.a
A.a
Host2
b A.c c
a a
b
C a B
d Intra-AS routing
c
A b within AS B
Intra-AS routing
Host1 within AS A
Định tuyến phân cấp (5)

 Ưu điểm:
 Có khả năng mở rộng. Mỗi router cần ít thông tin hơn
 In Ex. Distance table reduce from 17 entries to 7
 Nhược điểm:
 Sub optimal routes. The average path length increases

Optimal path for 1A to 5C is


thru region 2 while in
hierarchical is thru region
3
Bài tập

65

You might also like