ĐỒ ÁN TỐT NGHIỆP Mô hình mạng trường đại học bách khoa đà nẵng trên nền tảng SDN
NỘI DUNG ĐỒ ÁN
MỤC LỤC Mô hình mạng trường đại học bách khoa đà nẵng trên nền tảng SDN
DANH MỤC CÁC TỪ VIẾT TẮT........................................................................................... 1
LỜI MỞ ĐẦU............................................................................................................................ 3
1.1 Giới thiệu chương. 5
1.3.Khái niệm và cấu trúc mạng SDN.. 9
1.4.Ưu nhược điểm của SDN so với mạng IP. 15
1.5.1. Phạm vi doanh nghiệp: 18
1.5.1.1. Áp dụng trong mạng doanh nghiệp: 18
1.5.1.2. Áp dụng trong các trung tâm dữ liệu (Data center): 18
1.5.1.3. Áp dụng với dịch vụ điện toán đám mây (Cloud): 19
1.5.2. Phạm vi các nhà cung cấp hạ tầng và dịch vụ viễn thông: 19
1.6. Các mô hình triển khai SDN: 19
2.2. Lịch sử và sự phát triển của OpenFlow: 24
2.6.Các khái niệm và thành phần cơ bản: 31
2.6.1.1.Các khái niệm cơ bản: 33
2.6.1.4.Quá trình xử lý pipeline: 37
2.6.1.5. Một số hoạt động trong OpenFlow switch: 39
CHƯƠNG 3: SDNTRONGMẠNGCAMPUSVÀ ỨNGDỤNGVÀOMẠNGTRƯỜNG ĐẠIHỌCBÁCHKHOA ĐÀ NẴNG
3.2. SDN trong mạng campus: 47
3.2.1. Các đặc tính và hạn chế của mạng campus: 47
3.2.2. Triển khai SDN cho mạng campus: 49
3.3 Ứng dụng SDN vào mô hình mạng trường Đại Học Bách Khoa Đà Nẵng: 51
3.3.1. Mô hình mạng LAN của trường ĐHBK Đà Nẵng: 51
3.3.2. Mô phỏng mạng trường ĐHBK Đà Nẵng trên nền tảng SDN: 53
3.3.2.1. Các phần mềm sử dụng: 53
3.3.2.1.3. Opendaylight Controller: 55
3.3.2.2. Cách cài đặt các phần mềm mô phỏng: 55
3.3.2.2.1. Cài đặt mininet: 55
3.3.2.2.2. Cài đặt Opendayligh controller: 56
3.3.2.3. Tiến trình thực hiện mô phỏng: 56
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 71
PHỤ LỤC
BẢN TÓM TẮT ĐỒ ÁN TỐT NGHIỆP
Chương 1: Tổng quan về SDN
1.1.Khái niệm về SDN:
Theo ONF thì SDN được định nghĩa như sau: “ Sofware Defined Network (SDN) là một kiểu kiến trúc mạng mới, năng động, dễ quản lý, chi phí hiệu quả, dễ thích nghi và rất phù hợp với nhu cầu mạng ngày càng tăng hiện nay. Kiến trúc này phân tách phần điều khiển mạng (Control Plane) và chức năng vận chuyển dữ liệu (Forwarding Plane or Data Plane), điều này cho phép việc điều khiển mạng trở nên có thể lập trình và cơ sở hạ tầng mạng độc lập với các ứng dụng và dịch vụ mạng ”.
1.2.Kiến trúc mạng SDN:
- Kiến trúc mạng SDN gồm 3 thành phần:
+ Lớp ứng dụng: Bao gồm các ứng dụng của các nhà phát triển, các nhà cung cấp dịch vụ để triển khai và điều khiển lớp điều khiển.
+ Lớp điều khiển: Là phần “ thông minh” của mạng, lớp này đảm nhiệm nhiệm vụ định tuyển, bảo mật, triển khai các chính sách mạng, các ứng dụng mạng. Hình 1.1: Kiến trúc mạng SDN.
+ Lớp thiết bị ( lớp chuyển tiếp): Lớp này làm nhiệm vụ xử lý các gói tin dưới sự điều khiển của bộ điều khiển.
1.3.Ưu nhược điểm của mạng SDN:
- Ưu điểm: Với kiến trúc mạng SDN ta có thể quản lý mạng một cách đơn giản và hiệu quả hơn, tính bảo mật cao, tính linh hoạt cao, chi phí thấp.
- Nhược điểm: Khi tin tặc tấn công vào bộ điều khiển thành công thì chúng dễ dàng kiểm soát được toàn bộ hệ thống mạng, quá trình triển khai phải trải qua nhiều công đoạn và chưa hỗ trợ tốt việc triển khai mạng toàn cầu.
1.4. Kết luận:
Với xu hướng người dùng di động, ảo hóa máy chủ và các dịch vụ ngày càng tăng dẫn đến kiến trúc mạng thông thường ngày nay không để đáp ứng xử lý kịp. Mạng SDN cho chúng ta một cái nhìn mới, khái niệm mới về một kiến trúc mạng năng động, dễ thích nghi, mở rộng và đáp ứng các dịch vụ phong phú. Với việc tách phần điều khiển và dữ liệu, kiến trúc mạng SDN cho phép mạng có thể lập trình và quản lý một cách dễ dàng hơn. SDN hứa hẹn sẽ chuyển đổi mạng lưới tĩnh ngày nay trở nên linh hoạt hơn với nền tảng có thể lập trình với sự thông minh để có thể tự động xử lý các hành vi một cách tự động. Với nhiều lợi thế của mình và động lực phát triển cao SDN đang trên đường để trở thành một tiêu chuẩn mới cho các mạng.
Chương 2: Giao thức OpenFlow
2.1. Giới thiệu về giao thức OpenFlow:
Giao thức OpenFlowlà mộtgiaothức hỗ trợ mạng SDN,nó đượctạora vàchuẩnhóa đểhiệnthựchóakháiniệmSDN. Nó chophépchúngtadễdàngtriểnkhaicácgiaothứcchuyểnmạchvà địnhtuyếntrongmạng, cungcấpchochúngtamộtphươngthứcquảnlý mạnghiệuquảvà bảomậtcao.
2.2. Ưu điểmcủaOpenFlow:
Giảmsựphứctạpthôngquaviệctự độnghóa, tốc độ đổimớicao, giatăng độtincậyvà khảnănganninhcủamạng, đápứngnhucầucủangườidùngmộtcáchlinhhoạt.
2.3.OpenFlowSwitch:
OpenFlowSwitchbaogồmGrouptable, cácFlowtablevà mộtkênhOpenFlowchannel.Trong đó cácFlowtablevà GrouptablechứacácthôngtindoControllercungcấp đểthựchiện địnhtuyếncácgóitin. OpenFlow channel là kênh đảm nhiệm nhiệm vụ liên lạc giữa controller và openflow switch.
2.4.Quá trình xử lý các gói tin trong OpenFlow Switch:
Khi các gói tin đến, chúng sẽ được so khớp với từng Flow Entry trong các Flow table. Nếu phát hiện trùng khớp thì sẽ thực hiện các chỉ dẫn đã có sẵn trong bảng tương ứng với từng entry. Nếu không trùng khớp thì bộ chuyển mạch thực hiện một trong các việc như gửi packet đến controller để controller phân tích, loại bỏ gói tin hoặc tiếp tục tìm kiếm trong bảng tiếp theo.
2.5. Kết luận:
Trongchươngnàychúngta đã có cáinhìntổngquátvềgiaothứcOpenFlow, cácthuậtngữcơ bản, cấutrúc, chứcnăngcủacácthiếtbị địnhtuyếnOpenFlow, cũngnhư nguyênlý hoạt động, cáchthứcxửlý góitincủaOpenFlowSwitch. VớicácgiaodiệnmởAPI, giaothứcOpenFlowchophépngườilậptrìnhcó thểtạoracáccôngcụquảnlý mới, ứngdụngmớiphù hợpnhucầucủangườisửdụng. OpenFlowchophépthựchiệncáckếtnốitớicácthiếtbịcủacáchãngkhácnhaumà khônggâymộtsựkhó khănnào.GiaothứcOpenFlowhứahẹnlà mộtgiaothứchỗtrợtốtchokiếntrúcSDN, tuynhiêngiaothứcnàyvẫnchưa đượchoànthiệnvà cầnpháttriểnhơnnữatrongtươnglai.
Chương 3: SDNtrongmạngcampusvà ứngdụngvàomạngtrường ĐHBK Đà Nẵng.
Mạngcampuslà mạnggồmcácngườisửdụng đượckếtnốicụcbộtrongmộthoặcvàitòanhà lạivớinhaunhư mạngcủacáccôngty, cáctrườnghọc, bệnhviện....Ngàynaynó đang đốimặtvớinhiềutháchthứclớn. Việc ápdụngmạngSDNvàomạngcampusmạnglạimộtsốlợi íchnhư: cungcấpcácứngdụngmộtcáchlinhhoạtvà nhanhchóng, đơngiảnhóavà hộitụcáchquảnlý cácmạngkhôngdâyvà có dây, chiphí mạngthấp…
3.1. ỨngdụngSDNvàomô hìnhmạngtrường ĐHBK Đà Nẵng:
Phầnnàychúngtamô phỏngmô hìnhmạngtrường ĐHBK Đà NẵngtrênnềntảngSDN. Giảsửcácthiếtbịchuyểnmạch đềulà thiếtbịhỗtrợgiaothứcOpenFlow.
Hình 3.1: Mô hình mạng trường ĐHBKĐN.
Hình 3.2: Mô hình mạng trường ĐHBKĐN trên nền tảng SDN.
Hình 3.3: T/h không có controller. Hình 3.4: T/h có Controller
Kiểm tra bằng lệnh ping ta thấy khi không có Controller thì các switch không nhận ra nhau và khi có Controller thì các switch sẽ nhận ra nhau. Điều này chứng tỏ Controller đóng vai trò quan trọng trong việc liên kết thiết bị trong mạng.
Trên hình 3.5 là giao diện tab device của Controller, theo như ta thấy thì ở góc độ Controller ta có thể thấy được một cách tổng quan về cấu trúc của mạng hiện tại. Ở tab này chúng ta có thể quản lý các kết nối của các thành phần trong Hình 3.5: giao diện tab Device. mạng, thêm hoặc xóa các subnet.
Hình bên là giao diện tab Flows của Controller. Ở đây chúng ta có thể quản lý các Flow Entry của các node mạng như thêm, xóa các Flow Entry để phục vụ một mục đích cụ thể nào đó.
Hình 3.6: Giao diện tab Flows
Tab Troubleshoot quản lý các Flowtable của các thiết bị trong mạng. Ở đây chúng ta có thể thấy được các Flow Entry của từng node mạng.
Hình 3.7: Giao diện tab Troubleshoot.
Tạomộtflowentry đểthựchiệnviệcchặngóitintừhost 27 có địachỉiplà 10.0.0.27 đếnhost 28 có địachỉiplà 10.0.0.28. TachọntabFlowsvà chọnaddflowvà tiếnhànhthiếtlậpcácthôngsốchoflowentry như hìnhbên.
Hình 3.8: CácthôngsốcủaFlowEntryvừatạo.
Pingkiểmtratừhost 27 sanghost 28 tathấy 100% góitinICMPkhông đến đượchost 28. Điều đó chứngtỏFlowEntryvừatạo đã thựchiệntốtnhiệmvụcủamình.
Hình 3.9: Ping từ host 27 sang host 28.
3.2.Kết luận:
Với giao diện trực quan, SDN cung cấp cho chúng ta phương thức quản lý mạng đơn giản và hiệu quả. Quản lý Controller tức là ta kiểm soát toàn mạng, với việc thiết lập các Flow Entry để phục vụ một yêu cầu cụ thể một cách dễ dàng, controller cho phép nhà quản trị mạng thiết lập các chính sách mạng một cách linh hoạt và nhanh chóng. Qua việc ứng dụng SDN vào mô hình mạng trường ĐHBK ĐN đã cho ta thấy tính khả thi và khả năng đáp ứng các yêu cầu của mạng SDN không hề thua kém mạng truyền thống thậm chí còn tỏ ra linh hoạt hơn, nhanh hơn và khả năng tự động hóa tốt hơn.
...........
Hình 3.14: Giao diện Flowtable của switch có ID là 00:00:00:00:00:00:00:02 (switch 2)
- Hình trên cho ta thấy Flow table của switch 2, bao gồm các flow được thu thập bởi Controller thông qua việc gửi nhận các bản tin LLDP.
- Sau đây ta sẽ thực hiện tạo một entry cho flowtable của switch 2 để drop gói tin truyền từ host 27 có địa chỉ ip là 10.0.0.27 đến host 28 có địa chỉ ip là 10.0.0.28. Tiến hành chọn addflow và điền các thông tin đầy đủ ta được flow như sau:
Hình 3.15: Flow entry drop gói tin gửi từ host 27 đến host 28.
+ Sau khi cài đặt flow entry vào thì ở flow table của swich 2 sẽ cập được cập nhật vào thêm flow entry vừa tạo vào đó.
Hình 3.16: Flow table của switch 2.
+ Ping kiểm tra từ host 27 sang host 28:
Hình 3.17: Kết quả ping từ h27 sang h28.
+ Ta thấy có 3 gói tin được truyền đi nhưng đều bị drop.
3.3.3.Kết Luận:
Chương này đã hướng hướng dẫn cách thiết lập được một mô hình mạng trên nền tảng SDN cụ thể là mô hình mạng trường Đại học Bách Khoa Đà Nẵng. Ta đã mô phỏng được quá trình gửi nhận các bản tin, thiết lập được các flow để thực hiện một số công việc theo nhu cầu của người sử dụng. Qua đó chúng ta có thể thấy được những ưu điểm vượt bậc của mạng SDN so với mạng IP truyền thống. Với SDN người quản trị sẽ có cái nhìn tổng quan về cấu trúc mạng, có thể cấu hình các thiết bị chuyển mạch một cách dễ dàng và nhanh chóng bằng việc quản lý controller để thiết lập các flow entry để phục vụ các chức năng mạng.
Cuối cùng là mô hình mạng trường Đại học Bách khoa Đà Nẵng trên nền tảng SDN cũng có khả năng áp dụng thực tế và nó có thể đáp ứng được các chức năng và nhu cầu của người sử dụng như mạng TCP/IP truyền thống
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI
Ngày nay, internet đã trở thành cuộc cách mạng lớn của nhân loại, kéo theo đó là sự phát triển của nhu cầu của người sử dụng, các nhu cầu đó ngày càng đa dạng và phức tạp hơn. Với cấu hình mạng truyền thống thì việc đáp ứng đó là không thể. Vì thế các nhà nghiên cứu đã phát triển và cho ra đời một cấu trúc mạng tốt hơn, đơn giản hơn và linh động hơn. SDN chính là thành quả của sự nghiên cứu đó. Nó đã giải quyết hầu như tất cả các mặt hạn chế của mạng hiện tại, cung cấp một môi trường mở cho phép các nhà phát triển tự do sáng tạo các phương thức định tuyến, phương thức bảo mật mới tốt hơn, các ứng dụng dịch vụ mới đáp ứng nhu cầu của người sử dụng.
Đồ án này đã nêu ra một cái nhìn tổng quan về mạng SDN và giao thức hỗ trợ nó - giao thức OpenFlow. Tuy chỉ áp dụng vào mô hình mạng nhỏ của trường ĐHBK Đà Nẵng nhưng nó cũng đã cho ta thấy nhưng hiệu quả đáng kể mà SDN mang lại. Do thời gian không cho phép và kiến thức còn chưa hoàn thiện nên đồ án còn nhiều điều thiếu sót và chỉ mới khai thác một phần rất nhỏ của mạng SDN. Đồ án chưa giới thiệu được các phương thức kết nối và bảo mật giữa các controller và chỉ ứng dụng được trong phạm vi nhỏ hẹp như mạng campus, chưa làm rõ được chức năng ảo hóa mạng cũng như các ứng dụng và lợi ích của việc ảo hóa mang lại.
Trong thời gian tới, dựa trên nền tảng đã nghiên cứu em sẽ khắc phục những thiếu sót còn lại và phát triển đề tài theo hướng nghiên cứu về giao thức đa kết nối giữa các Controller với nhau qua đó có thể phát triển quy mô mạng rộng hơn, đáp ứng được nhu cầu cao hơn của người sử dụng.
TÀI LIỆU THAM KHẢO
[1] Nunes, Bruno Astuto A, et al. "A Survey of Software-Defined Networking: Past, Present, and Future of Programmable Networks." IEEE Communications Surveys and Tutorials (Under Review).
[2] Jain, Raj, and Subharthi Paul. "Network virtualization and software defined networking for cloud computing: a survey." Communications Magazine, IEEE51.11 (2013).
[3] Wang, Jian-Quan, Haijing Fu, and Chang Cao. "Software defined networking for telecom operators: Architecture and applications." Communications and Networking in China (CHINACOM), 2013 8th International ICST Conference on. IEEE, 2013.
[4] Nadeau, Thomas D and Ken Gray. SDN: Software Defined Networks. " O'Reilly Media, Inc.", 2013.
[5] Open Networking Fundation. "Software-defined networking: The new norm for networks." ONF White Paper (2012).
[6] ONF, Open Networking Foundation, [Online] Avaiable: https://www.opennetworking.org
[7] Vaughan-Nichols, Steven J. "OpenFlow: The next generation of the network?."Computer 44.8 (2011)
[8] Bakshi, Kapil. "Considerations for Software Defined Networking (SDN): Approaches and use cases." Aerospace Conference, 2013 IEEE. IEEE, 2013.
[9]IBM, Software Defined Networks, October 2012.
[10] McKeown, Nick, et al. "OpenFlow: enabling innovation in campus networks."ACM SIGCOMM Computer Communication Review 38.2 (2008).
[11] Specification, OpenFlow Switch. "Version 1.1. 0 Implemented." (2011).
[12] Vivek Tiwari. SDN and Openflow for beginners with hands on labs, 2013
[13] Wendong, Wang, et al. "Autonomicity design in OpenFlow based Software Defined Networking." Globecom Workshops (GC Wkshps), 2012 IEEE. IEEE, 2012.
[14] http://mininet.org/
[15] https://wiki.opendaylight.org/
PHỤ LỤC
Code mô hình mạng trường ĐHBK Đà Nẵng vẽ lại theo kiến trúc SDN:
#!/usr/bin/python
"""
Script created by VND - Visual Network Description (SDN version)
"""
from mininet.net import Mininet
from mininet.node import Controller, RemoteController, OVSKernelSwitch, OVSLegacyKernelSwitch, UserSwitch
from mininet.cli import CLI
from mininet.log import setLogLevel
from mininet.link import Link, TCLink
def topology():
"Create a network."
net = Mininet( controller=RemoteController, link=TCLink, switch=OVSKernelSwitch )
print "*** Creating nodes"
c1 = net.addController( 'c1', controller=RemoteController, ip='127.0.0.1', port=6633 )
s2 = net.addSwitch( 's2', listenPort=6634, mac='00:00:00:00:00:02' )