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

các giao thức định tuyến dựa trên cơ sở của cây khung nhỏ nhất để định tuyến multicast

19 355 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 19
Dung lượng 897,64 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

các giao thức định tuyến dựa trên cơ sở của cây khung nhỏ nhất để định tuyến multicast

Trang 1

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

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

- -Báo cáo Môn: Giao thức định tuyến

Đề tài: Thiết kế giao thức định tuyến dựa trên cơ sở của cây khung nhỏ nhất để định tuyến multicast

Giảng viên hướng dẫn: TS Trương Diệu Linh

Lưu Thanh Tùng 20102475 Nguyễn Bảo Khánh 20101704 Thân Văn Hải 20101486 Mai Văn Minh 20101883 Phạm Việt Anh 20101112

Hà Nội – 2014

Trang 2

Mục lục

I Giới thiệu về multicast, giải thuật tìm đường đi ngắn nhất 3

1 Giới thiệu về multicast 3

a Địa chỉ multicast 3

b Cây phân phối multicast 4

2 Giải thuật tìm đường đi ngắn nhất 5

a Bài toán 5

b Ý tưởng để giải quyết bài toán 5

c Thuật toán Dijkstra 5

d Các kiểu giải thuật tìm đường 5

II Định tuyến multicast 6

1 IGMP 6

a IGMPv1 7

b IGMPv2 8

2 Giải thuật định tuyến multicast 10

3 Định tuyến multicast 16

Trang 3

I Gi i thi u v multicast, gi i thu t tìm đ ới thiệu về multicast, giải thuật tìm đường đi ngắn ệu về multicast, giải thuật tìm đường đi ngắn ề multicast, giải thuật tìm đường đi ngắn ải thuật tìm đường đi ngắn ật tìm đường đi ngắn ường đi ngắn ng đi ng n ắn

nh t ất

1 Gi i thi u v multicast ới thiệu về multicast, giải thuật tìm đường đi ngắn ệu về multicast, giải thuật tìm đường đi ngắn ề multicast, giải thuật tìm đường đi ngắn

Địa chỉ multicast ra đời nhằm để giải quyết vấn đề khi một nguồn muốn gửi gói tin cho một số đích khác nhau khi mà 2 kiểu truyền thông unicast và broadcast không hoàn toàn đặt được hiểu quả triệt để, ảnh hưởng đến băng thông chung của mạng

IP multicast dùng để truyền gói tin từ một nguồn đến nhiều đích khác nhau trong mạng LAN hay WAN Những thành viên nào muốn nhận các gói tin này thì phải tham gia vào một nhóm Multicast Với địa chỉ Multicast thì địa chỉ nguồn chỉ cần gửi một gói tin đến nhóm, gói tin này sẽ được chuyển đến tất cả thành viên trong nhóm

đó

a Đ a ch multicast ịa chỉ multicast ỉ multicast

Các router hay switch phải có phương thức để phân biệt gói tin dạng multicast với dạng unicast hay broadcast Điều này được thông qua việc gán địa chỉ IP, bằng cách sử dụng địa chỉ lớp D từ 224.0.0.0 đến 239.255.255.255 dành cho multicast

Các thiết bị mạng có thể nhanh chóng lọc ra các địa chỉ multicast bằng cách đọc 4 bit bên trái của một địa chỉ Bốn bit này của một địa chỉ multicast luôn bằng 1110 Vậy làm thế nào để một router và switch kết hợp được địa chỉ multicast với một địa chỉ MAC Do không có cơ chế hoạt động tương đương như cơ chế ARP, một dạng giá trị đặc biệt dành riêng cho địa chỉ MAC của multicast sẽ được dùng Các địa chỉ này sẽ bắt đầu bằng 0100.5e Phần 28 bit sau của địa chỉ multicast sẽ được ánh xạ vào 23 bit thấp của địa chỉ MAC

Trang 4

Hình trên cho ta thấy cơ chế ánh xạ địa chỉ, chỉ có 23 bit cuối của địa chỉ là được chép từ địa chỉ IP sang địa chỉ MAC Tuy nhiên vẫn còn 5 bit của địa chỉ IP không được chuyển sang địa chỉ MAC, điều này làm nảy sinh một vấn đề là có thể có 32 địa chỉ IP khác nhau được ánh xạ vào chung một địa chỉ MAC Do sự nhập nhằng này, một host multicast có một vấn đề nhỏ khi nó nhận frame của một địa chỉ multicast Một MAC có thể ứng với 32 địa chỉ multicast khác nhau, vì vậy

nó có thể nhận được những gói tin của nhóm khác không phải nhóm của mình Không gian địa chỉ multicast :

 Toàn bộ không gian địa chỉ multicast : 224.0.0.0 – 239.255.255.255

 Địa chỉ link-local : 224.0.0.0 – 224.0.0.255 được dùng bởi các giao thức định tuyến Đây là địa chỉ các nhóm cố định vì các địa chỉ này đã được định nghĩa trước Một số địa chỉ bao gồm như :

- 224.0.0.1 : tất cả các host

- 224.0.0.2 : tất cả các router

- 224.0.0.5 : tất cả các OSPF router

 Dải địa chỉ dành cho quản trị : 239.0.0.0.0 – 239.255.255.255 được dùng trong các vùng multicast riêng

 Địa chỉ toàn cục : 224.0.1.0 – 238.255.255.255 được dùng bởi bất cứ đối tượng nào

b Cây phân ph i multicast ối multicast

Để phân phối dữ liệu multicast tới tất cả các máy nhận, cây phân phối multicast được sử dụng, nó có tác dụng điều khiển đường đi của dữ liệu truyền trên mạng

Có 2 loại cây phân phối cơ bản :

 Cây nguồn : là cây với gốc của nó chính là nguồn dữ liệu multicast

và các nhánh của nó dẫn tới các đầu cuối nhận dữ liệu trên mạng

Do vậy cây này sử dụng đường đi ngắn nhất nên gọi là cây đường

đi ngắn nhất (Shortest Path Tree – SPT)

 Cây chia sẻ : là cây sử dụng chung một gốc duy nhất tại một điểm

đã chọn trên mạng Gốc này còn được gọi là điểm hẹn (Rendezvous Point – RP) Khi sử dụng cây chia sẻ, nguồn phải gửi lưu lượng của nó tới gốc sau đó lưu lượng này được chuyển tiếp theo các nhánh của cây đến các đầu cuối nhận dữ liệu

Trang 5

2 Gi i thu t tìm đ ải thuật tìm đường đi ngắn ật tìm đường đi ngắn ường đi ngắn ng đi ng n nh t ắn ất

a Bài toán

Cho đồ thị G(V,E) : với V là tập các đỉnh của đồ thị, E là tập các cạnh của đồ thị

Kí hiệu c(u,v) là độ dài của cạnh nối giữa 2 đỉnh u và v Cho s,t là 2 đỉnh của đồ thị Bài toán đặt ra là tìm đường đi ngắn nhất từ đỉnh s đến đỉnh t

b Ý t ưởng để giải quyết bài toán ng đ gi i quy t bài toán ể giải quyết bài toán ải thuật tìm đường đi ngắn ết bài toán

 Dò tìm bằng cách thử đi qua các đỉnh trung gian

 Nếu phát hiện đường đi qua đỉnh trung gian ngắn hơn đường đi hiện tại thì

sẽ cập nhật đường đi mới đồng thời chỉnh sửa lại các thông số liên quan

 Thường sử dụng 2 mảng để lưu trữ :

- D(v) : độ dài đường đi ngắn nhất từ đỉnh s đến đỉnh v

- T(v) : đỉnh nằm trước v trên đường đi ngắn nhất từ s đến v

c Thu t toán Dijkstra ật tìm đường đi ngắn

 Khởi tạo

For (all v ∈ V) do

Begin

D[v] := c[s,v];

T[v] := s;

End;

T = V – {s}; // Tập đánh dấu các đỉnh đã chọn

 Vòng lặp

While T <> ∅ do

Begin

Tìm đỉnh u ∈T thỏa mãn D[u] nhỏ nhất

T=T-{u};

For all v là lân cận của u và v ∈T do

if D[v] > D[u] + c[u,v] then

Begin

D[v]:=D[u] + c[u,v];

T[v]:=u;

End;

End;

d Các ki u gi i thu t tìm đ ể giải quyết bài toán ải thuật tìm đường đi ngắn ật tìm đường đi ngắn ường đi ngắn ng

 Phương pháp này chỉ định một con số, gọi là chi phí (hay trọng số), cho mỗi một liên kết giữa các node trong mạng Các node sẽ gửi thông

Trang 6

tin từ điểm A đến điểm B qua đường đi mang lại tổng chi phí thấp nhất (là tổng các chi phí của các kết nối giữa các node được dùng)

 Khi một node khởi động lần đầu, nó chỉ biết các node kề trực tiếp với

nó và chi phí trực tiếp để đi đến nó ( danh sách các đích, tổng chi phí từng node, bước kế tiếp để gửi dữ liệu đến đó tạo nên bảng định tuyến

…)

 Mỗi node trong tiến trình gửi đến từng “ hàng xóm” tổng chi phí của

nó để đi đến đích mà nó biết

 Các node “ hàng xóm” phân tích và so sánh với thông tin mà chúng biết Bất kì điều gì cải thiện những thông tin chúng có sẽ được đưa vào bảng định tuyến của chúng

 Đến khi kết thúc, các node trên mạng sẽ tìm ra bước truyền kế tiếp tối

ưu đến tất cả mọi đích và tổng chi phí thấp nhất

 Giao thức định tuyến Link State thu thập thông tin về đường đi từ tất

cả các Router khác trong cùng hệ thồng mạng

 Khi tất cả các thông tin thu thập đầy đủ mỗi Router sẽ tự tính toán để chọn đường đi tốt nhất cho nó đến các mạng đích trong hệ thống

 Mỗi Router trong mạng sẽ có chung một cơ sở dữ liệu về trạng thái của mạng

 Sử dụng thông tin gói tin Hello và LSA nhận được từ Router hàng xóm để xây dựng cơ sở dữ liệu về cấu trúc hệ thống mạng

 Sử dụng thuật toán Dijkstra để tìm đường ngắn nhất đến từng mạng

 Lưu kết quả chọn đường trong bảng định tuyến

II Đ nh tuy n multicast ịa chỉ multicast ết bài toán

1 IGMP

Làm thế nào để các router có thể biết được máy nào cần nhận gói tin multicast? Để thực hiện việc này, cả nguồn gửi và máy nhận đều phải gia nhập vào một nhóm multicast Nhóm này được xác định thông qua địa chỉ multicast, một host có thể tham gia vào một nhóm multicast bằng cách gửi yêu cầu đến router gần nhất Tác vụ này được thực hiện thông qua giao thức IGMP (Internet Group Management Protocol)

Trang 7

a IGMPv1

 Version : Xác định phiên bản của IGMP

 Type : Loại thông điệp, trong IGMPv1 thì có 2 loại thông điệp được sử dụng giữa host và router :

- Membership Report : thông điệp đăng ký tham gia vào nhóm multicast được gửi từ host đến router

- Membership Query : thông điệp truy vấn được gửi từ router đến các host để kiểm tra xem các host có muốn nhận multicast traffic hay không

 Checksum : dùng để kiểm tra lỗi

 Group Address : chứa địa chỉ nhóm multicast khi thông điệp Membership Report được gửi, bằng 0 khi dùng trong thông điệp Membership Query IGMP sử dụng mô hình truy vấn – trả lời (Query – Response) cho phép các router multicast xác định nhóm multicast hoạt động (có tham gia vào nhóm multicast) trên nhánh mạng

Trong mô hình này, host H1, H2 đăng ký vào nhóm multicast 224.1.1.1, host H3 đăng ký vào nhóm multicast 224.2.2.2 Router A gửi thông điệp Membership Query đến tất cả các host trong nhánh mạng Router B chỉ lắng nghe và ghi nhận việc trả lời từ các host

 Router A gửi thông điệp Membership Query đến tất cả các host trên nhánh mạng

Trang 8

 Tất cả các router sẽ nhận được thông điệp này, và các host đã đăng ký vào nhóm multicast phải trả lời lại bằng thông điệp Membership Report, thông báo cho router biết trên nhánh mạng có host muốn nhận gói tin từ nhóm 224.1.1.1

 Host H1 cũng lắng nghe đến nhóm 224.1.1.1, do đó nó biết được H2 đã gửi thông điệp Membership Report đến router, và hủy thông điệp của nó

Cơ chế này (Report Suppression) làm giảm được lưu lượng trên nhánh mạng

 Host H3 cũng nhận được thông điệp và trả lời lại nhóm mà nó đã đăng ký

là 224.2.2.2

 Kết quả của quá trình Query-Respone là Router A biết được các máy muốn nhận được gói tin từ nhóm 224.1.1.1 và 224.2.2.2 trên nhánh mạng Ngoài ra Router B cũng lắng nghe được toàn bộ quá trình và cũng biết được thông tin như router A

b IGMPv2

- Một phương thức để xác định router nào sẽ gửi thông điệp truy vấn multicast khi có nhiều router cùng kết nối vào một mạng con

- Một thông điệp mới được sử dụng khi một host muốn rời nhóm

- Một thông điệp mới cho phép router truy vấn cho từng nhóm cụ thể thay

vì tất cả nhóm

 Type : trong IGMPv2 có 4 loại thông điệp được sử dụng :

- Membership Query : thông điệp truy vấn được gửi từ router đến các host để kiểm tra xem các host có muốn nhận multicast traffic hay không

- IGMPv1 Membership Report : thông điệp đăng ký tham gia vào nhóm multicast được gửi từ host đến router

- IGMPv2 Membership Report

- Leave Group : thông điệp khi một host muốn rời khỏi nhóm multicast

Trang 9

 Maximum Response Time : Chỉ dùng trong thông điệp Membership Query, nó chỉ định thời gian tối đa mà 1 host có thể chờ để trả lời 1 thông điệp truy vấn Giá trị mặc định là 100 (10 giây)

 Checksum : trường dùng để kiểm tra lỗi

 Group Address: khi một thông điệp General Query được gửi đi, trường này được gán về giá trị 0 để phân biệt với thông điệp Group – Specific Query Khi thông điệp Membership Report hoặc Leave Group gửi đi thì trường này chứa giá trị của nhóm multicast

 Trong mô hình trên, host H2 là thành viên của nhóm 224.1.1.1, host H2 muốn rời khỏi nhóm

 H2 gửi thông điệp Leave Group đến địa chỉ all-router (224.0.0.2) thông báo cho tất cả các router trên nhánh mạng biết nó muốn rời khỏi nhóm

 Router A lắng nghe thông điệp Leave Group từ host H2 Router A gửi thông điệp Group – Specific Query đến nhóm 224.1.1.1 để xác định xem còn host nào trong nhóm nữa không

 Do không còn host nào trong nhóm 224.1.1.1 trả lời thông điệp Group – Specific Query Router A đợi 1 giây, sau đó lại gửi tiếp một thông điệp khác mà vẫn không nhận được thông điệp trả lời thì lúc nào Router A sẽ ngừng chuyển gói tin multicast đến nhánh mạng này

2 Gi i thu t đ nh tuy n multicast ải thuật tìm đường đi ngắn ật tìm đường đi ngắn ịa chỉ multicast ết bài toán

Trang 10

Cây ngắn nhất từ một nguồn là một cây có gốc là nguồn đó và các đường đi ngắn nhất đến tất cả các đỉnh còn lại

Hình trên mô tả các đường đi ngắn nhất đến các router khác với gốc là router R1

 Router R1 sẽ gửi gói tin Hello đến tất cổng có kết nối để biết thông tin tất

cả các hàng xóm của mình

Trang 11

 Khi các router khác nhận được gói tin Hello nó sẽ trả lời cũng bằng gói Hello

Trang 12

 Sau khi có thông tin của các hàng xóm của mình, Router R1 sẽ xây dựng một gói tin Link-State (LS) chứa thông tin của các hàng xóm của mình xong đó nó sẽ gửi gói tin này đến toàn bộ Router trên mạng để các Router khác biết được

Trang 13

 Lúc này, tất cả các Router đều đã biết được hết cấu trúc của mạng, lúc này mỗi Router sẽ dùng giải thuật Dijkstra để xây dựng nên cây đường đi ngắn nhất của mình

Trang 16

3 Đ nh tuy n multicast ịa chỉ multicast ết bài toán

 Khi router hoạt động nó sẽ gửi gói tin “hello” đến tất cả các router khác để xây dựng cây đường đi ngắn nhất của riêng mình

 Khi có một luồng dữ liệu muốn gửi multicast từ một nguồn nào đó, router

sẽ gửi thông điệp “request” đến tất cả các router để hỏi xem ở router đó có host nào muốn nhận dữ liệu không?

 Nếu ở đó có host muốn nhận (thông qua giao thức IGMP) thì router sẽ đáp trả thông điệp “request” bằng thông điệp “join” để thông báo nó có muốn nhận dữ liệu của nhóm multicast này

 Trong trường hợp không có host nào muốn nhận (cũng thông qua giao thức IGMP) thì router sẽ đáp trả bằng thông điệp “deny” để thông báo không muốn nhận dữ liệu

 Từ đó router nguồn biết những router nào muốn nhận dữ liệu và sau đó dựa vào cây đường đi ngắn nhất của mình để xây dựng được bảng định tuyến cho nhóm multicast đó

0 7 8 15 16 31

Source Router ID Destination Router ID Group Address Checksum Data

Data

 Version (1 byte) : chứa phiên bản giao thức

 Type (1 byte) : dạng thông điệp

- Giá trị 1 : “Hello”

- Giá trị 2 : “LS”

- Giá trị 3 : “Request”

- Giá trị 4 : “Join”

- Giá trị 5 : “Deny”

 Packet Length (2 byte) : kích thước gói tin

Trang 17

 Source Router ID (4 byte) : địa chỉ router ID nguồn (Router ID là địa chỉ

IP cao nhất trong các cổng đang hoạt động của router)

 Destination Router ID (4 byte) : địa chỉ router ID đích

 Group Address (4 byte) : chứa địa chỉ IP của nhóm multicast

 Checksum (4 byte) : mã kiểm tra lỗi

 Cấu trúc mạng có 2 nhóm :

- Nhóm 224.1.1.1 : PC1, PC2

- Nhóm 224.2.2.2 : PC2, PC3

Trang 18

 Cây multicast cho nhóm 224.1.1.1

Trang 19

 Cây multicast cho nhóm 224.2.2.2

Bảng định tuyến multicast của Router R1

Group Address Routing 224.1.1.1 R1 to R2

R1 to R2 to R5 224.2.2.2 R1 to R2

R1 to R3 to R4

Ngày đăng: 02/11/2015, 17:15

HÌNH ẢNH LIÊN QUAN

Hình trên mô tả các đường đi ngắn nhất đến các router khác với gốc là router R1. - các giao thức định tuyến dựa trên cơ sở của cây khung nhỏ nhất để định tuyến multicast
Hình tr ên mô tả các đường đi ngắn nhất đến các router khác với gốc là router R1 (Trang 10)
Bảng định tuyến multicast của Router R1 - các giao thức định tuyến dựa trên cơ sở của cây khung nhỏ nhất để định tuyến multicast
ng định tuyến multicast của Router R1 (Trang 19)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w