Trước yêu cầu như vậy, luậnvăn nghiên cứu và đề xuất một mô hình cho phép các controller ở các vùng mạngcon trong mạng cộng tác với nhau trong việc điều hành mạng, trên cơ sở đó xâydựng
Trang 1TRUONG DAI HOC BACH KHOA
PHAN XUAN THIEN
MO HINH CONG TAC HO TRO DINH TUYEN TREN
Chuyén nghanh: Khoa Hoc May Tinh
Mã số: 60.48.01
LUẬN VĂN THẠC SĨ
TP Hồ Chí Minh, Tháng 12 năm 2012
Trang 2Cán bộ hướng dẫn khoa hoc: PGS TS Thoại Nam
(Ghi rõ ho, tên, học hàm, học vi và chữ ký)Cán bộ cham nhận xét 1: TS Pham Trần Vũ
(Ghi rõ ho, tên, học hàm, học vi và chữ ký)Cán bộ chấm nhận xét 2: TS Phạm Văn Hậu
(Ghi rõ ho, tên, học hàm, học vi và chữ ký)Luận văn thạc sĩ được bảo vệ tại Trường Đại Học Bách Khoa, ĐHQGTp HCM ngày 24 tháng 12 năm 2012.Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:(Ghi rõ họ, tên, hoc hàm, học vi của Hội đồng cham bảo vệ luận văn thạc sĩ)1 TS Trần Vũ Bình, Chủ tịch hội đồng
2 TS Trần Văn Hoài, Thư ký hội đồng
3 TS Phạm Trần Vũ, Ủy viên Phản biện 1
4 TS Phạm Văn Hậu Ủy viên Phản biện 2
5 PGS TS Thoại Nam, Ủy viên hội đồng ¬Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lýchuyên nghành sau khi luận văn đã được sửa chữa (nêu có).CHỦ TỊCH HỘI ĐÔNG TRƯỞNG KHOA
Trang 3NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học vién: PHAN XUAN THIỆN MSHV: 10070498Ngày, tháng, năm sinh: 03/3/1987 Nơi sinh: TT-HuếChuyên ngành: Khoa Học Máy Tính Mãsố: 60.48.01I TEN DE TÀI:
Mô hình cộng tác hỗ trợ định tuyến trên mạng nhiều vùng dựa trên OpenFlowIl NHIỆM VU VÀ NỘI DUNG:
© - Nghiên cứu về kiến trúc và giao thức mạng OpenFlow.°© Nghiên cứu dé xuất giải pháp cải tiễn để nâng phạm vi quản lý cho mạng dùng
OpenFlow qua việc cho phép đông thời nhiêu controller trong mang.¢ Dé xuất mô hình và giao thức cho phép nhiều controller cùng hoạt động trong mang
OpenFlow, khả năng cộng tác với nhau trong việc điêu hành mang của chung, ho trợcho việc định tuyên tôt trên toàn thê mạng.
© - Hiện thực, thử nghiệm hệ thống và đánh giá giải pháp.II NGÀY GIAO NHIỆM VU: (Ghi theo trong QD giao dé tải) 5-5 ccccccec cà .IV NGÀY HOÀN THÀNH NHIỆM VU: (Ghi theo trong QD giao đề tài) V CÁN BỘ HƯỚNG DÂN (Ghi rõ học hàm, học vi, họ, tên): PGS TS Thoại Nam
Trang 4Tôi xin gửi lời cảm ơn sâu sắc đến PGS TS Thoại Nam đã tận tình hướngdẫn, giúp đỡ tôi thực hiện dé tài nghiên cứu này Tôi cũng xin cảm on GS PierreKuonen đã tận tình hướng dẫn tôi trong quá trình thực tập ở Fribourg, Thuy Sĩ.
Sau cùng, tôi xin gửi lời cảm ơn chân thành đên gia đình và bạn bè đã luônbên cạnh động viên và giúp đỡ tôi.
Trang 5OpenFlow là một kiến trúc mạng cải tiến trong đó tách biệt hệ điều khiếnmạng vả hệ truyền dữ liệu, cho phép các nhà nghiên khả năng lập trình cơ sở hạtang mạng để điều khiển các thiết bị trong mạng phục vu cho các quá trình thửnghiệm của họ Tuy nhiên, kiến trúc của OpenFlow lệ thuộc hoàn toàn vào việc sửdụng một hệ điều khiến tập trung gọi là OpenFlow controller chạy trên một máytính đơn để điều hành hoạt động của tất cả các thiết bị trong mạng Với những mạngcó số lượng thiết bị lớn, tần suất gửi yêu cầu từ các thiết bị nhiều thì việc sử dụngchỉ một controller để xử lý có thể sẽ không đáp ứng nổi hoặc đáp ứng không hiệuquả số lượng yêu cầu lớn gửi từ các thiết bị do bị giới hạn bởi khả năng xử lý củamột máy tính Hơn nữa nếu môi trường mạng có phạm vi phân bồ rộng thì thời gianđáp ứng cho các yêu cau từ các thiết bị ở xa bị ảnh hưởng do độ trễ băng thông củakết nỗi giữa controller và các thiết bị trong mạng Vì vậy việc cho phép nhiềucontroller hoạt động đồng thời trong mạng là một giải pháp hữu hiệu cho vẫn đềnày Hỗ trợ hiện tại của OpenFlow cho phép triển khai mạng OpenFlow nhiềucontroller trong đó mỗi controller quản lý một vùng mạng con trong mạng Tuynhiên hiện nay chưa có cơ chế nào để các controller cộng tác với nhau trong việcđiều khiến các thiết bị trong mạng Hệ quả là các controller không thể định tuyếncác gói tin liên vùng trong mạng một cách hiệu quả Trước yêu cầu như vậy, luậnvăn nghiên cứu và đề xuất một mô hình cho phép các controller ở các vùng mạngcon trong mạng cộng tác với nhau trong việc điều hành mạng, trên cơ sở đó xâydựng giải pháp nâng cao hiệu quả định tuyến trên các vùng mạng OpenFlow.
Trang 6OpenFlow is an innovative network architecture which decouples controlplane and data plane, allowing researchers the ability to program their networks,control the behaviour of network switches for their experiments However, currentOpenFlow architecture relies completely on the use of a centralized controller tomanage all switches connecting to it in the network For networks with largenumber of switches, depending on a controller to manage all switches in thenetwork becomes unfeasible Thus allowing distributed multiple controllers inmanaging OpenFlow network is an appropriate solution for OpenFlow scalability.Current OpenFlow support allows deploying multi-controllers networks in whicheach controller is responsible for operating each smaller domain in the network,however there is currently no mechanism for these controllers to cooperate with theeach other As a result, the controllers cannot effectively process cross-domainpackets This paper proposes building a collaborative model for multi-domainsOpenFlow networks that allows different network domains to collaborate with eachother in an efficient way In addition, a routing solution is proposed based on themodel to achieve higher network performance.
Trang 7LỜI CAM ĐOANTôi xin cam đoan rang bản luận van tốt nghiệp này là kết quả nghiên cứuthực sự do chính tôi thực hiện Ngoại trừ các kết quả tham khảo từ các công trìnhkhác như đã ghi rõ trong luận văn, các công việc nêu trong luận văn là trung thực vàchưa từng được công bồ trong bất kỳ công trình nao khác hoặc được nộp dé lay mộtbăng cap ở một trường nào khác.
Trang 8LỜI CẢM ©) Q00 0012n HT ng ng TH TK nh nh ch kt iTOM TAT LUẬN VĂN Q00 0011 n ng TH TT nh nh nhện iiABSTRACT ooo cccceccceccceeccceeccceecceuceceuecseueceueseeaeseeesesesceasesaeesesesenes iii
LỜI CAM 30) er ivMỤC LUC ooo cee cece cece ccccccecceu cece cesueecsuecseeseseesesasesenseseeeseeeseaeeeans VDANH MỤC HINH - c0 1121121115111 11 n1 xi ixCHUONG 1 GIỚI THIỆU DE TALI - . c2 s |1.1 Đặt vẫn đỀ Q0 Q0 TH TT HT TH ng TT nà nh nhe |1.2 Giới thiệu dé tài c ST HT TT nh nh nhu 3
1.2.1 Tên để tài - c Q00 0n SH ST ng TH ng nh cv tr 31.2.2 Giới hạn của dé tài 2n 2n nh xài 31.2.3 Mục tiêu dé tài - c- c2 n HQ SH SH nh nh xi 51.2.4 Y nghĩa khoa học và thực tiễn - -.-. - <<: 51.3 Quy trình thực hiện c2 eee eee e eee nents 7
CHUONG 2 CƠ SỞ LY THUYẾTT c2 22112111 sean sens 122.1 Tổng quan về OpenEFÏOW cv vn kh hy 122.2 OpenFIOw swWIfCh ng ng n ng ng ng ng eee e nena a eee 14
2.2.1 Flow-Lable -ccc nnnn nnn nhe 14
2.2.2 Các loại Action chính trong OpenFlow switch 15
2.2.3 Kênh giao tiếp bảo mật OpenFlow ccc sec seei 162.2.4 Giao thức OpenFIOW nhà 16
2.3 Những lợi ích cua mang dựa trên OpenFIOW 17
Trang 9CHƯƠNG 3 NHUNG CONG TRINH NGHIÊN CỨU LIEN QUAN 20
3.1 Hệ điều khiến phân bố cho mang OpenFlow (HyperFlow) 21
3.2 Kiến trúc mở rộng cho hệ điều khiển mạng OpenFlow nội bộ (ASIC) 23
3.3 Để xuất sử dụng nhiều controller cho mạng OpenFlow 25
CHUONG 4 MÔ HINH VÀ GIẢI PHÁP ĐỊNH TUYỂN DE XUẤT 29
4.1 Mô hình chia sẻ thông tin giữa các vùng mạng OpenFlow 30
4.2 Giải pháp định tuyến dé xuất - cv ch srxền 324.2.1 Các thành phân chính trong mô hình RMOF 33
4.2.2 Quy trình xử lý trong mô hình RMOF 39
4.2.3 Phương pháp dò tìm các liên kết liên vùng 42
4.2.4 Phương pháp tính chi phí định tuyến giữa các switch liênvùng trong một vùng mạng - - 44
4.2.5 Phương pháp tính đường định tuyến toản cục 44
CHƯƠNG 5 GIAO THUC TRAO DOI THONG TIN TRONG MÔ HINH08.407.000 485.1 Các nhóm thông điệp chính trong giao thức RMOF 49
5.2 Header cua thông điệp trong giao thức RMOF 50
5.3 Thông điệp đối xỨng c.cccQn SH SH nh nh như kh nhườn 515.3.1 Thông điệp RMOF_HANDSHAKE 51
5.3.2 Thong điệp RMOF ECHO REQUFEST' 52
5.3.3 Thông điệp RMOF ECHO REPLY 52
5.4 Thông điệp trao đối thông tin đặc tính của controller 52
5.4.1 Thông điệp RMOF CONTROLLER FEATURES REQUEST 52
5.4.2 Thông điệp RMOF CONTROLLER FEATURES REPLY 53
Trang 105.5 Thông điệp cap nhật thông tin topology toàn cục 53
5.5.1 Thông điệp RMOF_CDLINK_ADD 54
5.5.2 Thông điệp RMOF_CDLINK_REMOVE 555.6 Thông điệp định tuyến - CS SH Ỳ nh nh nh sen 555.6.L Thông điệp RMOF_ROUTE_INS_REQUEST 55
5.6.2 Thông điệp RMOF ROUTRE_TNS cà 56
5.7 Thông điệp định vi host đích -. <<<5 58
5.7.1 Thông điệp RMOF ADDR AUTHENTICATION REQUEST 58
5.7.2 Thông điệp RMOF ADDR AUTHENTICATION REPLY 58CHUONG 6 HIEN THUC HOA MO HINH VA GIAI PHAP DINH TUYEN
IĐ)P®.46F,VlaiiiaiaẳẳẳầẢ 616.1 Lựa chọn nền tang controller: Beacon - 616.2 Cải tiễn nền tang Beacon controller cccceecescecuccueceececenceesens 626.3 Hiện thực hóa thành phan RMOF collaborator 666.4 Các quy trình xử lý trong hệ thống 0c cee ceececeescascesceeceecesceeeen 68CHUONG 7 DANH GIA VƯđ ai 717.1 Triển khai mạng OpenFlow và hệ điều khiển được hiện thực 727.2_ Các bước tiễn hành thử nghiệm -.-c-cc-cccccccccscscsi 737.3 Kết quả thử nghiệm -.cc c1 Sky sen 74In Ả 76
CHƯƠNG 8 KẾT LUẬN cc chê 788.1 Tổng két oo ececcecccecceccececcuscuseuscuscesceeeacenseaseuscescaecueeesen 788.2 Hướng phat trién cece cee ceeceeccecceccuceuceuccuscescuscetcenceuseuseuseuans 80TAI LIEU THAM KHAO 00 cccccccccececcececececcecucececeesuceseesnscesenensneaas 81
Trang 11PHU LUC: CHƯƠNG TRÌNH TRIEN KHAI MẠNG OPENFLOW
GIA LẬP TRONG THU NGHIỆM -.-:-:-c - <<:BAI BAO KHOA HOC
Trang 12DANH MUC HINH
Quy trình thực hiện luận văn 8
Kiến trúc của một mang OpenFÏOwW c.cc cà: 13Các trường thông tin trong một Flow-Entry 14
Các thông tin trong trường Match-Fields của một Flow-Entry 15
Minh hoa mô hình HyperFlow -< << s2 22Kiến trúc ASIC 2221120111 23Thiết kế tong quan của mô hình RMOF c c2 31Các thành phan chính trong mô hình RMOF - - 34
Minh hoa một liên kết liên vùng . c2 ca 35Các trường thông tin trong bảng các liên kết liên vùng 35
Các trường thông tin trong bang chi phí định tuyến ước lượng 36
Khung nhìn topology toàn cục quan sát được từ RMOF collaborator 37
Các trường thông tin trong bang chỉ dẫn định tuyến 38
Quy trình xử lý của controller trong mô hình RMOE 40
Quy trình xử lý tìm đường đi toàn cục trong mô hình RMOF 42
Hình 4.10 Minh họa việc tính đường định tuyến toàn cục ở RMOF collaborator 46
Hình 6.1Hình 6.2Hình 6.3Hình 6.4Hình 6.5Các thành phan chính của nền tang Beacon controller 61
Các thành phan chính của nền tang Beacon sau khi được cải tiến 66
Các mô-đun phần mém chính trong RMOF collaborator 68
Quá trình xử lý thiết lập kết nối trong hệ thống được hiện thực 69
Quá trình xử lý gói tin liên vùng trong hệ thống được hiện thực 70
Trang 13Hình 7.2 Thông lượng giữa hai host trong kịch ban ở các lần đo khác nhau 75
Trang 141.1 Đặt vẫn dé
OpenFlow là một kiến trúc mạng mới được đề xuất vào năm 2008 bởi cácnhà nghiên cứu trường đại học Stanford của Mỹ Kiến trúc này tách biệt hoàn toàngiữa hệ truyền dữ liệu (Forwarding Plane hoặc Data Plane) và hệ điều khiển(Control Plane) cho phép các chức năng quan lý, điều khiển các thiết bị mạng đượcquyết định bởi các phần mềm chạy trên một Controller ở xa Việc giao tiếp giữacontroller nay và các thiết bị mạng OpenFlow được thực hiện thông qua mot giaothức được định nghĩa thống nhất và hoàn chỉnh gọi là giao thức OpenFlow
Như chúng đã biết mạng máy tính ngày nay đóng vai trò rất quan trọng trongđời sống con người Nó trở thành một co sở hạ tang không thé thiếu được trong cácco quan, trường học, bệnh viện, viện nghiên cứu, va là thành phân nền tảng chosự phát triển kinh tế và khoa học kỹ thuật của mọi quốc gia trên thế giới Tuy nhiêncơ sở hạ tang mang hầu như bị lệ thuộc vào các thiết bị mạng vật ly (switch,router, ) được cung cấp bởi các nhà sản xuất thiết bị mạng, mà trong đó các giaothức đều được cài đặt san và nền tảng cũng như hiện thực của chúng bị che giấu vìlý do cạnh tranh thị trường Hơn nữa các nhà cung cấp thiết bị đều có xu hướngphát triển các giao thức và nên tảng riêng, điều nay dẫn đến sự không nhất quántrong các chính sách (policy) của các thiết bị mang, gây ra nhiều khó khăn cho việcnghiên cứu cải tiến trên mạng máy tính Ngoài ra, việc cau hình cho các thiết bịmạng hiện nay chủ yếu phải thao tác trực tiếp trên các thiết bị, điều nay làm mấtnhiều thời gian và công sức và đây là một trở ngại không nhỏ cho việc triển khaicác thay đổi, cải tiến lên hệ thống mạng cho mục đích thử nghiệm các nghiên cứuvề mạng máy tính
Trước tình hình đó và với mục tiêu xây dựng một nền tảng mở với giao thứchoàn chỉnh, thống nhất cho hệ thống mạng máy tính, OpenFlow đã hình thành vàphát triển Kiến trúc OpenFlow cho phép các thiết bị mạng vật lý được quản lý, điều
Trang 15toàn và trực tiếp bang lập trình, bang phần mềm, theo thời gian thực, dựa trên nềntảng OpenFlow controller được xây dựng Với những ưu điểm của mình, kiến trúcmạng OpenFlow được kỳ vọng là kiến trúc tương lai của mạng máy tính, đã vàđang thu hút một cộng đồng lớn gồm nhiều nhà khoa học từ nhiều nước trên thếgiới cũng như các công ty lớn (điển hình như NEC, IBM, Google, SwissCom, )tham gia nghiên cứu phát triển, và đã được hỗ trợ cả phần cứng (OpenFlow switch,router, access point), phần mềm (switch ảo) cũng như công cụ hỗ trợ triển khaimạng giả lập (Mininet).
Tuy nhiên, bên cạnh những lợi ích mang lại so với kiến trúc mạng hiện hành,kiến trúc OpenFlow hiện tại chỉ cho phép duy nhất một controller hoạt động trênmột máy tính đơn quản lý toàn bộ các thiết bị trong mạng Điều này khiến chomạng OpenFlow bị giới hạn về khả năng đáp ứng các request từ các thiết bị và sốlượng thiết bị có thể hỗ trợ trong mạng do bị lệ thuộc vào một controller trong khikhả năng xử lý của một máy tính là có hạn Hiện vẫn chưa có nhiều đề xuất giảipháp hỗ trợ nhiều controller trong mạng OpenFlow Các đề xuất này hoặc chưa đivào giải quyết van dé khả năng mở rộng của OpenFlow, hoặc dé xuất mô hìnhchung nhưng chưa có giải pháp cu thé cho các van đề đặt ra trên mô hình đặt biệt làvan dé định tuyến, hoặc dé xuất nâng cao khả năng đáp ứng request nhưng chỉ ápdụng cho mạng nội bộ mà không phù hợp với mang có phạm vi phân bố rộng Những dé xuất nay nhìn chung đều chưa triệt dé và mỗi dé xuất đều tồn tại nhữngnhược điêm riêng.
Với mục tiêu nghiên cứu giải pháp mở rộng cho OpenFlow hỗ trợ nhiềucontroller trong mạng, đề tài đề xuất một hướng tiếp cận khác, đó là cho phép nhiềucontroller được phân bố trên các vùng mạng con trong mạng OpenFlow cùng nhauhoạt động dé điều hành các thiết bị trong mạng Với kiến trúc tập trung hóa vào mộtcontroller như hiện tại thì trở ngại lớn nhất trong cách tiếp cận này đó là van déđịnh tuyên giữa các vùng mạng Bởi vì với kiên trúc này môi controller chỉ có thê
Trang 16này Hệ quả là các controller không có kha năng tìm được đường định tuyến hop lýcho các gói tin liên vùng trong mạng và chỉ để cho switch tự xử lý theo cơ chế lantruyền flooding Đây hiển nhiên không phải là một cơ chế định tuyến hiệu quả, vìvậy nhiệm vụ đặt ra cho dé tài là đề xuất và xây dựng giải pháp giải quyết van déđịnh tuyến liên vùng này Trước hết, dé tài đề xuất mô hình cho phép các controllerquản lý các vùng mạng khả năng cộng tác với nhau, chia sẻ các thông tin địnhtuyến, trên cơ sở đó xây dựng phương pháp định tuyến hiệu quả giữa các vùngmạng OpenFlow Giải pháp đề xuất thực sự cải tiến được khả năng định tuyến giữacác vùng trong mạng nhờ cơ chế cung cấp các chỉ dẫn định tuyến hiệu quả cho cáccontroller quản lý các vùng mạng.
1.2 Giới thiệu dé tài
1.2.1 Tên dé tài
Mô hình cộng tác hỗ trợ định tuyến trên mạng nhiều vùng dựa trênOpenFlow.
(A collaborative model for routing in multi-domains OpenFlow networks).
1.2.2 Giới han của dé tài
Dé tai nghiên cứu van dé mở rộng kiến trúc của OpenFlow dé cho phépnhiều controller cùng hoạt động trong mạng nhằm tăng khả năng mở rộng va khanăng xử lý của hệ điều khiến trong mạng Đây vốn là một vấn đề khó vì kiến trúcmạng, giao thức và tất cả các nền tảng controller hiện nay chỉ cho phép mộtcontroller trong mạng và mọi thông tin điều khiển đều được tập trung hóa vảocontroller nay Dé tài tập trung nghiên cứu một hướng tiếp cận khác với những déxuất hiện tại đó là cho phép nhiều controller phân bố trên các vùng mạng khác nhautrong mang OpenFlow cùng nhau điều hành các OpenFlow switch và router trongmạng Hướng tiếp cận nay có ưu điểm là cho phép nhiều controller cùng nhau hoạt
Trang 17mạng có phạm vi rộng Ngoài ra hướng tiếp cận nay giúp tận dung được những ưuđiểm vốn có của kiến trúc OpenFlow qua việc để các controller trực tiếp quản lýcác thiết bị trong vùng mạng của chúng Trong hướng tiếp cận này thì vẫn đề cấpbách đặt ra cho đề tài đó là nghiên cứu giải pháp định tuyến giữa các vùng trongmạng OpenFlow Trong giới hạn về thời gian của một luận văn tốt nghiệp, đề tài chỉtập trung giải quyết vẫn đề trên, đề xuất và đánh giá giải pháp định tuyến giữa cácvùng trong mạng OpenFlow Nội dung cụ thé về giải pháp nay sẽ được trình bàytrong chương 4 và chương 5.
Nội dung của quyền luận van được trình bảy như sau:" Chương 1: giới thiệu về đề tài, giới hạn và mục tiêu của đề tài Trong chương
này cũng trình bày kế hoạch thực hiện luận văn.= Chương 2: trình bay các cơ sở lý thuyết liên quan đến dé tài như kiến trúc
OpenFlow, OpenFlow switch, những vấn dé tồn tại trong mạng máy tinhhiện tại và ưu điểm của OpenFlow
= Chương 3: trình bay các nghiên cứu có liên quan bao gồm các kiến trúcmạng OpenFlow nhiều controller, các nghiên cứu vẻ kiến trúc hỗ trợ nhiễu
controller cho mạng OpenFlow Những nghiên cứu này chính là cơ sở dẫn
đến cách tiếp cận lựa chọn trong đề tài và bài toán định tuyến đặt ra cần giải
quyết
= Chương 4: trình bày mô hình chia sẻ thông tin đề xuất để cho phép nhiềucontroller phân bố trên các vùng mạng khác nhau và cộng tác với nhau quảnlý hiệu quả các switch và router trong mạng OpenFlow (đặt tên là mô hìnhRMOF), bai toán định tuyến giữa các vùng mạng đặt ra và giải pháp địnhtuyến xây dựng dựa trên mô hình dé xuất
= Chương 5: trình bày thiết kế của giao thức được sử dụng trong mô hình déxuất dành cho việc chia sẻ thông tin định tuyến của các controller (đặt tên làgiao thức RMOF) Đây là giao thức được thiết kế dựa trên việc nghiên cứu
Trang 18OpenFlow qua việc thừa kế cách thiết kế Header của thông điệp, bố sungthêm các loại thông điệp dùng cho việc trao đổi thông tin trong mô hình.Chương 6: viết về hiện thực của mô hình và giải pháp định tuyến đã đề xuất,trong đó trình bảy những cải tiễn để nghị cho flatform của OpenFlowcontroller dé chúng có thé chia sẻ thông tin về topology, tiếp nhận và xử lýthông tin về định tuyến nhận được dé định tuyến các gói tin liên vùng
Chương 7: các đánh giá nham chứng minh giải pháp định tuyến được đề nghịlà hiệu quả.
Chương 8: tong kết những việc làm được, chưa làm được cũng như hướngphát triển của đề tài
Phụ lục: bài báo khoa học kết quả của nghiên cứu nay
Mục tiêu dé tài
Dé tài này có mục tiêu nghiên cứu sâu vê mạng OpenFlow ở nhiêu khía cạnhkhác nhau bao gồm kiến trúc, giao thức và cả hiện thực của nền tảng OpenFlowcontroller, cũng như những nghiên cứu dựa trên OpenFlow, trong đó tập trung vềvan dé mở rộng kiến trúc OpenFlow dé cho phép nhiều controller cùng hoạt độngtrong mạng nhăm nâng cao tính mở rộng của OpenFlow và khả năng xử lý của hệđiêu khiên trong mạng Trên cơ sở đó nghiên cứu phát triên cho một hướng tiêp cậntận dụng được những ưu điêm vôn có của kiên trúc OpenFlow và có khả năng ứngdụng cho môi trường mang có phạm vi rộng mà một controller khó có thé đáp ứnghiệu quả, đó là hướng tiếp cận cho phép phân bố nhiều controller trên các vùngmạng con trong mạng OpenFlow Đề tài đề xuất mô hình và giải pháp để giải quyếtbài toán cấp thiết đặt ra trên hướng tiếp cận nảy đó là vấn đề định tuyến giữa cácvung mang OpenFlow.
1.2.4 Ý nghĩa khoa học và thực tiễn“+ Y nghĩa khoa hoc
Trang 19phép kết hợp nhiều controller phân bố cùng hoạt động trong mạng OpenFlow thayvì chỉ cho phép một controller như kiến trúc OpenFlow hiện nay, qua đó nâng caokhả năng đáp ứng và khả năng mở rộng của hệ điều khiến trong mang OpenFlow.Thật vay, kiến trúc OpenFlow tập trung toàn bộ các xử lý điều khiển mạng vaocontroller, do đó controller này phải xử ly va dap ứng liên tục các request từ cácthiết bị (switch, router) để điều khiển các luồng giao thông trong mạng Do khanăng xử lý của một máy tính là hữu hạn nên một controller chỉ có thé hỗ trợ quản lýmột số lượng thiết bị nhất định Với việc kết hợp nhiều controller cùng hoạt độngmột cách cộng tác trong mạng OpenFlow mô hình RMOF làm tăng được số lượngthiết bị có thể hỗ trợ trong mạng lên nhiều lần Hơn nữa, giải pháp định tuyến hoànchỉnh được dé xuất thực sự cải tiễn được khả năng định tuyến gitra các vùng mangtrong mô hình, khiến cho việc định tuyến giữa các vùng mạng được thực hiện mộtcách hiệu quả theo những đường định tuyến được tính toán một cách hợp lý.
Mô hình RMOE với nhân t6 chính là cơ chế chia sẻ thông tin giữa các mạngOpenFlow có thé được ứng dụng làm nền tang cơ sở để đề xuất giải pháp cho cácbài toán chung trên nhiều mạng OpenFlow có liên kết mà việc giải quyết chúng đòihỏi sự cộng tác từ tat cả các mạng nay Chang hạn như van dé cân băng tải, van décảnh báo tấn công từ chối dịch vụ phân tán (DDoS) trên một nhóm các mạngOpenFlow.
“+ Y nghĩa thực tiễn
Mô hình cùng với giải pháp định tuyến được đề xuất qua việc hỗ trợ phân bốnhiều controller trong mạng, nâng cao khả năng đáp ứng và khả năng mở rộng chohệ điều khiển trong mạng OpenFlow, có thể được ứng dụng cho việc triển khaimạng OpenFlow có số lượng thiết bị lớn hoặc môi trường mạng được phân bố trênphạm vi rộng mà một controller có thể sẽ không đáp ứng được hoặc đáp ứng khônghiệu quả.
Trang 20tương lai khi OpenFlow phát triển mạnh và được phô biến rộng rãi thì nhu cầu triểnkhai OpenFlow trên các môi trường mạng lớn hơn sẽ trở nên cấp thiết Khi đó mộtgiải pháp cho phép nhiều controller được phân bố cùng song song hoạt động vacộng tác với nhau dé điều hành cơ sở hạ tang mạng như dé tai đề xuất sẽ là một giảipháp tiềm năng dé ứng dụng và triển khai trong thực tế.
Ngoài ra, giải pháp định tuyến được dé xuất trong dé tai ngoài khả năng ápdụng cho một mạng OpenFlow nhiều vùng còn có thể được áp dụng để nâng caohiệu quả định tuyến giữa các mạng OpenFlow có liên kết mạng với nhau (có đườngliên kết mạng trực tiếp giữa chúng), bởi vì các vùng mạng này về bản chất cũngchính là các mạng OpenFlow với một controller quản lý các switch kết nối đến nó
1.3 Quy trình thực hiện
Đề tài luận văn này được nghiên cứu trong hai học kỳ IV và V của quá trìnhhọc thạc sĩ theo phương thức nghiên cứu, bao gồm 28 tuần Thời gian nghiên cứucho dé tài này được chia thành hai giai đoạn chính va được biểu diễn trong biểu đồ
sau:
Trang 211.1 Nghiên cứu tổng quan về OpenFlow1.2 Tìm hiểu các nghiên cứu trên OpenFlow
1.3 Nghiên cứu sâu về vẫn đề khả năng mở rộng(scalability) của kiến trúc OpenFlow
1.4 Lựa chọn hướng tiếp cận và đánh giá tính khả thi1.5 Xác định bài toán định tuyén cần giải quyết1.6 Đề xuất mô hình chia sẻ thông tin giữa các vùng mạng1.7 Nghiên cứu và đề xuất giải pháp định tuyển
= Hoàn thiện giải pháp, dé xuất giao thức trao đôi thôngtin, hiện thực, triên khai hệ thong, đánh giá giải pháp
2.1 Hoàn thiện giải pháp định tuyển
2.2 Đề xuất giao thức cho việc trao đỗi thông tin giữa
Hình 1.1: Quy trình thực hiện luận van
Chỉ tiết của các công việc trong từng giai đoạn như sau:
s* Giai đoạn 1 (14 tuân):
Đây là giai đoạn tìm hiểu và nghiên cứu các kiến thức nền tảng về OpenFlowở tất cả các khía cạnh bao gồm kiến trúc, giao thức, và những nghiên cứu trênOpenFlow đã được đề xuất Từ đó đưa ra đánh giá về những ưu điểm và khả năngứng dụng của OpenFlow cho các van đề về mang máy tính hiện nay, những van déđã được giải quyết và những mặt hạn chế chưa giải quyết được của OpenFlow Trênco sở đó xác định van dé mà đề tai sẽ tập trung nghiên cứu, dé xuất hướng tiếp cận,giới hạn van dé cụ thé cần giải quyết trên cách tiếp cận này và đề nghị ra giải phápcho vân đê Giai đoạn này gôm các công việc cụ thê như sau:
= 1.1 Nghiên cứu tong quan về OpenFlow (tuần 1-4): tìm hiểu các kiếnthức về mạng OpenFlow bao gồm kiến trúc của OpenFlow, OpenFlowswitch, cách controller xử lý các gói tin và điều hành các luồng giaothông trong mạng OpenFlow, nghiên cứu đặc ta của giao thức OpenFlow.= 1.2 Tìm hiểu các nghiên cứu trên OpenFlow (tuần 5-6): tìm hiểu cácnghiên cứu dựa trên nên tảng OpenFlow đã được dé xuất hiện nay Các
Trang 22dụng nên tảng của OpenFlow dé giải quyết một số van dé của mạng máytính như cân bang tai, bao mat chéng tan cong tu chối dich vụ Việctìm hiểu những nghiên cứu này nhằm bổ sung cho những kiến thức đãtìm hiểu được về OpenFlow dé từ đó có được đánh giá tổng thé và toandiện hơn về OpenFlow, những vấn đề đã giải quyết được và chưa giảiquyết được trên nền tảng nảy.
1.3 Nghiên cứu về vấn đề mở rộng kiến trúc OpenFlow để cho phépnhiều controller đồng thời hoạt động trong mang khả năng mở rộng(scalability) của kiến trúc OpenFlow (tuân 7-8): dựa trên đánh giá về việckiến trúc OpenFlow chỉ cho phép một controller điều hành các thiết bị vàđảm nhận tất cả các xử lý trong mạng có thé ảnh hưởng đến tính mởrộng, hạn chế về số lượng thiết bị có thể hỗ trợ và khả năng đáp ứng củacontroller khi số lượng request lớn, dé tài đi vào nghiên cứu van dé này.Tìm hiểu các cách tiếp cận, giải pháp đã được dé xuất về van dé cho phépnhiều controller trong mạng OpenFlow và đánh giá nhược điểm củachúng.
1.4 Lựa chọn hướng tiếp cận và đánh giá tính khả thi (tuần 9): đưa rahướng tiếp cận cho phép nhiều controller cùng hoạt động trong mạngOpenFlow, phân nhóm các thiết bị trong mạng theo vùng để cáccontroller quản lý Đánh giá những ưu điểm, hạn chế, tìm hiểu mức độ hỗtrợ hiện tại của OpenFlow để đánh giá tính khả thi của nó
1.5 Xác định bài toán định tuyến cần giải quyết (tuần 10): xác định vandé then chốt cần giải quyết trong hướng tiếp cận này đó là van đề địnhtuyến giữa các vùng trong mạng Hiện tại OpenFlow hỗ trợ triển khaimạng nhiều vùng với nhiều controller quản lý, tuy nhiên việc định tuyếngiữa các vùng chưa được hỗ trợ Cac controller hiện tại chỉ sử dụng cơchế flooding để định tuyến các gói tin liên vùng trong mạng Bai toán đặtra là phải nghiên cứu giải pháp cho van đề định tuyến nay
Trang 23= 1.6 Dé xuất mô hình chia sẻ thông tin giữa các vùng mạng (tuần 11-12):từ việc xác định nguyên nhân của vẫn đề định tuyến trên đó là do cáccontroller chỉ năm được thông tin của các thiết bị mạng trong vùng quảnlý của nó, các thiết bị mạng ở trong các vùng khác bên ngoài phạm vi củanó thì hầu như controller không có thông tin, và sự thiếu thông tin nàykhiến controller không thé tìm được đường định tuyến hợp lý cho các góitin liên vùng, dé tai đề xuất mô hình cho phép các controller chia sẻ vềvùng mạng do chúng quản lý để từ đó xây dựng nên giải pháp định tuyếngitra các vùng trong mạng.
= 1.7 Nghiên cứu và đề xuất giải pháp định tuyến (tuần 13-14): nghiên cứuvà đưa ra đề xuất ban dau cho giải pháp định tuyến giữa các vùng trongmạng dựa trên mô hình chia sẻ thông tin đã dé xuất
s* Giai đoạn 2 (14 tuân):
Trong giai đoạn này, tôi tập trung nghiên cứu hoàn thiện giải pháp địnhtuyến đã dé xuất trong giai đoạn 1, dé xuất giao thức RMOF cho việc trao đôi thôngtin trong mô hình, tiến hành nghiên cứu sâu vào nên tảng OpenFlow controller vàhiện thực của nó, tiễn hành hiện thực mô hình và giải pháp đã đề xuất, triển khai hệthống đã hiện thực và thử nghiệm để đánh giá hiệu quả của giải pháp định tuyến.Giai đoạn nay gôm các công việc cụ thê sau:
= 2.1 Hoan thiện giải pháp định tuyến (tuần 15-16): nghiên cứu hoàn thiệngiải pháp định tuyến đã đề xuất ở tuần 13-14 của giai đoạn 1
= 2.2 Dé xuất giao thức cho việc trao đôi thông tin giữa collaborator va cáccontroller (tuần 17-18): nghiên cứu và dé xuất ra giao thức sử dụng choviệc trao đôi các thông tin về topology mạng va thông tin định tuyến giữathành phan collaborator và các controller trong mô hình
= 2.3 Nghiên cứu nền tảng OpenFlow controller (tuần 19): tìm hiểu cácnền tảng OpenFlow controller hiện nay, so sánh các ưu nhược điểm và độhiệu quả giữa các nền tảng này, lựa chọn nền tảng cho việc hiện thực sẽtiên hành, đi vào nghiên cứu sâu hiện thực cũng như mã nguôn bên dưới
Trang 24của nền tảng này dé tim ra cách hiện thực mô hình và giải pháp địnhtuyến đã dé xuất.
2.4 Hiện thực mô hình và giải pháp định tuyến dé xuất (tuần 20-24): baogồm các công việc: hiện thực các thành phần trong mô hình chia sẻ thôngtin đã đề xuất: hiện thực giao thức RMOF; tiến hành thay đối một sốphân trong mã nguôn của nên tảng OpenFlow controller để nó có khanăng chia sẻ thông tin về topology trong vùng ma nó quản lý, hiểu đượcgiao thức RMOF được xây dựng để có thé tiếp nhận và xử lý các thôngđiệp định tuyến; xây dựng các gói phần mềm bổ sung dé thực hiện địnhtuyến các gói tin liên vùng trong mô hình
2.5 Triển khai hệ thong và đánh giá giải pháp định tuyến (tuần 25): tiếnhành triển khai hệ thống đã hiện thực và thử nghiệm đánh giá kết quả củagiải pháp.
2.6 Viết bài báo khoa học (tuần 19-24): tong hợp các kết quả nghiên cứuvề mô hình và giải pháp định tuyến đề xuất để viết bài báo khoa học.2.7 Viết báo cáo luận văn (tuần 17-28): hoàn thành báo cáo luận văn vàchuân bị bảo vệ.
Trang 25CHƯƠNG2 CƠ SỞ LÝ THUYET
2.1 Tổng quan về OpenFlow
Trong phan nay sẽ trình bay tong quan về OpenFlow [1,7,9] là đối tượng màdé tài nghiên cứu Một mạng OpenFlow bao gồm hệ điều khiến (Control Plane) vàhệ truyền dữ liệu (Data Plane) Hệ truyền dữ liệu bao gồm các OpenFlow switchchịu trách nhiệm trực tiếp truyền đi các gói tin trong mạng theo từng nhóm có cùngchung một số đặc tính gọi là Flow Hệ điều khiến là một controller ở xa chịu tráchnhiệm quản lý các OpenFlow switch và sử dụng một tập lệnh chuẩn để điều hànhcác luéng giao thông trong mạng Hệ điều khiến này đóng vai trò như một “hệ điềuhành mạng” đảm trách tất cả các xử lý liên quan đến việc điều hành mạng Moicông việc điều khiến điều được tập trung về controller này và các switch chỉ đóngvai trò truyền dữ liệu mà không đảm trách bất kỳ xử lý nào cho phép các gói tinđược truyên đi với tôc độ tôi ưu hơn.
Mỗi OpenFlow switch chứa một hoặc nhiều bảng Flow-Table làm nhiệm vụtra cứu và truyền di các gói tin, và một kênh giao tiếp được bảo mật (SecureChannel) kết nối switch đến một controller ở xa Kênh giao tiếp này được controllersử dụng để điều hành tất cả các switch trong mạng thông qua một giao thức chuẩnlà giao thức OpenFlow Mỗi bảng Flow Table chứa các mục gọi là các Flow-Entryđược sử dụng như các luật để xử lý các gói tin so trùng được Controller có thểthêm, cập nhật hoặc hủy các Flow-Entry trong Flow-Table và đây là cách mà nóđiều hành các luồng giao thông trong mạng Mỗi Flow-Entry gồm 6 trường thôngtin được gọi tên lần lượt là Match-Fields, Priority, Counters, Instructions, Timeoutsva Cookie Trong đó các trường quan trọng nhất là Match-Fields dé định nghĩaFlow, Instructions cho switch biết cần xử lý như thế nao đối với các gói tin so trùngđược, và Counters dé dùng cho mục đích thông kê một số thông tin như số lượnggói tin, số byte, được xử lý bởi Flow này (hình 2.1)
Trang 26Controller ]
ñ OpenFlow Switch
Host 1
“OpenFlow ®/Secure Channel
protocol Flow Table 9
—
Flow Entry 1 = Host 2Flow Entry 2 S
Flow Entry n Host 3
Match Flelds| Priority | Counters | Instructions | Timeouts | Cookie
Hình 2.1: Kiến trúc của một mang OpenFlowKhi một OpenFlow switch nhận được một gói tin, nó sẽ tra cứu trong bảngFlow-Table để tìm Flow-Entry có trường Match-Fields so trùng được với trườngtương ứng trên gói tin Nếu tìm thấy một Flow-Entry như vậy, switch sẽ thực thi cáclệnh được định nghĩa trong Flow-Entry này để xử lý gói tin và cập nhật cácCounters Trong trường hợp không tìm thay, switch sẽ đóng gói gói tin đó trongmột thông điệp gọi là Packet-In và gửi đến controller Controller khi nhận đượcthông điệp nay có thé gửi thông điệp trả lời để thêm một Flow-Entry mới vào bảngFlow-Table của switch để switch có thể căn cứ vào đó xử lý gói tin, hoặc controllerchỉ đơn giản trực tiếp hủy gói tin nhận được Đây chính là cơ chế cho phépcontroller quan lý các OpenFlow switch và điều hành các luồng giao thông trongmang OpenFlow.
Hiện nay kiến trúc OpenFlow đã được chấp nhận rộng rãi bởi cộng đồngkhoa học trên khắp thế giới và đã được sự đầu tư nghiên cứu phát triển và hỗ trợcủa nhiều trường đại học lớn (như Stanford University, University of Washington,MIT, Priceton University, ) và hơn 50 doanh nghiệp lớn trên thế giới (như: IBM,Juniper, Cisco, VMWare, Microsoft, Google, Facebook, ) OpenFlow đã được hỗtrợ cả phần cứng (OpenFlow switch), phần mềm (các OpenFlow switch ảo) và cả
Trang 27công cụ giả lập mạng OpenFlow phục vụ cho mục đích nghiên cứu như Mininet[16].
= Giao thức OpenFlow cung cấp một phương thức mở và tiêu chuẩn chocontroller giao tiếp với các OpenFlow switch trong mạng Sử dụng giaothức này, controller có thể thêm, cập nhật, và hủy các Flow-Entry trongswitch một cách chủ động bởi người quản tri hoặc tự động bang lap trinhcác phần mềm trên nên tảng cua controller
2.2.1 Flow-Table
Mỗi Flow-Table trong OpenFlow switch gồm các Flow-Entry Mỗi Entry chưa thong tin ma switch căn cứ vào đó dé xử ly gói tin, bao gồm 6 trườngthông tin có tên gọi lần lượt là: Match-Fields, Priority, Counters, Instructions,Timeouts va Cookie Ý nghĩa của các trường thông tin này như sau (hình 2.2):
Fow-| Match Fields Fow-| Priority Fow-| Counters Fow-| Instructions Fow-| Timeouts Fow-| Cookie Fow-|
Hình 2.2: Cac trường thong tin trong một Flow-Entry [9|
" Truong Match-Fields định nghĩa Flow (trong mang OpenFlow các gói tinđược lưu thong theo nhóm có cùng một số đặc điểm nhất định gọi là
Flow, mỗi Flow được định nghĩa bởi một Flow-Entry tương ứng) và được
sử dụng đê tiên hành việc so trùng với các gói tin đên Định dạng của các
Trang 28trường thông tin trong trường Match-Fields được minh họa như hình 2.3(xem chỉ tiết đặc ta của nó ở [7,8,9]).
" Truong Priority định nghĩa độ ưu tiên của Flow-Entry giúp xác định thứtự xử lý Flow-Entry.
= Trường Counters thống kê các thông tin như số lượng gói tin, số byteđược xử lý bởi Flow-Entry, thời gian từ khi gói tin cuối cùng được xử lýbởi Flow-Entry (để giúp hủy các Flow-Entry không còn hoạt động trongswitch).
" Truong Instructions được su dung dé dinh nghĩa tap lệnh xử lý cua Entry, tập lệnh này sẽ cho switch biết phải xử lý gói tin so trùng được nhưthế nảo
Flow-= Trường Timeouts định nghĩa thời gian tối đa hoặc thời gian nhàn rỗi tốiđa trước khi Flow hết hiệu lực trong switch
"_ Truong Cookie là giá tri dữ liệu trong suốt được chọn bởi controller, đượccontroller sử dụng để lọc các giá trị thống kê của Flow, chỉnh sửa Flowhoặc chọn Flow Trường nay không được sử dụng trong việc xử lý gói tin.
In VLAN Ethernet IP TCP
Port ID SA | DA | Type | SA | DA | Proto | Src | Dst
Hình 2.3: Cac thong tin trong trường Match-Fields cua một Flow-Entry [8]
2.2.2 Các loại Action chính trong OpenFlow switch
Mỗi OpenFlow được định nghĩa một nhiều lệnh xử lý gọi là Action, các lệnhnày sẽ được switch áp dụng để xử lý khi có một gói tin đến switch Về cơ bản cóloại 3 Action chính là:
= Action 1: Truyền đi gói tin của Flow đến một hoặc nhiều công cho trước.Action này cho phép các gói tin được định tuyến trên mạng OpenFlow.= Action 2: Đóng gói và truyền đi gói tin của Flow tới controller Gói tin sẽ
được đưa vào Secure Channel, ở đây nó được đóng gói và gửi đếncontroller Action này thường được sử dụng cho gói tin đầu tiên trong một
Trang 29Flow mới, để controller có thể quyết định xem có thêm Flow vào Table hay không Hoặc là trong một số thử nghiệm nó có thể được sửdung dé truyén tất cả các gói tin đến controller để xử lý.
Flow-= Action 3: Hủy gói tin Action này có thé được sử dụng trong van dé bảomật, dé hạn chế các cuộc tan công từ chối dịch vụ, hoặc giảm bớt cácludng gói tin broadcast giả mạo từ các End-Host
Ngoài 3 loại Action trên, OpenFlow còn có thêm một loại Action thứ 4 nữa,đó là truyền đi các gói tin của Flow qua đường ống (pipeline) xử lý thông thườngcủa switch Loại Action nay chỉ có trên các OpenFlow-enabled switch.
2.2.3 Kênh giao tiếp bảo mật OpenFlow
Kênh giao tiếp bảo mật được sử dụng trong mạng OpenFlow (SecureChannel) là một kênh giao tiếp dựa trên kết nỗi được bảo mật dùng cho quá trìnhtrao đôi các gói tin và lệnh xử lý giữa controller và các switch trong mạng Thôngqua kênh giao tiếp này, controller có thé cau hình va quản lý các switch, nhận cácsự kiện từ switch và gửi các lệnh để giúp các switch xử lý các gói tin Tất cả cácthông điệp OpenFlow phải được định dạng theo giao thức OpenFlow Kết nối củakênh giao tiếp OpenFlow được mã hóa sử dụng giao thức SSL hoặc TSL để đảmbảo độ bảo mật trong việc trao đồi thông tin giữa controller và các OpenFlow
2.2.4 Giao thức OpenFlow
Giao thức OpenFlow là một ngôn ngữ cho việc giao tiếp giữa controller vàcác switch kết nối đến nó Giao thức OpenFlow hỗ trợ 3 nhóm thông điệp chính làController-to-Switch, thông điệp bất đồng bộ va thông điệp đối xứng, mỗi nhómthông điệp bao gồm nhiều kiểu con (chỉ tiết đặc tả của từng thông điệp có thể thamkhảo ở [6,8.9]):
= Nhóm thông điệp Controller-to-Switch được tạo bởi controller và dùng đểtrực tiếp quản lý hoặc kiểm tra trạng thái của switch Nhóm này gồm cácthông điệp: thông điệp Feature (để controller request các thông tin đặcđiểm của switch), thông điệp cau hình (dé controller thiết lập và truy van
Trang 30các thông số cau hình trong một switch), thông điệp đọc trạng thái (để thuthập các thông tin thống kê từ switch).
" Nhóm thông điệp bất đồng bộ được tạo bởi Switch và dùng để cập nhật
cho Controller các sự kiện xảy ra trong mang và các thay đôi của Switch.Nhóm này gồm các thông điệp: Packet-In (được switch gửi đến controllerkhi có một gói tin đến mà nó không tìm thấy Flow-Entry nào dé xử lý).Flow-Removed (để switch thông báo đến controller khi nó hủy một Flow-Entry nào đó, việc hủy căn cứ vào trường thông tin thời gian sống đượcđịnh nghĩa kèm khi Flow-Entry được tạo ra), thông điệp Port-status(được switch gửi đến controller khi có thay đối ở các cổng của nó), vathông điệp báo lỗi (để switch thông báo cho controller khi có lỗi xảy ratrong nó).
" Nhom thông điệp đối xứng được tạo bởi Switch hoặc Controller và khôngcần phải có request từ phía đối diện Nhóm này gồm các thông điệp:thông điệp Hello (trao đối giữa switch va controller khi bắt đầu kết nối),thông điệp Echo (dùng để kiểm tra trạng thái của kết nối giữa switch vàcontroller), và thông điệp thử nghiệm (đưa ra một dạng chuẩn để dành choviệc cải tiễn giao thức có thể xảy ra trong tương lai)
2.3 Những lợi ich của mạng dựa trên OpenFlow
OpenFlow hiện nay đã được chấp nhận và hỗ trợ rộng rãi từ nhiều trường đạihọc và tập đoàn lớn trên thế giới và đang được kỳ vọng có thể thay thế kiến trúcmạng hiện hành trong tương lai Điều này chứng tỏ nó là một giải pháp mạng manglại nhiều lợi ích thiết thực Những lợi ích của mạng OpenFlow bao gồm [4]:
s* Điều khiến tập trung của các môi trường multi-vendor:
Hệ điều khiến của OpenFlow có thé điều hành bat kỳ thiết bi mạng có hỗ trợOpenFlow nao từ bất kỳ một nhà cung cấp thiết bi mang (vendor) nao, bao gồm cácswitch, router, và các switch ảo Thay vì phải quản ly các nhóm thiết bị từ các nhacung cấp thiết bị khác nhau, nhà quản trị mạng có thé sử dụng các công cụ quản lý
Trang 31và điều khiển dựa trên OpenFlow để nhanh chóng triển khai, cau hình va cập nhậtcác thiết bị trên toàn thể mạng.
s* Giảm độ phức tạp qua việc tu động hóa:
Mang dựa trên OpenFlow cung cấp hệ (framework) quản lý và tự động hóa
mạng một cách linh hoạt, cho phép có thể triển khai các công cụ tự động hóa bất kỳ
công việc quản lý nào mà hiện nay chúng ta vẫn đang phải thực hiện bang tay.Những công cụ tự động nảy sẽ giảm chỉ phí (overhead) điều hành, giảm tính khôngôn định do các lỗi điều hành, và hỗ trợ các mô hình quản lý bang dich vu (IT-as-a-Service) dang noi lên hiện nay và mô hình dich vụ tự phục vu (self-service) dựphòng Thêm vào đó với OpenFlow, các ứng dung dựa trên nền điện toán đám mâycó thé được quản lý thông qua các hệ thống dự phòng va quản lý thông minh, quađó giảm chi phí (overhead) hoạt động trong khi làm tăng độ linh động trong quanlý.
“* Toc độ cải tiễn cao hon:
Việc tuân theo OpenFlow sẽ làm gia tăng các cải tiến trong mạng bởi vìOpenFlow cho phép các nhà điều hành mạng thực sự lập trình và tái lập trình chohệ thống mạng theo thời gian thực dé đạt được các yêu cầu nghiệp vụ nảy sinh vàđòi hỏi nảy sinh của người dùng Băng cách ảo hóa cơ sở hạ tầng mạng và trừutượng hóa nó từ những dịch vụ mạng cá nhân, chăng hạn OpenFlow cho phép khảnăng điều chỉnh hành vi của mạng và cho ra các dịch vụ mới và các khả năng mớicho mạng trong một khoảng thời gian ngăn, có thé chỉ vài giờ
s* Độ tin cậy và tính bảo mật được nâng cao:
OpenFlow mang lại khả năng định nghĩa cấu hình và các chính sách mạng(network policy) ở một mức cao (những định nghĩa này sau đó sẽ được dịch vàchuyển xuống cơ sở hạ tang mạng qua giao thức OpenFlow) Một kiến trúc dựa trênOpenFlow loại bỏ được việc cầu hình băng tay các thiết bị mạng mỗi khi có mộtđiểm cuối, dịch vụ, được thêm vào hoặc hủy bỏ, hay khi có một sự thay đổi về
Trang 32chính sách mang Điêu này giúp làm giảm lôi mạng do bởi việc cau hình hoặc sựkhông nhất quán về chính sách mạng.
Bởi vì OpenFlow controller cung cấp sự quản lý một cách rõ ràng và trêntoàn thể mạng, nó có thé đảm bảo việc điều khiển truy cập, việc quản lý lưu thôngthông tin trong mạng, chất lượng dịch vụ, bảo mật, và những chính sách khác đượchiệu lực hóa một cách nhất quán trên toàn bộ các cơ sở hạ tầng mạng có dây vàkhông dây, bao gồm các chỉ nhánh văn phòng, các trường đại học, và các trung tâmdữ liệu Các tô chức và doanh nghiệp được lợi từ việc giảm chi phí điều hành, khảnăng cầu hình linh dong, ít lỗi hơn và sự nhất quán trong việc hiệu lực hóa cácchính sách và cau hình mạng
s* Khả năng thích nghỉ tot hơn với nhu câu của người dung:
Băng cách tập trung hóa việc điều khiến và tạo ra thông tin trạng thái sẵn chocác ứng dụng ở mức cao hơn, một cơ sở hạ tang mạng dựa trên OpenFlow có théthích nghi tốt hơn với các yêu câu thường thay đổi của người sử dung Chang hannhư, một doanh nghiệp truyền tải mạng có thể cho ra một dịch vụ truyền hình cungcấp cho các người dùng có trả phí độ phân giải cao hơn theo một cách tự động vàtrong suốt Ngày nay, người dùng hầu như phải lựa chọn rõ ràng về thiết lập độphân giải, điều mà mạng có thể hỗ trợ hoặc không hỗ trợ, dẫn đến sự chậm trễ vàgián đoạn ảnh hưởng đến việc đáp ứng nhu cầu của người dùng Với mạng dựa trênOpenFlow, ứng dụng truyền hình có thé dò ra băng thông có thé trong mang trongthời gian thực và tự động điều chỉnh độ phân giải tương ứng
Trang 33CHƯƠNG 3 NHỮNG CÔNG TRÌNH NGHIÊN CỨU
LIÊN QUANĐề tài trước hết bắt nguồn từ van dé nâng cao khả năng mở rộng củaOpenFlow Theo hướng nghiên cứu nay thì các nghiên cứu hiện nay có thé phanthành 2 nhóm Nhóm đầu tiên đó là những nghiên cứu chỉ sử dụng một controllernhưng dé xuất giải pháp nhằm tăng cường hiệu suất của controller hoặc giảm tảilượng xử lý cho controller Và nhóm thứ hai đó là những đề xuất liên quan đến việccho phép sử dụng đồng thời nhiều controller mạng OpenFlow Ở nhóm thứ nhất cóthé kế đến các nghiên cứu: Maestro [23], Difane [24], và kiến trúc khả lập trình sửdụng OpenFlow [21].
Giải pháp Maestro [23] tìm cách tăng cường hiệu suất xử lý của controllerbăng cách xây dựng một hiện thực nên tảng controller mới có cùng tên trong đó cóhiệu suất xử lý của controller được nâng cao hơn so với các nền tảng controller hiệnnay như NOX[12], Beacon{ 13] Floodlight[14] và Trema[15].
Giải pháp Difane [24] trả một số luật điều khiển về các OpenFlow switch.Băng cách cài đặt săn một số luật truyền dữ liệu, mỗi khi có gói tin đến switch màso trùng được với các luật này thì switch có thé tự xử lý mà không cần gửi requestcho controller Theo cách này thì giải pháp DIFANE làm giảm bớt gánh nang chocontroller và có thê nới rộng phạm vi của một controller.
Giải pháp về kiến trúc khả lập trình sử dụng OpenFlow [21] đề xuất một kiếntrúc linh hoạt và có khả năng mở rộng cho nên của OpenFlow controller Tính linhhoạt và khả năng mở rộng của kiến trúc này đạt được nhờ thiết kế controller nhưmột hệ thống mô-đun hóa và phân bố trên một cluster gồm nhiều server Việc mô-đun hóa controller và triển khai phân bố trên nhiều server này là một cách tiếp cậnđể nâng cao khả năng xử lý của controller, giúp cho nó có thể đảm nhiệm quản lýđược mạng OpenFlow lớn hơn Và như vậy, nhiều server có thé cộng tác với nhauđể cùng phục vụ cho một OpenFlow controller
Trang 34Các giải pháp ở trên đã thực sự nâng cao được khả năng xử lý và hiệu suấtcủa controller hoặc giảm tải xử lý trên controller, qua đó cho phép triển khai trênmạng OpenFlow có kích thước và số lượng thiết bị lớn hơn Tuy nhiên các giảipháp này nhìn chung đều chưa triệt để bởi vì mặc dù nâng cao được hiệu suất xử lýhoặc giảm tải lượng xử lý cho controller thì việc chỉ hỗ trợ một controller trongmạng vẫn mang những hạn chế nhất định nhất là đối với mạng có phạm vi phân bốrộng Với những mạng diện rộng này thi thời gian đáp ứng cho các request của cácswitch ở khoảng cách xa so với controller sẽ bị ảnh hưởng do độ trễ trên băng thông
mạng.
Từ những hạn chế ở nhóm giải pháp thứ nhất ở trên và do phạm vi của đề tàichỉ tập trung nghiên cứu hướng tiếp cận cho phép nhiều controller cùng hoạt độngtrong mạng OpenFlow nên trong phan này chỉ trình bày chi tiết những dé xuất hiệncó trong hướng tiếp cận này
3.1 Hệ điều khiến phân bố cho mạng OpenFlow (HyperFlow)
Nhận thay han chế của OpenFlow trong việc phụ thuộc vào một controllerđơn để quản lý toàn bộ các thiết bị trong mạng, nhóm tác giả Amin Tootoonchianvà Yashar Ganjali nêu ý tưởng về việc cho phép nhiều controller trong mangOpenFlow trong mô hình được dé xuất là HyperFlow [10] HyperFlow sử dụngnhiều controller đặt phân bố trong mạng, mỗi controller quản lý một vùng mạng congồm các OpenFlow switch kết nối với nó trong mạng Các switch đóng vai tròtruyền dữ liệu trong mạng va các controller đóng vai trò ra các quyết định điều hànhtrong mạng HyperFlow sử dụng một hệ thu phát sự kiện để chia sẻ thông tin giữacác controller trong mạng Hệ thu phát sự kiện này hoạt động dựa trên một hệ thốngfile phân bố có tên là WheelFS dé duy trì một khung nhìn nhất quán trên toản cụcvà hỗ trợ việc trao đối thông tin giữa các controller Mỗi controller được cài đặt mộtchương trình cho phép nó có thé nhận các sự kiện (event) về những thay đồi trên hệthống và phát đi các sự kiện khi có những sự thay đổi trong vùng mạng của nó màcó thể ảnh hưởng đến toàn thể mạng Cac controller khi nhận được một sự kiệnđược phát đi từ một controller nào đó thì chúng sẽ tiễn hành cập nhật lại trạng thái
Trang 35mạng của mình dựa vào sự kiện này Mô hình HyperFlow có thể được minh họanhư hình 3.1.
Hình 3.1: Minh họa mô hình HyperFlow [10]
Mỗi controller trong mô hình kết nối với 3 kênh bao gồm kênh dữ liệu(data), kênh điều khiến (control) và một kênh của chính nó (được minh họa nhưđám mây ở trên hình vẽ) Các sự kiện cập nhật trạng thái mạng được gửi vào kênhdữ liệu và các thông báo định kỳ của controller được gửi vào kênh điều khiển Khimột controller muốn gửi một thông tin nào đó cho một controller khác trong mạngthì nó sẽ gửi thông tin này vào kênh điều khiến của controller nhận Controller nhậncó thé lay thông tin này từ kênh điều khiến của nó và néu muốn gửi thông tin trả lờithì nó sẽ tiễn hành theo cách tương tự, đó là gửi thông tin vào kênh điều khiến củacontroller gửi Việc chia sẻ thông tin trong hệ thống được thực hiện bởi cơ chế đọcvà ghi các file vào hệ thống file phân bố WheelFS
s* Nhận xét:
Mô hình HyperFlow nêu ý tưởng về việc sử dụng nhiều controller đồng thời
hoạt động trong mạng OpenFlow, mỗi controller quản lý các vùng mạng con là các
nhóm switch kết nối với controller trong mạng Việc bố trí phân bố các controllertrong mạng cho phép các yêu cầu từ các switch được đáp ứng bởi controller cục bộnhờ đó làm giảm thời gian đáp ứng request của các switch HyperFlow cũng đề rađược một cơ chế cho phép các controller có thể chia sẻ thông tin cập nhật trạng thái
Trang 36mang để duy trì một khung nhìn toàn cục nhất quán trong mang và trao doi một sốthông tin giữa các controller.
Tuy nhiên, cách tiếp cận chia sẻ thông tin dựa trên hệ thống file phân bốđược đề xuất chỉ có thể phù hop cho việc trao đối các sự kiện xảy ra không thườngxuyên để đạt được sự nhất quán về trạng thái mạng trên toàn cục, chang han nhu décập nhật các thay đổi về trang thái của các liên kết mang Hon nữa, việc trao đổithông tin bằng cách đọc và ghi các file vào hệ thống file phân bố không đảm bảotính tin cậy và độ bảo mật cần thiết dé cho việc trao đổi các thông tin trong một hệthống mạng Các thông tin mạng cần được trao đổi bang các thông điệp thực sutheo một giao thức định sẵn với độ bảo mật cao, điều này HyperFlow chưa làmđược.
Ngoài ra, HyperFlow chưa giải quyết được vấn đề định tuyến giữa các vùngmạng OpenFlow trong mạng điều mà các nền tảng OpenFlow hiện nay đều chưa hỗtrợ mà chủ yếu chỉ sử dụng cơ chế lan truyền flooding để truyền các gói tin liênvùng trong mạng Như vậy HyperFlow chưa thể đảm bảo các switch trong mạnghoạt động một cách hợp lý, đặc biệt là hoạt động định tuyến của chúng
3.2 Kiến trúc mở rộng cho hệ điều khiến mạng OpenFlow nội bộ
(ASIC)
Nhận thấy khả năng của một controller cho việc đảm trách xử lý các yêu cầu(request) từ các switch trong mang OpenFlow bị giới hạn, nhóm tác giả P Lin, J Bivà H Hu đề xuất một kiến trúc mở rộng cho hệ điều khiển của OpenFlow gọi làASIC [21] Kiến trúc này cho phép nhiều controller đồng thời hoạt động trongmạng và có sự cộng tác với nhau để tăng khả năng đáp ứng các request từ cácswitch trong mạng Hệ điều khiến của ASIC gồm 3 tầng: tầng đâu tiên là một bộcân băng tai (Load Balancer), tang thứ hai là các OpenFlow controller kết nối vớibộ cân băng tải, và tang thứ ba là một hệ lưu trữ phan bố cho việc chia sẻ dữ liệu(hình 3.2).
Trang 38s* Nhận xét:
Giải pháp của ASIC cho phép nhiều controller song song hoạt động trongmạng OpenFlow Giải pháp này dùng thiết bị cân bang tai dé chon controller xử lýkhi có request từ các thiết bị trong mạng, nhờ đó giảm tải được số lượng request cầnxử lý trên mỗi controller, giúp nâng cao khả năng đáp ứng các request từ các thiết bịtrong mạng OpenFlow Giải pháp này có thể ứng dụng cho mạng OpenFlow có tầnsuất request từ các thiết bị là lớn mà một controller có thé không đáp ứng được hoặcđáp ứng với tôc độ hạn chê.
Tuy nhiên, ASIC chỉ phù hợp cho mạng cục bộ bởi vì theo giải pháp này tấtcả các request đều phải đi vào một thiết bị cân bang tải trước khi được phân bồ chocác controller xử lý Đối với những môi trường mạng được phân bố trên phạm virộng thì thời gian đáp ứng cho request của các switch ở xa thiết bị cân băng tải cóthé bị ảnh hưởng do độ trễ băng thông của kết nối giữa các switch ba thiết bị cânbang tải Ngoài ra cách xử lý gói tin request của ASIC có thêm một bước trung gianlà phải qua bộ cân bang tải trước rồi mới đến được controller để được xử lý thay vìđược truyền trực tiếp đến controller như cơ chế hiện tại của OpenFlow Điều nay cóthể làm tăng thời gian đáp ứng request
3.3 Dé xuất sử dụng nhiều controller trong mạng OpenFlow
Trong đặc tả mới nhất của OpenFlow switch (phiên ban 1.3 [9], năm 2012)có trình bay dé xuất về việc sử dụng nhiều controller trong mạng OpenFlow Theodé xuất này, mỗi OpenFlow switch trong mạng có thé thiết lập kết nối với mộtcontroller hoặc với nhiều controller Với nhiều controller, độ tin cậy được nâng caobởi vi switch có thé tiếp tục xử lý các gói tin theo cơ chế OpenFlow nếu nó bị matkết nỗi với một controller trong mạng Sự ban giao trách nhiệm giữa các controllerđược quản lý bởi chính các controller và điều này cho phép khả năng phục hồinhanh khi có lỗi xảy ra và cân băng tải của controller Trong dé xuất này, một cơchế phối hợp giữa các controller được sử dụng trong các controller để chọn ra giữachúng một controller sẽ chịu trách nhiệm quản lý trực tiếp các switch trong mạng
Trang 39Trong giai đoạn thiết lập kết nối, các switch phải kết nối đến tất cả cáccontroller mà nó được cau hình đến và duy trì các kết nối này với tất cả cáccontroller một cách đồng thời Các controller có thể gửi các thông điệp yêu cầuController-to-Switch và các thông điệp trả lời hay các thông điệp báo lỗi liên quanđến các thông điệp yêu cầu này phải được gửi đến chỉ duy nhất kết nối controllerliên quan đến thông điệp yêu cầu đó Với các thông điệp bất đồng bộ có thể đượcgửi đền nhiêu controller cùng lúc.
Nhận xét:
Như vậy, dé xuất này cho phép nhiều controller đồng thời hoạt động trongmột mạng OpenFlow nhưng chỉ một controller chính trong số đó làm nhiệm vụ trựctiếp quản lý tất cả các switch trong mạng, các controller khác hầu như chỉ được sửdụng cho mục đích phục hồi (recovery) dé tăng cường tinh tin cậy trong mạng Tấtcả các controller hướng đến cùng một cơ sở hạ tang mạng Giữa chúng chưa có sựliên hệ nào với nhau và chưa có cơ chế nào để các controller chia sẻ công việc điềuhành mạng của chúng cũng như cộng tác với nhau để quản lý các thiết bị trong
mạng.3.5 Đánh gid các giải pháp và lựa chọn hướng tiếp cận
Như vậy, những hướng tiếp cận hiện tại về van dé cho phép nhiều controllerđồng thời hoạt động trong mạng OpenFlow hiện nay đều có những mặt hạn chếriêng Giải pháp HyperFlow cho phép triển khai nhiều controller trong mạngOpenFlow va đề xuất cơ chế chia sẻ thông tin giữa các controller Tuy nhiên cơ chếtrao đối thông tin này chưa hiệu quả và HyperFlow cũng chưa có giải pháp cho vandé định tuyến giữa các vùng mang trong mạng Giải pháp ASIC sử dụng nhiềucontroller cùng hoạt động trong mạng và sử dụng một thiết bị cân bằng tải để phâncác request cho các controller xử lý Giải pháp này giúp giảm tải được số requestcần xử lý trên mỗi controller và qua việc sử dụng nhiều controller sẽ nâng cao khảnăng đáp ứng các request trong mang Tuy nhiên giải pháp này chỉ phù hop chomạng cục bộ hoặc mạng có phạm vi phân bô không rộng bởi vì tât cả các request
Trang 40đều phải tập trung về một thiết bị cân băng tải trước khi được giao cho cáccontroller xử lý Đề xuất sử dụng nhiều controller trong mạng OpenFlow theo nhưđặc tả OpenFlow switch phiên ban 1.3 [9] thì các switch được kết nối đến tất cả cáccontroller tuy nhiên các xử lý điều hành trực tiếp thì chỉ do một controller chínhđảm trách, các controller khác cũng không hỗ trợ cho controller này mà chỉ đóngvai trò dự phòng và chưa có sự san sẻ công việc giữa các controller Nhu vậy déxuất này cũng chưa hướng đến việc nâng cao khả năng mở rộng cho mạngOpenFlow.
Những nghiên cứu va đánh giá về các hướng tiếp cận hiện nay trong van décho phép một kiến trúc có nhiều controller trong mạng OpenFlow chính là cơ sởcho việc lựa chọn hướng tiếp cận của đề tài đó là nghiên cứu phát triển giải phápcho phép nhiều controller được phân bố trong mạng và cùng nhau hoạt động đểquản lý các thiết bị trong mạng một cách hiệu quả Trong hướng tiếp cận nảy, cáccontroller sẽ được phân bồ trong mang OpenFlow, mỗi controller chịu trách nhiệmquản lý một vùng mạng cục bộ bao gồm các OpenFlow switch hoặc router kết nốidén nó trong mạng Hướng tiép cận này có những ưu diém sau:
= Việc cho phép nhiều controller cùng nhau quan lý trong mang sẽ làm tăngđáng ké khả năng mở rộng của mạng OpenFlow Thật vậy, tính mở rộngcủa OpenFlow hiện nay bị giới hạn do bị lệ thuộc vào một controller chạytrên một máy tính đơn trong khi khả năng tính toán, xử lý của một máytính là có hạn Và thực tế là mỗi controller chỉ hỗ trợ được một số lượngthiết bị nhất định trong mạng với tần suất của các request trong mạng gửiđến controller nhất định Nếu có một giải pháp cho phép nhiều controllercùng hoạt động và phân chia công việc quản lý trong mạng theo một cơchế nhất quán trên toàn thé mang thi hé điều khiển của mạng có thể hỗ trợsố lượng switch cũng như tan suất request nhiều hơn đáng kẻ
= Trên một môi trường mang có phạm vi phân bố rộng, việc phân bố cáccontroller trong mang cho phép các switch hoặc router trong mạng đượcđáp ứng bởi controller trong vùng mạng cục bộ của mình và đây chính là