Tìm Hiểu Về Kiến Trúc SDN - Tài Liệu Text - 123doc

Tải bản đầy đủ (.pdf) (46 trang)
  1. Trang chủ
  2. >>
  3. Luận Văn - Báo Cáo
  4. >>
  5. Công nghệ thông tin
Tìm hiểu về kiến trúc SDN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.73 MB, 46 trang )

Đồ án tốt nghiệpMục lụcMỤC LỤCLỜI CẢM ƠN ............................................................................................................................ iMỤC LỤC .................................................................................................................................iiTHUẬT NGỮ VIẾT TẮT ....................................................................................................... ivDANH MỤC HÌNH VẼ ............................................................................................................ vLỜI NÓI ĐẦU........................................................................................................................... 1CHƯƠNG 1: TỔNG QUAN VỀ SDN .................................................................................... 21.1 GIỚI THIỆU CHUNG .................................................................................................... 21.2ĐẶT VẤN ĐỀ ................................................................................................................. 21.3KHÁI NIỆM VÀ CẤU TRÚC MẠNG SDN .................................................................. 51.4ƯU NHƯỢC ĐIỂM CỦA SDN SO VỚI MẠNG IP ...................................................... 81.5KẾT LUẬN CHƯƠNG ................................................................................................. 10CHƯƠNG 2: MẶT BẰNG DỮ LIỆU SDN VÀ OPENFLOW ........................................... 112.1 MẶT BẰNG DỮ LIỆU SDN ........................................................................................ 112.1.1 Chức năng của mặt bằng dữ liệu ............................................................................. 112.1.2 Các giao thức trong mặt bằng dữ liệu ...................................................................... 122.2THIẾT BỊ MẠNG OPENFLOW ................................................................................... 122.2.1 Cấu trúc flow table .................................................................................................. 152.2.2 Thành phần chỉ thị ................................................................................................... 162.2.3 Đường dẫn bảng luồng ............................................................................................ 172.2.4 Sử dụng nhiều bảng ................................................................................................. 202.3GIAO THỨC OPENFLOW .......................................................................................... 212.4KẾT LUẬN CHƯƠNG ................................................................................................. 22CHƯƠNG 3: MẶT BẰNG ĐIỀU KHIỂN SDN .................................................................. 233.1 KIẾN TRÚC CỦA MẶT BẰNG ĐIỀU KHIỂN SDN ................................................. 233.1.1 Các chức năng mặt bằng điều khiển ........................................................................ 233.1.2 Giao diện hướng Nam ............................................................................................. 253.1.3 Giao diện hướng Bắc ............................................................................................... 263.1.3 Định tuyến ............................................................................................................... 283.2OPENDAYLIGHT ........................................................................................................ 293.2.1 Kiến trúc OpenDaylight........................................................................................... 293.2.2 REST ....................................................................................................................... 313.2.3 Bộ điều khiển tập trung và phân tán ........................................................................ 323.2.4 OpenDaylight SDNi ................................................................................................ 333.3KẾT LUẬN CHƯƠNG ................................................................................................. 34CHƯƠNG 4: MÔ PHỎNG MẠNG VỚI MININET VÀ OPENDAYLIGHT .................. 354.1 GIỚI THIỆU VỀ CÁC CÔNG CỤ SỬ DỤNG TRONG MÔ PHỎNG ....................... 354.1.1 Mininet .................................................................................................................... 35Vương Văn Tĩnh – D13VT8iiĐồ án tốt nghiệpMục lục4.1.2 OpenDaylight. ......................................................................................................... 354.2GIỚI THIỆU VỀ MÔ HÌNH TRIỂN KHAI: ................................................................ 354.3TRIỂN KHAI BỘ ĐIỀU KHIỂN DỰ PHÒNG ............................................................ 364.3.1 Cài đặt Mininet ........................................................................................................ 364.3.2 Cài đặt Opendaylight ............................................................................................... 364.3.3 Tiến hành thử nghiệm. ............................................................................................. 374.4KẾT LUẬN CHƯƠNG ................................................................................................. 40KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................................ 41TÀI LIỆU THAM KHẢO...................................................................................................... 42Vương Văn Tĩnh – D13VT8iiiĐồ án tốt nghiệpThuật ngữ viết tắtTHUẬT NGỮ VIẾT TẮTAPIApplication Programming InterfaceGiao diện lập trình ứng dụngFTPFile Transfer ProtocolGiao thức truyền tải tệpMACMedia Access ControĐiều khiển truy cập dịch vụONFOpen Networking FoundationODLOpenDaylightIPInternet ProtocolGiao thức InternetITUInternational Telecommunication UnionTổ chức Viễn thông quốc tếPDUProtocol Data UnitĐơn vị dữ liệu giao thứcQoSQuality of ServiceChất lượng dịch vụSDNSoftware Defined NetworkingMạng định nghĩa bằng phần mềmSNMPSimple Network Management ProtocolGiao thức quản lý mạng đơn giảnSMTPSimple Mail Transfer ProtocolGiao thức truyền thư đơn giảnTCPTransmission Control ProtocolGiao thức điều khiển truyền tảiTLSTransport Layer SecurityBảo mật lớp truyền tảiUDPUser Datagram ProtocolGiao thức truyền tải gói người dùngVLANVirtual Local Area NetworkMạng LAN ảoVương Văn Tĩnh – D13VT8ivĐồ án tốt nghiệpDanh mục bảng biểu & hình vẽDANH MỤC HÌNH VẼHình 1.1 So sánh kiến trúc mạng truyền thống và SDN............................................................. 5Hình 1.2 Kiến trúc mạng SDN ................................................................................................... 7Hình 2.1 Mặt bằng dữ liệu của thiết bị mạng ........................................................................... 11Hình 2.2 Môi trường OpenFlow ............................................................................................... 13Hình 2.3 OpenFlow switch ....................................................................................................... 14Hình 2.4 Định dạng của một OpenFlow table entry ................................................................. 15Hình 2.5 Sơ đồ khối của luồng gói tin khi qua một OpenFlow Switch.................................... 18Hình 2.6 Luồng gói tin qua một OpenFlow switch (xử lý đầu vào)......................................... 19Hình 2.7 Luồng gói tin qua một OpenFlow switch (xử lý đầu ra) ........................................... 20Hình 2.9 Ví dụ về các flow lồng nhau ...................................................................................... 21Hình 3.1 Các giao diện và chức năng mặt bằng điều khiển ..................................................... 23Hình 3.2 Các giao diện của bộ điều khiển SDN ....................................................................... 25Hình 3.3 Cấp độ của giao diện hướng bắc................................................................................ 27Hình 3.4 Các API của bộ điều khiển SDN ............................................................................... 27Hinh 3.5 Kiến trúc của Opendaylight ....................................................................................... 29Hình 3.8 Mô hình lớp dịch vụ trừu tượng ................................................................................ 31Hình 3.9 Cấu trúc miền SDN.................................................................................................... 32Hình 4.1: Mô hình triển khai demo .......................................................................................... 35Hình 4.2: Trang đăng nhập OpenDaylight ............................................................................... 36Hình 4.3 Hiển thị mô hình mạng trong OpenDaylight ............................................................. 38Hình 4.4: Kiểm tra kết nối giữa các host. ................................................................................. 38Hình 4.5: Bảng Flow hiển thị Action của h1 và h2 .................................................................. 39Hình 4.6: Kiểm tra kết nối giữa h1 và h2 ................................................................................. 39Hình 4.7: Flow Table ................................................................................................................ 39Hình 4.8: Kiểm tra kết nối giữa h1 và h3 ................................................................................. 39Vương Văn Tĩnh – D13VT8vĐồ án tốt nghiệpLời nói đầuLỜI NÓI ĐẦUInternet ngày càng phát triển và quan trọng đối với mỗi chúng ta. Sự phát triểnhàng ngày, hàng giờ với các tính năng mới mang đến cho người dùng những trảinghiệm và phục vụ tốt hơn nhu cầu cuộc sống mỗi người.Đi xuống một cấp độ thấp hơn, cấp độ mạng, chúng ta có thể nhận ra rằng, sựphát triển ở cấp độ này diễn ra chậm hơn rất nhiều. Không có nghi ngờ nào về sự pháttriển ngày càng mạnh mẽ của cơ sở hạ tầng mạng internet trên “mặt số lượng”, băngthông tổng cộng tăng lên nhanh chóng, các kỹ thuật mới ở Layer 2 được áp dụng, tuynhiên sự thay đổi về mặt cấu trúc đến thời điểm hiện tại là gần như không đáng kể.Một trong những nguyên nhân cho vấn đề này là vì cấu trúc mạng “ nguyên khối ”, nóchứa tập hợp các chức năng trong đó kể cả các ứng dụng mạng. Việc áp dụng chứcnăng mới yêu cầu phải hiện đại hóa toàn mạng với hàng triệu thiết bị. Hãy thử tưởngtượng rằng chúng ta phải tiến hành cập nhật tất cả các thiết bị mỗi khi chúng ta cài mộtứng dụng mới, đó thực sự là một công việc khó khăn và mất rất nhiều thời gian, côngsức. Nói cách khác, sự đổi mới trên cấp độ mạng trong khuôn khổ cấu trúc ngày nay làrất khó khăn. Các chức năng và các tính năng mới làm tăng tính phức tạp của hệ thốnglên rất nhiều lần, việc thử nghiệm chúng cũng vậy và nếu áp dụng chúng vào thực tếcũng đòi hỏi chi phí rất cao và tiềm ẩn nhiều nguy cơ khác. Chính vì thế rất nhiềuchuyên gia đã đặt kỳ vọng vào một mô hình mạng mới, mạng điều khiển bởi phầnmềm SDN.Đồ án đưa ra một cái nhìn tổng quan về mạng SDN và giao thức OpenFlow.Nội dung đồ án bao gồm 4 phần chính: Chương 1: Tổng quan về SDN Chương 2: Mặt bằng dữ liệu SDN và OpenFlow Chương 3: Mặt bằng điều khiển SDN Chương 4: Mô phỏng mạng với Mininet và OpenDaylightVương Văn Tĩnh – D13VT81Đồ án tốt nghiệpChương 1: Tổng quan về SDNCHƯƠNG 1: TỔNG QUAN VỀ SDN1.1 GIỚI THIỆU CHUNGChính thức ra đời vào khoảng 2008 tại đại học Stanford, Mĩ nhưng Mạng khảtrình (Software Defined Networking – SDN) đã tạo ra một cuộc cách mạng trong nềncông nghiệp IT, và dự đoán rằng trong thời gian tới, SDN sẽ thay thế toàn bộ hệ thốngmạng truyền thống. Hầu hết các mạng thông thường đều theo kiến trúc phân cấp, đượcxây dựng với các tầng của thiết bị chuyển mạch Ethernet, được sắp xếp theo cấu trúccây. Thiết kế này thực sự hiệu quả khi mô hình tính toán client – server chiếm ưu thế,nhưng kiến trúc cố định như vậy không thích hợp với yêu cầu tính toán đa dạng, linhhoạt và nhu cầu lưu trữ dữ liệu tại các trung tâm dữ liệu của doanh nghiệp, trường họcvà trong môi trường của các nhà cung cấp dịch vụ. Một số xu hướng tính toán quantrọng dẫn tới yêu cầu ngày càng tăng cho một mô hình mạng mới bao gồm: sự thay đổimô hình lưu lượng; hướng tới người dùng CNTT; sự phát triển của các dịch vụ điệntoán đám mây; “Dữ liệu lớn” yêu cầu nhiều băng thông hơn.1.2ĐẶT VẤN ĐỀBộ giao thức truyền thống TCP/IP được xem như là một chuẩn sử dụng từ giữanhững năm 80 của thế kỷ trước. Đây là một hệ thống điều khiển cồng kềnh và khônglinh hoạt đối với mạng máy tính. Vì nó vừa “ nghĩ” vừa “làm”, điều đó có nghĩa là đầutiên nó phải giải quyết bài toán xây dựng định tuyến, sau đó là áp dụng các tuyếnđường này.Trong các mạng hiện tại, chức năng điều khiển và truyền tải dữ liệu được kếthợp, đi liền với nhau, nó làm cho việc kiểm soát, điều khiển rất phức tạp. Cách tiếpcận dựa trên TCP/IP này gây ra một số hạn chế rất nghiêm trọng trong hoạt động vớicác tài nguyên của mạng.Dễ thấy rằng số lượng và tính phức tạp của các giao thức rất lớn và phức tạp(Ngày nay số giao thức và các phiên bản giao thức được sử dụng thường xuyên đãvượt quá 600), việc kết hợp sự điều khiển và truyền dữ liệu làm cho quá trình kiểmsoát cũng như điều khiển hoạt động mạng trở nên quá phức tạp đòi hỏi người quản lýphải có tay nghề và chuyên môn cao. Vấn đề bảo mật đến thời điểm hiện tại vẫn khôngcó giải pháp nào có độ tin cậy quá cao. Việc thêm vào bất kỳ sự thay đổi nào trong cácthiết bị của mạng đều mất rất nhiều thời gian, chi phí cao và bắt buộc phải có sự thamgia của nhà sản xuất (vì tính độc quyền). Và vì thế, không ai có thể đảm bảo rằngnhững thiết bị mạng này chỉ chứa các chức năng đã được mô tả trong các tài liệu đínhkèm sản phẩm. Đây là lí do vì sao có rất nhiều vụ bê bối nghe lén và đánh cắp dữ liệudiễn ra thời gian qua. Các thiết bị của mạng ngày nay là những thiết bị mang tính độcquyền, thiết bị “đóng”, cản trở cho sự đổi mới, cập nhật và phát triển từ hướng ngườichủ của mạng, hay cộng đồng mạng.Vương Văn Tĩnh – D13VT82Đồ án tốt nghiệpChương 1: Tổng quan về SDNViệc đáp ứng tất cả các nhu cầu hiện tại của thị trường gần như là không thể vớimô hình mạng truyền thống. Phòng quản trị mạng của các công ty phải tìm cách hạnchế tối đa mạng của mình với việc sử dụng các công cụ điều khiển ở mức độ thiết bịvà sử dụng các quá trình điều khiển bằng tay, lý do của vấn đề này chính là vì ngânsách được chi cho họ ngày càng bị cắt giảm, nếu may mắn thì chỉ được duy trì khôngđổi. Với những nhà khai thác mạng, họ cũng gặp vấn đề tương tự. Ta có thể thấy nhucầu đối với tính di động và băng thông đang bùng phát (ngày nay số lượng người dungmạng máy tính trên kỹ thuật không dây vượt quá số người dùng mạng cố định, sốlượng thiết bị di động trên đầu người ở các nước phát triển đã lớn hơn 3) trong khi đólợi nhuận thu về ngày càng ít do các chi phí cho thiết bị và do việc giảm thu nhập. Cáccấu trúc hiện tại của mạng không được tạo ra để thỏa mãn nhu cầu của người dùnghiện đại, của các công ty hay nhà khai thác mạng. Chúng ta sẽ phân tích một số giớihạn của mạng hiện tại, bao gồm:- Tính phức tạp dẫn đến tình trạng trì trệ: Các kỹ thuật mạng ngày nay bao gồmcác bộ giao thức rời rạc. Những giao thức này dùng để nối các host với nhau một cáchtin cậy, với khoảng cách, tốc độ liên lạc, topo bất kỳ. Để thỏa mãn nhu cầu kinh doanhvà yêu cầu kỹ thuật trong hơn chục năm trở lại đây, ngành công nghiệp đã phát triểncác giao thức mạng dể hỗ trợ hiệu suất cũng như độ tin cậy cao hơn, có thể kết nốirộng hơn và độ bảo mật nghiêm ngặt hơn. Các giao thức này, về nguyên tắc, được tạora một cách cô lập, tuy nhiên mỗi giao thức giải quyết một vấn đề cụ thể. Điều này dẫnđến một trong những hạn chế chính của mạng hiện tại đó là tính phức tạp. Ví dụ : đểthêm vào hoặc dịch chuyển một thiết bị bất kỳ, người quản trị phải can thiệp đến mộtsố thiết bị khác như : các bộ chuyển mạch, định tuyến, tường lửa… và phải cập nhậtlại danh sách ACL (Access Control List), VLANs, QoS, và cả các cơ chế khác. Liênquan đến tính phức tạp này, các mạng hiện tại vì thế được xem như ở trạng thái “tĩnh”vì người quản trị phải cố gắng hạn chế đến mức thấp nhất những nguy cơ gián đoạncung cấp dịch vụ. Tính “tĩnh” của mạng hiện tại lại là một mâu thuẫn rất lớn đối vớiđặc tính “động” của môi trường server ngày nay, ở đó việc ảo hóa các server làm tăngsố lượng host một cách chóng mặt, đồng thời nó làm thay đổi quan điểm về vị trí vậtlý của các host. Trước ảo hóa, các ứng dụng đều nằm trên một server và trao đổi trafficvới các client. Ngày nay, các ứng dụng phân bố rời rạc trên một vài máy ảo (VMVirtual Machine), những máy ảo này trao đổi các luồng dữ liệu với nhau. Các VM này“tái định cư” để làm tối ưu hóa và cân bằng tải trên server. Ngoài việc áp dụng kỹthuật ảo hóa, nhiều công ty đã làm việc trên nền mạng hội tụ IP để truyền dữ liệu,thoại, video... Trong khi đó, mạng hiện tại hỗ trợ các mức độ khác nhau của QoS chocác ứng dụng khác nhau và cung cấp những tài nguyên này hoàn toàn bằng tay. Ngườiquản trị cần phải cài đặt thiết bị của từng nhà cung cấp một cách riêng lẻ, và dĩ nhiênphải thiết lập các tham số như băng thông, QoS trên từng phiên làm việc cho mỗi ứngVương Văn Tĩnh – D13VT83Đồ án tốt nghiệpChương 1: Tổng quan về SDNdụng. Do tính “tĩnh” của mình, mạng hiện tại không thể điều chỉnh một cách linh độngso với những traffic luôn thay đổi của các ứng dụng và người dùng.- Các chính sách không đồng nhất: Để thực hiện các chính sách mạng, ngườiquản trị mạng cần phải cấu hình hàng ngàn thiết bị. Ví dụ mỗi lần áp dụng một máy ảomới, phải tốn hàng giờ, thỉnh thoảng là hàng ngày để cấu hình lại các danh sách ACLtrên toàn mạng. Tính phức tạp của mạng hiện tại làm cho công việc này trở nên khókhăn đối với các nhà quản trị để có thể áp dụng một bộ phối hợp truy cập, hay quy tắcbảo mật, QoS và các chính sách người dùng khác.- Không có khả năng mở rộng: Vì các nhu cầu đối với các Data Center tăngnhanh chóng, nên mạng cũng buộc phải tăng (kích thước) theo. Tuy nhiên, mạng vì thếquá phức tạp với hàng trăm, hàng ngàn thiết bị, những thiết bị này lại cần phải đượccấu hình và điều khiển. Các nhà quản trị cũng buộc phải dựa trên các dự báo về trafficđể mở rộng mạng. Nhưng trong các Trung tâm dữ liệu ảo hóa ngày nay, traffic là khácniệm “động” không tưởng và gần như không thể dự báo trước. Các nhà khai thác lớnnhư Google, Yahoo, Facebook… đã gặp phải các vấn đề phức tạp trong mở rộng kíchthước mạng. Những nhà cung cấp dịch vụ này sử dụng các thuật toán xử lý song songở quy mô lớn. Vì quy mô các ứng dụng đối với một người dùng cụ thể ngày càng tăng,số lượng các phần tử cần tính toán từ đó cũng tăng lên đến mức “bùng nổ” và các dữliệu trao đổi giữa các node có thể đạt đến PB (Petabyte=1000 TB). Những công ty nàycần phải đảm bảo hiệu suất cao, chi phí kết nối giữa hàng ngàn thiết bị thấp… Quy mônhư vậy là không thể thực hiện với cách cấu hình bằng tay. Để duy trì khả năng cạnhtranh, các nhà khai thác cần phải thực hiện, cung cấp nhiều hơn các dịch vụ riêng biệt,khác biệt cho các client. Tính đa nhiệm cũng làm phức tạp bài toán hơn, vì mạng cầnphục vụ nhiều nhóm người dùng với các ứng dụng khác nhau và các nhu cầu về hiệusuất khác nhau. Những nhà khai thác lớn, những nhà khai thác đóng vai trò chủ đạotrong quản lý traffic client rất khó để đáp ứng các nhu cầu với quy mô hiện tại của họ.- Phụ thuộc vào nhà sản xuất: Các nhà mạng và các công ty cố gắng áp dụng cáckhả năng và dịch vụ mới trong việc đáp ứng các nhu cầu (những nhu cầu này thay đổiliên tục và rất nhanh) kinh doanh hoặc nhu cầu người dùng. Tuy nhiên khả năng củahọ phụ thuộc vào các chu kỳ cập nhật firmware thiết bị của nhà sản xuất. Và điều đángnói là những chu kỳ này có thể kéo dài lên đến 3 năm hoặc nhiều hơn nữa. Ngoài raviệc thiếu các chuẩn hóa, hay giao diện mở làm giới hạn khả năng điều chỉnh mạngcủa các nhà mạng. Chính sự không tương ứng giữa nhu cầu trên thị trường và khảnăng của mạng đã dẫn đến “điểm gãy khúc”. Đáp lại vấn đề này, mạng điều khiển bởiphần mềm SDN (Software-Defined Networking) đã được tạo ra..Vương Văn Tĩnh – D13VT84Đồ án tốt nghiệp1.3Chương 1: Tổng quan về SDNKHÁI NIỆM VÀ CẤU TRÚC MẠNG SDNTrước khi đưa ra khái niệm về SDN, ta thử đặt ra một giả thiết là nếu ta có thểtách rời phần điều khiển ra khỏi các thiết bị mạng thì điều đó có thể làm cho khả năngxử lý của thiết bị tăng lên hay không? Có thể tạo ra một mạng thông minh hơn và linhhoạt hơn hay không?Thực tế là dựa trên giả thiết đó, người ta đã nghiên cứu và phát triển thành mộtmạng mà ở đó nhiệm vụ điều khiển mạng được xử lý bởi các bộ điều khiển và các bộđiều khiển đó có thể thao tác tới phần cứng, bộ nhớ và các chức năng của các thiết bịrouter, switch để đạt được mục đích của người sử dụng. Do đó, mạng trở nên linh hoạthơn, hiệu suất sử dụng cao hơn và dễ quản lý hơn bao giờ hết.Để hiểu rõ hơn ta xem xét sự khác nhau giữa chức năng của các thiết bị của mạngtruyền thống và mạng SDN.Hình 1.1 So sánh kiến trúc mạng truyền thống và SDNHình 1.1 (a) mô tả sơ đồ một mạng truyền thống đơn giản. Đối với mạng truyềnthống thì các thiết bị định tuyến hoặc chuyển mạch trao đổi các thông tin với nhau vàquá trình tính toán xử lý đều xảy ra ở mỗi node mạng ( ở tại mỗi router/switch). Chứcnăng chính của các thiết bị mạng như router/switch là vận chuyển dữ liệu, như ta thấyở mô hình trên thì các thiết bị không được hoàn toàn tập trung vào chức năng đó.Nhưng đối với mạng SDN thì điều đó lại là khác.Hình 1.1 (b) mô tả sơ đồ mạng đơn giản với bộ điều khiển SDN. Theo như hình1.1 (b) thì ta thấy việc thu thập thông tin của các thiết bị trong mạng và tính toán xử lýcác thông tin thu thập được đều được chuyển đến một bộ điều khiển mạng (Bộ điềukhiển SDN). Các thiết bị router/switch chỉ tập trung vào chức năng vận chuyển dữVương Văn Tĩnh – D13VT85Đồ án tốt nghiệpChương 1: Tổng quan về SDNliệu. Điều đó làm cho việc quản lý mạng trở nên đơn giản hơn và các thiết bị phầncứng có thể nâng công suất làm việc lên.Từ sự so sánh trên ta rút ra được một số điểm khác nhau giữa 2 mạng đó là: Phần điều khiển và phần vận chuyển dữ liệu:- Mạng truyền thống: Đều được tích hợp trong thiết bị mạng.- Mạng SDN: Phần điều khiển được tách riêng khỏi thiết bị mạng và đượcchuyển đến một thiết bị được gọi là bộ điều khiển SDN. Phần thu thập và xử lý các thông tin:- Mạng truyền thống: Được thực hiện ở tất cả các phần tử trong mạng.- Mạng SDN: Được tập trung xử lý ở bộ điều khiển SDN. Khả năng lập trình bởi các ứng dụng:- Mạng truyền thống: mạng không thể được lập trình bởi các ứng dụng. Cácthiết bị mạng phải được cấu hình một cách riêng lẽ và thủ công.- Mạng SDN: Mạng có thể lập trình bởi các ứng dụng, bộ điều khiển SDN có,thể tương tác đến tất cả các thiết bị trong mạng.Hiện nay có rất nhiều định nghĩa về mạng SDN nhưng theo ONF (OpenNetworking Foundation - một tổ chức phi lợi nhuận đang hỗ trợ việc phát triển SDNthông qua việc nghiên cứu các tiêu chuẩn mở phù hợp) thì mạng SDN được định nghĩanhư sau: “ Sofware Defined Network (SDN) là một kiểu kiến trúc mạng mới, độ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àngtă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ứcnăng vận chuyển dữ liệu (Forwarding Plane or Mặt bằng dữ liệu), điều này cho phépviệ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”. Phần điều khiển được tách rời và được tập trung ở bộđiều khiển SDN. Điều này có nghĩa là các thiết bị mạng ở lớp thiết bị phần cứngkhông cần phải hiểu và xử lý các giao thức phức tạp mà chúng chỉ chấp nhận và vậnchuyển dữ liệu theo một con đường nào đó dưới sự chỉ huy của bộ điều khiển SDN.Dựa vào bộ điều khiển SDN mà các nhà khai thác mạng và quản trị mạng có thể lậptrình cấu hình trên đó thay vì phải thực hiện thủ công hàng ngàn câu lệnh cấu hình trêncác thiết bị riêng lẽ. Ngoài ra nó còn có thể triển khai các ứng dụng mới và các dịch vụmạng một cách nhanh chóng. Để có cái nhìn tổng quan hơn về SDN, ta xét tới cấu trúccủa nó.Vương Văn Tĩnh – D13VT86Đồ án tốt nghiệpChương 1: Tổng quan về SDNHình 1.2 Kiến trúc mạng SDNHình trên cho ta thấy một cái nhìn tổng quát về mạng SDN. Trung tâm là bộ điềukhiển SDN thực hiện tất cả các chức năng phức tạp như định tuyến, đưa ra các chínhsách mạng, kiểm tra bảo mật…Tất cả các bộ điều khiển này cấu thành nên lớp điềukhiển của mạng SDN. Các bộ điều khiển SDN xác định các luồng dữ liệu sẽ đi quatrong lớp dữ liệu phía dưới và mỗi luồng dữ liệu đi qua mạng đều phải có sự cho phépcủa bộ điều khiển SDN và khi được sự cho phép đó thì bộ điều khiển sẽ tính toán mộtlộ trình cho dòng dữ liệu đó. Cụ thể là các bộ điều khiển sẽ thiết lập một tập hợp dữliệu nội bộ sử dụng để tạo ra các entry của bảng chuyển tiếp, những bảng này lần lượtđược sử dụng bởi lớp chuyển tiếp (mặt bằng dữ liệu) để truyền các luồng dữ liệu giữacác cổng vào và ra trên thiết bị. Tập hợp dữ liệu này được sử dụng để lưu trữ topomạng và được gọi là thông tin định tuyến RIB (RIB – Routing Information Base). RIBthường được duy trì đồng nhất bằng cách trao đổi thông tin giữa các lớp điều khiểntrong mạng. Các entry của bảng chuyển tiếp thường được gọi là thông tin chuyển tiếpFIB (FIB – Forwarding Information Base) và thường được ánh xạ giữa mặt bằng điềukhiển và mặt phẳng chuyển tiếp của các thiết bị điển hình. Dựa vào các thông tinchuyển tiếp mà bộ điều khiển cung cấp, các thiết bị ở lớp chuyển tiếp xử lý các gói tinVương Văn Tĩnh – D13VT87Đồ án tốt nghiệpChương 1: Tổng quan về SDNđầu vào và tìm kiếm, so sánh với bảng thông tin định tuyến để xử lý với các gói tin. Vìvậy các thiết bị chuyển mạch ở lớp dưới chỉ đơn giản là quản lý các bảng “định tuyến”được cung cấp bởi bộ điều khiển SDN. Giao tiếp giữa lớp điều khiển và các thiết bị ởlớp dữ liệu là các giao diện mở API và hiện tại đang phổ biến đó là sử dụng các APIcủa giao thức OpenFlow. Giao thức này sẽ được đề cập ở chương sau.Kiến trúc SDN rất linh hoạt, nó có thể hoạt động với các loại thiết bị chuyểnmạch và các giao thức khác nhau. Trong kiến trúc SDN, thiết bị chuyển mạch thựchiện các chức năng sau: Đóng gói và chuyển tiếp các gói tin đầu tiên đến bộ điều khiển SDN để bộ điềnkhiển SDN quyết định các flow-entry sẽ được thêm vào flow table của switch. Chuyển tiếp các gói tin đến các cổng thích hợp dựa trên flow table. Flow table có thể bao gồm các thông tin ưu tiên được quyết định bởi bộ điềukhiển SDN. Switch có thể hủy các gói tin trên một luồng riêng một cách tạm thời hoặc vĩnhviễn nhưng dưới sự cho phép của bộ điều khiển.Nói một cách đơn giản, bộ điều khiều khiển SDN quản lý các trạng thái chuyểntiếp của các switch trong mạng SDN. Việc quản lý này được thực hiện thông qua mộtbộ giao diện mở API, nó cho phép bộ điều khiển SDN có thể giải quyết các yêu cầuhoạt động mà không cần thay đổi bất kỳ các khía cạnh cấp dưới của mạng, bao gồm cảmô hình mạng.Với sự tách rời miền điều khiển và miền dữ liệu, SDN cho phép các ứng dụngđược triển khai một cách dễ dàng mà không cần quan tâm chi tiết đến việc hoạt độngcủa các thiết bị mạng1.4ƯU NHƯỢC ĐIỂM CỦA SDN SO VỚI MẠNG IPĐã có rất nhiều cuộc tranh luận nổ ra để bàn về vấn đề mạng IP và mạng SDNloại nào tốt hơn. Mặc dù cả hai đều có những ưu nhược điểm riêng nhưng với nhữngthuộc tính quan trọng như thân thiện với người sử dụng, chi phí và độ phức tạp mạnggiảm thì người ta cho rằng mạng SDN phù hợp hơn so với mạng IP. Và bởi vì thế màngày nay một số lượng ngày càng tăng của các nhà khai thác mạng đang lựa chọnSDN nhiều hơn. Một số ưu điểm của SDN như sau: Dựa vào SDN các nhà quản trị có thể có quyền kiểm soát mạng một cách đơngiản và hiệu quả mà không cần có quyền truy cập trực tiếp đến phần cứng. Thêm vào đó SDN cung cấp một cơ chế điều khiển duy nhất đối với cơ sở hạtầng mạng và giảm bớt sự phức tạp của các quá trình xử lý thông qua sự tự động hóa.Điều đó rất có lợi đối với các nhà mạng để có thể quản lý các thay đổi của mạng theothời gian thực. Thời gian thực ở đây có nghĩa là các nhà mạng có thể đáp ứng một cáchnhanh chóng các yêu cầu của mạng một cách nhanh chóng và tự động. Các nhà quảntrị còn có thể điều khiển việc thay đổi cần thiết đúng thời điểm ở bất cứ nơi đâu. ViệcVương Văn Tĩnh – D13VT88Đồ án tốt nghiệpChương 1: Tổng quan về SDNtruy cập từ xa và thay đổi mạng có thể được thực hiện bởi hệ thống truy cập dựa trênvai trò của người quản trị (Role based access system là một hệ thống cho phép ngườidùng cá nhân dựa trên một vài trò xác định trong doanh nghiệp để có thể thực hiện cácthay đổi của mạng). Hệ thống truy cập này được cung cấp các giải pháp bảo mật để cóthể loại bỏ sự tấn công của các tin tặc vào mạng. Đối với mạng IP, việc truy cập vàthay đổi từ xa lại không thể thực hiện được. Nhà quản trị phải có quyền truy cập vàchỉnh sửa cấu hình bằng tay để thực hiện bất kỳ sự thay đổi chính sách nào trên mạng.Việc thay đổi một chính sách mạng dẫn đến việc tác động trực tiếp đến phần cứng đólàm cho hệ thống mạng trở nên cứng nhắc. SDN cho phép sử dụng không hạn chế và có thể thay đổi các chính sách mạngđể phát hiện sự xâm nhập, tường lửa và tạo sự cân bằng với sự thay đổi của phần mềm.Điều đó làm cho sự quản lý mạng trở nên linh hoạt hơn. Mạng SDN có khả năng phân tách phần điều khiển và phần dữ liệu, với khảnăng đó cho phép người quản trị có thể tương tác và thay đổi các luồng dữ liệu, đảmbảo các gói dữ liệu không phải xếp hàng đợi và làm giảm hiệu suất mạng. Một lợi thếquan trọng hơn nữa của mạng SDN là chi phí dành cho nó rất thấp. Nó rẻ hơn so vớimạng IP bởi vì nó không yêu cầu nhiều người làm việc trên nó và các công ty đều cóthể cắt hết chi phí của các kỹ sư hệ thống và chỉ cần một vài quản trị viên hệ thống làđủ.Bên cạnh những ưu điểm đó thì SDN cũng còn tồn tại một số nhược điểm sovới mạng IP. Vấn đề đầu tiên là bảo mật, nếu tin tặc có thể tấn công vào hệ thống thì chúngcó thể truy cập các thiết lập và thay đổi chúng bất cứ ở nơi đâu, tại thời điểm nào. Vàchúng có thể truy cập bất kỳ tập tin được mã hóa nào miễn là nó ở trong mạng. Đốivới mạng IP thì điều này không thẻ xảy ra bởi để có thể truy cập vào mạng ta phải cóquyền truy cập vào phần cứng của nó. Hầu hết các công ty chỉ cho phép một số cánhân được quyền đó bởi vậy hệ thống sẽ an toàn và ít có khả năng bị truy cập bởi cáctin tặc. Thứ hai đó là quá trình triển khai SDN không thể hoàn thiện trong chốc lát mànó phải theo từng bước một. Chúng ta không thể một lúc thay thế toàn bộ các thiết bịhiện có thành OpenFlow switch được bởi vì điều đó rất tốn kém. Thứ ba, SDN là một kiến trúc mạng kiểu mới, các giao thức tương tác giữa cáccontroller với nhau còn chưa được phát triển toàn diện nên việc phát triển mạng SDNtrên phạm vi toàn cầu vẫn đang còn hạn chế.Nói tóm lại SDN có một số ưu điểm đáng chú ý sau: Có các giao diện mở, không phụ thuộc nhà sản xuất. Trừu tượng hóa mặt bằng điều khiển cho phép áp dụng nhanh chóng các đổimới. Giảm tính phức tạp nhờ tự động hóa.Vương Văn Tĩnh – D13VT89Đồ án tốt nghiệpChương 1: Tổng quan về SDN Nâng cao độ tin cậy và bảo mật cho mạng. Kiểm soát và điều khiển chi tiết hơn. Giảm CAPEX và OPEX.1.5KẾT LUẬN CHƯƠNGVớ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àngtă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độ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ênlinh 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 caokiến trúc SDN đang trên đường để trở thành một tiêu chuẩn mới cho các mạng.Vương Văn Tĩnh – D13VT810Đồ án tốt nghiệpChương 2: Mặt bằng dữ liệu SDN và OpenFlowCHƯƠNG 2: MẶT BẰNG DỮ LIỆU SDN VÀ OPENFLOW2.1MẶT BẰNG DỮ LIỆU SDNMặt bằng dữ liệu SDN (SDN data plane) được gọi là lớp tài nguyên trong ITUT Y.3300 và cũng thường được gọi là lớp cơ sở hạ tầng, là nơi mà các thiết bị chuyểntiếp mạng thực hiện việc vận chuyển và xử lý dữ liệu theo các quyết định của bộ điềukhiển SDN. Đặc điểm quan trọng của các thiết bị mạng trong mạng SDN là các thiết bịnày thực hiện chức năng chuyển tiếp đơn giản mà không cần phần mềm nhúng để đưara các quyết định tự quản.2.1.1 Chức năng của mặt bằng dữ liệuHình 2.1 mô tả các chức năng được thực hiện bởi các thiết bị mạng trong mặtbằng dữ liệu (còn được gọi là các thành phần mạng mặt bằng dữ liệu hoặc cácswitches). Các chức năng chính của thiết bị mạng bao gồm:Hình 2.1 Mặt bằng dữ liệu của thiết bị mạngChức năng hỗ trợ điều khiển: Tương tác với lớp điều khiển SDN để hỗ trợ khảnăng lập trình thông qua các giao diện kiểm soát tài nguyên. Switch giao tiếp với bộđiều khiển và bộ điều khiển quản lý switch thông qua giao thức chuyển đổi OpenFlow.Chức năng chuyển tiếp dữ liệu: Chấp nhận luồng dữ liệu đến từ các thiết bị mạngvà hệ thống đầu cuối, chuyển tiếp chúng dọc theo các đường chuyển tiếp dữ liệu đãđược tính toán và thiết lập theo các quy tắc được xác định bởi các ứng dụng SDN.Những quy tắc chuyển tiếp này được sử dụng bởi thiết bị mạng và được thể hiệntrong các bảng chuyển tiếp. Bảng này cho biết loại gói tin, các bước truyền kế tiếptrong tuyến đường đó là gì. Ngoài việc chuyển tiếp đơn giản một gói tin, thiết bị mạngcó thể thay đổi tiêu đề gói tin trước khi chuyển tiếp, hoặc hủy bỏ gói tin. Như trongVương Văn Tĩnh – D13VT811Đồ án tốt nghiệpChương 2: Mặt bằng dữ liệu SDN và OpenFlowhình vẽ, các gói dữ liệu đến có thể được đặt trong một hàng đợi đầu vào, đang chờ xửlý bởi thiết bị mạng và các gói tin chuyển tiếp thường được đặt trong một hàng đợi đầura, đang chờ để truyền đi.Thiết bị mạng được trình bày trong hình 2.1 gồm ba cổng I/O: một cổng cung cấpkết nối điều khiển với bộ điều khiển SDN, và hai cổng cho đầu vào và đầu ra của cácgói dữ liệu. Đây là một ví dụ đơn giản. Thiết bị mạng có thể có nhiều cổng để giao tiếpvới nhiều bộ điều khiển SDN, và có thể có nhiều hơn hai cổng I/O cho các luồng góitin vào và ra trên thiết bị.2.1.2 Các giao thức trong mặt bằng dữ liệuHình 2.1 cho thấy các giao thức được hỗ trợ bởi thiết bị mạng. Luồng dữ liệu góibao gồm luồng các gói tin IP. Luồng này quan trọng đối với bảng chuyển tiếp trongviệc xác định các mục dựa trên các trường trong các tiêu đề giao thức cấp trên, chẳnghạn như TCP, UDP, hoặc một số giao thức truyền tải và ứng dụng khác. Thiết bị mạngkiểm tra tiêu đề IP và có thể xem xét thêm các tiêu đề khác trong mỗi gói sau đó đưara quyết định chuyển tiếp.Một luồng lưu lượng quan trọng khác là thông qua giao diện lập trình ứng dụng(API), bao gồm các đơn vị dữ liệu giao thức OpenFlow (PDU).2.2 THIẾT BỊ MẠNG OPENFLOWKhái niệm SDN đặt ra 2 vấn đề khi triển khai thực tế:- Cần phần có một kiến trúc logic chung cho tất cả các switch, router và các thiếtbị mạng khác được quản lý bởi bộ điều khiển SDN. Kiến trúc này có thể được triểnkhai bằng nhiều cách khác nhau trên các thiết bị của các nhà cung cấp khác nhau vàphụ thuộc vào nhiều loại thiết bị mạng, miễn là bộ điều khiển SDN thấy được chứcnăng chuyển mạch thống nhất.- Một giao thức chuẩn, bảo mật để giao tiếp giữa bộ điều khiển SDN và các thiếtbị mạng.OpenFlow được đưa ra để giải quyết cả hai vấn để đó. Đây là một giao thức giữabộ điều khiển SDN và các thiết bị mạng. OpenFlow được định nghĩa trong OpenFlowSwitch Specification, xuất bản bởi Open Networking Foundation (ONF).Hình 2.2 chỉ ra các thành phần chính của môi trường OpenFlow, bao gồm bộ điềukhiển SDN vận hành phần mềm OpenFlow, chuyển mạch OpenFlow, và các hệ thốngđầu cuối.Vương Văn Tĩnh – D13VT812Đồ án tốt nghiệpChương 2: Mặt bằng dữ liệu SDN và OpenFlowHình 2.2 Môi trường OpenFlowHình 2.3 trình bày các thành phần chính của một OpenFlow switch. Bộ điềukhiển SDN giao tiếp với các chuyển mạch OpenFlow tương thích, sử dụng giao thứcOpenFlow chạy qua TLS (Transport Layer Security). Mỗi switch kết nối với cácchuyển mạch OpenFlow khác và với các thiết bị đầu cuối người dùng, là các nguồn vàđích đến của luồng gói tin. Giao diện giữa OpenFlow switch và bộ điều khiển SDNđược gọi là một kênh OpenFlow (OpenFlow channel), được sử dụng bởi bộ điều khiểnđể quản lý switch. Thông qua giao diện này bộ điều khiển sẽ cấu hình và quản lýswitch, nhận các sự kiện từ switch và gửi các gói tin đến switch. Các kết nối này thôngqua cổng OpenFlow (OpenFlow port). Trong OpenFlow định nghĩa ba loại cổng:Vương Văn Tĩnh – D13VT813Đồ án tốt nghiệpChương 2: Mặt bằng dữ liệu SDN và OpenFlowHình 2.3 OpenFlow switch- Cổng vật lý: Tương ứng với một giao diện phần cứng của switch. Ví dụ, trênmột switch Ethernet, các cổng vật lý ánh xạ 1-1 với các giao diện Ethernet.- Cổng logic: Không tương ứng trực tiếp với một giao diện phần cứng của switch.Các cổng logic trừu tượng hóa mức cao hơn có thể được định nghĩa trong switch sửdụng các phương thức non-OpenFlow (ví dụ các nhóm kết hợp đường dẫn, đườnghầm, các giao diện loopback). Sự khác biệt duy nhất giữa các cổng vật lý và các cổnglogic là gói tin được liên kết với cổng logic có thể có một trường đường dẫn phụ đượcgọi là Tunnel-ID liên kết với nó. Khi một gói tin nhận được trên cổng logic được gửitới bộ điều khiển thì cả thông số cổng logic và gói tin được báo cáo tới bộ điều khiển.- Cổng riêng: Được định nghĩa bởi đặc tả của OpenFlow. Nó chỉ định các thaotác chuyển tiếp chung như gửi và nhận từ bộ điều khiển, chuyển tiếp sử dụng cácphương thức non-OpenFlow, chẳng hạn như xử lý chuyển tiếp "NORMAL".Khái niệm “flow” không được định nghĩa trong đặc tả của OpenFlow (OpenFlowSpecification). Hiểu một cách đơn giản, một flow là một chuỗi các gói tin đi qua mộtmạng mà có chung một tập các giá trị trường header. Ví dụ, một flow có thể bao gồmtất cả các gói tin với cùng địa chỉ nguồn và địa chỉ đích, hoặc tất cả các gói tin có cùngVLAN id. Trong mỗi switch, một loạt các bảng flow (flow table) được sử dụng đểquản lý luồng gói tin đến switch.Đặc tả của OpenFlow định nghĩa ba loại bảng trong kiến trúc logic của switch.- Một low table sẽ ghép các gói tin đến vào một flow cụ thể và chỉ định các chứcnăng sẽ được thực hiện trên các gói tin đó. Có thể có nhiều flow table vận hành trongmột đường dẫn (pipeline).Vương Văn Tĩnh – D13VT814Đồ án tốt nghiệpChương 2: Mặt bằng dữ liệu SDN và OpenFlow- Một flow table có thể chuyển một luồng vào một Group Table, tại đó có thểkích hoạt cùng một lúc nhiều hành động ảnh hưởng tới một hoặc nhiều flow.- Một Meter Table có thể kích hoạt nhiều hành động liên quan tới hiệu năng trênmột flow.2.2.1 Cấu trúc flow tableKhối cơ bản trong kiến trúc logic của switch là flow table. Mỗi gói tin đi vào mộtswitch đi qua một trong nhiều flow table. Mỗi flow table bao gồm một tập các flowentry. Mỗi entry này bao gồm bảy thành phần, được định nghĩa trong danh sách sauHình 2.4 Định dạng của một OpenFlow table entry Match fields: Sử dụng để chọn các gói tin phù hợp với các giá trị trong các trường.- Ingress port: Định danh của cổng trên switch nơi gói tin đến. Đây có thể là mộtcổng vật lý hoặc một cổng ảo. Cần thiết trong các bảng vào.- Egress port: Định danh của cổng ra. Cần thiết trong các bảng ra.- Ethernet source and destination addresses: Mỗi mục có thể là một địa chỉ chínhxác, một giá trị bitmasked cho một số bit địa chỉ được kiểm tra, hoặc một giá trị ký tựđại diện.- Ethernet type field: Cho biết loại tải tin Ethernet.- IP: Phiên bản 4 hoặc 6.- IPv4 or IPv6 source address, and destination address: Mỗi mục có thể là một địachỉ chính xác, một giá trị bitmasked, một giá trị subnet mask hoặc một giá trị ký tự đạidiện.- TCP source and destination ports: Giá trị ký tự đại diện.- UDP source and destination ports: Giá trị ký tự đại diện. Priority: Giá trị ưu tiên cho các gói tin của bảng. Đây là một trường bao gồm 16bit, trong đó 0 tương ứng với mức ưu tiên thấp nhất. Về nguyên tắc, có thể có65536 mức độ ưu tiên.Vương Văn Tĩnh – D13VT815Đồ án tốt nghiệpChương 2: Mặt bằng dữ liệu SDN và OpenFlow Counters: Đếm số các gói tin hợp lệ. Instructions: Chỉnh sửa tập các hành động hay xử lý đường dẫn lệnh. Timeouts: Thời gian chờ tối đa trước khi luồng hết hạn bởi switch. Mỗi flow-entrycó một idle_timeout và một hard_timeoutnonzer liên kết đến nó. Một trườnghard_timeout khác 0 làm cho flow-entry bị gỡ bỏ sau một số thời gian nhất định,bất kể có bao nhiêu gói dữ liệu đã được kết hợp. Một trường idle_timeout khác 0làm cho flow-entry bị gỡ bỏ khi nó không khớp được với các gói trong một thờigian nhất định. Cookie: giá trị dữ liệu 64bit được chọn bởi bộ điều khiển. Có thể được sử dụng bởibộ điều khiển để lọc thống kê lưu lượng, điều chỉnh luồng và xóa luồng, khôngđược sử dụng khi xử lý các gói. Flags: Cờ thay đổi cách flow-entry được quản lý. Ví dụ: cờOFPFF_SEND_FLOW_REM kích hoạt luồng đã xóa các thông điệp cho flowentry đó.Do đó, OpenFlow có thể được sử dụng với lưu lượng mạng liên quan đến nhiềugiao thức và dịch vụ mạng. Lưu ý rằng ở lớp MAC, chỉ Ethernet được hỗ trợ. Vì vậy,OpenFlow như hiện tại được xác định không thể kiểm soát lưu lượng lớp 2 qua mạngkhông dây.2.2.2 Thành phần chỉ thịCác thành phần chỉ thị của một bảng đầu vào bao gồm một tập các chỉ thị đượcthực hiện nếu gói tin được so khớp với entry. Trước khi mô tả các loại chỉ thị, chúng tacần phải xác định thuật ngữ hành động (action) và tập hành động (action set). Cácaction mô tả sự chuyển tiếp gói, sửa đổi gói tin, và các hoạt động xử lý bảngnhóm. Đặc tả của OpenFlow bao gồm các action sau:- Output: Chuyển tiếp gói tin đến cổng được chỉ định. Cổng có thể là một cổngđầu ra cho một switch khác hoặc cổng tới bộ điều khiển. Trong trường hợp thứ hai, góitin được đóng gói trong một bản tin đến bộ điều khiển.- Set-Queue: Thiết lập ID hàng đợi cho một gói. Khi gói tin được chuyển tiếp đếnmột cổng sử dụng hành động Output, ID hàng đợi xác định hàng đợi nào được gắn vàocổng này được sử dụng để lên kế hoạch và chuyển tiếp gói tin. Hành vi chuyển tiếpđược đưa ra bởi cấu hình của hàng đợi và được sử dụng để cung cấp hỗ trợ QoS cơbản.- Group: Xử lý gói tin qua nhóm được chỉ định.- Push-Tag/Pop-Tag: Đẩy hoặc bật một trường tag cho một gói VLAN hoặc góiMPLS.- Set-Field: Các Set-Field actions khác nhau được xác định bởi loại trường củachúng và thay đổi các giá trị của các trường tiêu đề tương ứng trong gói.- Change-TTL: Các Change-TTL actions khác nhau sẽ thay đổi các giá trị củaIPv4 Time To Live (TTL), IPv6 Hop Limit hoặc MPLS TTL trong gói tin.Vương Văn Tĩnh – D13VT816Đồ án tốt nghiệpChương 2: Mặt bằng dữ liệu SDN và OpenFlow- Drop: Các gói tin không có action rõ ràng sẽ được loại bỏ.Một action set là một danh sách các hành động liên quan đến một gói được tíchtrữ trong khi gói tin được xử lý bởi mỗi bảng và được thực hiện khi gói tin thoát khỏiđường dẫn xử lý.Các chỉ thị có thể được phân thành bốn loại:- Hướng gói thông qua đường dẫn: Chỉ thị Goto-Table hướng gói tin đến mộtbảng xa hơn trong đường dẫn. Chỉ thị Meter hướng gói tin đến một bộ đếm cụ thể.- Thực hiện action trên gói: Các action có thể được thực hiện trên các gói tin khinó được kết hợp với một table entry. Lệnh Apply-Actions áp dụng các hành động đượcchỉ định ngay lập tức mà không có bất kỳ sự thay đổi nào đối với tập hành động liênkết đến gói này. Chỉ thị này có thể được sử dụng để sửa đổi gói tin giữa hai bảng trongđường dẫn.- Cập nhật action set: Lệnh Write-Actions kết hợp các hành động được chỉ địnhvào tập hành động hiện tại cho gói này. Chỉ thị Clear-Actions sẽ xóa tất cả các hànhđộng trong tập hành động.- Cập nhật siêu dữ liệu (metadata): Một giá trị siêu dữ liệu có thể được liên kếtvới một gói. Nó được sử dụng để mang thông tin từ một bảng này sang bảng khác.Lệnh Write-Metadata cập nhật một giá trị siêu dữ liệu hiện có hoặc tạo một giá trị mới.2.2.3 Đường dẫn bảng luồngSwitch bao gồm một hoặc nhiều flow table. Nếu có nhiều hơn một flow table,chúng được sẽ được tổ chức dưới dạng một đường dẫn.Việc sử dụng nhiều bảng trongmột đường dẫn thay vì một flow table đơn sẽ cung cấp bộ điều khiển SDN một sự linhhoạt đáng kể.Đặc tả của OpenFlow định nghĩa hai giai đoạn xử lý:- Xử lý đầu vào: Bắt đầu với table 0, sử dụng định danh của cổng đầu vào. Table0 có thể là bảng duy nhất trong trường hợp xử lý đầu vào được đơn giản hóa để thựchiện trên bảng đơn đó và không có xử lý đầu ra.- Xử lý đầu ra: Là quá trình xử lý xảy ra sau khi xác định cổng đầu ra. Nếu nóxảy ra, nó có thể liên quan đến một hoặc nhiều bảng. Việc tách hai giai đoạn được biểuthị bằng số nhận dạng số của bảng thoát đầu tiên. Tất cả các bảng với một số thấp hơnso với bảng ra đầu tiên phải được sử dụng như các bảng nhập, và không có bảng vớimột số cao hơn hoặc bằng với bảng ra đầu tiên có thể được sử dụng như một bảng vào.Khi một gói tin được chỉ định cho một bảng để kết hợp, đầu vào bao gồm gói tin,định danh cổng nhập, giá trị siêu dữ liệu được liên kết và tập hành động được liên kết.Đối với Table 0, giá trị metadata là trống và action set là null. Tại mỗi bảng, quá trìnhxử lý diễn ra như sau (hình 2.5):Vương Văn Tĩnh – D13VT817Đồ án tốt nghiệpChương 2: Mặt bằng dữ liệu SDN và OpenFlowHình 2.5 Sơ đồ khối của luồng gói tin khi qua một OpenFlow SwitchTrường hợp 1: Nếu có sự so sánh trùng trên một hoặc nhiều entry và khác với vớitable-miss entry thì việc ghép nối được thực hiện với entry trùng có mức ưu tiên caonhất. Sau đó các bước sau có thể được thực hiện:a. Cập nhật bất kỳ counters nào liên kết đến entry này.Vương Văn Tĩnh – D13VT818Đồ án tốt nghiệpChương 2: Mặt bằng dữ liệu SDN và OpenFlowb. Thực hiện bất kỳ chỉ thị nào liên kết đến entry này. Điều này có thể bao gồmviệc cập nhật action set, cập nhật giá trị metadata và thực hiện các hành động.c. Gói này sau đó được chuyển tiếp tới một flow table kế tiếp dưới đường dẫn, tớigroup table, meter table, hoặc hướng đến một cổng đầu ra.Trường hợp 2: Nếu chỉ có sự so khớp trên một table-miss entry thì entry đó sẽ chỉđịnh một trong ba hành động:a. Gửi gói tin đến bộ điều khiển. Điều này sẽ cho phép bộ điều khiển xác định mộtflow mới cho gói này và các gói tương tự nó, hoặc quyết định hủy gói tin.b. Hướng gói tin đến một flow table khác nằm dưới đường dẫn.c. Xóa bỏ gói tin.Trường hợp 3: Nếu không có bất kỳ entry nào trùng và không có table-missentry, gói tin sẽ được xóa bỏ.Đối với bảng cuối cùng trong đường dẫn sẽ không có lựa chọn chuyển tiếp đến mộtflow table nào khác. Khi gói cuối cùng được đưa đến cổng ra, tập action set tích lũy sẽđược thực hiện và gói tin nằm trong hàng đợi để chờ xuất ra. Hình 2.6 minh hoạ quátrình xử lý đường dẫn lối vào.Hình 2.6 Luồng gói tin qua một OpenFlow switch (xử lý đầu vào)Vương Văn Tĩnh – D13VT819Đồ án tốt nghiệpChương 2: Mặt bằng dữ liệu SDN và OpenFlowNếu quá trình xử lý đầu ra được liên kết với một cổng ra cụ thể thì sau khi mộtgói hướng đến một cổng đầu ra, gói tin được chuyển đến flow table đầu tiên củađường dẫn. Quá trình xử lý đường dẫn lối ra tiến hành theo cách tương tự như xử lý tạiđầu vào, trừ việc không có quá trình xử lý group table ở cuối đường dẫn. Quá trình xửlý lối ra thể hiện trong hình 2.7.Hình 2.7 Luồng gói tin qua một OpenFlow switch (xử lý đầu ra)2.2.4 Sử dụng nhiều bảngViệc sử dụng nhiều bảng cho phép sự lồng ghép vào nhau giữa các flows, hay nóicách khác là sự phân chia từ một flow đơn ra các luồng con (subflows) song song.Hình 2.8 minh họa thuộc tính này. Trong ví dụ này, một entry trong Table 0 xác địnhmột luồng bao gồm các gói đi qua mạng từ một địa chỉ IP nguồn cụ thể đến một địachỉ IP đích cụ thể. Khi một tuyến có cost thấp nhất giữa hai điểm cuối này được thiếtlập, nó có thể hướng tất cả lưu lượng giữa hai điểm cuối này theo tuyến đó. Khi đónext hop trên tuyến đó được nhập vào Table 0. Trong Table 1, các entry riêng choluồng được xác định cho các giao thức lớp giao vận khác nhau, chẳng hạn như TCP vàUDP. Đối với các luồng con có cổng đầu ra như nhau có thể được giữ lại sao cho toànbộ các subflows đều theo cùng một tuyến. Tuy nhiên, TCP bao gồm các cơ chế kiểmsoát tắc nghẽn phức tạp mà UDP không có, do đó phải xử lý phù hợp các TCP và UDPsubflows khác nhau về các thông số liên quan đến chất lượng dịch vụ (QoS). Bất kỳentry nào của Table 1 cũng có thể ngay lập tức định tuyến subflow tương ứng đếncổng đầu ra, nhưng một số hoặc tất cả các entry có thể dẫn ra Table 2, tiếp tục phânchia từng subflows. Hình vẽ cho thấy rằng subflow TCP có thể được chia trên cơ sởVương Văn Tĩnh – D13VT820Đồ án tốt nghiệpChương 2: Mặt bằng dữ liệu SDN và OpenFlowgiao thức chạy trên nền TCP, chẳng hạn như giao thức SMTP hoặc FTP. Tương tự,luồng UDP có thể được chia nhỏ dựa trên các giao thức chạy trên UDP, chẳng hạn nhưgiao thức SNMP. Hình vẽ cũng chỉ ra các subflow khác trong Table 1 và 2, tại đó cóthể được sử dụng cho các mục đích khác.Hình 2.9 Ví dụ về các flow lồng nhauViệc sử dụng nhiều bảng làm đơn giản hoá quá trình xử lý trong bộ điều khiểnSDN và chuyển mạch OpenFlow. Các actions như next hop áp dụng cho luồng tổng cóthể được định nghĩa một lần bởi bộ điều khiển và được kiểm tra và thực hiện một lầnbằng switch. Việc thêm vào các subflows mới ở bất kỳ cấp nào dẫn đến việc thiết lập íthơn. Do đó việc sử dụng đường dẫn, sử dụng nhiều bảng làm tăng tính hiệu quả trongvận hành mạng, cung cấp sự điều khiển chi tiết và cho phép mạng đáp ứng những thayđổi theo thời gian thực ở các mức ứng dụng, người dùng và phiên.2.3GIAO THỨC OPENFLOWGiao thức OpenFlow mô tả bản tin trao đổi giữa OpenFlow Controller và mộtOpenFlow switch. Giao thức này được triển khai trên Secure Socket Layer (SSL) hoặcTransport Layer Security (TLS), cung cấp kênh OpenFlow bảo mật. Giao thứcOpenFlow cho phép bộ điều khiển thực hiện các thao tác bổ sung, cập nhật và xóa cáchành động vào các flow-entry trong các flow tables. Nó hỗ trợ 3 loại bản tin: bộ điềukhiển-bộ chuyển mạch (Controller to Switch), giao tiếp bất đồng bộ (Asynchronous)và đối xứng (Symmetic):Giao tiếp Controller to Switch: được tạo bởi Controller và sử dụng để trực tiếpquản lý và kiểm tra trạng thái của bộ chuyển mạch OpenFlow, có thể không đòihỏi sự phản hồi từ bộ chuyển mạch, bao gồm các bản tin:- Bản tin Features: Khi Transport Layer Security (TLS) được thành lập, bộ điềukhiển sẽ gửi tin nhắn này đến bộ chuyển mạch và bộ chuyển mạch phải gửi phản hồixác định khả năng hỗ trợ của nó tới bộ điều khiển.- Bản tin Configuaration: Bộ điều khiển có khả năng thiếp lập và cấu hình cáctham số của bộ chuyển mạch và bộ chuyển mạch phải sẽ phản hồi truy vấn từ bộ điềukhiển.- Bản tin Modify-State: Thông điệp này nhằm quản lý trạng thái của bộ chuyểnmạch, thêm hoặc xóa các bản ghi trong bảng phân luồng.Vương Văn Tĩnh – D13VT821

Tài liệu liên quan

  • Tìm hiểu về kiến trúc Hà Nội Tìm hiểu về kiến trúc Hà Nội
    • 12
    • 647
    • 0
  • Tài liệu Giáo án: Tìm hiểu về cần trục doc Tài liệu Giáo án: Tìm hiểu về cần trục doc
    • 44
    • 1
    • 4
  • Tài liệu Luận văn Tìm hiểu về cấu trúc văn bản quảng cáo phát thanh – Khảo sát các quảng cáo trên kênh VOV Giao thông 91 Mhz từ 01/11/2012 đến 30/11/2012 doc Tài liệu Luận văn Tìm hiểu về cấu trúc văn bản quảng cáo phát thanh – Khảo sát các quảng cáo trên kênh VOV Giao thông 91 Mhz từ 01/11/2012 đến 30/11/2012 doc
    • 71
    • 1
    • 6
  • tìm hiểu về cấu trúc, tính chất, chức năng và ứng dụng của alginate tìm hiểu về cấu trúc, tính chất, chức năng và ứng dụng của alginate
    • 26
    • 4
    • 10
  • Đề tài: Tìm hiểu về cấu trúc, tính chất, chức năng và ứng dụng của Alginate pdf Đề tài: Tìm hiểu về cấu trúc, tính chất, chức năng và ứng dụng của Alginate pdf
    • 26
    • 1
    • 6
  • Tìm hiểu về kiến trúc USB Tìm hiểu về kiến trúc USB
    • 54
    • 504
    • 0
  • slide tìm hiểu về cấu trúc và chức năng của bộ vi xử lý trong máy tính slide tìm hiểu về cấu trúc và chức năng của bộ vi xử lý trong máy tính
    • 63
    • 3
    • 3
  • tìm hiểu về cấu trúc, tính chất, chức năng và ứng dụng của lecithin tìm hiểu về cấu trúc, tính chất, chức năng và ứng dụng của lecithin
    • 16
    • 5
    • 6
  • Tìm hiểu về cấu trúc phần cứng và phần mềm khai thác BSC của viettel Tìm hiểu về cấu trúc phần cứng và phần mềm khai thác BSC của viettel
    • 44
    • 1
    • 0
  • TÌM HIỂU về MARKETING TRỰC TIẾP TÌM HIỂU về MARKETING TRỰC TIẾP
    • 23
    • 366
    • 0

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

(1.73 MB - 46 trang) - Tìm hiểu về kiến trúc SDN Tải bản đầy đủ ngay ×

Từ khóa » Tìm Hiểu Về Sdn