Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Software defined networking

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Software defined networking

    SOFTWARE DEFINED NETWORKING


    SDN (Software Defined Networking) là một trong những công nghệ gây ấn tượng và được nhiềusự chú ý khoản thời gian gần đây trong lĩnh vực IT. Cùng với sự phát triển mạnh mẽ, SDN ngày càng được biết đến. Với sự ra đời của SDN, chắc hẵn chúng ta đã từng nghe đến sẽ có sự thay đổi về vị trí kỹ sư mạng trong doanh nghiệp hoặc tổ chức thay vào đó là các lập trình viên sử dụng các ngôn ngữ lập trình như C/C++, Java, hoặc Python …

    Vậy “SDN là gì?”, “vì lý do gì mà nó được nhiều người biết đến?”, “tại sao nó lại tạo ra cảm giác lo lắng cho các kỹ sư mạng khi không tìm hiểu đến nó?” để trả lời cho những câu hỏi này chúng ta sẽ cùng tìm hiểu về kiến trúc và cách thức hoạt động của SDN dưới đây.

    Click image for larger version

Name:	SOFTWARE DEFINED NETWORKING_01.jpg
Views:	445
Size:	308.9 KB
ID:	424534


    1. SƠ LƯỢT VỀ KIẾN TRÚC MẠNG TRUYỀN THỐNG

    1.1. Kiến trúc mạng truyền thống

    Trước khi tìm hiểu về SDN chúng ta cùng nhìn lại mô hình mạng truyền thống đang được sử dụng.

    Với mô hình mạng truyền thống, systems administration hay còn gọi là quản trị viên thường đóng vai trò quan trọng và thiết yếu trong việc duy trì hoạt động của hệ thống. Với mô hình mạng truyền thống, hệ thống mạng được hình thành từ các thiết bị switch, router, fire wall… mỗi thiết bị đảm nhiệm một vai trò trong hệ thống. Các thiết bị mạng này được sản xuất bởi các hãng thiết bị như cisco, juniper và thường là những thiết bị với các giao thức mạng độc quyền, điều này làm cho việc sửa đổi và bổ sung các tính năng mới cho thiết bị sẽ gặp rất nhiều hạn chế. Hầu hết các thiết bị hiện nay đều được cấu hình thông qua CLI (command line interface) hoặc GUI (Graphical User Interaction) của CCP (Cisco Configuration Protocol) khi cấu hình trên Cisco ASA firewalls.

    Với mô hình mạng truyền thống, bộ chuyển mạch (switch) và bộ định tuyến (router) cần làm các công việc sau để chuyển tiếp một gói tin IP:
    • Switch sẽ kiểm tra bảng MAC address để có thể tìm ra được điểm chuyển tiếp theo và thay đổi địa chỉ MAC cho Ethernet outline. Nếu địa chỉ đích chưa có trong bảng MAC, switch sẽ gửi gói ARP để tìm địa chỉ MAC đích.
    • Router sẽ kiểm tra địa chỉ IP đích trong bảng định tuyến để tìm đường đi chính xác.
    • Các giao thức định tuyến lớp 3 như OSPF, EIGRP, hoặc BGP phải được hình thành trên các thiết bị router để thiết lập đường đi ở lớp 3
    • TTL (Time to Live) trong IP header phải giảm đi một khi đi qua một node lớp 3 ngay sau đó IP header checksum sẽ được điều chỉnh
    • Cuối cùng Ethernet outline checksum sẽ được tính toán lại.
    1.2. Networking Planes

    Với mô hình mạng truyền thống chúng ta có thể chia ra thành 3 mặt phẳng mạng là:
    • Control plane
    • Data plane
    • Management plane
    1.2.1. Control Plane

    Control plane chịu trách nhiệm cho việc chuyển đổi qua lại về dữ liệu, xây dựng bảng ARP… Dưới đây là một số công việc được thực hiện bởi control plane:
    • Học địa chị MAC để hoàn thiện bảng MAC address.
    • Chạy giao thức STP để ngăn chặn vòng lặp trong mạng.
    • Xây dựng bảng ARP
    • Chạy các giao thức như OSPF, EIGRP, BGP và xây dựng bảng định tuyến đường đi cho sơ đồ mạng.

    1.2.2 Data plane

    Data plane chịu trách nhiệm về việc chuyển tiếp lưu lượng dữ liệu còn được gọi là forwarding plane, Data plane nhận các gói tin từ một cổng của switch và gửi chúng ra một cổng khác. Data plane phụ thuộc vào dữ liệu ở control plane cung cấp. Dưới đây là một số công việc được thực hiện bởi data plane:
    • Mở và đóng gói dữ liệu (Encapsulate)
    • Thêm hoặc bỏ các tag ở header như 802.1Q header
    • Tìm địa chỉ MAC trong MAC address table để tìm đường đi chính xác
    • Tìm kiếm các địa chỉ IP đích trong bảng định tuyến
    • Thay đổi source IP và destination IP và một số đối tượng khác khi sử dụng NAT

    1.2.3. Management plane

    Management plane sử dụng cho việc truy cập, cấu hình, giám sát và kiểm soát các thiết bị như việc sử dụng telnet hoặc ssh để truy cập các thiết bị. Management place thường hoạt động trên cùng bộ sử lý với control plane.

    Tóm lại các công nghệ mạng truyền thống đang gặp vấn đề trong việc quản lý và vận hành. Việc quản trị riêng lẻ nhiều thiết bị có tốc độ khác nhau là bất khả thi, khi muốn thay đổi chính sách truy cập mạng hoặc xảy ra sự cố nào đó thì người quản trị viên phải thay đổi cho từng thiết bị bằng cách thủ công.

    Điều này dẫn đến nhu cầu một công nghệ quản trị tập trung :
    • [*=1]Chia công việc thành 2 phần là điều khiển và xử lý dữ liệu.
    • [*=1]Phần điều khiển có thể lập trình được để tự động hóa và đơn giản hóa việc quản trị.

    Từ đó cho ra đời khái niệm mạng định nghĩa được bằng phần mềm (Software-defined network) hay SDN.

    2. SDN (Software Defined Networking)

    Vào khoảng 10 năm trước, VMware đã thúc đẩy một sự đổi mới về ảo hóa về việc người dùng trao quyền cho hệ điều hành máy chủ (host OS) để giúp đỡ các khách hàng đang sử dụng hệ điều hành giải quyết một số vấn đề. Từ đó, hầu hết các tiến bộ của ảo hóa được hình thành dựa trên sự đổi mới này. Cho tới ngày nay, việc chuyển từ kỹ sư mạng thông thường thành các chuyên viên mạng sử dụng nền tảng ảo hóa trong các tổ chức ngày càng phổ biến.

    Hai kiến trúc quan trọng được tạo ra để ảo hóa mạng là:
    • [*=1]Software-Defined Networking (SDN): kiến trúc được tạo ra nhằm mục đích cho các hệ thống mạng trở nên linh hoạt hơn, cho phép người quản trị nhanh chóng đáp ứng các yêu cầu của tổ chức thông qua bộ điều khiển tập trung.
    • [*=1]Cisco Application Centric Infrastructure (ACI): là một giải pháp dựa trên kiến trúc SDN, cung cấp môi trường mạng có thể triển khai, giám sát và quản lý nhằm mang lại lợi ích lớn nhất cho nhiều lĩnh vực khác nhau.

    Với SDN, ở mặt phẳng điều khiển (control plane) được thêm một bộ điều khiển có tên gọi là SDN controller. Bằng việc loại bỏ mặt phẳng điều khiển (control plane) khỏi phần cứng của mạng và chuyển đổi thành phần mềm điều khiển lên bộ xử lý tập trung (SDN controller), SDN giúp người quản trị có thể quản lý hệ thống mạng một cách linh hoạt và dễ dàng hơn. Bộ điều khiển tập trung có thể là một thiết bị thức tế hoặc một máy áo đảm nhiệm chức năng điều khiển

    Click image for larger version

Name:	SOFTWARE DEFINED NETWORKING_02.jpg
Views:	406
Size:	154.0 KB
ID:	424535


    Click image for larger version

Name:	SOFTWARE DEFINED NETWORKING_03.jpg
Views:	407
Size:	29.7 KB
ID:	424537

    Hình 2.1: Kiến trúc SDN với bộ điều khiển tập trung

    Từ hình trên, chúng ta có thể thấy control plane trong kiến trúc mạng truyền thống được thay thế bằng SDN Controller. Như chúng ta đã biết control plane sẽ đảm nhiệm các nhiệm vụ các giao thức tìm đường, bảo mật của hệ thống mạng… với việc thay thế loại bỏ control plane thay vào đó là SDN controller mọi thông tin ở data plane của chúng ta sẽ được xử lý tập trung trên thiết bị SDN controller này, điều này đảm bảo tiêu chí xử lý tập trung và giảm thiểu rủi ro. Các thiết bị switch bây giờ chỉ còn chức năng chuyển tiếp dữ liệu, SDN controller sẽ đảm nhiệm các nhiệm vụ định tuyến, các giải pháp an toàn và cân bằng tải cho hệ thống mạng.

    Để các mặt phẳng trong mạng SDN có thể giao tiếp được với nhau, SDN sử dụng các giao diện lập trình ứng dụng (API): northbound interface (NBI) dùng để giao tiếp với các lớp ứng dụng và gọi API và southbound interface (SBI) để giao tiếp với với các lớp hạ tầng.

    Click image for larger version

Name:	SOFTWARE DEFINED NETWORKING_04.jpg
Views:	402
Size:	35.6 KB
ID:	424538

    Click image for larger version

Name:	SOFTWARE DEFINED NETWORKING_05.jpg
Views:	425
Size:	44.8 KB
ID:	424539

    Hình 2.2: Mô hình hoạt động của Southbound Interface và Northbound Interface

    2.1 Southbound Interface

    Kiến trúc mạng SDN cần có một cơ chế để giao tiếp thông tin giữa data plane và SDN controller, việc này được giải quyết bằng phương thức sử dụng Southbound interface. Southbound interface là một giao diện giúp bộ điều khiển có thể giao tiếp với các thiết bị mạng, southbound interface thường được sử dụng dưới dạng API (Application Programming Interface - giao diện lập trình ứng dụng). API là một phương thức trung gian kết nối các ứng dụng và các thư viện khác nhau.

    Một số southbound interface thường được nhắc đến là:

    OpenFlow: đây là southbound interface được sử dụng nhiều nhất hiện nay. Nó là một southbound inter-face với mã nguồn mở được tạo ra bởi tổ chức Open Networking Foundation. OpenFlow hoạt động theo cách đẩy những command xuống những thiết bị network đã bật giao thức OpenFlow.

    Cisco OpFlex: đây là một lời đáp trả của Cisco tới OpenFlow. Cisco OpFlex được sử dụng với mục đích tương tự như OpenFlow nhưng cơ chế hoạt động có sự đổi mới.

    CLI: được dùng cho các thiết bị chạy các giao thức Telnet / SSH, ngoài ra cisco còn phát triển thêm APIC-EM để sự dụng cho SNMP.

    2.2 Northbound Interface

    Northbound interface được sử dụng để truy cập và điểu chỉnh bộ điểu khiển trung tâm (SDN controller). Nó giúp người quản trị hệ thống có thể giám sát lưu lượng dữ liệu hoặc khôi phục lại dữ liệu đã bị mất. Điều này được thực hiện qua giao diện người dùng (GUI). Điều này củng xảy ra những trường hợp cho phép các ứng dụng có thể xâm nhập vào bộ điều khiển. Northbound interface giúp người điều hành và quản trị có thể giám sát và quản trị hệ thống một cách linh hoạt hơn. Một số đa tác vụ chúng ta có thể thực hiện ở northbound interface:
    • [*=1]Liệt kê, giám sát dữ liệu của tổ chức.
    • [*=1]Thêm, sửa, xóa một VLAN trên tất cả các thiết bị switch.
    • [*=1]Hiển thị sơ đồ hệ thống mạng của tổ chức.

    Tự động sắp xếp, cấp phát các địa chỉ IP, và lưu lại các hoạt động bất thường xảy ra. Chúng ta có thể hình dung hình dưới đây là cách thức mà Northbound interface hoạt động.

    Click image for larger version

Name:	SOFTWARE DEFINED NETWORKING_06.jpg
Views:	411
Size:	31.5 KB
ID:	424540

    Hình 2.3: Mô hình hoạt động của Northbound interface
    Thông qua việc sử dụng API chúng ta có thể sử dụng các ứng dụng khác nhau để điều chỉnh bộ quản lý tập trung làm việc một cách tối ưu nhất, có thể kể đến như:
    • Người quản trị có thể sử dụng giao diện (GUI) để khôi phục dữ liệu của tổ chức từ bộ điều khiển tập trung thông qua giao diện API.
    • Chúng ta có thể sử dụng các ngôn ngữ lập trình để thực hiện hàng loạt các đa tác vũ quản lý, cấu hình, giám sát các thiết bị mà không cần thực hiện riêng lẻ.
    • API củng có thể sử dụng thêm các ứng dụng nhằm mục đích phục vụ cho những việc giám sát, bảo mật khác.

    3. Kết luận
    Ngày nay SDN dần được sử dụng rộng rãi cùng với sự phát triển vượt bật về các nội dụng đa phương tiện, điện toán đám mây và việc vận hành kinh doanh liên tục nhằm giảm chi phí giá thành sẽ làm SDN càng bùng nổ trong tương lai.

    Với việc tạo ra các giao diện, triển khai quản lý tập trung thông qua các ứng dụng phầm mềm sử dụng API , tự động hóa hệ thống mạng giúp các doanh nghiệp có thể tiết kiệm một lượng lớn thời gian và nâng cao khả năng linh hoạt thì SDN sẽ cách mạng hóa hệ thống mạng truyền thống của chúng ta

    Nhật Tiến

    Click image for larger version

Name:	SOFTWARE DEFINED NETWORKING_07.jpg
Views:	408
Size:	178.5 KB
ID:	424541



    Attached Files
Working...
X