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

Báo cáo tốt nghiệp NGHIÊN cứu cấu TRÚC dữ LIỆU PHỤC vụ tìm KIẾM đa CHIỀU và ỨNG DỤNG

32 746 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Nghiên Cứu Cấu Trúc Dữ Liệu Phục Vụ Tìm Kiếm Đa Chiều Và Ứng Dụng
Tác giả Phan Khánh Hà
Người hướng dẫn TS Nguyễn Mạnh Hùng
Trường học Trường Đại học Công Nghệ Thông Tin - Đại học Quốc Gia Hà Nội
Chuyên ngành Kỹ Thuật Mạng
Thể loại Báo cáo tốt nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 32
Dung lượng 1,16 MB

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

Nội dung

”  Phân loại gói tin là hoạt động của router nhằm phân gói tin thành các luồng dựa trên các trường trong header của gói tin và bảng định tuyến.. Thuật toán: Tìm kiếm nhị phân the

Trang 1

NGHIÊN CỨU CẤU TRÚC DỮ LIỆU

PHỤC VỤ TÌM KIẾM ĐA CHIỀU VÀ ỨNG DỤNG

Trang 3

Đặt vấn đề

 Trước đây, Internet chỉ cung cấp một dịch vụ nỗ lực tối

đa để xử lý tất cả các gói tin đến cùng một đích đã định rõ

Trang 4

Phân loại gói tin

Định nghĩa “ phân loại gói tin. ”

Phân loại gói tin là hoạt động của router nhằm phân gói

tin thành các luồng dựa trên các trường trong header của gói tin và bảng định tuyến.

Tại sao phải phân loại gói tin?

Để xác định gói tin thuộc về luồng nào.

=> Quyết định chúng sẽ nhận ( receive ) dịch vụ ( service )

nào.

Router cần xác định rõ luồng của các gói tin đến và

thực hiện các xử lý đặc biệt phù hợp với từng gói tin.

Trang 5

Xử lý đối với các luồng gói tin

Tất cả các gói tin của một luồng đều phải tuân theo luật đã

định trước và được xử lý tương tự nhau bởi router.

Phân loại dựa trên số lượng không định trước các trường

của header của gói tin.

Nghĩa là flow = (src-IP-address, dst-IP-address), hoặc flow

= (dst-IP-prefix, protocol) …

Trang 6

Bảng định tuyến

Mỗi luật của bảng định tuyến là một cặp giá trị có dạng (f,a),

với f là một phép lọc và a là một action

Thành phần action là hoạt động được thực hiện khi một gói

tin thoả mãn phép lọc: Chuyển tiếp hay lọc gói tin? Nếu

chuyển tiếp thì chuyển đến đâu? Lớp dịch vụ nhận gói tin

là gì? Chi phí phải trả để vận chuyển gói tin?

Thành phần lọc là bộ k trường, mỗi trường của một bộ k có

thể có thể cụ thể hóa là một giá trị đơn, một dải hoặc một tiền tố

classifier packet

router

action

Trang 8

Một số trường header của gói IP

Trong IPv4:

S ource A ddress (32 bits)

D estination A ddress (32 bits)

S ource P ort (16 bits)

D estination P ort (16 bits)

Protocol field (8 bits)

Trang 9

Ứng dụng của phân loại gói tin

Định tuyến

Điều khiển truy cập trong firewalls

Lập hóa đơn giao thông mạng - Traffic billing

Virtual Private Networks: Đảm bảo các giao thông thuộc

về các kênh ảo khác nhau được đưa về đúng địa chỉ

Trang 10

Thuật toán: Tìm kiếm nhị phân theo mức

Binary Search on Level (BSOL)

Phân loại gói tin đa chiều

Trang 11

BSOL môột chiều

Trang 12

Mô tả cây

Mỗi node z:

 z.int: Một đoạn trong không gian địa chỉ đích

với node gốc z.int = [ ]

 z.POList: là danh sách các luâât giao môât

phần với z.int

 z.bmr lưu trữ đoạn tốt nhất khớp với z.int

 z.bs là đường đi từ gốc cây đến node z.

1

W 2 ,

[3,5]

0011 r2 r3

Trang 13

Tạo cây 1 bit cho một tập lọc

Cho là một tập lọc, với mỗi phép lọc

là một đoạn

Để tạo cây 1 bit cho F

Khởi tạo: node z = root, z.int =[ ], z.bs = null.

Thiết lập root.POList = F và root.bmr = null.

Khi phân chia node gốc thành hai node con thì khoảng

z.int được chia thành hai phần bằng nhau:

• Kết hợp với node con trái.

• Kết hợp với node con phải.

1

W 2 ,

, 0 [ W−1 −

] 1 2

, 2 [ W− 1 W

Trang 14

Xây dựng cây 1D

Nếu số lượng các đoạn trong z.POList lớn hơn hằng số T,

node z sẽ bị chia thành node con trái và con phải.

POList, bmr, bs cho cây con trái và cây con phải của z

được xác định từ thông tin kết hợp với z.

Ví dụ, giá trị bs của con trái của z là z.bs||0 (0 được đính

kèm với z.bs) và giá trị bs của cây con phải là z.bs||1.

Cây một bit được xây dựng bằng cách phân chia các node

cho đến khi mỗi lá có một POList đáp ứng ngưỡng T.

Trang 15

Thuật toán xây dựng cây BSOL1D

Trang 17

Mức 3

Trang 18

Xây dựng bảng băm

Khi có cây 1 bit, ta xây dựng tập hợp các bảng băm

để

biểu diễn bảng phân loại gói tin, với h là chiều cao của cây.

Hi chứa các lá ở mức i của cây cùng với các node đánh dấu

cho một số lá ở mức j, j>i.

Cấu trúc của Hi={key, value}.

Key= giá trị bs của node.

Value = leaf nếu là node lá hoặc marker nếu là node

đánh dấu.

h

H H

H0, 1, ,

Trang 19

Cấu trúc của bảng băm

Trang 20

Thuật toán tìm kiếm (d=1001)

01

r3

000 r1

H3

H4

[8,15]

Trang 21

BSOL 2 chiều

Cho là một tập của các bộ lọc 2D Mỗi bộ

lọc là một hình chữ nhật hai chiều và và

theo thứ tự là phép chiếu của fi lên trục x và trục y

) ( f i X

{ 0 , 1 , , −1}

= f f f n

F

) ( f i Y

Trang 22

Xây dựng cây BSOL 2 chiều

hợp 1 chiều (trừ trường hợp trường int bị thay thế bởi trường rect).

Khởi tạo , root.bs = null, root.bmr = null,

và root.POList = F.

Một node có POList lớn hơn ngưỡng T thì được chia thành hai node con,

bằng cách chia hình chữ nhật của nó theo trục x hoặc theo trục y.

Với tất cả các node tại cùng một mức thì có cùng hướng chia.

Lưu quá trình phân chia thành một chuỗi phân hoạch.

] 1 2

, 0 [ ] 1 2

, 0 [ rect = W1 − × W2 −

root

Trang 23

Xây dựng cây 2D

Trang 24

Chọn hướng phân chia

Cho NTP là tập hiện tại của các node lá cần phân chia

Khởi tạo N = {root} nếu |root.POList|>T

Cho NB(z,k) là số lượng phép lọc sẽ bị phá vỡ (nghĩa là đường phân chia

đi qua phép lọc) nếu hướng k được chọn để phân chia node

Cho , thì hướng k được chọn để phân chia tại mức hiện

thời nếu NB(k) là nhỏ nhất

= z N NB z k k

NB( ) ( , )

Trang 25

Ví dụ chọn hướng phân chia

f5

4 8 12 15

y

Trang 26

Xây dựng giá trị tìm kiếm d

Để xác định phép lọc khớp tốt nhất cho một gói (a,b), ta

xây dựng d dựa trên chuỗi phân hoạch Ví dụ:

Nếu chuỗi phân hoạch là yxyx, ta sử dụng bit 1 của b như là bit 1 của d, bit

1 của a như là bit 2 của d, bit 2 của b như là bit 3 của d, bít 2 của a là bit 4 của d Vì thế d = 1001 cho gói tin (6,11) [(0110,1011)] theo nhị phân

Trang 27

Xây dựng giá trị tìm kiếm d

Trang 28

Tìm kiếm

Khi ta đã xây dựng được d như mô tả, thì sử dụng thuật

toán tìm kiếm một chiều để xác định phép lọc khớp tốt

nhất cho d.

Trang 29

BSOL k chiều (k>2)

Mở rộng BSOL cho số chiều k>2 khá đơn giản.

Ta thu được một tập các bảng băm dựa trên ánh xạ cây của các phép lọc.

Việc tìm kiếm khóa d được xây dựng từ dữ liệu nhận được từ các gói tin được phân loại cũng như từ việc phân chia chuỗi phân hoạch sử dụng để xây dựng cây.

Trang 30

Độ phức tạp của thuật toán

Độ phức tạp tìm kiếm của cấu trúc là O(logW), với W là

tổng của độ dài (theo bit) lớn nhất có thể của các trường

của một phép lọc

Trang 31

Kết luận

Kết quả đạt được:

Nắm bắt và trình bày được những khái niệm cơ bản về định tuyến và phân

loại gói tin.

Tìm hiểu thuật toán phân loại gói tin đa chiều BSOL và cài đặt chương

trình minh họa thuật toán.

Hướng phát triển:

Tìm hiểu và xây dựng ứng dụng cụ thể của thuật toán BSOL.

Tìm hiểu các thuật toán khác có liên quan để phối hợp và phát triển để

thuật toán có hiệu quả cao nhất

Ngày đăng: 19/06/2014, 20:45

HÌNH ẢNH LIÊN QUAN

Bảng định tuyến 4 chiều - Báo cáo tốt nghiệp NGHIÊN cứu cấu TRÚC dữ LIỆU PHỤC vụ tìm KIẾM đa CHIỀU và ỨNG DỤNG
ng định tuyến 4 chiều (Trang 7)

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