Tải bản đầy đủ (.docx) (33 trang)

Bài tập lớn mạng máy tính DISTANCE VECTOR ROUTING

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (414 KB, 33 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THƠNG

BÁO CÁO

MẠNG MÁY TÍNH
Đề tài:

DISTANCE VECTOR ROUTING
Giảng viên hướng dẫn

TS.

1|


2|


LỜI NÓI ĐẦU
Sự phát triển của Internet cũng đồng nghĩa với việc tăng trưởng về quy mô và
công nghệ nhiều loại mạng LAN, WAN … Và đặc biệt là lưu lượng thơng tin trên
mạng tăng đáng kể. Chính điều đó đã làm cho vấn đề chia sẻ thông tin trên mạng
hay là vấn đề định tuyến trở nên quan trọng hơn bao giờ hết. Trong việc thiết kế
mạng và lựa chọn giao thức định tuyến sao cho phù hợp với chi phí, tài nguyên của
tổ chức là đặc biệt quan trọng.
Internet phát triển càng mạnh, lượng người truy nhập càng tăng yêu cầu định
tuyến càng phải tin cậy, tốc độ chuyển mạch nhanh và không gây ra lặp trên mạng.
Hơn nữa khi nhiều tổ chức tham gia vào mạng thì nhiều giao thức được đưa vào sử
dụng dẫn đến sự phức tạp về định tuyến cũng gia tăng, và số lượng các giao thức để


phục vụ cho việc định tuyến cũng có rất nhiều. Việc hiểu biết và thiết kế các mạng
thơng tin cỡ lớn có sử dụng các thiết bị định tuyến đang trở thành một nhu cầu vô
cùng cấp thiết trong thực tế. Nó địi hỏi người thiết kế mạng phải có sự hiểu biết sâu
về giao thức sẽ sử dụng cho việc thiết kế mạng cũng như các loại giao thức định
tuyến khác.
Trong giới hạn của bài tập lớn chúng em xin được chọn đề tài “ Tìm hiểu về
giao thức định tuyến theo khoảng cách ”
Trong quá trình thực hiện đề tài này, chúng em đã rất cố gắng để hồn thành
tốt nhưng có lẽ do vốn kiến thức còn hạn hẹp cũng như những yếu tố khách quan
khác mà khơng tránh khỏi những thiếu sót. Chúng em rất mong sự đóng góp ý kiến,
phê bình và hướng dẫn thêm của thầy cũng như bạn đọc.
Cuối cùng chúng em xin gửi lời cảm ơn chân thành nhất tới thầy đã hướng
dẫn chúng em hoàn thành bài tập lớn này.
Chúng em xin chân thành cảm ơn!

1|


MỤC LỤC
LỜI NĨI ĐẦU..........................................................................................................1
MỤC LỤC................................................................................................................. 2
DANH SÁCH HÌNH ẢNH.......................................................................................3
DANH MỤC BẢNG BIỂU.......................................................................................3
PHẦN MỜ ĐẦU.......................................................................................................4
CHƯƠNG 1. TÌM HIỂU VỀ DISTANCE VECTOR ROUTING.............................5
1.1

Sơ lược về Distance Vector Routing.............................................................5

1.1.1


Giải thuật Distance vector.....................................................................5

1.1.2

Routing Loop.........................................................................................5

1.1.3

Các giải pháp LOOP..............................................................................6

1.2

Phân loại Distance Vector............................................................................8

1.2.1

Giao thức định tuyến RIP (Routing Information Protocol)....................8

1.2.2

Giao thức định tuyến IGRP (Interio Gateway Routing Protocol)..........9

1.3

Thuật tốn Bellman-Ford...........................................................................11

1.3.1

Tư tưởng thuật tốn.............................................................................11


1.3.2

Chứng minh tính đúng đắn..................................................................11

1.3.3

Ứng dụng thuật tốn............................................................................13

CHƯƠNG 2. KẾ HOẠCH THỰC HIỆN MƠ PHỎNG..........................................14
2.1

Phân tích u cầu.......................................................................................14

2.2

Kịch bản mơ phỏng....................................................................................15

CHƯƠNG 3. KẾT QUẢ MƠ PHỎNG....................................................................16
KẾT LUẬN.............................................................................................................22
TÀI LIỆU THAM KHẢO.......................................................................................23
PHỤ LỤC................................................................................................................ 24

2|


DANH SÁCH HÌNH ẢNH
Hình
Hình
Hình

Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình

1: Vịng lặp định tuyến....................................................................................6
2: Cấu hình mạng mô phỏng..........................................................................14
3: Thời điểm bắt đầu mô phỏng.....................................................................16
4: Thời điểm nguồn 1 phát.............................................................................16
5: Thời điểm nguồn 2 phát.............................................................................17
6: Thời điểm nguồn 3 phát.............................................................................17
7: Thời điểm liên kết 5-6 bị đứt.....................................................................18
8: Thời điểm liên kết 9-10 bị đứt...................................................................18
9: Thời điểm liên kết 9-10 được khôi phục....................................................19
10: Thời điểm nguồn S1 ngừng phát..............................................................19
11: Thời điểm liên kết 5-6 được khôi phục....................................................20
12: Thời điểm nguồn S3 ngừng phát..............................................................20
13: Thời điểm kết thúc mô phỏng..................................................................21

DANH MỤC BẢNG BIỂU
Bảng 1: kịch bản mô phỏng....................................................................................15

3|



PHẦN MỜ ĐẦU
Thuật tốn vector khoảng cách so sánh chính xác các đường nhằm tìm ra con
đường tốt nhất tới bất kỳ địa chỉ đích đã cho nào. Thuật tốn cung cấp thông tin cụ
thể về cấu trúc đường đi trong mạng và hồn tồn khơng nhận biết về các router
trên đường đi.
Các router theo vector khoảng cách thực hiện gửi toàn bộ hoặc một phần các
bảng định tuyến của mình và chỉ gửi cho các router kết nối trực tiếp với mình. Vì
thơng tin trên bảng định tuyến rất ngắn gọn, chỉ cho biết tương ứng với một mạng
đích là cổng nào trên router, router kế tiếp có địa chỉ IP là bao nhiêu, thông số định
tuyến của con đường này là bao nhiêu. Do đó, các router định tuyến theo vector
khoảng cách không biết được đường đi một cách cụ thể, không biết về các router
trung gian trên đường đi và cấu trúc kết nối của chúng.
Các router định tuyến theo vector khoảng cách thực hiện cập nhật thông tin
định tuyến theo định kỳ nên tốn nhiều băng thơng đường truyền. Khi có sự cố thay
đổi xảy ra, router nào nhận biết sự thay đổi đầu tiên sẽ cập nhật bảng định tuyến của
mình trước rồi chuyển bảng định tuyến cập nhật cho router láng giềng. Router láng
giềng nhận được thông tin mới, cập nhật vào bảng định tuyến đã được cập nhật cho
các router láng giềng kế tiếp. Quá trình cập nhật cứ lần lượt như vậy ra tồn bộ hệ
thống. Do đó thời gian hội tụ chậm.

CHƯƠNG 1.TÌM HIỂU VỀ DISTANCE VECTOR
ROUTING
1.1

Sơ lược về Distance Vector Routing

1.1.1 Giải thuật Distance vector

4|



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ất . 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 đối 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.
Ưu điểm :
 Dễ cấu hình. Router khơng phải xử lý nhiều điều đó cho phép CPU và MEM
có thể thực hiện thêm các công việc khác.
Nhược điểm:
 Hệ thống metric quá đơn giản (như rip chỉ là hop-count ), nên có thể xảy ra
việc con đường "tốt nhất" chưa phải là tốt nhất.
 Do phải cập nhật định kỳ các routing-table, nên một lượng bandwidth (băng
thông) đáng kể sẻ bị chiếm , làm trong thoughput (thông lượng) sẽ mất đi
(mặc dù mạng khơng gì thay đổi nhiều) .

1.1.2 Routing Loop
Trước khi network 1 bị down thì thì tất cả router đều xem đường route tới
network là tốt. Router C nhận định rằng muốn tới network 1 thì phải qua router B
với metric là 3 (ví dụ ta chạy RIP).

5|


Hình 1: Vịng lặp định tuyến

Khi network 1 bị down xuống thì router E mới gửi 1 bản update tới A là: N1

down rồi nhưng router B, C, D không biết. Nhưng B và D có thể nhận biết được N1
down 1 cách nhanh chóng vì nó connect trực tiếp tới A nên nhận update nhanh hơn.
Tuy nhiên do C không nhận được update là N1 down nến vẫn gửi 1 bản update tới
B và D là đường tới N1 vẫn tồn tại. Và như thế B và D update lại bản routing table
của mình là N1 vẫn tốt. Muốn đến N1 hãy đi qua C. Như thế là sai và quá trình này
cứ lặp đi lặp lại (vì A sẽ gửi lại 1 update nói với B và D rằng la N1 vẫn good) ===>
routing loop
Nguyên nhân: B và D có thể nhận được update từ A cịn C thì khơng , bởi vì
1 "HƠI TỤ CHẬM" ( SLOW CONVERGENCE). Vậy sau khi topology change thì
tất cả router cần 1 time để tính tốn lại các đường route của mình, và q trình và
thời gian đó gọi là TIME TO CONVERGENCE.

1.1.3 Các giải pháp LOOP
 SPLIT HORIZON: Router B và D nhận update về N1(down) sẽ không gửi
lại update về N1 (up, sau khi nhận được từ C) tới cho router A. Split 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
6|


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ị poison ==> 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 (countto-infinite) 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. Nhưng khi A nhận được bản tin update nói
rằng route đến N1 là unreachable --> A gửi lại cho E thông tin về route đến
N1 với metric là infinite.
 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, holddown 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
 POSION REVERSE UPDATE : Là bản update đặc biệt được gửi từ router
connect với 1 network down tới các router neighbor của mình ( khong bao
gồm router có network bị down ) rằng đường route tới network đó là infinity.
Khi một router phát hiện ra một route R bị down (router không nhận được
bản tin update từ router neighbor mà từ đó nó học được route R), router sẽ
đặt giá trị metric của route R bằng giá trị không xác định (infinite) và gửi đi
trong bản tin cập nhật định tuyến để thông báo với các router trên mạng rằng
route R unreachable. Trong hình vẽ, router E khơng nhận được thơng tin về
route đến N1, nó đặt metric của route đến N1 là infinite rồi gửi đi trong bản
tin định tuyến. Đồng thờ, E hủy bỏ route đến N1 trong bảng định tuyến của
nó.
7|


 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.

1.2

Phân loại Distance Vector
Các giao thức định tuyến thuộc loại này như : RIP , IGRP , …… Hoạt động

theo nguyên tắc Neighbor , nghĩa là mỗi router sẻ gửi routing-table của mình cho tất

cả các router được nối trực tiếp với nó . Các router đó sau đó so sánh với bảng
routing-table mà mình hiện có và kiểm tra lại các tuyến đường của mình với các
tuyến đường mới nhận được, tuyến đường nào tối ưu hơn sẻ được đưa vào routingtable . Các gói tin update sẽ được gửi theo định kỳ (30 giây với RIP ,90 giây đối với
IGRP) .

1.2.1 Giao thức định tuyến RIP (Routing Information Protocol)
 Routing Information Protocol (RIP) là giao thức định tuyến vector khoảng
cách (Distance Vector Protocol) xuất hiện vào năm 1970 bởi Xerox như là
một phần của bộ giao thức Xerox Networking Services (XNS). Và sau đó
RIP được chấp nhận rộng rải trước khi có một chuẩn chính thức được xuất
bản. Đến năm 1988 RIP mới được chính thức ban bố trong RFC1058 bởi
Charles Hedrick. RIP được sử dụng rộng rãi do tính chất đơn giản và tiện
dụng của nó.
 RIP là giao thức định tuyến vector khoảng cách điển hình, là nó đều đặn gửi
tồn bộ routing table ra các Router hàng xóm và các Router này sẽ phát tán
ra tất cả Router bên cạnh đều đặn theo chu kỳ là 30 giây. RIP chỉ sử dụng
metric là hop-count để tính ra tuyến đường tốt nhất tới mạng đích. Thuật tốn
mà RIP sử dụng để xây dựng nên routing table là Bellman-Ford.
 RIP sử dụng hop-count như một thước đo định tuyến để tìm kiếm đường đi
tốt nhất giữa hai điểm. Hop-count là số lượng Router mà một packet phải đi
qua cho đến khi đến được địa chỉ đích. Để tránh tình trạng Lop vơ tận thì RIP
giới hạn Hop-count tối đa là 16. Khi một Router nhận được một thông tin
láng giềng Router sẽ tăng chỉ số Hop lên 1 vì Router cũng xem nó là 1 Hop
8|


trên đường đi, nếu sau khi tăng chỉ số Hop lên 1 mà chỉ số này lớn hơn 15 thì
Router xem như khơng tồn tại mạng đích trên tuyến đường này.
 Route update timer: là thời gian trao đổi thông tin định tuyến của Router với
tất cả các active interface. Thơng tin ở đây là tồn bộ bảng định tuyến và thởi

gian định kỳ là 30s. • Routing invalid Timer: là khoảng thời gian xác định
một tuyến đường invalid. Được bắt đầu nếu hết thời gian Hold time mà
không nhận được update, sau khoảng thời gian đó Router sẽ gửi một update
tới tất cả các Interface là tuyến đường đó đã invalid.

1.2.2 Giao thức định tuyến IGRP (Interio Gateway Routing Protocol)
 IGRP là giao thức định tuyến độc quyền của Cisco, là giao thức định tuyến
động dạng Distance Vector. IGRP được mở rộng nhiều chức năng hơn so với
RIP. Là giao thức định tuyến dạng Distance vector nên nó cũng bao gồm
chức năng sau: + Gửi bản update định tuyến theo định kỳ là 90s. + Gửi đầy
đủ thông tin cập nhật trong bảng định tuyến theo định kỳ + Thuật tốn mà nó
sử dụng là Bellman Fort.
 IGRP nó có thể khắc phục được những yếu điểm của RIP như metric là hopcount, kích thước mạng tối đa là 15 hop. Cụ thể metric của nó là sự kết hợp
của 5 yếu tố sau:
+Bandwidth–Băngthông
+Delay – Trễ
+Load –Tải
+Reliabilyti– độ tin cậy
+ Maximum transfer Unit (MTU)- đơn vị tối đa
 IGRP khơng sử dụng hợp count trong metric của mình mà nó vấn có thể theo
dõi được hop count. Một mạng mà sử dụng IGRP thì kích thước mạng tối đa
có thể lên đến 255 hop. Cái ưu điểm dễ thấy ở đây của IGRP so với RIP ở
đây là có hổ trợ unequal-cost load sharing (là tính năng load balancing nghĩa
9|


là gói tin có thể đi nhiều đường tới địa chỉ đích nhưng cố định thay vì chỉ
chọn đường đi tốt nhất cho gói tin) và thời gian update lâu hơn RIP gấp 3
lần. Tuy vậy nhưng IGRP là giao thức định tuyến nên cũng tồn tại yếu điểm
là giao thức độc quyền của Cisco.

 Nguyên lý hoạt động và những đặc trưng của IGRP Cũng giống như RIP nó
là Classfull Distance Protocol nghĩa là nó sẽ gửi tồn bộ thơng tin của bảng
định tuyến một cách có định kỳ ra tất cả các active interface, cũng broadcast
request packet khi khởi động,cũng cẩn thận check packet xem sourch
Address,chúng cũng không mang theo subnet mask trong thông tin định
tuyến. Nếu như RIP sử dụng port 520, chạy trên nền UDP để trao đổi định
tuyến thì IGRP lại làm điều này trực tiếp trong gói tin IP, vơi protocol
numbers là 9. IGRP sử dụng khái niệm Autonomous System (AS), một IGRP
AS là một IGRP process domain_tập hợp các router có chung routing
protocol là một IGRP process. Cho phép multiple IGRP AS tồn tại bên trong
một AS có nghĩa là người quản trị có phân đoạn mạng tốt hơn. Người quản
trị có thể tạo một IGRP AS cho mỗi routing domain, giúp cho việc điều khiển
thông tin giữa các mạng tương tác tốt hơn. IGRP thừa nhận 3 loại tuyến
đường trong thông tin update: + Interior route: mạng nối trực tiếp với router.
+ System route: là đường tới địa chỉ mạng mà bị summary bởi network
border router. + Exterior route: là đường học qua IGRP từ IGRP AS khác, nó
cung cấp thơng tin sử dụng bởi default route.
 IGRPtimer Chu kỳ update của IGRP là 90 giây, IGRP có sử dụng nhân tố
random 20% để ngăn chặn sự đồng bộ update timer. Khoảng thời gian giữa 2
lần update biến đổi từ 72 đến 90 giây. Khi một tuyến đường đầu tiên được
học, invalid timer cho tuyến đó là 270 giây hay là gấp 3 lần update timer.
Flush timer được thiết lập với giá trị là 630 giây_ gấp 7 lần update timer. Mỗi
lần tuyến được được update thì những thơng số thời gian này được khởi động
lại. Nếu như invalid timer trôi qua mà tuyến đường đó khơng nhận được một
update thì tuyến đường đó sẽ bị đánh dấu là khơng đến được. Tuyến đường
đó sẽ được giữ trong routing table và quảng bá với thơng tin là tuyến đó
10 |


không đến được cho đến khi flush timer trôi qua, tuyến đó sẽ được xố khỏi

routing table. Update timer của IGRP gấp 3 lần RIP, điều đó chứng tỏ IGRP
tốn it băng thông hơn cho việc gửi update. Nhưng thời gian hội tụ của IGRP
sẽ lớn hơn RIP.

1.3

Thuật toán Bellman-Ford
Distance Vector Routing sử dụng thuật toán Bellman-Ford để định tuyến

trong mạng thơng tin.
Thuật tốn Bellman-Ford là một thuật tốn tính các đường đi ngắn nhất
nguồn đơn trong một đồ thị có hướng có trọng số (trong đó một số cung có thể có
trọng số âm). Thuật tốn Dijkstra giải cùng bài toán này với thời gian chạy thấp
hơn, nhưng lại địi hỏi trọng số của các cung phải có giá trị khơng âm. Do đó, thuật
tốn Bellman-Ford thường chỉ được dùng khi có các cung với trọng số âm.
Thuật tốn Bellman Ford chạy trong thời gian O(V·E), trong đó V là số đỉnh
và E là số cung của đồ thị.

1.3.1 Tư tưởng thuật toán
 Bước 1: Khởi tạo ∏(0,x)=0; ∏(0,i)=+∞, ∀i≠x và k=1
 Bước 2: Với mỗi i∈X ta đặt: ∏(k,i)=min({∏(k-1,i)}∪{∏(k-1,j)+L[j][i]})
 Bước 3: Nếu ∏(k,i)=∏(k-1,i) với i∈X thì∏(k,i) chính làđộ dài đường đi
ngắn nhất từ x đến i. Ngược lại nếu kk=n thì dừng vì từ x đi tới được 1 mạch âm.

1.3.2 Chứng minh tính đúng đắn
Tính đúng đắn của thuật tốn có thể được chứng minh bằng quy nạp. Thuật
tốn có thể được phát biểu chính xác theo kiểu quy nạp như sau:
Bổ đề. Sau i lần lặp vòng for:
 Nếu Khoảng_cách(u) khơng có giá trị vơ cùng lớn, thì nó bằng độ dài của

một đường đi nào đó từ s tới u;

11 |


 Nếu có một đường đi từ s tới u qua nhiều nhất i cung, thì Khoảng_cách(u) có
giá trị khơng vượt quá độ dài của đường đi ngắn nhất từ s tới u qua tối đa i
cung.
Chứng minh.
 Trường hợp cơ bản: Xét i=0 và thời điểm trước khi vòng for được chạy lần
đầu tiên. Khi đó, với đỉnh nguồn khoảng_cách(nguồn) = 0, điều này đúng.
Đối với các đỉnh u khác, khoảng_cách(u) = vơ cùng, điều này cũng đúng vì
khơng có đường đi nào từ nguồn đến u qua 0 cung.
 Trường hợp quy nạp:
-

Chứng minh câu 1. Xét thời điểm khi khoảng cách tới một đỉnh được cập
nhật bởi công thức khoảng_cách(v):= khoảng_cách(u) + trọng_số(u,v). Theo
giả thiết quy nạp, khoảng_cách(u) là độ dài của một đường đi nào đó từ
nguồn tới u. Do đó, khoảng_cách(u) + trọng_số(u,v) là độ dài của đường đi
từ nguồn tới u rồi tới v.

-

Chứng minh câu 2: Xét đường đi ngắn nhất từ nguồn tới u qua tối đa i cung.
Giả sử v là đỉnh liền ngay trước u trên đường đi này. Khi đó, phần đường đi
từ nguồn tới v là đường đi ngắn nhất từ nguồn tới v qua tối đa i-1 cung. Theo
giả thuyết quy nạp, khoảng_cách(v) sau i-1 vòng lặp khơng vượt q độ dài
đường đi này. Do đó, trọng_số(v,u) + khoảng_cách(v) có giá trị khơng vượt
q độ dài của đường đi từ s tới u. Trong lần lặp thứ i, khoảng_cách(u) được

lấy giá trị nhỏ nhất của khoảng_cách(v) + trọng_số(v,u) với mọi v có thể. Do
đó, sau i lần lặp, khoảng_cách(u) có giá trị khơng vượt q độ dài đường đi
ngắn nhất từ nguồn tới u qua tối đa i cung. Khi i bằng số đỉnh của đồ thị, mỗi
đường đi tìm được sẽ là đường đi ngắn nhất tồn cục, trừ khi đồ thị có chu
trình âm. Nếu tồn tại chu trình âm mà từ đỉnh nguồn có thể đi đến được thì sẽ
khơng tồn tại đường đi nhỏ nhất (vì mỗi lần đi quanh chu trình âm là một lần
giảm trọng số của đường).

12 |


1.3.3 Ứng dụng thuật toán
Một biến thể phân tán của thuật toán Bellman-Ford được dùng trong các giao
thức định tuyến vector khoảng cách, chẳng hạn giao thức RIP (Routing Information
Protocol). Đây là biến thể phân tán vì nó liên quan đến các nút mạng (các thiết bị
định tuyến) trong một hệ thống tự chủ (autonomous system), ví dụ một tập các
mạng IP thuộc sở hữu của một nhà cung cấp dịch vụ Internet (ISP).
Thuật toán gồm các bước sau:
a) 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 tự
chủ và lưu trữ thông tin này trong một bảng.
b) 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.
c) 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.
Nhược điểm chính của thuật tốn Bellman-Ford trong cấu hình này là
 Khơng nhân rộng tốt
 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)

13 |


CHƯƠNG 2.KẾ HOẠCH THỰC HIỆN MƠ PHỎNG
2.1

Phân tích u cầu
Mơ phỏng mơ hình định tuyến sử dụng vector khoảng cách (Distance vector

routing) tùy chọn thiết lập mạng và chọn các tham số phù hợp.

Hình 2: Cấu hình mạng mơ phỏng

Với cấu hình mạng như trên hình 2.
 Có 3 nguồn S1,S2,S3 : là các nguồn UDP, kích thước gói là 500B, thời gian
giữa các gói là 5ms, tốc độ bit là 1MB, trễ lan truyền là 10ms
 Có 11 router: với tốc độ bit là 10MB, trễ lan truyền là 10ms
 1 nguồn nhận tín hiệu d:
 Kích thước hàng đợi là 1000000000 tương đương với vô hạn để tránh rơi
gói.
Để thực hiện được các u cầu đó thì các thành viên trong nhóm cần phải:
-

Càiđặt, tìm hiểu và sử dụng tốt hệ điều hành ubuntu, Bộ công cụ mô phỏng

-


ns2
Tìmhiểuvềđịnhtuyến
ThiếtlậpđượcsốlượnggóiphátsinhtheophânbốPoisson
14 |


-

2.2

TìmhiểuvềcácgiaothứctruyềnthơngUDP
Tìmhiểuvềcơngcụxửlýsốliệuvà vẽđồthị trênns2

Kịch bản mơ phỏng
Thời điểm (s)
1.0
2.0
3.0
10.0
15.0
20.0
22.0
25.0
28.0
30.0

Mục đích
Luồng 1 truyền dữ liệu
Luồng 2 truyền dữ liệu
Luồng 3 truyền dữ liệu

Liên kết router 5 và 6 bị đứt
Liên kết router 9 và 10 bị đứt
Liên kết router 9 và 10 được khôi phục
Luồng 1 dừng truyền dữ liệu
Liên kết router 5 và 6 được khôi phục
Luồng 2 dừng truyền dữ liệu
Luồng 3 dừng truyền dữ liệu
Bảng 1: kịch bản mô phỏng

CHƯƠNG 3. KẾT QUẢ MÔ PHỎNG
Sau khi cài song NS2, bắt đầu mô phỏng ta mở của sổ terminal rồi gõ lệnh
ns source.tcl

15 |


file source.tcl chưa source code của chương trình.

Hình 3: Thời điểm bắt đầu mô phỏng

Ở thời điểm 1s của mô phỏng, luồng 1 (màu đỏ) sẽ bắt đầu chạy. Theo mơ
hình thì để đường chạy ngắn nhất là: S1  1  5  6  7  d . (Hình 4)

Hình 4: Thời điểm nguồn 1 phát

Tiếp theo, đến thời điểm 2s, luồng 2 (màu xanh lục) sẽ được chạy từ S2  1
 5  6  7  d. Kết quả mơ phỏng cũng như vậy (Hình 5).

16 |



Hình 5: Thời điểm nguồn 2 phát

Ở thời điểm 3s, luồng 3 (màu xanh lam) được chạy, và đường đi ngắn nhất
để đến đích d là từ S3  8  5  6  7  d. Kết quả mơ phỏng cũng cho thấy điều
này (Hình 6)

Hình 6: Thời điểm nguồn 3 phát

Các luồng sẽ tiếp tục chạy như hình vẽ cho đến thời điểm 10s. Lúc này liên
kết 5-6 (màu đỏ) bị đứt, các luồng không thể đi theo đường cũ. Luồng 1: S1  1  2

17 |


 3  4  7 d. Luồng 2: S2  1  2  3  4  7 d. Luồng 3: S3  8  9  10  11
 7  d. Kết quả mô phỏng cũng cho ra như vậy (Hình 7)

Hình 7: Thời điểm liên kết 5-6 bị đứt

Tiếp theo là thời điểm 15s, liên kết 9-10 bị đứt (cũng màu đỏ), luồng 3 sẽ
không đi theo đường cũ, nó sẽ đi từ S3  8  5  1  2  3  4  7  d. Kết quả mô
phỏng cũng cho đường đi như vậy (Hình 8)

Hình 8: Thời điểm liên kết 9-10 bị đứt

Hình 7 là thời điểm 20s, liên kết 9 - 10 được khôi phục. Đường đi của luồng
3 trước thời điểm này không phải là tối ưu nhất, nên nó chuyển qua đường đi khác
18 |



ngắn hơn đó là từ S3  8  9  10  11  7  d. Kết quả mơ phỏng cũng cho ra như
vậy (Hình 9)

Hình 9: Thời điểm liên kết 9-10 được khôi phục

Thời điểm tiếp theo là 22s, luồng 1 bị tắt. Kết quả mô phỏng cũng cho thấy
luồng 1 khồng cịn chạy nữa (Hình 10)

Hình 10: Thời điểm nguồn S1 ngừng phát

19 |


Tiếp đến là thời điểm 25s, liên kết 5-6 đã được khơi phục, mơ hình mạng
giống với mơ phỏng lúc ban đầu vì thế mà đường đi của nó sẽ giống như thời điểm
từ 3s đến 10s (Hình 11).

Hình 11: Thời điểm liên kết 5-6 được khơi phục

Hình 12 là thời điểm 28s. Luồng 3 bị ngắt. Theo kết quả mơ phỏng thì luồng
3 cũng khơng cịn chạy nữa (Hình 12).

Hình 12: Thời điểm nguồn S3 ngừng phát

20 |


Cuối cùng là thời điểm 30s. Q trình mơ phỏng kết thúc (Hình 13).


Hình 13: Thời điểm kết thúc mơ phỏng

KẾT LUẬN
 Kết quả mô phỏng đạt được đúng theo tính tốn mong đợi, các gói tin đi theo
dường ngắn nhất và khi có sự thay đổi của mạng thì các gói tin được định
hướng lại đường đi.
21 |


 Thông qua việc thực hiện bài tập lớn, chúng em đã tính lũy rất nhiều kiến
thức thực tế về chuyên ngành điện tử viễn thông,thầy đã tạo cho chúng em
niềm say mê học tập, tìm tịi kiến thức mới, giúp chúng em hoàn thiện các kỹ
năng mềm như kỹ năng làm việc nhóm, các phần mềm mơ phỏngchun
dụng NS2, hệ điều hành mã nguồn mở Ubuntu...

 Do vốn kiến thức còn hạn hẹp nên việc thực hiện ý tưởng cịn nhiều hạn chế.
Nếu cịn có gì sai sót, chúng em mong thầy giúp đỡ và tạo điều kiện để
chúng em có thể hồn thành một cách tốt nhất BTL này.
Chúng em xin chân thành cám ơn!

TÀI LIỆU THAM KHẢO
1. Slide bài giảng Mạng máy tính của thầy
2. Tài liệu tham khảo

 SáchCOMPUTER NETWORKING A Top-Down Approachcủa tác
giả James F. Kurose, Keith W. Ross
22 |


 Thuật toán Bellman-Ford />%ADt_to%C3%A1n_Bellman-Ford

3. Tài liệu hướng dẫn />
PHỤ LỤC
Source code .tcl
#Tao mot doi tuong mo phong
set ns [new Simulator]
# Tao file trace
set nr [open thro.tr w]
$ns trace-all $nr
# Tao file namtrace
set nf [open thro.nam w]
23 |


×