1. Trang chủ
  2. » Luận Văn - Báo Cáo

tiểu luận lập trình mạng nâng cao viết chương trình cài đặt thuật toán phân bố tải của mạng ip trong quá trình định tuyến các gói thông tin

30 739 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 1,21 MB

Nội dung

Điều khiển tải của mạng TCP/IP trong quá trình định tuyến các gói thông tin là một bài toán lớn và phức tạp trong lĩnh vực truyền thông nói chung, vì vậy trong phạm vi của đề tài này, em

Trang 1

-o0o -

BÁO CÁO TIỂU LUẬN MÔN HỌC LẬP TRÌNH MẠNG NÂNG CAO

3 Mô phỏng quá trình chuyển gói giữa một số Server

4 Lập chương trình Monitoring để giám sát đường di chuyển của các gói

Giáo viên hướng dẫn: PGS TS Lê Văn Sơn

Học viên : Bùi Tấn Ngọc

Đà Nẵng – 2012

Trang 2

Học viên: Bùi Tấn Ngọc 1

Lời mở đầu

Trong những năm gần đây mạng máy tính phát triển ngày càng mạnh mẽ tạo nên một bước ngoặt quan trọng trong công nghệ thông tin Mạng máy tính ngày nay có mặt trong rất nhiều các hoạt động trong đời sống Các công nghệ, các kỹ thuật phục vụ cho môi trường mạng đã được xây dựng nhiều, và đang còn được tiếp tục phát triển, cải tiến

Lập trình mạng là một trong những nhiệm vụ căn bản để phát triển các ứng dụng doanh nghiệp Một chương trình mạng được viết ra để các chương trình trên các máy tính khác nhau có thể truyền tin với nhau một cách hiệu quả và an toàn cho dù chúng được cài đặt trên mạng LAN, WAN hay mạng toàn cầu Internet, đây là điều căn bản đối với sự thành công của nhiều hệ thống

Điều khiển tải của mạng TCP/IP trong quá trình định tuyến các gói thông tin là một bài toán lớn và phức tạp trong lĩnh vực truyền thông nói chung, vì vậy trong phạm

vi của đề tài này, em xin trình bày những kết quả nghiên cứu về quá trình định tuyến trong mạng TCP/IP và xây dựng chương trình Monitoring giám sát đường đi của các gói

Tiểu luận gồm có 3 chương:

Chương 1: Những vấn đề cơ bản về mạng và điều khiển tải

Chương 2: Định tuyến thông tin trong mạng TCP/IP và thuật toán phân bố tải của mạng IP trong quá trình định tuyến các gói thông tin

Chương 3: Xây dựng chương trình Monitoring giám sát đường đi của các gói theo phương pháp định tuyến tĩnh

Để hoàn thành tiểu luận này, tôi xin chân thành cám ơn sự chỉ bảo tận tình của PGS.TS.Lê Văn Sơn và các bạn học viên trong lớp Tuy nhiên chắc hẳn vẫn còn nhiều thiếu sót, kính mong sự góp ý của thầy giáo và các bạn để tôi hoàn thành tốt hơn tiểu luận này

Trang 3

Học viên: Bùi Tấn Ngọc 2

CHƯƠNG 1 NHỮNG VẤN ĐỀ CƠ BẢN VỀ MẠNG VÀ ĐIỀU KHIỂN TẢI

1 Mạng máy tính

Mạng máy tính là tập hợp các máy tính hoặc các thiết bị được nối với nhau bởi

các đường truyền vật lý và theo một kiến trúc nào đó

Chúng ta có thể phân loại mạng theo qui mô của nó:

Mạng LAN (Local Area Network)-mạng cục bộ: kết nối các nút trên một phạm

vi giới hạn Phạm vi này có thể là một công ty, hay một tòa nhà

Mạng WAN (Wide Area Network): nhiều mạng LAN kết nối với nhau tạo thành mạng WAN

MAN (Metropolitan Area Network), tương tự như WAN, nó cũng kết nối nhiều mạng LAN Tuy nhiên, một mạng MAN có phạm vi là một thành phố hay một

đô thị nhỏ MAN sử dụng các mạng tốc độ cao để kết nối các mạng LAN của trường học, chính phủ, công ty, , bằng cách sử dụng các liên kết nhanh tới từng điểm như cáp quang

1.1 Thiết bị giao tiếp mạng (Network Interface Thiết bị)

NIC là thiết bị giao tiếp được sử dụng để kết nối một thiết bị với mạng LAN Nó cho phép chúng ta gửi và nhận các thông điệp từ mạng Một NIC có một địa chỉ MAC duy nhất mà cung cấp định danh duy nhất cho từng thiết bị

Địa chỉ MAC là một số 12 byte-hệ 16 được gán cho thiết bị mạng Địa chỉ này

có thể được thay đổi bởi một trình điều khiển mạng một cách linh hoạt (như trong trường hợp của hệ thống DECnet, mạng được phát triển bởi Digital Equipment), nhưng thông thường địa chỉ MAC không thay đổi

1.2 Thiết bị định tuyến (Router)

Router là một thiết bị trung gian mạng, kết nối nhiều mạng vật lý Một mạng có nhiều host có thể được phân chia thành các phần riêng, hay còn gọi là subnet

Các router không chỉ được sử dụng trong LAN, chúng có một vai trò quan trọng trong WAN Router nhận một thông điệp và chuyển tiếp nó tới đích bằng cách sử dụng đường đi tốt nhất tới đích đó

Một Router lưu giữ một bảng định tuyến liệt kê tất cả các cách mà các mạng có thể đạt tới Thông thường sẽ có một số đường đi từ mạng này tới mạng khác, nhưng chỉ có một trong số đó là tốt nhất, và nó là con đường được mô tả trong bảng định tuyến Các router truyền tin bằng cách sử dụng các giao thức định tuyến để phát hiện

Trang 4

Giao thức định tuyến vectơ khoảng cách: Các giao thức RIP (Routing Information Protocol) và IGRP (Interior Gateway Routing Protocol) sử dụng một biến đếm để chỉ ra số router mà gói tin phải đi qua để đến đích Các giao thức này thường lựa chọn các đường đi với ít router, mà không quan tâm đến tốc độ và độ tin cậy

Các giao thức định tuyến trạng thái liên kết: Việc tính toán đường đi tốt nhất của các giao thức định tuyến OSPF và BGP quan tâm đến nhiều yếu tố như tốc

độ, độ tin cậy, và thậm chí là chi phí của đường đi

Các giao thức định tuyến lai: Các giao thức này sử dụng sự kết hợp việc tính toán trạng thái liên kết và vectơ khoảng cách

1.3 Vấn đề tìm đường đi trong mạng

Với cấu hình TCP/IP, một gateway mặc định được thiết lập Đây là một địa chỉ

IP của cổng bộ định tuyến mà subnet kết nối tới Bộ định tuyến này được sử dụng khi một host ở bên ngoài subnet cần được liên lạc

Ta có thể thấy bảng định tuyến cục bộ trên hệ điều hành Windows bằng cách sử dụng lệnh ROUTE PRINT trên dòng lệnh Lệnh này hiển thị các gateway sẽ được sử dụng cho mỗi liên kết mạng

Trang 5

Học viên: Bùi Tấn Ngọc 4

2 Điều khiển tải

Điều khiển tải là làm cho việc lưu thông trên mạng tốt nhất, giảm tối đa tình trạng quá tải dẫn đến nghẽn mạng và được thể hiện dưới hai phương diện sau đây:

 Điều khiển tải tổng quát: Điều khiển tải tổng quát chịu trách nhiệm giữ nhịp

cho các hoạt động cung cấp tài nguyên

 Điều khiển tải phân tán: Phân tán tải cho các đối tượng có khả năng cung cấp

như là người điều khiển hợp lý việc phân bố tài nguyên

2.1 Điều khiển tải tổng quát

Mục tiêu của phương pháp này là tìm cách duy trì tổng số yêu cầu tài nguyên được lưu chuyển trong mạng luôn nhỏ hơn một giá trị giới hạn (ngưỡng) N nào đó Giá trị N sẽ được xác định trước căn cứ vào khả năng tài nguyên và cũng như kinh nghiệm hoạt động của mạng

Về mặt tổ chức, các yêu cầu về sử dụng tài nguyên được gởi đến hệ thống qua

sự trung gian của một tiến trình gọi là bộ phân phối tải

2.2 Điều khiển tải phân tán

Phương pháp này không yêu cầu duy trì một giới hạn các yêu cầu tài nguyên chung cho mạng mà giao cho các đối tượng có khả năng cung cấp như là người điều khiển hợp lý việc phân bố các tài nguyên

Người ta chia ra thành hai loại chiến lược phân tán tải như sau:

 Chiến lược tĩnh: việc phân tán các yêu cầu giữa các Server được xác định theo

kiểu cố định, nghĩa là việc định tuyến để phân phối tải được thực hiện một lần cho toàn cuộc, không hề có sự thay đổi giữa chừng

 Chiến lược thích nghi: Việc phân tán này được xác định như là chức năng

phân tán của hệ

Trang 6

Học viên: Bùi Tấn Ngọc 5

CHƯƠNG 2 ĐỊNH TUYẾN THÔNG TIN TRONG MẠNG TCP/IP

VÀ CÁC THUẬT TOÁN PHÂN BỐ TẢI CỦA MẠNG IP

TRONG QUÁ TRÌNH ĐỊNH TUYẾN CÁC GÓI THÔNG TIN

1 Tổng quan về đị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 (một gói tin chẳng hạn) từ trạm nguồn đến trạm đích sao cho tối ưu nhất Do vậy, một kỹ thuật định tuyến phải thực hiện 2 chức năng sau đây:

- Quyết định định tuyến theo những tiêu chuẩn tối ưu nào đó

- Cập nhật thông tin định tuyến, tức là thông tin dùng cho chức năng

Có rất nhiều kỹ thuật định tuyến khác nhau Sự phân biệt giữa chúng chủ yếu căn cứ vào các yếu tố liên quan đến 2 chức năng trên Các yếu tố đó thường là:

(a) Sự phân tán các chức năng định tuyến trên các nút của mạng

(b) sự thích nghi với trạng thái hiện hành của mạng

(c) Các tiêu chuẩn tối ưu để định tuyến

Dựa trên yếu tố (a) ta có kỹ thuật định tuyến tập trung (Centralized Routing) hoặc phân tán (Distributed Routing)

Dựa trên yếu tố (b) ta có kỹ thuật định tuyến tĩnh (Static hay Fixed Routing) hoặc thích nghi (Adaptatif Routing)

2 Kỹ thuật định tuyến tập trung và định tuyến phân tán

Kỹ thuật định tuyến tập trung được đặc trưng bởi sự tồn tại của một hoặc vài

trung tâm điều khiển mạng thực hiện việc định tuyến, sau đó gởi các bảng định tuyến (Routing Table) tới tất cả các nút dọc theo con đường đã được chọn đó Trong trường hợp này, thông tin tổng thể của mạng cần dùng cho việc định tuyến chỉ được cất giữ tại trung tâm điều khiển mạng Các nút mạng có thể không gởi bất kỳ thông tin trạng thái nào của chúng tới trung tâm, hoặc gởi theo định kỳ, hoặc gởi khi có sự thay đổi nào đó Trung tâm điều khiển sẽ cập nhật các bảng định tuyến dựa trên những thông tin nhận được từ các trạm gởi lên

Trang 7

Học viên: Bùi Tấn Ngọc 6

Với kỹ thuật định tuyến phân tán thì không tồn tại trung tâm điều khiển mạng

Quyết định định tuyến được thực hiện tại mỗi nút của mạng Điều này đòi hỏi sự trao đổi thông tin thường xuyên giữa các nút trong mạng

3 Kỹ thuật định tuyến tĩnh và định tuyến động

Kỹ thuật định tuyến tĩnh (không thích nghi): có thể tập trung hoặc phân tán

nhưng nó không đáp ứng với mọi sự thay đổi trên mạng Trong trường hợp này, việc định tuyến được thực hiện mà không có sự trao đổi thông tin, không đo lường và không cập nhật thông tin Tiêu chuẩn tối ưu để định tuyến và bản thân con đường được chọn một lần cho toàn cuộc, không hề có sự thay đổi giữa chừng

Kỹ thuật định tuyến động (thích nghi): có khả năng cung cấp được các con

đường khác nhau để dự phòng sự cố và thích nghi nhanh chóng với các thay đổi trên mạng Mức độ thích nghi của một kỹ thuật định tuyến được đặc trưng bởi sự trao đổi thông tin định tuyến trong mạng Đơn giản nhất là không trao đổi gì hết Mỗi nút hoạt động một cách độc lập với thông tin riêng của mình để thích nghi với sự thay đổi của mạng theo một phương pháp nào đó

4 Quá trình định tuyến trong mạng TCP/IP

Cơ sở hạ tầng cho quá trình định tuyến trong mạng TCP/IP bao gồm các thành phần sau:

- Thiết bị định tuyến (Router/Gateway): Có chức năng quyết định đường đi của

các gói tin trên mạng dựa vào thông tin của các bảng định tuyến được lưu trữ tại RAM Một router sẽ phải học các đường (paths) hay các route từ việc cấu hình bằng tay bởi người quản trị hay có thể tự động cập nhật từ các router khác trong hệ thống dựa vào các giao thức định tuyến

- Bảng định tuyến (Routing Table): là bảng chứa danh sách các đường định

tuyến Bảng định tuyến của mỗi giao thức định tuyến là khác nhau, nhưng có thể bao gồm nhữnh thông tin sau: địa chỉ đích của mạng, mặt nạ mạng của địa chỉ đích, địa chỉ IP của router chặng kế tiếp, cổng giao tiếp vật lý phải sử dụng

để đi đến router kế tiếp, khoảng cách đến đích

- Giao thức định tuyến (Routing Protocol): là ngôn ngữ để một router trao đổi

với router khác để chia sẻ thông tin định tuyến về khả năng đến được cũng như trạng thái của mạng: RIP, IGRP, EIGRP, OSPF, IS-IS

- Đường kết nối (Link Path): Các đường nối kết giữa các nút mạng với nhau

- Các thiết bị đầu cuối (host/terminal): Các thiết bị đầu cuối, nơi gửi và nhận dữ

liệu

Trang 8

Học viên: Bùi Tấn Ngọc 7

Các thành phần trong mạng TCP/IP

Bảng định tuyến (tĩnh) lưu trữ trong Router A:

Entry Network Address Netmask Gateway Interface

5 Phương pháp thích nghi động (Adaptive Routing)

5.1 Nguyên lý hoạt động

Phương pháp thích nghi là quá trình mà trong đó giao thức định tuyến dựa trên thông tin trạng thái hiện thời của mạng để tìm ra đường tốt nhất trong mạng và duy trì chúng Thông tin trạng thái có thể đo hoặc dự đoán và tuyến đường có thể thay đổi khi topo mạng hoặc lưu lượng mạng thay đổi Thông tin định tuyến cập nhật vào trong các

Router Link Path

Hub/Switch

Host

Trang 9

Giải thuật chọn đường tối ưu là giải thuật của Bellman-Ford hoặc Dijkstra đã được cải tiến Tiêu chuẩn chọn đường được sử dụng trong giải thuật này được tính bởi

độ trễ trung bình của các datagram trên các liên kết

 Đo độ trễ

Độ trễ của một liên kết được đo như sau: Giả sử

dt là độ trễ truyền một gói tin giữa hai nút hai đầu một liên kết

dp là độ trễ truyền dẫn của liên kết (là hằng số đối với mỗi liên kết)

dq là độ trễ xử lý và đợi trong nút gởi (nút nguồn)

Khi đó, độ trễ tổng cộng d được tính như sau:

d = dt + dp + dq

Độ trễ trung bình trên liên kết được tính sau 10 giây một cho tất cả các datagram đi qua Nếu độ trễ được tính này khác với độ trễ cũ (quá một ngưỡng cho trước nào đó) thì nó sẽ gởi đến tất cả các nút khác nhờ các đơn vị dữ liệu điều khiển (thông báo cập nhật) Ngoài ra, để đảm bảo độ tin cậy của việc cập nhật, một thông báo cập nhật sẽ luôn được gởi đi:

- Sau một khỏang thời gian T, ngay cả nếu không có sự thay đổi nào; hoặc

- Ngay sau khi có sự thay đổi trạng thái của một liên kết

 Cập nhật nội dung routing table

Với giải thuật chọn đường mô tả ở trên, trong đó mỗi nút phải biết thông tin tổng thể của mạng, vấn đề truyền thông tin chọn đường (ở đây là độ trễ) trở nên rất quan trọng Các thông báo cập nhật phải được nhận đúng để cho tất cả cơ sở dữ liệu ở các nút là như nhau (gắn bó dữ liệu)

Phương pháp cập nhật nội dung routing table trong mạng TCP/IP như sau:

Trang 10

 Xử lý và chuyển gói tin

Sau khi router nhận packet, the router sẽ gỡ bỏ header lớp 2 để tìm địa chỉ đích lớp

3 Sau khi đọc xong địa chỉ đích lớp 3 nó tìm kiếm trong routing table cho địa chỉ đích

đó Giả sử đỉa chỉ đích đó có trong routing table, router sẽ xác định địa chỉ của hop Sau đó packet được đẩy ra buffer của interface tương ứng, router sẽ khám phá loại encapsulation lớp 2 nào được sử dụng giữa interface đi ra của gói tin và next-hop Packet được đóng gói và chuyển xuống lớp 2 rồi đưa xuống môi trường truyền dẫn dưới dạng bit, tín hiệu điện, quang…Quá trình này sẽ tiếp tục cho đến khi packet được đưa đến đích

next-Như vậy một router phải xử lý và cập nhật thông tin bảng định tuyến của mình vừa đồng thời là một bộ chuyển tiếp (repeater) đối với các thông báo cập nhật đến từ các nút láng giềng của nó

Trong hình dưới đây là một ví dụ về Distance Vector Routing protocols (RIP/IGRP), chúng broadcast toàn bộ bảng định tuyến trên toàn bộ các cổng được cấu hình Broadcast này có thể được coi như multicasting Routers sử dụng các giao thức này sẽ không biết chính xác các router bên cạnh mà nó giao tiếp

Sơ đồ broadcast thông tin bảng định tuyến trong Distance Vector Routing

Tuy nhiên, có vấn đề nảy sinh khi xảy ra sự phân rã mạng: một nút nào đó bị tách khỏi các nút khác và do vậy không thể nhận được các thông báo cập nhật đến từ các nút khác của mạng Khi sự phân rã kết thúc, các nút vừa bị tách ra có thể nhận được

các thông báo cập nhật “quá hạn” Để cho phép một nút có thể loại bỏ được các thông báo “quá hạn” không còn giá trị đó, người ta định nghĩa một vùng “tuổi” trong mỗi thông báo cập nhật Khi một thông báo được nhận, “tuổi” của nó được giảm theo số

đơn vị thời gian đo được bởi một đồng hồ đặt ở mỗi nút Một thông báo cập nhật được

xem là “quá hạn” nếu vùng “tuổi” của nó có giá trị 0

Trang 11

Học viên: Bùi Tấn Ngọc 10

Hai thuật toán chọn đường thường được sử dụng phổ biến trong kỹ thuật định tuyến thích nghi động là:

- Thuật toán định tuyến theo vector khoảng cách (Distance-Vector Routing)

- Thuật toán định tuyến theo trạng thái liên kết (Link -State Routing)

5.2 Thuật toán định tuyến theo vector khoảng cách (Distance-Vector Routing)

Thuật toán định tuyến theo vector khoảng cách (Distance-Vector Routing) nhằm tính toán con đường ngắn nhất giữa các cặp node (router) trong mạng dựa trên thuật toán Bellman-Ford Các node mạng thực hiện quá trình trao đổi thông tin trên cơ sở của địa chỉ đích, node kế tiếp, và con đường ngắn nhất tới đích

Với thuật toán này, tại mỗi nút, các Router được giả định biết khoảng cách đến mỗi nút láng giềng của nó (có thể là độ trễ) Khi từng T msec mỗi Router gởi cho mỗi láng giềng một danh sách các độ trễ ước tính của nó đến từng nút láng giềng và nó cũng nhận được một danh sách tương tự từ các nút láng giềng

Xét một trong các bảng chọn đường đến từ nút láng giềng X, với Xi là ước tính thời gian X cần đến Router i Nếu Router biết độ trễ đến X là m msec thì nó cũng biết đến router i qua X là (Xi + m) msec Thực hiện phép tính này với mỗi nút láng giềng, một router có thể tìm ra độ trễ tốt nhất (nhỏ nhất) và nó dùng độ trễ này để cập nhật lại giá trị đường tương ứng trong bảng chọn đường mới

Chi tiết của thuật toán Bellman – Ford được mô tả như sau:

- P(S)i : Nút láng giềng mà S đi qua với đường đi ngắn nhất đến node i

- dij : trọng số trên cạnh nối trực tiếp từ node i đến node i

dij = 0 nếu i trùng j hoặc dij = Eij nếu i khác j

Giải thuật:

- Bước 1: Khởi động

Trang 12

Học viên: Bùi Tấn Ngọc 11

D(S)i = dsi , i V\{S};

P(S)i = i nếu d si ∞ hoặc P(S)i = Null nếu dsi = ∞

- Bước 2: Cập nhật đường đi ngắn nhất

D(S)i = min{ dsj +D(j)i }, j V\{S}

P(S)i = j

- Bước 3: Lặp lại bước 2 cho đến khi không có đường đi mới nào ngắn hơn đường đi đã được tìm thấy, nghĩa là D(s)i không có sự thay đổi qua 2 lần chạy liên tiếp với i V\{S} thì dừng

- Bước 4: Xác định D(S)i sẽ là giá trị đường đi ngắn nhất từ node S đến nút

i thông qua nút láng giềng là giá trị của P(s)i .

5.3 Thuật toán định tuyến theo trạng thái liên kết (Link -State Routing)

Link-State Routing dựa trên thuật toán Dijkstra, bình thường nó còn được gọi là thuật toán Shortest Path First (SPF) Các router chạy một giao thức Link-State liên quan trực tiếp tới trạng thái (state) của một cổng trên router khác trong hệ thống mạng Một Link-State router xây dựng toàn bộ dữ liệu về tất cả các trạng thái từ tất cả các router trong một vùng Một nghĩa khác, một Link-State router lấy đủ các thông tin để chúng có thể vẽ lên một bản đồ của hệ thống mạng

Mỗi router sau khi chạy thuật toán SPF trong bản đồ do chúng xây dựng, hay dữ liệu về link-state, để nhận ra một đường đi tốt nhất nhằm thiết lập trong routing table Router sẽ quảng bá thông tin Link-State này tới tất cả các router trên mạng Toàn bộ quá trình quảng bá này được gọi là Link-state Advertiesements (LSAs)

Không như Distance Vector Routers, Link-State Routers có thể thiết lập những mỗi quan hệ đặc biệt giữa các router khác để đảm bảo rằng thông tin LSA được truyền một cách hiệu quả nhất để đảm bảo tất cả các rouer trên mạng đều có cái nhìn giống nhau về topo mạng

Hệ thống mạng được xây dựng như một cái cây mà gốc là chính router đó, mỗi router được coi là gốc của mạng và từ đó nó tìm đường đi ngắn nhất tới các mạng sau khi xây dựng được bản đồ hệ thống mạng và chạy thuật toán SPF

Trang 13

Học viên: Bùi Tấn Ngọc 12

Sơ đồ quảng bá thông tin định tuyến trong Link-State Routing

Tóm lại hoạt động của Link-State Routing có thể chia làm 4 bước sau:

- Các router tìm neighbors của mình từ các router nối trực tiếp

- Sau khi tìm được neighbors xong, router gửi các LSA tới các neighbor của nó Sau khi nhận và copy thông tin từ LSA, router sẽ forward hay flood LSA tới các neighbors của nó

- Tất cả các router lưu LSA trong database của nó Điều đó có nghĩa là tất cả các router đều có một cái nhìn giống nhau về topo mạng

- Mỗi router sử dụng thuật toán Dijkstra để tính toán ra đường tốt nhất để đưa vào routing table

Chi tiết của thuật toán Dijkstra được mô tả như sau:

- D(S)i : Đường đi ngắn nhất từ node nguồn S đến node i ở bước hiện tại

- P(S)i : Trình tự đường đi ngắn nhất từ S đến node i ở bước hiện tại

Trang 14

Học viên: Bùi Tấn Ngọc 13

- d ij : trọng số trên cạnh nối trực tiếp từ node i đến node j

dij = 0 nếu i trùng j hoặc dij = Eij nếu i khác j

Giải thuật:

- Bước 1: Khởi động

M = {S};

D(S) I =d SI ; I V\M

P(S) I ={S,I} Nếu d SI ∞ hoặc P I = {} nếu d SI = ∞

- Bước 2: Cập nhật đường đi ngắn nhất

Chọn đỉnh N V sao cho D N = min{D(S) I }, i V\M

M = M U {N}

D(S) J =min{D(S) J ,D(S) N + d NJ }, J V\M

P(S)j = P(S) N + {J} /* Nối phần tử J vào cuối dãy*/

- Bước 3: Lặp lại bước 2 cho đến khi M = V

- Bước 4: Xác định D(S) I ( i V\M) sẽ là đường đi (độ trễ) ngắn nhất từ node S đến nút I với trình tự đường đi theo thứ tự được lưu tại P(S) I.

5.4 Ví dụ minh họa

Minh họa thuật toán định tuyến theo vector khoảng cách (Distance-Vector Routing) trên sơ đồ các nút mạng Router trong mạng TCP/IP được cho như hình dưới đây:

D

A

B

E C

F 2

2

2 1

Trang 15

Học viên: Bùi Tấn Ngọc 14

Xây dựng và cập nhật nội dung routing table tại các nút mạng (router)

Xét tại thời điểm khởi động, nội dung của các routing table tại các nút mạng (router) như sau:

- Đi qua B: D(A)B = dAB + D(B)B = 2 + 0 = 2

- Đi qua C: D(A)B = dAC + D(C)B = 1 + 2 = 3

- Đi qua D: D(A)B = dAD + D(D)B = 5 + 3 = 8 Như vậy D(A)B = min(2, 3, 8) = 2 và lúc này P(A)B = B

Cập nhật đường đi từ A – C:

- Đi qua B: D(A)C = dAB + D(B)C = 2 + 2 = 2

- Đi qua C: D(A)C = dAC + D(C)C = 1 + 0 = 1

- Đi qua D: D(A)C = dAD + D(D)C = 5 + 3 = 8 Như vậy D(A)C = min(2, 1, 8) = 1 và lúc này P(A)C = C

Ngày đăng: 31/01/2015, 22:48

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w