GIẢI THUẬT ĐỊNH TUYẾN (ROUTING ALGORITHM)

Similar documents
Bộ môn MMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

HƯỚNG DẪN CÀI ĐẶT PHẦN MỀM DIỆT VIRUS AVIRA

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG CẬP NHẬT CHỨNG THƯ SỐ HOTLINE:

Chương 5. Network Layer. Phần 1 - Địa chỉ IPv4. Tài liệu : Forouzan, Data Communication and Networking

Chương 5. Network Layer 19/09/2016 1

Tình huống 1: PPPoE với Username và Password

Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

Chương 6. Transport Layer. Tài liệu : Forouzan, Data Communication and Networking

Nội dung chính của chương. Các công nghệ đĩa cứng Cấu tạo vật lý của đĩa cứng Cấu tạo logic của đĩa cứng Cài đặt đĩa cứng như thế nào?

Internet Protocol. Bởi: Phạm Nguyễn Bảo Nguyên

Hướng dẫn cài đặt FPT

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

HƯỚNG DẪN SỬ DỤNG PLESK PANEL

Giáo trình này được biên dịch theo sách hướng dẫn của Sun Light. Vì là hướng dẫn kỹ thuật, trong này những thuật ngữ kỹ thuật bằng tiếng Anh tôi chỉ

Cài đặt và cấu hình StarWind iscsi trên Windows. iscsi SAN là gì?

Chương 7. Application Layer. Tài liệu : Forouzan, Data Communication and Networking

Cụ thể những công việc mà AndroidManifest.xml thực hiện: - Đặt tên cho Java package của ứng dụng.

Ôn tập Thiết bị mạng và truyền thông DH07TT - Lưu hành nội bộ (không sao chép dưới mọi hình thức)

BÀI TẬP THỰC HÀNH LẬP TRÌNH WINDOWS C#

HỢP ĐỒNG MUA BÁN HÀNG HÓA QUỐC TẾ GV: NGUYỄN THỊ BÍCH PHƯỢNG

CẤU TRÚC DỮ LIỆU NÂNG CAO

TÀI LIỆU THỰC HÀNH MÔN CƠ SỞ DỮ LIỆU NÂNG CAO

HƯỚNG DẪN SỬ DỤNG ĐẦU GHI H.264 DVR VISION VS (4CH - 8CH - 16CH)

Tạo repository mới. The working tree. The staging index. Lệnh git init tạo một repository loại git. tại thư mục hiện tại: $ git init

SIEMENS INDUSTRIAL NETWORKS

Dọn "rác" Windows 7 vào dịp cuối năm

LÂ P TRI NH WEB ASP.NET

Bài 10. Cấu trúc liên nối. khác nhau được gọi là cấu trúc liên nối. nhu cầu trao đổi giữa các module.

Khoa KH & KTMT Bộ môn Kỹ Thuật Máy Tính

Tạo Project với MPLAB

STACK và QUEUE. Lấy STACK

Tài liệu hướng dẫn: Stored Procedure

ĐỌC, GHI XML VỚI C# TRONG ADO.NET --- SỬ DỤNG VISUAL STUDIO

Bài Thực hành Asp.Net - Buổi 1 - Trang: 1

BÀI 1: VBA LÀ GÌ? TẠO MACRO, ỨNG DỤNG CÁC HÀM TỰ TẠO (UDF), CÀI ĐẶT ADD-INS VBA là gì?

HƯỚNG DẪN CÁCH SỬ DỤNG WINDOWS MOVIE MAKER

Online Appointment System will work better with below conditions/ Hệ thống đặt hẹn online sẽ hoạt động tốt hơn với điều kiện sau đây:

HƢỚNG DẪN TRIỂN KHAI KASPERSKY - MOBILE DEVICE MANAGEMENT

BÀI 6 LÀM VIỆC VỚI THÀNH PHẦN MỞ RỘNG CỦA CSS3

BELGIUM ONLINE APPOINTMENT

TỔNG QUAN VỀ.NET VÀ C#

Kỹ thuật thu nhỏ đối tượng trong Design (Layout)

Mạng máy tính - Computer Network: Hệ. Giao thức - Protocol:

LẬP TRÌNH WINDOWS FORM VỚI CÁC CONTROL NÂNG CAO (Các control trình bày dữ liệu dưới dạng danh sách)

Entity Framework (EF)

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

MỤC LỤC. Giáo trình Thiết kế web Trang 1

I. Hướng Dẫn Đăng Nhập:

B5: Time to coding. Tới thư mục src/example.java và thay đổi nội dung file như sau: Mã: package at.exam;

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG HOSTING PLESK PANEL

Nhấn nút New để tạo 1 biến mới Trang 17

LAB IP SLA Bài 1. Bùi Quốc Kỳ ***

GV: Phạm Đình Sắc or

BÀI GIẢNG CHƯƠNG 3 GIAO TIẾP KẾT NỐI SỐ LIỆU

Mô hình dữ liệu quan hệ (Relational data model)

BẢO MẬT TRONG SQL SERVER

Tìm hiểu Group Policy Object và các ví dụ

SIMULATE AND CONTROL ROBOT

KIẾN TRÚC MÁY TÍNH. Giảng viên: ThS. Phan Thanh Toàn. v

Môn Học: Cơ Sở Dữ Liệu 2. Chương 3 LẤY DỮ LIỆU TỪ NHIỀU NGUỒN

ĐỀ CƯƠNG BÀI GIẢNG HỌC PHẦN: AN NINH MẠNG

Bài tập lớn số 1. Giả lập bộ định thời

Parallels Cloud Server 6.0

CHƯƠNG 2: CÁC ĐẶC ĐIỂM VỀ MÔI TRƯỜNG PHÁT TRIỂN (IDE)

dụng một chính sách, điều này giúp dễ dàng quản lý và cung cấp tính năng Load Balancing (cân bằng tải) phục vụ tốt hơn các yêu cầu của tổ chức.

LINQ TO SQL & ASP.NET

2.4. GIAO THỨC MQTT Các khái niệm cơ bản MQTT được phát triển bởi IBM và Eurotech, phiên bản mới nhất là MQTT 3.1 MQTT (Giao vận tầm xa) là

Phần 2. SỬ DỤNG POWERPOINT ĐỂ CHUẨN BỊ NỘI DUNG TRÌNH BÀY

Các kiểu định địa chỉ họ MSC-51

Bài tập căn bản Visual Basic.Net Vòng lặp. txtn. txtketqua. btntinh. txtn. txtketqua. btntinh. Trang 1

PHÁT TRIỂN ỨNG DỤNG WEB

HƯỚNG DẪN QUẢN TRỊ HỆ THỐNG

Lab01: M V C Lưu ý: Để thực hành, các bạn phải cài Visual Studio 2013 trở lên mới hỗ trợ MVC5.

Lecture 12. Trees (1/2) Nội dung bài học:

Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM LẬP TRÌNH MINICHAT. Bài giảng 3. Trang1. Khoa Khoa Học Và Kỹ Thuật Máy Tính

1 Bước 1: Test thử kit LaunchPad.

BÀI 6a LẬP TRÌNH ĐA TUYẾN (MULTI THREAD)

Đa ngôn ngữ (Internationalization) trong Servlet

MA NG MA Y TI NH (Computer Networks)

TẦNG MẠNG IP và ĐỊNH TUYẾN. GV: MAI Xuân Phú Khoa Công Nghệ Thông Tin Đại Học Công Nghiệp TPHCM

FCAPS. nhìn từ quan điểm ITIL. Công cụ ManageEngine và ứng dụng khung ITIL trong các tổ chức, doanh

Bài thực hành 1: Chỉ mục trong SQL Server

Lập trình chuyên nâng cao. Lập trình phân tán (Distributed computing

LẬP TRÌNH 8051 SỐ HỌC VÀ LÔ GIC

HTML DOM - Forms. MSc. nguyenhominhduc

Cấu hình Router FTTH ---X---

Bài 13: C++11. EE3490: Kỹ thuật lập trình HK1 2017/2018 TS. Đào Trung Kiên ĐH Bách khoa Hà Nội

Qu n ả tr h ố g t p ậ tin

Exceptions. Outline 7/31/2012. Exceptions. Exception handling is an important aspect of objectoriented. Chapter 10 focuses on:

BÀI LAB ĐỔI TÊN DOMAIN

BÀI 4 GIAO TIẾP GIỮA CÁC TIẾN TRÌNH TRONG LINUX

NHẬP MÔN LẬP TRÌNH KHOA HỌC DỮ LIỆU. Bài 10: Thư viện Pandas (2)

LẬP TRÌNH TEB308 / 824 CƠ BẢN BẰNG BÀN KEY

SMS Live Hướng dẫn sử dụng

Giao tiếp giữa các tiến trình

Kích hoạt phương thức xa (RMI- Remote Method Invocation )

B3: Bên khung Package Explore bên trái đi tới thư mục res, bạn sẽ thấy có 3 thư mục con:

Bài 10: Cấu trúc dữ liệu

Bài 7: Các cấu trúc điều khiển

Transcription:

Chương 8 GIẢI THUẬT ĐỊNH TUYẾN (ROUTING ALGORITHM) Giải thuật định tuến 4-

NỘI DUNG Tổng quan Link state Distance Vector Hierarchical routing Giải thuật định tuến 4-

Tổng quan: Phối hợp giữa routing và forwarding routing algorithm local forwarding table header value output link 000 00 0 00 3 Tham số trong header của gói đến 0 3 Giải thuật định tuến 4-3

Tổng quan: Đồ thị mạng 5 Graph: G = (N,E) u v 3 3 w 5 z N = tập các router = { u, v, w,,, z } E = tập các liên kết={ (u,v), (u,), (v,), (v,w), (,w), (,), (w,), (w,z), (,z) } Đồ thị mạng cũng hữu dụng trong các ngữ cảnh mạng khác Ví dụ: PP, với N là tâp các peer và E là tập các kết nối TCP Giải thuật định tuến 4-4

Tổng quan: Chi phí liên kết (cost) u 5 v 3 3 w 5 z c(, ) = chi phí của liên kết (, ) - ví dụ c(w,z) = 5 chi phí được ác định tù theo các ếu tố như băng thông, mức độ nghẽn... Chi phí của đường đi (,, 3,, p ) = c(, ) + c(, 3 ) + + c( p-, p ) Câu hỏi: Đâu là đường đi có chi phí nhỏ nhất giữa u và z? Giải thuật định tuến sẽ ác định đường đi có chi phí nhỏ nhất Giải thuật định tuến 4-5

Tổng quan: Phân loại giải thuật định tuến Thông tin toàn cục ha phân tán? Toàn cục: Tất cả các router biết toàn bộ topo với thông tin về chi phí Các giải thuật link state Phân tán: router biết các láng giềng và chi phí nối đến đó Quá trình tính toán lặp lại, trao đổi thông tin với các láng giềng Các giải thuật distance vector Tĩnh ha động? Tĩnh: Các tuến được ác lập và tha đổi bởi người quản trị Động: Các tuến tha đổi nhanh, tự động Cập nhật theo thời gian Thích ứng với các tha đổi của chi phí trên liên kết Giải thuật định tuến 4-6

NỘI DUNG Tổng quan Link state Distance Vector Hierarchical routing Giải thuật định tuến 4-7

Một giải thuật Link-State Giải thuật Dijkstra Các node biết tất cả topo mạng Có được qua "quảng bá trạng thái liên kết Tất cả các node có cùng thông tin Tính toán các đường đi có chi phí thấp nhất từ một node đến tất cả các node khác Tạo forwarding table cho node đó Lặp : sau k lần lặp, biết đường đi có chi phí thấp nhất đến k node đích Ký hiệu: c(,): chi phí từ node đến ; = nếu không nối trực tiếp D(v): chi phí hiện hành từ nguồn đến node v p(v): nút nga trước nút v trên đường đi từ nguồn tới đích N: Tập các nút mà đường đi ngắn nhất đã được ác định Giải thuật định tuến 4-8

Giải thuật Dijsktra Initialization: N = {u} 3 for all nodes v 4 if v adjacent to u 5 then D(v) = c(u,v) 6 else D(v) = 7 8 Loop 9 find w not in N such that D(w) is a minimum 0 add w to N update D(v) for all v adjacent to w and not in N : D(v) = min( D(v), D(w) + c(w,v) ) 3 /* new cost to v is either old cost to v or known 4 shortest path cost to w plus cost from w to v */ 5 until all nodes in N' Giải thuật định tuến 4-9

Ví dụ () Bước 0 3 4 5 N u u u uv uvw uvwz D(v),p(v),u,u,u D(w),p(w) 5,u 4, 3, 3, D(),p(),u D(),p(), D(z),p(z) 4, 4, 4, 5 u v 3 3 w 5 z Giải thuật định tuến 4-0

Ví dụ () Kết quả có câ SPT (shortest-path tree) từ u: v w u z Xâ dựng forwarding table cho u: đích v w z link (u,v) (u,) (u,) (u,) (u,) Giải thuật định tuến 4-

NỘI DUNG Tổng quan Link state Distance Vector Hierarchical routing Giải thuật định tuến 4-

Giải thuật Distance Vector () Phương trình Bellman-Ford (qui hoạch động) Định nghĩa: If d () := chi phí nhỏ nhất từ đến Then d () = min {c(,v) + d v () } v Trong đó min lấ tất cả các láng giềng v của để ét Giải thuật định tuến 4-3

Ví dụ Bellman-Ford u 5 v 3 3 w 5 z Đã biết, d v (z) = 5, d (z) = 3, d w (z) = 3 Theo phương trình B-F: d u (z) = min { c(u,v) + d v (z), c(u,) + d (z), c(u,w) + d w (z) } = min { + 5, + 3, 5 + 3} = 4 Node đạt min là chặng kế tiếp trên đường đi ngắn nhất, dùng để lập bảng forwarding table Giải thuật định tuến 4-4

Giải thuật Distance Vector () D () = ước lượng chi phí nhỏ nhất từ đến Node biết chi phí đến mỗi láng giềng v của nó: c(,v) Node lưu giữ một distance vector: D = [D (): є N ] Node cũng lưu giữ các distance vector của các láng giềng Đối với mỗi láng giềng v, lưu giữ: D v = [D v (): є N ] Giải thuật định tuến 4-5

Giải thuật Distance vector (3) Cơ sở: Theo thời gian, mỗi node gửi ước lượng distance vector của nó đến các láng giềng Bất đồng bộ Khi node nhận một ước lượng DV mới từ láng giềng, nó cập nhật DV của nó bằng phương trình B-F: D () min v {c(,v) + D v ()} cho mỗi node N Dưới các điều kiện tự nhiên, ước lượng D () hội tụ dần về chi phí nhỏ nhất thực sự d () Giải thuật định tuến 4-6

Giải thuật Distance vector (4) Lặp, bất đồng bộ: mỗi hoạt động lặp cục bộ là do: Tha đổi chi phí liên kết cục bộ Thông điệp cập nhật (DV update message) từ láng giềng Phân tán: Mỗi node chỉ thông báo cho láng giềng khi tha đổi DV của nó Đến lượt các láng giềng thông báo cho các láng giềng của chúng nếu cần Mỗi node: Chờ (Tha đổi trong DV của nút bên cạnh) Tính lại ước lượng DV Nếu DV tha đổi, Báo cho nút bên cạnh Giải thuật định tuến 4-7

D () = min{c(,) + D (), c(,z) + D z ()} = min{+0, 7+} = node table cost to cost to z z 0 7 z node table cost to z from from from z 0 node z table cost to z z 7 0 from z 0 3 0 7 0 time D (z) = min{c(,) + D (z), c(,z) + D z (z)} = min{+, 7+0} = 3 7 z Giải thuật định tuến 4-8

D () = min{c(,) + D (), c(,z) + D z ()} = min{+0, 7+} = node table cost to cost to cost to z z z 0 7 0 3 0 3 0 0 z z 7 0 z 3 0 node table cost to cost to cost to z z z 0 7 0 3 0 0 0 z z 7 0 z 3 0 node z table cost to cost to cost to z z z from from from z 7 0 from from from z 0 7 0 3 0 from from from z 0 3 0 3 0 time D (z) = min{c(,) + D (z), c(,z) + D z (z)} = min{+, 7+0} = 3 7 z Giải thuật định tuến 4-9

Tha đổi chi phí liên kết Các tha đổi chi phí liên kết: node phát hiện tha đổi chi phí liên kết nội bộ Cập nhật thông tin định tuến, tính toán lại distance vector Nếu DV tha đổi, thông báo cho láng giềng Tại t 0, phát hiện tha đổi link-cost, cập nhật DV của nó, và thông báo cho các láng giềng của nó. Tại t, z nhận cập nhật từ và cập nhật bảng của nó. Nó tính lại chi phí nhỏ nhất đến và gửi DV mới cho các láng giềng. Tại t, nhận cập nhật từ z và cập nhật bảng của nó. Chi phí nhỏ nhất của không tha đổi và do đó không gửi bất kỳ thông điệp nào đến z 4 50 z Giải thuật định tuến 4-0

NỘI DUNG Tổng quan Link state Distance Vector Hierarchical routing Giải thuật định tuến 4-

Hierarchical Routing Qui mô: với hàng trăm triệu đích: Không thể lưu tất cả các đích trong bảng định tuến! Việc trao đổi bảng định tuến sẽ làm tràn ngập các liên kết! Nhu cầu tự quản: internet = mạng của các mạng Mỗi quản trị mạng muốn kiểm soát định tuến bên trong mạng của họ Định tuến phân cấp Giải thuật định tuến 4-

Hierarchical Routing Tập hợp các router vào các vùng, autonomous sstems (AS) Các router trong cùng AS intra-as routing protocol: giao thức định tuến nội vùng Các router trong AS khác nhau chạ các intra-as routing protocol khác nhau Gatewa router Kết nối trực tiếp đến router trong AS khác Giải thuật định tuến 4-3

Liên kết giữa các AS 3c 3a 3b AS3 a c d b Intra-AS Routing algorithm AS Forwarding table Inter-AS Routing algorithm a c AS b forwarding table được â dựng nhờ vào giao thức định tuến nội vùng và liên vùng (intra-as và inter-as routing protocol) intra-as cài đặt các mục cho các đích nội vùng inter-as & intra-as cài đặt các mục cho các đích nằm bên ngoài Giải thuật định tuến 4-4

Các tác vụ liên AS Giả sử router trong AS nhận datagram có đích nằm ngoài AS: router nên chuển gói đến gatewa router, nhưng đến gatewa nào? AS phải:. Học để biết các đích nào có thể đến được thông qua AS, đích nào có thể đến được thông qua AS3. Phát tán thông tin về khả năng đến được nà đến tất cả các router trong AS Đâ là một nhiệm vụ của giao thức định tuến inter-as 3c 3a 3b AS3 a c d b AS a c AS b Giải thuật định tuến 4-5

Ví dụ: thiết lập forwarding table trong router d Giả sử AS học và biết được (thông qua giao thức inter-as) subnet có thể đến được thông qua AS3 (gatewa c), không thể thông qua AS. Giao thức inter-as phát tán thông tin nà đến tất cả các router bên trong. Từ giao thức intra-as mà router d ác định được giao tiếp I của nó là tiếp tục con đường có chi phí nhỏ nhất đến c. Ghi vào forwarding table một mục (,I) 3c 3a 3b AS3 a c d b AS a c b AS Giải thuật định tuến 4-6

Ví dụ: Chọn trong số nhiều AS Giả sử từ giao thức inter-as, AS học và biết subnet có thể đến được từ AS3 và từ AS. Để cấu hình forwarding table, router d phải ác định gatewa nào nó nên chuển gói có đích là. Đâ là một tác vụ nữa của giao thức định tuến inter-as 3c 3a 3b AS3 a c d b AS a c AS b Giải thuật định tuến 4-7

Ví dụ: Chọn trong số nhiều AS Gửi gói đến router nào có chi phí thấp nhất. Từ inter-as protocol biết có thể đến subnet bằng nhiều đường Dùng thông tin từ intra-as protocol ác định đường đi có chi phí nhỏ nhất đến mỗi gatewa Chọn gatewa có chi phí đường đi nhỏ nhất Xác định giao tiếp I dẫn đến gatewa đã chọn, nhập (,I) vào forwarding table Giải thuật định tuến 4-8