Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
700,75 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG ********** ********** BÀI TẬP LỚN MÔN HỌC: TỔ CHỨC VÀ QUY HOẠCH MẠNG VIỄN THÔNG Đề tài: “Các ThuậtToánVàPhươngThứcĐịnhTuyếnTrongMạng ” Giảng viên hướng dẫn: Nguyễn Văn Thắng Nhóm sinh viên thực hiện: Họ và tên SHSV Lớp HÀ NỘI 4/2012 Mục Lục 2 I. Mở đầu Một trong những hoạt động của mạng nói chung là việc truyền dữ liệu từ nguồn tới đích. Địnhtuyến là một chức năng không thể tách rời của mạng khi truyền dữ liệuh từ nguồn tới đích và có ý nghĩa đặc biệt quan trọngtrong việc thiết kế và tối ưu mạng. Cấu trúc mạng, giải pháp công nghệ vàphương pháp địnhtuyến là 3 vấn đề liên quan mật thiết với nhau và quyết định chất lượng hoạt động của mạng. Chính vì vậy, bài toánđịnhtuyến cần được quan tâm nghiên cứu để nhằm tối ưu hóa hiệu suất sử dụng tài nguyên mạng. Trên thế giới đã có nhiều nghiên cứu về cácphương pháp định tuyến, với mục đích chủ yếu là tìm ra những phương pháp địnhtuyến thích hợp để áp dụng vào thực tế mạng lưới. Trong thời gian gần đây, xu hướng địnhtuyến theo “giá” trên mạng đã trở thành một chủ đề nghiên cứu quan trọng. Thông thường, lợi ích mang lại trên mạng được tối đa bằng việc tối ưu hóa các hàm mục tiêu. Tùy thuộc vào cấu trúc vàcác đường truyền trên mạng mà các hàm mục tiêuvà ràng buộc đi theo sẽ khác nhau. 3 II. Nội dung 1. Giới thiệu về định tuyến: Địnhtuyến là quá trình tìm đường đi để truyền tải thông tin trong liên mạng từ nguồn đến đích. Nó là một chức năng được thực hiện ở tầng mạng. Chức năng này cho phép router đánh giá các đường đi sẵn có tới đích. Để đánh giá đường đi, địnhtuyến sử dụng các thông tin về Topology của mạng. Các thông tin này có thể do người quản trị thiết lập. Quá trình địnhtuyến cần thỏa mãn các yêu cầu cho trước bao gồm: đường đi ngắn nhất hoặc có băng thông rộng nhất. Đường đi thường phải tối ưu theo một trong hai tiêu chí.các gói tin có thể được gửi đi theo đường này. Nhưng cũng có thể chúng được gửi đi đồng thời trên nhiều đường . Việc địnhtuyến được sử dụng cho nhiều loại mạng: mạng viễn thông, liên mạng, internet, mạng giao thông. Hình 1: Tìm đường đi tiếp theo Địnhtuyến có thể được chia ra làm 3 phương pháp định tuyến: địnhtuyến tĩnh, địnhtuyến ngẫu nhiên vàđịnhtuyến động. Trong môi trường mạng thường xuyên có sự thay đổi ngẫu nhiên nên địnhtuyến tĩnh chỉ có ý nghĩa ở các gateway vàcácmạng nhỏ. Trongđịnhtuyến động, có hai phươngthứcđịnh tuyến: tìm đường theo đường đi ngắn nhất và tìm đường đi tối ưu. 4 Vấn đề tìm đường đi ngắn nhất được đặt ra: ta có thể tìm đường đi ngắn nhất từ một nút đến tất cả các nút khác hoặc tìm đường đi ngắn nhất từ một nút đến một nút cụ thể. Cách giải quyết này được sử dụng trong giao thức OSPF(Open Shortest Path First) với việc sử dụng cácthuậttoán Dijikstra, Bellman-Ford. Ngoài ra ta có thể để các nút mạng tự động tìm ra đường đi tối ưu. Việc tim ra tuyến đi được thực hiện một cách phân tán tại các nút chứ không do một nút trung tâm tính toán. Các nút chủ động trao đổi thông tin liên quan đến cấu hình mạng với nhau. Từ các thông tin thu thập được mỗi nút tự tìm ra đường đi tối ưu đến các nút khác rồi lập ra bảng địnhtuyến đưa ra quyết địnhđịnh tuyến. Bảng địnhtuyến thường xuyên được cập nhật mỗi khi có thay đổi cấu hình mạng. Thuậttoán được sử dụng là Prime và Kruskal nhằm tạo ra cây bắc cầu tối thiểu. 2. Các khái niệm trong lý thuyết graph: Phần này giới thiệu cácthuật ngữ vàcác khái niệm cơ bản nhằm mô tả các mạng, graph, vàcác thuộc tính của nó. Lý thuyết graph là một môn học xuất hiện từ lâu, nhưng lý thuyết này có một số thuật ngữ được chấp nhận khác nhau dùng cho các khái niệm cơ bản. Vì thế có thể sử dụng một số thuật ngữ khác nhau để lập mô hình graph cho mạng. Cácthuật ngữ được trình bày dưới đây này là cácthuật ngữ đã được công nhận và được sử dụng thường xuyên chương này. Một graph G, được định nghiã bởi tập hợp cácđỉnh V và tập hợp các cạnh E. Cácđỉnh thường được gọi là các nút và chúng biểu diễn vị trí (ví dụ một điểm chứa lưu lượng hoặc một khu vực chứa thiết bị truyền thông). Các cạnh được gọi là các liên kết và chúng biểu diễn phương tiện truyền thông. Graph có thể được biểu diễn như sau: G=(V, E) 5 Hình 2 là một ví dụ của một graph. Hình 2: Một graph đơn giản Mặc dù theo lý thuyết, V có thể là tập hợp rỗng hoặc không xác định, nhưng thông thường V là tập hợp xác định khác rỗng, nghĩa là có thể biểu diễn V={v i | i=1,2, N} Trong đó N là số lượng nút. Tương tự E được biểu diễn: E={e i | i=1,2, M} Một liên kết, ej, tương ứng một kết nối giữa một cặp nút. Có thể biểu diễn một liên kết ej giữa nút i và k bởi e j =(v i ,v k ) hoặc bởi e j =(i,k) Một liên kết gọi là đi tới một nút nếu nút đó là một trong hai điểm cuối của liên kết. Nút i và k gọi là kề nhau nếu tồn tại một liên kết (i, k) giữa chúng. Những nút như vậy được xem là các nút láng giềng. Bậc của nút là số lượng liên kết đi tới nút hay là số lượng nút láng giềng. Hai khái niệm trên là tương đương nhau trongcác graph thông thường. Tuy nhiên với các graph có nhiều hơn một liên kết giữa cùng một cặp nút, thì hai khái niệm trên là không tương đương. Trong trường hợp đó, bậc của một nút được định nghĩa là số lượng liên kết đi tới nút đó. Một liên kết có thể có hai hướng. Khi đó thứ tự của các nút là không có ý nghiă. Ngược lại thứ tự các nút có ý nghĩa. Trong trường hợp thứ tự các nút có ý nghĩa, một liên kết có thể được xem như là một cung và được định nghĩa a j =[v i ,v k ] 6 hoặc đơn giản hơn a j =[i,k] k được gọi là cận kề hướng ra đối với i nếu một cung [i,k] tồn tại và bậc hướng ra của i là số lượng các cung như vậy. Khái niệm cận kề hướng vào và bậc cận kề hướng vào cũng được định nghĩa tương tự. Một graph gọi là một mạng nếu các liên kết vàcác nút có mặt trong liên kết có các thuộc tính (chẳng hạn như độ dài, dung lượng, loại ). Cácmạng được sử dụng để mô hình các vấn đề cần quan tâm trong truyền thông, các thuộc tính riêng biệt của nút và liên kết thì liên quan đến các vấn đề cụ thể trong truyền thông. Sự khác nhau giữa các liên kết vàcác cung là rất quan trọng cả về việc lập mô hình cho mạng lẫn quá trình hoạt động bên trong của cácthuật toán, vì vậy sự khác nhau cần phải luôn được phân biệt rõ ràng. Về mặt hình học các liên kết là các đường thẳng kết nối các cặp nút còn các cung là các đường thẳng có mũi tên ở một đầu, biểu diễn chiều của cung. Một graph có các liên kết gọi là graph vô hướng, tuy nhiên một graph có các cung gọi là graph hữu hướng. Một graph hữu hướng có thể có cả các liên kết vô hướng. Thông thường , các graph được giả sử là vô hướng, hoặc sự phân biệt đó là không có ý nghĩa. Có thể có khả năng xảy ra hiện tượng xuất hiện nhiều hơn một liên kết giữa cùng một cặp nút (điều này tương ứng với việc có nhiều kênh thông tin giữa hai chuyển mạch). Những liên kết như vậy được gọi là các liên kết song song. Một graph có liên kết song song gọi là một multigraph. Cũng có khả năng xuất hiện các liên kết giữa một nút nào đó và chính nút đó. Những liên kết đó được gọi là các self loop. Chúng ít khi xuất hiện và thường xuất hiện do việc xem hai nút như là một nút trong quá trình lập mô hình graph cho một mạng hoặc phát sinh trong quá trình thực hiện một thuậttoán có việc hợp nhất các nút. Hình 4.2 minh hoạ một graph có các liên kết song song vàcác self loop. Một graph không có các liên kết song song hoặc các self loop gọi là một graph đơn giản. Việc biểu diễn và vận dụng các graph đơn giản là tương đối dễ dàng, vì vậy giả thiết rằng các graph được xem xét là các graph đơn giản. Nếu có sự khác biệt với giả thiết này, chúng sẽ được chỉ ra. 7 3. Phân loại địnhtuyến : Hình 3: Phân loại địnhtuyến 3.1. Địnhtuyến tĩnh: Đối với địnhtuyến tĩnh các thông tin về đường đi phải do người quản trị mạng cập nhật cho các router. Khi cấu trúc mạng có bất kỳ thay đổi nào thì chính người quản trị mạng phải xóa hoặc thêm các thông tin về đường đi cho các router. Những loại này gọi là đường đi cố định. Đối với hệ thống mạng nhỏ, ít có thay đổi thì công việc này đỡ mất công hơn. Chính vì địnhtuyến đòi hỏi người quản trị mạng phải cấu hình mọi thông tin về đường đi cho các router nên nó không có được tính linh hoạt như địnhtuyến động. Trong những hệ thống mạng lớn, địnhtuyến tĩnh thường được sử dụng kết hợp với giao thứcđịnhtuyến động cho một số mục đích đặc biệt. Hoạt động của địnhtuyến tĩnh có thể chia làm 3 bước như sau: - Đầu tiên, người quản trị mạng cấu hình các đường cố định cho các router - Router cài đặt các đường đi này vào bảng địnhtuyến - Gói dữ liệu được địnhtuyến theo các đường đi cố định này 8 Sau đây là demo cấu hình của mạngđịnhtuyến tĩnh Hình 4: Demo cấu hình mạngđịnhtuyến 3.2. Địnhtuyến ngẫu nhiên (random routing): 3.2.1. Địnhtuyến ngẫu nhiên lan tràn gói (flooding): Một dạng mạnh hơn của địnhtuyến riêng biệt đó là lan tràn gói. Trongphươngthức này, mỗi gói đi đến router sẽ được gửi đi trên tất cả các đường ra trừ đường mà nó đi đến. Phươngthức lan tràn gói này hiển nhiên là tạo ra rất nhiều gói sao chép (duplicate). Trên thực tế, số gói này là không xác định trừ khi thực hiện một số biện pháp để hạn chế quá trình này. Một trong những biện pháp đó là sử dụng bộ đếm bước nhảy trong phần tiêu đề của mỗi gói. Giá trị này sẽ bị giảm đi một tại mỗi bước nhảy. Gói sẽ bị loại bỏ khi bộ đếm đạt giá trị không. Về mặt lý tưởng, bộ đếm bước nhảy sẽ có giá trị ban đầu tương ứng với độ dài từ nguồn đến đích. Nếu như người gửi không biết độ dài của đường đi, nó có thể đặt giá trị ban đầu của bộ đếm cho trường hợp xấu nhất. Khi đó giá trị ban đầu đó sẽ được đặt bằng đường kính của mạng con. Một kỹ thuật khác để ngăn sự lan tràn gói là thêm số thứ tự vào 9 tiêu đề các gói. Mỗi router sẽ cần có một danh sach theo nút nguồn để chỉ ra những số thứ tự từ nguồn đó đã được xem xét. Để tránh danh sách phát triển không giới hạn, mỗi danh sách sẽ tăng lên bởi số đếm k để chỉ ra rằng tất cả các số thứ tự đến k đã được xem. Khi một gói đi tới, rất dễ dàng có thể kiểm tra được gói là bản sao hay không. Nếu đúng gói là bản sao thì gói này sẽ bị loại bỏ. Tức là khi nhận được mỗi gói tin,nút mạng sẽ gủi đi tất cả các nút kề cận,trừ nút đã gửi gói cho nó.Lan tràn gói có ưu điểm là lan tràn gói luôn luôn chọn đường ngắn nhất. Có được ưu điểm này là do về phương diện lý thuyết nó chọn tất cả các đường có thể do đó nó sẽ chọn được đường ngắn nhất. Tuy nhiên nhược điểm của nó là số lượng gói gửi trongmạng quá nhiều. Sử dụng lan tràn gói trong hầu hết các ứng dụng là không thực tế. Tuy vậy lan tràn gói có thể sử dụng trong những ứng dụng sau. Trong ứng dụng quân sự, mạng sử dụng phươngthức lan tràn gói để giữ cho mạng luôn luôn hoạt động tốt khi đối mặt với quân địch. Hình 5: Địnhtuyến lan tràn gói Trong những ứng dụng cơ sở dữ liệu phân bố, đôi khi cần thiết phải cập nhật tất cả cơ sở dữ liệu. Trong trường hợp đó sử dụng lan tràn gói là cần thiết. Ví dụ sự dụng lan tràn gói để gửi cập nhật bản địnhtuyến bởi vì cập nhật không dựa trên độ chính xác của bảng định tuyến. 40 Phương pháp lan tràn gói có thể được dùng như là đơn vị để so sánh phươngthứcđịnhtuyến khác. Lan tràn gói luôn luôn chọn đường ngắn nhất. Điều đó dẫn đến không có giải thuật nào có thể tìm được độ trễ ngắn hơn. Một biến đổi của phương pháp lan tràn gói là lan tràn gói có chọn lọc. Trong giải thuật này, router chỉ gửi gói đi ra trên các đường mà đi theo hướng đích. Điều đó có nghĩa là không gửi gói đến những đường mà rõ ràng nằm trên hướng sai 10 [...]... tối thiểu Hơn nữa cácthuậttoán phức tạp hơn được xây dựng dựa vào cácthuậttoán cây bắc cầu tối thiểu ,và một số thuậttoán này hoạt động tốt hơn với các cấu trúc dữ liệu được sử dụng cho thuậttoán sau đây ,thuật toán này được phát biểu bởi Prim Cácthuậttoán này phù hợp với các quad trình thực hiện song song bởi vì các quá trình đó được thực hiện bằng cáctoán tử vector Thuậttoán được miêu tả... phần không thể thiếu được trong công tác thiết kế, xây dựng và vận hành, quản lý mạng Qua quá trình tìm hiểu về địnhtuyến từ sách báo và internet, bài tập lớn của chúng em đưa ra các vấn đề: - Địnhtuyến - Phương pháp địnhtuyến (các loại định tuyến) - Thuậttoánđịnhtuyếnvà ví dụ - Giao thứcđịnhtuyến ứng dụng cácthuậttoán Bài tập lớn của chúng em còn nhiều thiếu sót, rất mong được sự chỉ bảo của... người ta sử dụng 2 thuật toán: prime và kruskal 3.3.2 Địnhtuyến động (shortest path tree): Bài toán tìm các đường đi ngắn nhất là một bài toán khá quan trọngtrong quá trình thiết kế và phân tích mạng Hầu hết các bài toánđịnhtuyến có thể giải quyết như giải quyết bài toán tìm đường đi ngắn nhất khi một "độ dài " thích hợp được gắn vào mỗi cạnh (hoặc cung) trongmạngTrong khi cácthuậttoán thiết kế... trị mạng tối ưu hơn bằng cách phân vùng tự trị cho các vùng lân cận nhau Mỗi vùng tự trị là một AS: Hình 11: Ưu điểm của phân vùng tự trị (AS) Mỗi AS chạy một địnhtuyến EIGRP chung và chỉ địnhtuyếntrong AS đó, muốn địnhtuyến dữ liệu sang mạng khác thì các nút mạng phải địnhtuyến tĩnh tới nút mạng biên (Gateway) Ở đây, ta lại thấy địnhtuyến tĩnh cũng có chức năng đặc biệt trongmạng Hai giao thức. .. tuyến lai giữa hai giao thức trên để lợi dụng ưu điểm của mỗi loại giao thức 21 Hình 8: Phân loại các giao thứcđịnhtuyến 5.1 Giao thứcđịnhtuyến RIP (Routing Information Protocol): Giao thứcđịnhtuyến RIP là giao thứcđịnhtuyến “distance vector” – địnhtuyến theo khoảng cách từ nút cho tới mạng đích Hiện nay giao thức này đã được nghiên cứu và phát triển đến version 3, trong đó vesion 2 được sử... tới mạng đích, trong đó mỗi “hop count” là một nút mạng có chức năng hoạt động ở lớp 3 trong mô hình OSI Và giá của đường đi có giá trị từ 0 đến 15 Cứ mỗi 30 giây thì các nút mạng gửi thông tin bảng địnhtuyến cho nhau để cập nhật dữ liệu về đường đi tới cácmạng đích và duy trì kết nối Giao thức này sử dụng thuậttoán Bellman-Ford so sánh giá của các liên kết để xây dựng nên bảng địnhtuyếnvàđịnh tuyến. .. bằng cách thay mỗi cạnh bằng hai cung có cùng độ dài Ban đầu giả sử rằng lij là dương hoàn toàn; sau đó giả thiết này có thể được thay đổi Loại địnhtuyến này được dùng thông dụng với cácthuậttoán được dùng: dijkstra, bellman ford 4 Cácthuậttoán dùng để định tuyến: 4.1 Thuậttoán Prim: Thuậttoán này có những ưu điểm riêng biệt là khi mạng dày đặc ,trong việc xem xét một bài toán tìm kiếm các cây... dụ trên nút mạng R1 ta sử dụng chương trình theo dõi bản tin cập nhật dữ liệu bảng định tuyến, sau mỗi thời gian nhất định nút mạng gửi yêu cầu nút mạng khác gửi thông tin địnhtuyến về để xây dựng bảng địnhtuyến của riêng mình Trong bảng địnhtuyến có chứa thông tin về mạng đích, cổng đi tới mạng đích và giá của đường tới mạng đích đó là bao nhiêu 22 Hình 9: Quá trình gưi thông tin địnhtuyến ở RIP... Routing Protocol): Đây là giao thứcđịnhtuyến do Cisco IOS Software Release xây dựng từ năm 1992 và chỉ hoạt động trên các thiết bị mạng do Cisco sản xuất Giao thức này sử dụng thuậttoán Bellman-Ford hoặc Ford-Fulkerson, là hai thuậttoánđịnhtuyến theo khoảng cách Nhưng quá trình hoạt động cập nhật bảng địnhtuyến thì EIGRP lại hoạt động giống như OSPF, tức cập nhật địnhtuyến theo trạng thái liên... giao thức EIGRP tăng dung lượng của mạng hơn hẳn so với giao thứcđịnhtuyến RIP Đồng thời, giá của mỗi liên kết được tính toán dựa vào bốn thông số: băng thông, trễ, độ tin cậy và tải Dựa vào bốn thông số này, mỗi thông tin địnhtuyếntrong đường đi được tính toán tối ưu, đảm bảo cho các gói tin trongmạng luôn được truyền đi với độ tin cậy cao nhất Ngoài ra, giao thức OSPF còn giúp người quản trị mạng . tuyến: định tuyến tĩnh, định tuyến ngẫu nhiên và định tuyến động. Trong môi trường mạng thường xuyên có sự thay đổi ngẫu nhiên nên định tuyến tĩnh chỉ có ý nghĩa ở các gateway và các mạng nhỏ. Trong. được định tuyến theo các đường đi cố định này 8 Sau đây là demo cấu hình của mạng định tuyến tĩnh Hình 4: Demo cấu hình mạng định tuyến 3.2. Định tuyến ngẫu nhiên (random routing): 3.2.1. Định tuyến. dụng với các thuật toán được dùng: dijkstra, bellman ford. 4. Các thuật toán dùng để định tuyến: 4.1. Thuật toán Prim: Thuật toán này có những ưu điểm riêng biệt là khi mạng dày đặc ,trong việc