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

Mô hình hóa và kiểm chứng mạng do phần mềm xác định dưới kiến trúc đa điều khiển bằng cách sử dụng các tiến trình tuần tự của truyền thông.pdf

86 9 0

Đ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 86
Dung lượng 5,66 MB

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

Nội dung

Mạng do phần mềm xác định SDN [1] là một mô hình trong đó có mộtchương trinh phần mềm trung tâm, được gọi là bộ điều khiển, ra lệnh cho hành vi mạngtongthe.. Mục đích nghiên cứu Mục đích

Trang 1

Phan Thanh Toàn

Thành phố Hồ Chí Minh - 2022

Trang 2

Phan Thanh Toàn

Chuyên ngành: Công nghệ thông tin

Mã số: 8480201

NGƯỜI HƯỚNG DẦN KHOA HỌC:

Thành phố Hồ Chí Minh - 2022

Trang 3

Em cam đoan những kết quả nghiên cửu được trình bày trong luận văn hoàn toàn trung

thực Tất cả các tàiliệu tham khảo có nguồngốc, xuất xứ rõ ràng Luận vănđảmbảo tínhđộc lập

và khách quan theo đúng quy định của Khoa

Tác giả luận văn

Phan Thanh Toàn

Trang 4

Trước khi trình bày nội dung chính của luận văn Thạc sì, em xin cảm ơn sâu sắc tới thầy

PGS.TS Phan Công Vinh, Phó Trưởng khoa - khoa Công nghệ thông tin - Trường Đại học

Nguyễn Tất Thành người đà tận tình dạy bảo, hướng dầnem hoàn thành tốt luận văn này

Em cũng xin cảm ơn chân thành đen thầy TS Nguyễn Kim Quốc, Trưởng khoa Công nghệthông tin là co vấn học tập và quý Thầy khoa Công nghệ thông tin, Viên sau đại học - Trường Đại học Nguyễn Tất Thànhđã dạybảo em trong suốt quátrình học tập tại Trường

Nhân dịp này em xin gửi lời cảm ơn chân thành nhất tới gia đình, bạn bè, đồng nghiệp đã

luôn động viên, cố vũ, giúp đờ em trong suốtquá trình học tập và thực hiện luận văn tốtnghiệp

Họviên

PhanThanh Toàn

Trang 5

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

DANH SÁCH CÁC HÌNH V DANH SÁCH CÁC BẢNG V DANH MỤC KÝ HIỆU VÀ VIẾT TẮT vi

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1

1.1 Lý do chọn đề tài 1

1.2 Mục đích nghiên cứu 2

1.3 Mục tiêu tổng quát 2

1.4 Mục tiêu cụ thể 3

1.5 Đối tượng nghiên cứu và phạm vi nghiên cứu 3

1.5.1 Đối tượng nghiên cứu 3

1.5.2 Phạm vi nghiên cứu 3

1.6 Nhiệm vụ nghiên cứu 3

1.7 Phưong pháp nghiên cứu 4

1.7.1 Phươngpháp lí luận 4

1.7.2 Phươngpháp thựctiễn 4

1.8 Những đóng góp mới cua đề tài 4

1.9 Dự kiến kế hoạch nghiên cứu 4

CHƯƠNG 2: MÔ TẢ VỀ MẠNG DO PHẦN MỀM XÁC ĐỊNH DƯỚI KIẾN TRÚC ĐA ĐIỀU KHIẾN, VÀ KIẾN THỨC NỀN TẢNG VỀ CSP VÀ PAT 6

2.1 Mô tả về mạng do phần mềm xác định dưới kiến trúc đa điều khiển 6

2.1.1 Mạng do phần mềm xác định dướikiến trúc đa điều khiến 8

2.1.2 Kiến trúc HyperFlow 11

2.1.3 Kiến trúc Kandoo 11

2.2 Kiến thức nền tảng về CSP và PAT 12

2.2.1 Tong quan về ngôn ngừ đại số tiến trìnhCSP 12

2.2.2 Tổng quát về bộcông cụ phân tích tiến trình PAT 24

CHƯƠNG 3: MÔ HÌNH HÓA MẠNG DO PHẦN MỀM XÁC ĐỊNH DƯỚI KIẾN TRÚC

Trang 6

3.1 Chuyển mạch 39

3.1.1 InputBuffer 40

3.1.2 Wait 41

3.1.3 Switchprocessor 42

3.2 Bộ điều khiển HyperFlow 45

3.2.1 TopoBuffer 46

3.2.2 Controllerprocessor 48

3.3 Bộ điều khiển Kandoo 52

3.4 Hệ thống mạng do phần mềm xác định dưới kiến trúc đa điều khiển 54

CHƯƠNG 4: KIẾM CHÚNG MÔ HÌNH MẠNG DO PHẦN MỀM XÁC ĐỊNH DƯỚI KIẾN TRÚC ĐA ĐIỀU KHIẾN VÀ co CHẾ BẢO MẬT 55

4.1 Kiểm chứng mô hình mạng do phần mềm xác định dưới kiến trúc đa điều khiển 55

4.1.1 Tính khôngbế tắc (Deadlock-freeness) 55

4.1.2 Tính nhất quán (Consistency) 57

4.1.3 Khảnăng chịu lồi (Faulttolerance) 58

4.2 Kiểm chứng cơ chế bảo mật 62

4.2.1 Từ choi dịch vụ (Denial of Service) 62

4.2.2 Tiết lộ thông tin (Information Disclosure) 64

4.2.3 Kẻxâmnhập giả mạo(Intruder faking) 67

4.2.4 Tin nhắn giả mạo (A tampered message) 70

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIẾN 73

5.1 Kết luận 73

5.2 Hướng phát triển 73

TÀI LIỆU THAM KHẢO 74

Trang 7

Hình 2.1 Kiếntrúc SDN (Phỏng theo [1]) 10

Hình 2.2 Kiếntrúc HyperFlow [2] 11

Hình 2.3 Kiếntrúc Kandoo [2] 12

Hình 2.4 Kiếntrúc PAT [3] 25

Hình 2.5 Trình biên tập PAT [3] 26

Hình 2.6 Chế độ chọn nhấp chuột và hàng loạt 28

Hình 2.7 Mô-đun CSP [3] 29

Hình 3.1 Truyền thông cùa chuyến mạchOpenFlow [2] 39

Hình 3.2 Truyền thông của một bộ điều khiến [2] 45

Hình 3.3 Truyền thông củabộ điều khiển cục bộ [2] 52

Hình 3.4 Truyền thông cùabộ điều khiển gốc [2] 53

Hình 4.1 Tính không bế tắc của kiến trúc HyperFlow 56

Hình 4.2 Tính không bế tắc của kiếntrúc Kandoo 56

Hình 4.3 Tính nhất quán của kiếntrúc HyperFlow 58

Hình 4.4 Khôi phục lồi liên kết đơn của kiến trúcHyperFlow 59

Hình 4.5 Khôi phục lồi liên kết đơn của kiếntrúc Kandoo 60

Hình 4.6 Khắc phục lồi điếmđơn của kiếntrúc HyperFlow 61

Hình 4.7 Ket quả kiểm chứng Từ chốidịch vụ 64

Hình 4.8 Ket quảkiếm chứng Tiết lộ thông tin 66

Hình 4.9 Giao tiếp với kẻ xâm nhập [2] 67

Hình 4.10 Kết quả kiểm chứng Kẻ xâm nhập giả mạo 69

Hình 4.11 Mô phỏng cho mộtthông điệp giả mạo 70

Hình 4.12 Kếtquả kiểm chứng Tin nhắn giả mạo 71

Hình 4.13 Mô phỏng cho một đường dẫn giả mạo 72

Trang 8

Bảng2.1 So sánh PAT và FDR [4] 7

Trang 9

STT Chữ viết tắt Diễn giải tiếng Anh Diễn giải tiếng Việt

Processes

Các tiển trình tuấn tự của

truyền thông

6 LTL LinearTemporal Logic Logic thời gian tuyền tính

9 OFDP OpenFlow DiscoveryProtocol Giaothức khám phá OpenFlow

10 TLS Transport Layer Security Bảo mật tẩng truyền tải

11 MitM Attack Man-in-the-MiddleAttack Tấn công xen giữa

12 SLFR Single Link Failure Recovery Khôi phục lỗiliên kềt đơn

13 SPFR Single Point Failure Recovery Khôi phục lỗi diêmđơn

Trang 10

CHƯƠNG 1: GIỚI THIỆU • ĐÈ TÀI

1.1 Lý do chọn đề tài

Cùng với sự phát triển khôngngừngcủa khoa học và công nghệ, côngnghệ thông tin đã và đang được ứng dụng một cách triệt để trong cuộc sống và nghiên cứu Đầutiên

là sự bùng no cùa số lượng thiết bị kết nối mạng, gom cả thiết bị di động lần loT, kéo

theo đó là sựbùng nổ về nội dung, dữ liệu được truyền tải trên mạng, đặt ra một áp lựcrất lớn đốivớimạng truyềnthống, vốn dìđược thiết kế với khảnăng mởrộng nhất định.Tiếp đến, hạ tầngtính toán và lưu trừ đã cónhững phát triển vượt bậc trong những nămgần đây Đặc thù của hạ tầng tính toánvà lưutrừ ngày nay là khả năng mở rộng, thuhẹpcực kỳ nhanh chóng và linh hoạt Điều này đặt ra yêu cầu lỏn cho độ linh hoạt của hạtầng mạng Mạng do phần mềm xác định (SDN) [1] là một mô hình trong đó có mộtchương trinh phần mềm trung tâm, được gọi là bộ điều khiển, ra lệnh cho hành vi mạngtongthe Tuy nhiên, việc dựavào một bộ điều khiển duy nhất cónhữnghạn chế lớn baogồm thiếu khả năng mở rộng Trong luận văn đề xuất phương án nhiều bộ điều khiến

quản lý nhiều thiết bị mạngvà một thiết bị mạng có thể được quản lýbởi nhiều bộ điều

khiển [2]

SDN với nhiều bộ điều khiến thu hút nhiều sự chú ý hơn đối với quy mô ngày càng tăng của mạng Kiến trúc đa điều khiển có thể xử lý những gì SDN với bộ điều khiểnđơn không thể giải quyết Đe hiểu chính xác những gì mà những kiến trúcnày có

thểđạt đượcvà phải đối mặt, đề tài luận văn cần phân tích chúng bằng các phương pháphình thức Trongđề tài này, sẽ áp dụng CSP đe môhìnhhóa dịch vụ định tuyến cùaSDN theo kiến trúc đa điều khiển, đặc biệt là kiến trúc HyperFlow [5] và kiến trúc Kandoo

dựa trên giaothức OpenFlow [6], Bằng cách sử dụng PAT, còn kiểm chứng [7] các môhình đáp ứng ba thuộc tính, đó là tính không có be tắc (deadlock-freeness), tính nhất

quán (consistency) và khả năng chịu lồi (fault-tolerance)

Ngoài ra, Mạng dophần mềm xácđịnhcho phép các nhà khai thác mạng linh hoạt

hơn trong việc lập trình mạng của họ Với SDN, quản lý mạng chuyến từchức năng mã

Trang 11

hóa theo cấuhình thiếtbị cấp thấp sang xây dựng phần mềm hồ trợ quản lý mạng và gỡlồi Bằng cách tách biệt sự phức tạp của phân phối trạng thái khỏi đặc tả mạng, SDN cung cấp những cách mớiđế giải quyếtcácvấn đề lâu nay trong mạng- ví dụ:định tuyến

- đồng thời cho phép sử dụng các kỳ thuật bảo mật và độ tin cậy, chăng hạn như kiêm soát truy cập hoặc đa đường truyền Tuy nhiên, tínhbảo mật và độ tin cậy của bản thân SDN vần còn là mộtvấnđề còn bỏ ngỏ, đe nghiên cứutínhbảo mật củacácmôhình đó,một số tiện ích mở rộng được thêm vào, đề xuất nghiên cứu các môhình mở rộng có khả

năng đối phó với việc từ chối dịch vụ (Denial of Service) và có thế bị tiết lộ thông tin (Information Disclosure)

Nội dung trong đetài được tố chức như sau Trong Chương 1, sẽ giới thiệu về đề

tài luậnvăn Chương 2 sẽ môtả về Mạng do phần mềm xác định dưới kiến trúcđa điều

khiến, và kiến thức nền tảng về CSP và PAT Và sẽ mô hình hóa Mạng do phần mềm

xác định dưới kiến trúcđa điều khiến trong Chương 3 Trong Chương 4, kiếmchứng môhình Mạng do phần mềm xác định dưới kiến trúc đa điều khiểnvà cơ chế bảo mật Cuối cùng, là cung cấp các nhận xét kết luận vàhướng phát triểntrong Chương 5

1.2 Mục đích nghiên cứu

Mục đích của luận văn nhằm Mô hình hóa và kiểm chứng Mạng do phần mềm

xác định dưới kiến trúc đa điều khiển bằngcách sử dụng cáctiếntrình tuần tự cùatruyền

thông

1.3 Mục tiêu tổng quát

Sẽ áp dụng các tiến trình tuần tự của truyền thông để mô hình hóa dịch vụ định

tuyếncủa SDNtheokiến trúcđa điều khiến, đặcbiệtlàkiến trúc HyperFlow và kiến trúcKandoo dựa trên giaothức OpenFlow

Bằngcách sửdụng Bộ công cụ phân tíchtiến trình, kiêmchứng các mô hình đápứng ba thuộc tính, đó là tính không có bế tắc, tính nhất quán và khả năng chịu lồi Tuynhiên, tính bảo mật và độ tin cậy củabản thân SDN vẫn còn là một vấnđề còn bởngỏ,

đe nghiên cứutínhbảo mậtcủa các mô hình đó, một sốtiện ích mở rộng được thêmvào,

Trang 12

đề xuất nghiên cứu các mô hình mở rộng có khả năng đối phó với việc từ chối dịch vụ

và có the bị tiết lộ thông tin

1.4 Mục tiêu cụ thể

Thông qua việc mô hình hóa và kiếm chứng mạng do phần mềm xác định dưới

kiến trúc đa điều khiến bằng ngônngừ đại số tiến trình CSP, sẽ hoàn thành luận văn tốt nghiệp

1.5 Đối tượng nghiên cứu và phạm vi nghiên cứu

1.5.1 Đối tượng nghiên cứu

Mô hình hóa và kiểmchứng SDN dưới kiến trúcđa điềukhiển bằng cách sử dụng ngôn ngừ đại số tiến trinh CSP

1.5.2 Phạm vi nghiên cứu

Sử dụng ngôn ngữ đại số tiến trình CSP và PAT để kiếm tra mô hình và kiểm

chứng các mô hình đáp ứng bathuộc tính, đó là tính không có bế tắc, tínhnhất quán và

khả năng chịu lồi vàđối phó vớitừ chối dịchvụ và có the bị tiết lộ thông

1.6 Nhiệm vụ nghiên cứu

Nghiên cứu SDN vớikiến trúcđa bộ kiều khiểnbao gồm kiến trúc HyperFlowvà

kiến trúc Kandoo trên giao thức OpenFlow

Nghiên cứu ngôn ngừ đại số tiến trình CSP và sử dụng bộ công cụ phân tíchtiếntrình đế kiểmtra mô hình PAT

Mô hình hóa chuyển mạch, bộ điều khiển HyperFlow, bộ điều khiển Kandoo và

hệ thống mạng SDN

Kiểm chứng tính không có bếtắc, tính nhấtquán và khả năng chịu lồi

Đe xuất đối phó với từchối dịch vụ và có the bị tiết lộ thông tin

Thực nghiệm đánh giá tính khả thi và hiệu quả của đề tài trên bộ công cụ phântích tiến trình đe kiểm tra môhình PAT

Trang 13

1.7 Phương pháp nghiên cứu

1.7.1 Phương pháp lí luận

Nghiêncứu lý thuyết SDN, Ngôn ngữ đại số tiến trình CSP, Kiến trúcHyperFlow,

Kiến trúc Kandoo, Giao thức OpenFlow, PAT và các tài liệu có liên quan Phân tíchvàtông họp

1.7.2 Phương pháp thực tiễn

Phân tích và tông họp kinh nghiệm: đề xuất PAT thực nghiệm trên Kiến trúc

HyperFlow, Kiến trúc Kandoo, Giao thức OpenFlow

Phuong pháp hỏi ý kiến chuyên gia

Phuongpháp toánhọc: Ngôn ngừ tiến trìnhCSP

1.8 Những đóng góp mới của đề tài

Sử dụng kiến trúc đa điều khiển và CSP đe mô hình hóadịch vụ địnhtuyến cùa SDN theo kiếntrúcđa điều khiển, đặc biệt là kiến trúc HyperFlow và kiến trúc Kandoodựa trên giao thức OpenFlow Bằng cáchsử dụng PATđểkiểm tra mô hình, kiếm chứng

các mô hình đáp ứng ba thuộc tính, đó là tính không có bế tắc, tính nhất quán và khả

năng chịu lỗi Ngoài ra, đe nghiên cứu tính bảo mậtcủa các mô hìnhđó, một số tiện ích

mở rộng được thêm vào và nghiên cứu mở rộng các mô hình có khả năng đối phó với việc từ chối dịchvụ và có thể bị tiết lộ thông tin

1.9 Dự kiến kế hoạch nghiên cứu

Giai đoạn 1: Nghiên cứu lý thuyết SDN,kiến trúc HyperFlow,kiến trúc Kandoo,

giao thức OpenFlow và cáctài liệu có liên quan

Giai đoạn 2: Nghiên cứu ngôn ngừ đại số tiến trình CSP và PAT và các tài liệu

Trang 14

Giai đoạn 5: Kết luậnvà phát triển.

Giai đoạn 6: Viết các chương báocáo và hoàn thiện luận văn

Trang 15

CHƯƠNG 2: MÔ TẢ VÈ MẠNG DO PHÀN MÈM XÁC ĐỊNH

TẢNG VÈ CSP VÀ PAT

Giới thiệu tổng quát toàn bộ nội dung của đề tài bao gồm: mạng do phần mềm

xác định SDN, kiến trúc HyperFlow, kiến trúc Kandoo và giao thức OpenFlow

2.1 Mô tả về mạng do phần mềm xác định dưói kiến trúc đa điều khiển

SDN là cách tiếp cận mạng sử dụng bộ điều khiến dựa trên phần mềm hoặc API

đe giao tiếp với cơsở hạ tầng phần cứng bên dưới và lưu lượng truy cập trực tiếp trên mạng Mô hình này khác với mô hình của các mạng truyền thống, sử dụng các thiết bịphần cứng chuyên dụng (tức là bộ định tuyến và bộ chuyển mạch) để điều khiển lưu

lượng mạng SDN có thể tạo và điều khiển mạng ảo hoặc điều khiểnphần cứng truyền

thống thông qua phần mềm

Mặc dù ảo hóa mạng cho phép các to chức phân đoạn các mạng ảo khác nhau

trong một mạng vật lý duy nhất hoặc kết nối các thiết bị trên các mạng vật lýkhác nhau

đe tạo ra một mạng ảo duy nhất, mạng do phần mềm xác định cho phép một cách mới

đe kiểm soát việc địnhtuyến các gói dữ liệu thông qua một máychủ tậptrung

Tuy nhiên SDN với một điều khiển có nhiều rủi ro về bảo mật là tập trung điều khiến lưu lượng của toàn mạng vào một diem duy nhất, do đó có the là một trọng điếm

cho các cuộc tấn công vào hệ thống Trước tình hìnhđó sè đề xuất SDN đa điều khiển

Áp dụng CSPđể mô hình hóa dịch vụ định tuyến của SDNvà kiểm chứng bằng PAT

Đe hiểu rõ hơn tại sao trong đề tài lại chọn CSP để mô hình hóa dịch vụ địnhtuyến cùa SDN mà không phải là mô hình Actor, vì mô hình Actor cũng rất giống với

CSP Tuy nhiên, CSP có những ưu diem sau [8]: Các tiến trình CSP là ẩn danh, trong

khi các Actor là có danh tính CSP chỉ có the chứa tối đa một tin nhắn, điều này giúpcho việc lập luận trở nên dề dàng hơn nhiều Trong khi với mô hình Actor, nó giongnhư có

một hộp thư vô hạn có khảnăng chứa các tin nhắn

Trang 16

Trong CSP, các tin nhắn được gửi theothứ tự mà chúng đãđược gửi đi.

Truyền thôngđiệp CSP về cơbản liên quan đến mộtđiếm hẹn giữa các quá trình

liênquan đến việc gửi và nhận thông điệp, tức là người gửi khôngthe truyền thông điệp

cho đến khi người nhận sẵn sàng chấp nhận nó

Ngược lại, việc truyền thông điệp trong các hệ thống Actor về cơbản là không

đồngbộ, tức là việctruyền và nhận thôngbáokhôngphải diễn ra cùng một lúc, và người

gửi có thể truyền thông điệp trước khi người nhận sằn sàngchấp nhận chúng

Và tiếp theo sè nêu rõ lý do vì sau lại chọn PAT mà không chọnnhững công cụkiểm chứngkhác như FDR, ProB đặt biệt là FDR gần tươngtự như PAT [9]:

So sánh PAT với FDR [4] bằng cách sử dụng các mô hình điểm chuẩn để kiểm

tra sàng lọc Đe so sánh công bằng, tất cả các kiểu máy chỉ sử dụng các tính năng CSPtiêu chuẩn được hồ trợ bởicả hai Bảng sauđâycho thấykếtquả thử nghiệm cho ba kiểu

máy, thu được trên CPU IntelCore Duo 2.0 GHzvà bộ nhớ 1 GB

MÔ hình N Thuộc tính Kểt quả PAT FDR

-Milner’s Cyclic Scheduler 11 p [T=s true < 1 19.011

Milner’s Cyclic Scheduler 13 p [T= s true < 1 419.021

Milner’s Cyclic Scheduler 14 p [T=s true < 1

-Milner’s Cyclic Scheduler 50 p [T=s true 2.406

-Milner’s Cyclic Scheduler 100 p [T=s true 9.765

-Milner’s Cyclic Scheduler 200 p [T= s true 60.453

Báng 2.1 So sánh PA T và FDR [4]

Trang 17

p [T = s là thuộc tính đã xác minh sàng lọc theo dõi, N là số tiến trình.

Ví dụ đầu tiên làbàitoánDining Philosophers, trongđóN là số triết giavà số nĩa

Do mô hình hóa, việc giảm đon hàng một phần không hiệu quả đối vớiví dụ này FDR

hoạt động rat tốt cho ví dụ này Cụ the, nó xây dựng một hệ thống ở mồi giai đoạn sènén các hệ thống con để tìm ra một quá trình tương đương với (ví dụ cụ thê này) nhiều

trạng thái ít hơn

Ví dụ thứ hai là van de Reader/Writers, trong đó người đọc và người viết phối hợp để đảmbảo thứ đọc viết chínhxác Với N là số lượng Reader/Writers PAT rất hiệu

quả cho ví dụ này Do đó, PAT xử lý hiệu quảhàng trăm Reader/Writers, trong khi FDR

bị húy do đầy bộ nhớ nhanh chóng (đoi với N = 18)

Ví dụ thứ ba là thuật toán Milner’s Cyclic Scheduler, trong đó nhiều tiến trình

được lập lịch theo chu kỳ Do đó, PAT xử lý hàng trăm tiến trình, trong khi FDR xử lý

íthơn 14 tiến trình Tóm lại, kết quả thử nghiệm cho thấy PAT hoạt động tốt hơn FDRtrong một số trường hợp Nên trong đề tài nàysè lựa chọn PAT đế kiêm chứng các mô

hình

2.1.1 Mạng do phần mềm xác định dưới kiến trúc đa điều khiển

SDN, là viết tắt cùa Software Defined Networking - Mạng do phần mềm xác

định, là một kiểu kiến trúc mạngmới, lậtngược hoàn toàn kiến trúc truyền thống Tính

năng lớn nhất của nó là tách mặt phangdữ liệu khỏi mặt phăng điều khiển Do đó, lưu

lượng mạng có thể được kiếm soát một cách linh hoạt, về cơ bản, kiến trúc SDN baogồm mặt phẳng dữ liệu, mặt phẳng điều khiển và mặt phẳng ứng dụng [10] được hiển thị trong Hình 2.1. Các thiết bị phần cứng, chẳng hạn như bộ chuyển mạch và bộ định tuyên, tạo nên mặt phăng dữ liệu Khả năng điêu khiên được chuyên sang mặt phăng

điềukhiển Do đó, nhữnggì phần cứngcơ bản có thể làm là chỉ chuyển tiếp các gói theo

hướng dẫn từ bộ điều khiển Bộ điều khiển,thành phần cốt lõi của SDN, chạy trong mặt phang điều khiển Tất cả các hành vi được chúng chỉ huy trong mạng [11] Mặt phang ứng dụng bao gomrất nhiềuứng dụng kinh doanh Các ứngdụng đó có the quản lý các

Trang 18

thiếtbị mạngmột cách hợp lý bằngcáchđiềukhiển các bộđiều khiển Bên cạnh đó, giao diện hướng namvà giao diện hướng bắc cũng rấtquantrọng Trước đâygiữa lóp dữliệu

và lóp điều khiển có một tiêu chuẩn thống nhất API hướng nam phổ biến nhất làOpenFlow [12] là ưu tiên nghiên cứu trong đề tàinày Tuy nhiên, cái sau được xácđịnh bởi nhu cầu thực tế của người dùng vì không có sằn API hướng bắc tiêu chuan [1] Đoi với phần lớn các mạng, các chức năng điều khiển tương ứng có thể đạt được với mộtbộđiều khiến duy nhất Tuynhiên, các mạng quy mô lớn với bộ điều khiến duy nhất phảiđối mặt với một số vấnđề Thứ nhất, số lượngthiết bị chuyểnmạchngàycàngtăngmanglại lưu lượngtruy cập ngày càng tăng Tuy nhiên, băng thông giữa bộ điều khiểnvà bộchuyến mạch quá hạn chế đe tải lưu lượng Thứhai, bất cứ nơi nào bộ điều khiến đượcđặt, một số chuyến mạch luôn bị trềthời gian do thiết lập bảng lưu lượng Bên cạnhđó,một mạng nhất định có nguy cơ lồi duy nhất Có nghĩa là, nó dần đến thất bại, một khi

bộđiềukhiếnbị hỏng Vàcóthể giải quyết nhữngvấnđềđóbằng cách mở rộng số lượng

bộ điều khiển Bộ điều khiểnphân tán có thểđược thực hiện theo hai cách [13] Những

bộ điều khiển đó có thể được đặt trong một mặt phẳng hoặc một mặt phẳng phân cấp Cái thứnhất, lấy kiến trúc HyperFlow làm ví dụ, yêu cầu mọi bộ điều khiểnphải ở cùng

một cấp, trong khi cái thứ hai phân loại các bộ điều khiển dựa trên cơ sở sử dụng của

chúng, nhưkiếntrúcKandoo

Nhiều nồ lực nghiên cứu đã được dành cho việc mô tảkiến trúc đa bộđiều khiểnbao gồm kiếntrúc HyperFlow và kiến trúc Kandoo và phân tíchtính bảo mật cùa SDN

Tống quan toàn diện về từng vấn đề bảo mật giao diện/lóp SDN được trình bày trong [1,14] Và, một số phương pháp tiếp cậnđược đưa ra đe phát hiện các cuộc tấn công vàochuyến tiếp mặt phang dữ liệuvà cấu trúc liên kết mạng [15] Tuy nhiên, vần thiếu sựhình thức hóa củatừngthành phần trong cáckiến trúcđó Việc ápdụng cácphương pháphình thứcđểxác nhận sựtồn tạithực sự của các cuộc tấn côngvà tính đúng đắn của các giải pháp này vần chưa được giải quyết

Trong đề tài này, sử dụngđại số tiến trình CSP [16] đe môhình hóa dịch vụ định

Trang 19

tuyến của SDN dựa trên OpenFlowtheo kiến trúc HyperFlow và kiếntrúc Kandoo Sau

đó, sử dụng PAT [17] để kiếm chứng ba thuộc tính, bao gồm tính không có bế tắc, tínhnhất quán và khả năng chịu lồi Tính không có bế tắcđề cập đen việc truyền thônggiữa

các tiến trình diền ra suôn sẻ và không bao giờ bị gián đoạn Thực tế là mọi bộ điềukhiển

chia sẻ cùng một cấu trúc liên kết theo kiếntrúc HyperFlow được coi là tínhnhất quán Khả năng chịu lồi minh họa hai cảnh Một là các gói tin có the được chuyến tiếp bình

thường dưới HyperFlow và Kandoo, khi liên kếtgiữa các bộchuyển mạch bị hỏng Một

điều khác là mặc dùmột số bộ điều khiến khônghoạt động, nhưng kiến trúc HyperFlow

có the hoạt động tốt Nhừng gì có thế học đượctừcác thuộc tính là kiến trúc đa bộ điều khiển có một số chức năng độc đáo, so với SDN với bộ điều khiểnđơn và mạng truyềnthống Ngoài ra, nhờ các mô hình bảo mật bổ sung thấy rằng bộ đệm trong bộ chuyến mạch và bộ điều khiển cóthế xử lý bằng Từ chối dịch vụ thông qua phương pháp được

mô tả trong [15] Bộ điều khiển/bộ chuyển mạch, có tốc độ gừi tin nhắn đạtđến một giá

trị nhấtđịnh, được coi là kẻ tấn công Đồng thời, các bộ đệmcóthể bị Tiết lộ Thông tin Những kẻ tấn công có thể sử dụng nó để hiểu nhừng gì không được công khai đối với chúng Hơn nữa, một đường dần giả và một tin nhắn giả mạo có the ton tại trong SDN

Rõ ràng, các vấn đề bảo mật cũng tồn tại trong SDN với bộđiều khiển duy nhất

API hướng Bắc

Mặt phăng ứng dụng Các ứng dụng

Măt phăng điêu kiên Phần mềm điều khiển SDN

API hướng Nam

Mặt phăng

cơ sở hạ tâng Thiết bị mạng Thiết bị mạng Thiết bị mạng Thiết bị mạng

Hình 2.1 Kiền trúc SDN (Phòng theo [ 1] )

Trang 20

2.1.2 Kiến trúc HyperFlow

Các nhà khai thác mạngđược phép triển khai bất kỳ số lượng bộ điều khiển nào

ở bất kỳ đâu về mặt vật lý, các bộ điều khiến được phân tán, trong khi về mặt logic, chúng được tập trung Do đó, kiến trúc này vầnphục vụ cho ý tưởngcủa Mạng do phần

mềm xác định Khi xem xét cấu trúc liên kết mạng, chúng có the được coi là bộ điều khiếntoàn cụcvì chúng có cùng chế độ xem toàn mạng [18] Khi cấu trúc liên kết từng phần thay đổi, tất cả các bộ điềukhiến cầnphải sửa đổi cấu trúc liên kết của chúng Nếutính đen các gói chuyển tiếp, các bộ điều khiển đó nằm trong các miền khác nhau và

chúng chỉ quảnlý mạngcủa riêng mình tương ứng Các bộ điều khiếngiao tiếp với nhauthôngqua cơ chếxuấtbản/đăng ký được minh họatrong [ 19], Với điều kiện một bộ điều khiển gặp sựcố, những bộ chuyển mạch mà nó phụ trách có thể được kết nối thủ công

với bộ điều khiến liền kề Hình 2.2 đưa ra một ví dụ đơn giản về kiến trúc này

ControllerO và Controller1 ở cùng một mức. Controller!) quản lý Switch!) và Switch 1.

Switch!)Switch 1 sẽ được kết nối với Controller!

2.1.3 Kiến trúc Kandoo

Kiến trúc Kandoo bao gồm một bộ điều khiển gốc và một số bộ điều khiển cục

bộ Bộ điều khiển cục bộ phụ trách mạng riêng lẻ được tạo thành từ các chuyển mạch,

và bộ điều khiển gốc phụ trách tất cả các bộ điều khiển cục bộ Sự liên lạc giữa các bộđiều khiển cục bộ có thể được thực hiện bởi bộ điều khiển gốc duy nhất [20] Khi một

Trang 21

bộ chuyển mạch không biết cách chuyển tiếp một gói tin, nó sè yêu cầu bộ điều khiển cục bộ giúp đỡtrước.Nếubộ điều khiểncụcbộ chuyểntới địachỉcủa góitin, bộ chuyểnmạch sẽ nhanh chóng nhận được phản hoi Neu không, bộ điều khiển gốc sè được hỏi ý

kiến Cách xử lý gói này làmgiảm tương tác thường xuyên giữa các thực the khácvà bộđiềukhiến gốc Mộtví dụ đơn giản được đưa ra sau đây Rootcontroller là bộ điều khiến chung duy nhất phụ trách LocalControllerO và Localcontroller 1 SwitchO và Switchl nằm trong miền của LocalControllerO LocalControllerl phụ trách Switch2, Switch 3,

cũng như Switch4 Hình 2.3 minh họa kiếntrúc trên

CSP, làviết tắt của Communicating Sequential Processes - Tổng quan về các tiến

trình tuần tự của truyền thông [16], được đưa ra trong phần này CSP có thế được sử

dụng đe minh họa các hệthốngđongthời một cách dễ dàng dethe hiện các hệthốngmột

cách trực quan và nền tảng toán học chặt chè Nó đã được sử dụng đe kiếm chứng một

Trang 22

Số giao thức và hệ thống thành công [21,22] CSP được hình thành để xác định và lập

luận về các hệ thống tương tranh có các tiến trình thành phần tương tác với nhau bằng cách truyềnthông

Chú giải các ký hiệu trong ngôn ngữ đại số CSP

-1P không phải p (P không đúng) -13 >5

Tập họp

e làphần tửcủa Napoleon E mankind

Ễ không phải là phần tử của Napoleon Ệ mankind

{% 1 p(x)} tập họp cùa tấtcảX sao cho P(x) {a} = [x 1 X = a]

X : A 1 P(%)} tập họp cùa X trong A sao cho P(x)

Trang 23

{% 1 P(x)}

Ảx •fix')

tập hợp cùa tâtcảX saocho P(x)

hàm ánh xạ từnggiá trị củaX thành /(%) (Ax •/(x))(18) = /(18)

Các sự kiện đặt biệt

thành công (chấm dứt thành công)

I a tham gia vào sự kiện a bởi mộttiến trìnhcó tên l

c V truyền thông giá trị V trên kênh c

l c kênh c của mộttiến trình cótên l

bảng chữ cái cùa tiến trìnhp

ac tập hợp các thông điệp được truyền tải trên kênh c

lựa chọn có điềukiện giữap và ọ

p (thành công)theo sau là Q P&Q p bị ngắt bởi Q

Trang 24

Tiến trình

Ta hãyquên đi mộtchút vềmáy tính và lập trình máytính, thay vào đó hãy nghĩ

vềcácđối tượng trong the giới xung quanh, chúng hoạtđộng và tương tác với nhau theo

một số kiểuhành vi đặc trưng Hãy nghĩ đến đồng hồ, quầy bánhàng, điệnthoại, trò chơi

trên bàn và máy bán hàng tự động Đe mô tả các kiêu hành vi đó, trước tiên hãy quyết

định loại sự kiện hoặc hành động nào sè được quan tâm

Một tiến trình thể hiện một kiểu hành vi trong đó nó đưa ra những sự kiện nhất

định đe đồng bộ hóa với môi trường cùa nó

• Mồi sựkiện tạo thành một sự tương tác giữa tiến trình và môi trường củanó

• Neu tương táckhông xảy ra, thì tiến trình sè bị chặn

Trong trườnghọp của một máy bán hàng tự động đơn giản, có hai loại sựkiện:

xu - việc nhét đong xu vào khe của máy bán hàngtự động;

socola -chiếtxuất sô cô la từ bộ phân phối củamáy

Trong trường họp máy bán hàng tự động phức tạp hơn, có thế có nhiều sự kiện

hơn:

vao1xu- việc chènmột xu;

vao2xu- việc chèn một đồng xu hai xu;

nho - chiết xuất một chiếc bánh quy nhỏ hoặc bánh quy;

lon- chiết xuất một chiếc bánh quy lớn hoặc bánh quy;

ra 1xu-trích một xu đe thayđổi

Tập hợp tên các sự kiện được coi là có liên quan đến mô tả cụ the của một đốitượng được gọi là bảng chừ cái Bảng chừ cái là thuộc tính được xác định trước vinh

viềncủamộtđối tượng, về mặt logic, một đối tượng không the tham giavào một sự kiện

ngoài bảng chừ cái của nó Chang hạn, một chiếc máy bán hàng tự động được thiết kế

đe bán sô cô la không thể bất ngờ cung cấp một chiếc máy bay đồ chơi Vì một chiếc

máyđược thiết kế đểbán sô cô lathực sự có thế khôngbao giờlàm như vậy,có lẽvì nó

chưa được chứa đầy hay bịhỏng hoặc không ai muốn sô cô la Nhưng một khi người ta

Trang 25

quyếtđịnh rằng socolanằm trong bảng chừ cái củamáybán hàng tự động, máybán hàng

tự động nó vẫn là như vậy ngay cả khi sự kiện đó không bao giờ thực sự xảy ra

Bây giờhãy bắt đầu sử dụng tiến trình để đại diện cho mầu hành vi của một đối

tượng, trong chừng mực nó có the được mô tả dưới dạng tập hợp giới hạn các sự kiện

được chọn làm bảng chữ cái của nó và sẽ sử dụng các quy ước sau đây

1 Các từở dạng chữ thường biểu thị các sự kiện riêngbiệt, ví dụ:

xu, socola, vao2xu, ralxu

và các chữ cái a, b, c, d, e cũngvậy

2 Các từở dạng chữ hoabiểu thị các tiến trình cụ thể được xác định, ví dụ:

MBHDG - máy bán hàng tự động đơn giản

MBHPT - máy bánhàng tự độngphức tạp

và các chữ cái p, Q, R là viếttắt của các tiến trình

3 Các chừ cái X, y, z là các biến biểu thị các sự kiện

4 Các chừ cái A, B, c là viết tắt củacác sựkiện

5 Các chừ cái X,Y là các biến biểu thịtiếntrình

6 Bảng chữ cái của tiến trình p đượcký hiệu là aP, ví dụ:

aMBHDG = {xu,socola}

aMBHPT = {vaolxu, vao2xu, nho, lon,ralxu}

Tiến trình với bảngchữ cái A không bao giờ thực sự tham gia vào bất kỳ sự kiện

nào củaA được gọi là STOP A. Việcnày mô tảhành vi cùa đối tượng bị hỏng: mặcdù nó

được trang bị các khả năng vật lý đe tham gia vào các sự kiện của A, nó không bao giờ thựchiện những khả năngđó Các đối tượng có bảng chữ cái khác nhauđược phânbiệt,ngay cả khi chúng không bao giờ làm bất cứ điều gì Vì vậy, STOP aMBHDG có thể cho

ra một sô cô la, trong khiSTOPaMBHPT không bao giờ có thể cho ra một sô cô la, mànóchỉ đưa ra mộtcái bánh quy Một khách hàng của một trong hai máy bánhàng tự động

nàyđều biết những điều này, ngay cả khi họ biết rằng cả hai máyđều bị hỏng

Trang 26

2.2.1.2 Các toán tử đại • số

CSP có một loạt các toán tửđại số Những toán tửchính là:

1 Tiếp đầu ngữ

Gọi a là mộtsự kiệnvà p là mộttiến trình

(a —> P) - ữ là tiếp đầungừ cùa p còn được phát âm như sau: “ữ roi đến P”

Sau đó mô tả một đối tượng đầu tiên tham gia vào sự kiện a và đợi vô thời hạncho đến khi giao tiếp xảy ra, sau khi giao tiếp được mô tả như p. Tiến trình

(a —* P) được định nghĩalà có cùngbảng chừ cái vớip, vì vậy kýhiệunàykhôngđược

sử dụng trừkhi a nằm trongbảng chừ cáiđó; chínhthức hon được thể hiện như sau:

a(a —* P)= aP với điều kiện a E aP.

2 Thành phần song song

Khi hai tiếntrình được kết hợp với nhau đểtiến trien đồng thời, mục đích thông thường sè tương tác với nhau Những tươngtác này có theđược coi lànhững sựkiệnđòihỏi sự tham gia đồng thời của cả hai tiến trình liên quan Trong lúc này, hãy giới hạn sựchú ý vào nhữngsự kiện như vậy và bỏ qua tất cả những sự kiệnkhác Vì vậy, phải giảđịnh rằng các bảng chữ cái của haitiến trình là giốngnhau

Neu p và Ọ là các tiến trình có cùng bảng chữ cái, thì ký hiệu như sau: P| |Ọ

Đe biểu thị tiến trình hoạt động giống nhưhệ thống bao gồm các tiến trình p

Q tương tác trong đong bộ hóa bước khóa như được mô tả ởtrên

Các luật của thành phần song song

Các luật điều chỉnh hành vi cùa p I |Ọ đặc biệt đơn giản và thường xuyên Luậtđầu tiên thể hiện sự đối xứng hợp lý giữa mộttiến trình và môi trường cùa nó

Trang 27

LuậtC: P\\STOP = STOP

Các luật tiếptheo chỉ ra cách mộtcặp tiến trình tham gia cùng lúc vào cùng một

hành động hoặc bế tắc nếuchúng không thống nhất với nhau vềhành động đầutiên phải làm nhuthế nào

LuậtD.l: (c —» P) II (c —» Ọ) = (c-> (P||Ọ))

Luật D.2: (c —> P) II (d —> Ọ) = STOP nếu c d

3 Lựa chọn không xác định

Neu p và Ọ là các tiến trình, thì ký hiệu nhu sau: p n Q (P hoặc Q)

Các luật cua lựa chọn không xác định

Các luật của đại số chi phối sự lựa chọn không xác định là đặc biệt đơn giản và hiển nhiên Một sự lựa chọn giữa p và p là không có

Luật A: p n p = p

Sẽ không quan trọng sự lựa chọnđược trình bày theo thứ tự nào

LuậtB: p n Q = Q nP

Mộtlựachọn giữa balựa chọn thay thếcó thểđược chia thànhhai lựa chọn đi đôi

liêntiếp Điều này được thực hiệntheocách nào cũng không quan trọng

Luật C: p n (Ọ n /?) = (P n Ọ) n R

Môi trường của (P n Ọ) không có sự kiểm soát hoặc thậm chí không biết về sựlựa chọn được thực hiện giữapQ, hoặc thậmchí cả thời gian mà sựlựa chọnđó được thực hiện Vì vậy (P n Ọ) khôngphải là một cách hữu ích đế kết họp các tiến trình, bởi

vì môi trường phải được chuẩn bị đe đối phó với p hoặc ọ và mộttrong hai phải riêngbiệt sè dễ dàng giải quyết hơn Do đó sẽ cần phải có lựa chọn xác định

4 Lựa chọn xác định • • •

Toán tử (PDỌ), mà môi trường có thekiểm soát mộttrong p và ọ sèđượcchọn,

miền là kiểm soát này được thực hiện ngaytừ hành động đầutiên Nếu hành động này không phải là hành động đầu tiên có thể có cùa p, thì Q sẽ được chọn; nhưng nếu Q

không thể tham gia vào hành động ban đầu, thì p sẽ được chọn Tuy nhiên, nếu hành

Trang 28

động đầu tiên cóthế thực hiện được cho cả p Q, thì sựlựachọn giữa chúng là không xác định.

ư(PŨỌ) =aP= aQ

Trong trườnghợp không có sự kiện ban đầu nào của p cũng có the xảy ra đối với

ọ,thìtoán tử lựa chọn tổng quát giống vớitoán tử I, đã được sửdụngcho đến nay để thểhiện sự lựa chọn giữa các sự kiện khác nhau

(c —> p □ d —* ọ) = (c —► p Ị d —> Ọ) nếu c d.

Neu các sự kiện ban đầu giống nhau, pnọ suy biến thành lựa chọn không

xác định

(c —> p □ c —► ọ) = (c —> p n c —* ọ)

Các luật cua lựa chọn xác định

Giống như tấtcả các toán tử khác được giới thiệu chođen nay (ngoài đệ quy), □

phân phối thông qua n

Luật A: p □ (Q n R)= (P □ Q) n (P □ R)

Điều có vẻ ngạc nhiên hon là n phân phối thông qua □

LuậtB: p n (Q □ R) = (P n Q) □(? n R)

5 Lựa chọn có điều kiện

Neu b là một vị từ và p Q là các tiến trình thì the hiện tiến trình hoạt động

giốngnhư P; ngược lại, như Q :hiệu như sau: p <3 b v> Q

Các luật của lựa chọn có điều kiện

Lựa chọn có điều kiện thỏa mãn các luật mệnh đề

Luật A.1: p <3 true t> Q = p

Luật A.2: p <3 bt>ọ = ọ<3-iòi>p

Các luật khác phân phốithôngqua lựa chọn bêntrong và bênngoài trong mồiđối

số

(P n Ọ) < b > R = (P < b t> /?) n (Q <3 b > /?)

p <3 b t> (Ọ n /?) = (P <3 b v> Q) n (P <3 b t> R)

Trang 29

(PDỌ) <3 b > R = (P <3 b > /?)□((? < b t> /?)

p < b > (<?□/?) = (P <3 b t> Ọ)Ũ(P <3 b > P)

2.2.1.3 Truyền thông

Giới thiệu

ớ phần này sẽ tập trung vào mộtloại sự kiện đặc biệt được gọi là truyền thông

Truyền thông làmột sự kiện được môtả bằng một cặp c V trongđó c làtên của kênh mà

truyền thông diễn ra và V là giá trị cùa thông báo được truyền đi Tập hợp tất cả các

thôngbáo mà p có thể truyền thông trên kênh c được xác định như sau:

Đầu vào và đầu ra của truyền thông

Gọi V là phần tử bất kỳ của crc(p) Một tiến trình đầu tiên xuất ra V trên kênh c

và sauđó hành vinhư (p) được định nghĩanhư sau:

(c!V p~) — (c.v — > P)

Sự kiệnduy nhất mà tiến trình này được chuẩnbị ban đầu đe tham gia là sự kiện

truyền thông c V.

Mộttiến trình đượcchuẩn bị ban đầu đểnhập vào bất kỳ giá trị Xnào có thể truyền

trên kênh c,và sau đó hành vi như P(z) ,được định nghĩanhưsau:

(c?x —> p(x)) = (y:{y\chanel(y) = c} —> p(message(y)))

Phải tuân thủ các quy ước rằng các kênh được sử dụng đe truyền thông chỉ theo

một hướng và giữa hai tiến trình Một kênh chỉ được sừ dụng cho đầu rabởi một tiếntrình sè được gọi làkênh đầu ra của tiến trình đó vàmột kênh chỉ được sử dụng cho đầuvào sẽ được gọi là kênh đầu vào Trong haitrường họpđều nói rằng tên kênh là phần tử

Trang 30

của bảng chừ cái cùa tiến trình.

Đặt p và Ọ là các tiến trìnhvà gọi c là kênh đầu racủa p vàkênh đầu vào cùa Q

Khi p Q đuợc đồngbộ trong hệ thống (P11Q), truyềnthông sẽ xảy ra trênkênh c trong mồi trường họp p xuấtra mộtthông điệp và Q đồng thời nhậpthông điệp

Tiến trìnhxuấtra chỉđịnh mộtgiátrị duy nhấtcho thôngđiệp, trongkhitiến trình

nhập được chuẩn bị để chấp nhận bất kỳ giá trị có thể truyền được vào Sự kiện sè thực

sựxảy ra là c.V truyềnthông, trongđó V là giá trịđược chỉ định bởi tiếntrình xuất Điều

nàyđòi hỏi ràngbuộc rõràng là kênh c phải có cùng mộtbảng chữcái ở cả hai đầu là:

ac(P) = ac(ọ)

Giá trị được xuất rabởi mộttiến trình được chỉ định bằng một biểu thức có chứa

các biến màgiá trị đàđược gán bởi một số đầu vào trước đó, như trong ví dụ sau:

Mộttiến trìnhsao chép ngay lập tức mọi thôngđiệp mànó có đầu vào từbên trái

bằng cách xuấtnó sang bên phải

aleftiCOPY) = aright(COPY) COPY = gX'(left?x right' X X)

Các truyền thông

Neu gọi p và Ọ là tiến trình, và gọi c là một kênh được sử dụngcho đầu ra của p

và cho đầu vàocủa Q Dođó,tập họp chứatất cả các sựkiện truyền thông c V nằm trong giao điểm bảng chừ cái của p với bảng chừ cái của Q Khi các tiến trình này được cấu

tạo đong thời trong hệ thống (P| |Ọ), một truyền thông c V chi có thể xảyra khi cả haitiếntrình tham gia đồngthời vào sự kiện đó, tức làbất cứ khi nào p xuấtra giátrị V trên kênh cQ đồng thời nhập cùng một giá trị Tiến trình đầu vào được chuẩnbị để chấp

nhận bất kỳ giá trị nào có thế truyền được, vì vậy tiến trình đầu ra sẽ xác định giá trịthôngbáo thực tế nàođược truyền Dođó, đầu ra có the đượccoi làmộttrường hợp tách

biệt của toán tử tiền tố vàđầu vào là một trườnghọp lựa chọn đặc biệt

Trang 31

Các luật của các truyền thông

P;nhưngkhip kếtthúcthành công, (P; Ọ) tiếptụchoạtđộnggiống như Q. Neup khôngbao giờ kết thúc thành côngthì (P; Ọ) cũng không kết thúc thành công

Các luật của tiến trình tuần tự

Các luật cho thành phần tuần tựtương tự như luật cho phân loại, với SKIP đóng

vai trò của đơn vị

Luật A: SKIP] p = P] SKIP = p

LuậtB: (P; ọ); R = P] (Ọ; /?)

Luật C: (%: B —> p(x));Q = (%: B —> (p(x); ọ))

Luật cho toán tử lựa chọn có hệquả

LuậtD: (ữ —> p); Q = a —> (P; Ọ)

Luật E: STOP] Q = STOP

Khi các toán tử tuần tựđược tạo song song, sựkết hợp sè kết thúc thànhcông chỉkhi cả hai thành phần nhưsau:

Luật F: SKIPA\\SKIP B = SKIP A{JB

Tiến trình kết thúc thành công không tham gia vào sựkiện nào nữa

LuậtG: ((x:B —> P(x))\\SKIP A = (x:B -X) —> (P(x)\\SKIP A)

Trang 32

CÚ pháp của một tập hợp con của CSP

Cú pháp của một tập hợp con của CSP được đưa ra như dưới đây ở đây, pQ

là các tiến trình, ad có nghĩa là các sựkiện trong khi b biếu thị một bien Boolean, c

làtên của một kênh

P,Q ::= Skip\Stop\a p\c\v — ^ p\c?x -* P\P;Ọ|P||Ọ|PŨQ| p < b

t> Q\b * Ọ|P[[ữ <— ư]]

• Skip cho biết mộttiến trình cơ bản kết thúc thành công

• Stop trình bày rằng một tiến trình khôngthể làm bất cứ điều gì nữa

• a — > p biểu thị một tiến trình đầu tiên tham gia vào hành động a, sau đó hoạtđộng như tiếntrình p.

• c!V —* p mô tả mộttiến trình gửi mộtgiá trị Vqua kênh c, sauđó hoạt động như

• PũQ viết tắt của sự lựachọn bên ngoài Một tiến trình hoạt động theo đặc điểm

kỳ thuật của p hoặc Q. Tuy nhiên, sự lựa chọnphụ thuộc vào môi trường

• b Q thể hiện sự lưu thông Khi giá trị của biến b là sai, tiến trình lưu thông kết

Trang 33

2.2.2 Tổng quát về bộ công cụ phân tích tiến trình PAT

2.2.2.1 Giới thiệu • về PAT

PAT, là viết tắt của Process Analysis Toolkit - Bộ công cụ phân tích tiến trình [3,17], một công cụ dựa trênCSP vàđược thiết kếđe áp dụng các kỳ thuật kiếm chứng

mô hình để phân tích hệ thống tự động Nó đi kèm với giao diện thân thiện với người

dùng,trình soạn thảo mô hình đặc trưng và giả lậphoạthình Nó hồ trợ xác định và kiếm

chứng hệ thống bằng nhiều ngôn ngữ mô hình hóa khác nhau và đã có nhiều hệ thống

khác nhau như hệ thống thời gian thực tương tranh, hệthống cân bằng, nhận dạng hoạt

động và trong các lĩnh vực khác đã được kiểm chứng trong PAT

PAT là một khuôn khổ độc lập để hồ trợsoạn thảo, mô phỏng và lập luận các hệthống đồng thời, thời gian thực và các miền khả thi khác Nó đi kèm với giao diện thânthiện với người dùng, trìnhchỉnh sửamôhìnhnổibật và trình mô phỏng hoạthình Quan

trọng nhất, PAT thực hiện các kỳ thuật kiểm tra mô hình khác nhau phục vụ cho các thuộc tính khác nhau như không có bế tắc, không có phân kỳ, khả năng tiếp cận, thuộctính LTL với các giảđịnh công bằng, kiểmtra sàng lọc và kiểm tra mô hìnhxác suất Đẻ

đạtđược hiệu suất tốt, các kỳ thuật toi ưu hóa nâng caođượcthực hiệntrong PAT, ví dụ

như giảm thứtự từng phần, giảm đối xứng, trừu tượng bộ đếm tiến trình, kiểm tra môhình song song Cho đếnnay, PATđãcó 4370+ người dùng đã đăng ký từ 1341+tổchứctrong 150 quốc gia vàkhuvực

1 Các chức năng chính của PAT

Môi trường chinh sửa của PATthân thiện với người dùng (nhiều tài liệu,đa ngôn ngừ và các tính năngchỉnh sửa cú pháp nâng cao)đe giới thiệu các mô hình

Trình mô phỏng thân thiện với người dùng đe mô phỏng tương tác và trực quancác hành vi của hệ thống; bằng cách mô phỏng ngầu nhiên, mô phỏng từng bước do người dùng hướng dần, tạo biểu đồ trạng thái hoàn chỉnh, phát lại theo dõi, trực quanhóa v.v

Dễdàng xácminhđểphântíchkhôngcóbế tắc, phân tích khả năngtiếpcận, kiểm

Trang 34

tra logic thời giantuyếntínhtrạngthái/ sự kiện(có hoặc có công bằng) và kiếm tra sàng

lọc Mộtloạt các ví dụ tích họp khác nhau, từhệ thống điếm chuẩn đến các thuật toán/

giao thức mớiđược phát triển

Concurrent Module Real time Module probabilistic

Module

Web Service Module

Distributed Algorithms, Web Services, Bio-systems, Security Protocols, Sensor Networks, etc.

JpXpply Operational Semantics

Symbolic Encoding

Explicit Representation:

Verification Algorithms

MDP Verification Algorithms

Symbolic Representation:

Boolean Formulas Simulator

SAT Solvers

f

Explicit Model Checking

Hình 2.4 Kiến trúc PAT [3]

Kiến trúc này cho phép dềdàng phát triển các ngôn ngừ mới bằng cách cungcấp

các quy tắc cú pháp và ngừ nghĩa Đen nay, PAT có 11 mô-đun đã được phát triển, cụ

thể là Communicating Sequential Processes (CSP) Module, Real-TimeSystem Module,Probability CSP Module, Probability RTS Module, Labeled Transition System Module,Timed Automata Module, NesC Module, ORC Module, Stateflow(MDL) Module,

Security Module and Web Service (WS) Module Trong đó mô-đun CSP có chức năng

hồ trợ môhình hóa và kiểm chứng

2 Trình biên tập PAT

Các từ khóa nổi bật, như được hiển thị trong hìnhtrên, các từ khóa nổi bật được

giải thích nhưsau:

- Trong trình biên tập PAT các từ khóa dành riêng sẽ được đánh dấu bằng màu

xanh dương

Trang 35

- Các tên tiến trình sè được in đậm vànổi bật trongmàu xanh dương đậm.

- Các kýhiệu dành riêng cho định nghĩa tiến trình được hiển thị bằng màuđỏ

- Công thức LTL trongcác xác nhậnsè được in đậm và đượchiến thị bằng màu đỏ

- Ví dụ, ghi chú, nhậnxét thì có màuxanh lá cây, v.v

Hình 2.5 Trình biên tập PAT [3]

Trình mô phỏng của PAT cho phépngười dùng mô phỏng tươngtác và trực quancác hành vi của hệ thống Trình mô phỏng được tạo thành từ bốn phần: Thanh công cụ

ở trên cùng, Ngăn tương tác, Ngăn dừ liệu (hiển thị giá trị của các biến ở trạng thái đã

chọn) và Đồ thị mô phỏng Chọn tiến trình bạn muốn mô phỏng, các tác vụ mô phỏng

có the được thực hiện được mô tả nhưsau:

- Nhấp vào nút Mô phỏng để thực hiện mô phong ngầu nhiên hệ thống Trình

mô phỏng sẽ chọn ngẫu nhiên một sựkiện đã bật ở trạng thái hiện tại đểthực thi Mô phỏng sè dừng khi không còn sự kiện nàođượckíchhoạthoặc so trạng

Trang 36

thái được truy cập lớn hơn giới hạn Trạng thái hiện tại được thể hiện bằng màu đỏ trong biếu đồ.

- Nhấp đúp vào sự kiện trong danh sách nhùng sự kiện được kích hoạtđế thực hiện mô phỏng từng bước Danh sách nhừng sự kiện được kích hoạt sè chỉ

hiển thị các sự kiện đãbật chotrạng thái hiện tại (được hiển thị bằng màu đỏtrong biểu đồ) Các sự kiện được hiển thị bằngmàu xanh dương làcácsự kiện không được truycậptrong khi màu đen là các sựkiệnđược truy cập cho trạng thái hiện tại

- Nút Tạo đồ thị sẽ tạo biểuđồ trạngthái hoàn chỉnhtrong một cú nhấp chuột

Số trạng thái được hiển thị bị giới hạn bởi giới hạn hiển thị (300 theo mặc

định) để tránhviệc mô hình không kếtthúc

- Chọn bất kỳ trạng thái nào trong danh sách Chuồi sự kiện, sau đó nhấp vàonút Biểu diền chuổi sự kiện tự động bắt đầutừ trạng thái đãchọn Bạn cóthểquay lại bất kỳ trạngthái nào trước đó

- Nút Simulate Trace cho phép người dùng viết script đe thực hiện mô phỏng

lệ Trìnhxác minh PAT còn cungcấp hai chế độ đexác minh, ví dụ: chế độ nhấp chuột

và che độ hàng loạt

Chế độ nhấp chuột: Sử dụng chế độ này đe xác minh các thuộc tính, bạn phải

nhấpthủcông lần lượt vàocác xác nhận và chọn các tùy chọn bố sung được môtả ở trên

xem Hình 2.6 Lưu ý: Nhiều lựa chọnxác nhận được hồ trợ từ phiên bản 3.4

Trang 37

Chế độ hàng loạt: Sử dụng chế độ này, bạn có thế nhận được tất cả các thuộc tính

của một loạttệp mô hình được xác minh với các lựa chọn tùychọn nhất định trongmột

lần Toànbộ kết quả xác minh sè được ghi vào một tệp đầu ra mà bạn đẫ xác định Cáckết quả này có thể chuyển sang excel bằng cách nhấp vào nút Tạo Báo cáo Excel

về tính đúng thực tế một cáchhiệu quả Thứ hai, mô-đun CSP cho phép người dùng lập

luận về các hành vi của một hệ thống dưới dạng một kiểm tra làm mịn toàn the Kiếmtra làm mịn xác định xem một cài đặt có theo đúng một đặc tả hay không

Trang 38

Explicit On-thc-fly Model Checking

Supporting Fairness Assumptions

Quy trình xử lý của Mô-đun CSP nhưsau:

- Các thông tin đầu vào bao gồm: Mô hìnhhệ thốngđược đặc tả bằng ngôn ngừ

CSP (system models), các tínhchấtcủahệthốngcầnkiểmtra(Xácnhận LTL,

xác nhận khả năng tiếp cận, xác nhận bếtắc, xác nhận sàng lọc)

- Mô hình hệ thống được chuyến đổi thành dạng biếu diễn nội bộ (internal

processes collection) bởi bộ phân tích ngôn ngừ (language parse), đong thời

các tính chất cần kiếm tra cũng được chuyền thành dạng biểu diễn nội bộ(assersions collection) bởi bộ phân tích các khẳng định và bộ chuyển đổi(assersions parser and buchi automata translator)

- Từ cácdừ liệu biếu diễn nộibộ PAT có the tiến hành mô phỏng hệ thống

- Cũng với các dữ liệu biểu diễn nội bộ, các thuật toán kiểm chứng mô hình

tương ứng với các loại thuộc tính cần kiểm tra được áp dụng Neu thuộctính không thỏa mãn sẽ có một phản ví dụđược chỉ ra, phảnví dụ này cóthê được

chuyển tới bộ mô phỏng để mô phỏng chuồi hành vi dần tới kết quả không

thỏa mãn

Trang 39

1 Các định nghĩa toàn cục

Tên mô hình

Trước hết, bạn có the đặttên cho mô hình của mình bằng cú pháp sau trong dòngđầu tiên của mô hình Tên mô hình được sử dụng nội bộ làm ID cho trình mô phỏng đểtìm các hình vẽ chính xác, nếu có Nó làtùy chọn

Hằng số

Hằng số chung được định nghĩa bằng cúpháp sau,

ttdeịìne toida 5;

#defìne là một từ khóađược sử dụng cho nhiều mục đích, ở đây nó xác định một

hằng số toàn cụccó tên là toida, có giá trị là 5 Dấu chấm phay đánh dấu phần cuối câu

Lưu ý: giátrị hằngchỉcóthể là giátrị nguyên(cảdương và âm) và giá trịBoolean

(đúng hoặc sai)

Việc liệtkê không đổi có thểđược xác định bằngcách sử dụng từ khóa enum Ví

dụ, enum {red, blue, green}; là đườngcú pháp cho những điều sau:

ttdefine red 0;

ttdefine blue 1;

ttdefine green 2;

Bien và mảng

Bien toàn cục được xác định bằng cú pháp sau, var bang = 0; trong đó var là từ

khóa để xác định một biếnvà bang là tên biến Ban đầu, bang có giá trị là 0 Dấu chấmphẩy dùng đểđánh dấuphần cuối củacâu như trên Nhận xétrằng ngôn ngừ đầuvàocủaPATđược gõ yếu và do đó khôngcầnnhập thông tin khi khai báo mộtbiến Truyền giữa

các loại không tương thích có thế dẫn đen ngoại lệ thời gian chạy

Một mảngkích thước cố định có the được định nghĩa như sau, trong đó board

tên mảng và giá trị ban đầu của nó được chỉđịnh dưới dạng chuồi,ví dụ: board [0] = 3.Phầnsau xác định mảng có kích thước 3

Trang 40

var board = [3, 5, 6, 0, 2, 7, 8, 4, 1] ;

var leader [37;

Tat cả các phầntử trong mảng được khởi tạo bằng 0

Đặc tả phạm vi biến: người dùng có the cung cấp phạmvi của các biến/mảng một cách

rõ ràng bằng cáchđưara giới hạn dướihoặc giới hạn trên hoặc cả hai Bằng cách này,trình kiểm tra mô hình và trình mô phỏng có thể báo cảo sự vi phạm ngoài phạm vicủa

các giá trịbiếnđe giúpngười dùng giám sát các giá trị biến Cúpháp xác định giá trị

phạm vi đượctrình bày như sau

var bang: {0 } — 0;

var board: {0 10} = [3, 5, 6, 0, 2, 7, 8, 4, 1];

var leader [N]: { N - 1}; // trong đó N là một hằng được xác định.

Khởi tạo mảng: Đe dễ dàng mô hìnhhóa, PAT hồ trọ khởi tạo mảngnhanh

#defìne N 2;

var array = [1, 1, 3, 4, 5, 6, 7, 7, 7, 7, 12, 11, 10];

Trong cú pháp trên, 1 (2) và 7(N*2) cho phép người dùng tạo nhanh một mảng

có cùng giá trị ban đầu 3 6 và 12 10 cho phép người dùng viết vòng lặp tăngvà giảm nhanh đê khởi tạo mảng

Kiểu do người dùng định nghĩa: Đe dễ dàng mô hìnhhóa, PAT cho phép người dùng

định nghĩa bất kỳ cấu trúc dừ liệu nào và sử dụng chúng trong các mô hình PAT Sau đây là cú pháp

var<Type> x; //hàm tạo mặc định cùa lớp Type sẽ được gọi.

var<Type> X = new Type/ỉ, 2); //hàm tạo có hai tham so int sẽ được gọi.

Biến ẩn: Đe đơn giản hóa mô hình, PAT giới thiệu các biến ẩn cóthể được sử dụng như

các biếnbình thường Sự khác biệt duy nhất làbiến ấn là mộtloại biến phụ, không đượcbao gồm trong chi tiết trạng thái Ý tưởng thứ cấp là sử dụng biến dư thừa đe làm cho

Ngày đăng: 15/11/2022, 06:33

TRÍCH ĐOẠN

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