Thứ Hai, 8 tháng 7, 2013

Bandwidth Management - Quản lý băng thông

Ý niệm:
Để dễ hình dung về băng thông và cách vận hành quản lý nó, tui xin đưa ra một vài ý rất dễ tưởng tượng mà thường thấy quanh ta hàng ngày. Đó là giao thông đường bộ.
Với giao thông thì sẽ có những điểm sau:
  • Giao thông có rất nhiều đường bộ,
  • Giao thông có rất nhiều loại phương tiện (xe) trên đường. Giao thông phân các loại phương tiện ra thành từng nhóm phương tiện như: 
  • Xe đạp là các loại xe 2 bánh, chạy bằng động cơ cơm, xe máy là 2 bánh, chạy bằng động cơ xăng. Đại khái như thế
  • Xe nhiều bánh thì phân thành loại 4 chỗ, 5 chỗ, tải, rờ móc ...
Nếu để các loại xe chạy hỗn loạn trên đường thì rất nguy hiểm do dễ tai nạn, kẹt xe... Do đó cần phải phân thành các làn xe. Mỗi làn sẽ có một nhóm các loại xe di chuyển trên đó.
Các làn xe có phân biệt tốc độ di chuyển của xe.
Tương tự với đường truyền dữ liệu:
  • Hệ thống mạng có rất nhiều đường truyền tín hiệu.
  • Đường truyền có rất nhiều loại tín hiệu dữ liệu lưu thông.
  • Dữ liệu truyền dẫn cũng vậy, phân ra làm nhiều loại: HTTP, FTP dành cho các hoạt động Web, tải dữ liệu. SMTP dành cho email…
  • Đường truyền cũng vậy cần phải phân ra thành các làn khác nhau gọi là Bandwidth Classs (Lớp băng thông). Mỗi lớp này sẽ cho phép một số loại lưu lượng sử dụng chung băng thông.
  • Trên đường truyền cũng vậy, một số lưu lượng cần phải ưu tiên, nhất là lưu lượng quan trọng, nhạy cảm với độ trễ, Jitter
Như vậy với quang cảnh giao thông nhìn thấy được, ta sẽ có một số ý niệm nho nhỏ áp dụng tương tự với quản lý băng thông đường truyền. Vấn đề hiện tại là ta cần phải trả lời tiếp câu hỏi làm thế nảo quản lý được các lưu lượng trên đường truyền. Để làm được điều này, ta đi tiếp mục dưới
Quản lý băng thông là gì?
Quản lý băng thông là thực hiện phân loại, phân lớp lưu lượng, điều phối để các luồng lưu lượng truyền dẫn hiệu quả nhất. Cho phép sử dụng bao nhiêu băng thông, cam kết cho dùng bao nhiêu băng thông. Lưu lượng nào cần được ưu tiên cao.
Tại sao phải quản lý băng thông?
Thử nghĩ một ví dụ nhỏ là nếu băng thông không được quản lý và một ngày xui xẻo nào đó lãnh đạo muốn gọi điện thoại Voice Over IP đến các chi nhánh để họp nhưng băng thông đường truyền giữa văn phòng với chi nhánh bị chiếm dụng, tràn ngập bởi các lưu lượng P2P, FTP, Web... của các tín đồ download, shopping thì chắc chắn lãnh đạo sẽ không thể vui vẻ được và tất nhiên i tờ sẽ là vật hiến tế sớm nhất.
Tựu chung lại thì quản lý băng thông là nhằm giải quyết một số vấn đề như sau:
  • Băng thông đường truyền là có hạn, cần phải quản lý để sử dụng hiệu quả
  • Tập trung băng thông cho các ứng dụng quan trọng đối với hoạt động kinh doanh
  • Ngăn chặn, giảm thiểu mức độ sử dụng băng thông của các ứng dụng không quan trọng.
  • Đảm bảo băng thông cho những ứng dụng cần lượng băng thông cam kết cho các kết nối.
  • Cân bằng các luồng lưu lượng dữ liệu
Muốn thực hiện các mục tiêu trên ta phải phân chia lưu lượng thành các tiêu chí sau
Phân lưu lượng theo lớp
  • Loại dành cho hoạt động kinh doanh. Thường là quan trọng nhất, liên quan đến sự sống còn của doanh nghiệp. 
  • Loại sử dụng nhiều băng thông. Loại này càng nhiều băng thông càng tốt (như P2P, Multimedia...)
  • Loại nhạy cảm với độ trễ. Loại này nếu bị chậm sẽ ảnh hưởng đến chất lượng dịch vụ (như: Voice, Video...)
  • Loại nhạy cảm với Jitter. Tương tự với loại nhạy cảm độ trễ. Loại này nếu chậm sẽ ảnh hưởng đến chất lượng dịch vụ (thường là: Multimedia)
Mỗi loại lưu lượng thường có rất nhiều loại giao thức vận hành
  • Do đó để quản lý thuận tiện, ta cần nhóm các loại lưu lượng thành từng lớp gọi là Lớp băng thông (Bandwidth Classes). Mục tiêu là ta sẽ áp các tiêu chí quản lý lên các lớp băng thông để các lưu lượng trong lớp này vận hành đúng như chính sách ta mong muốn. (Cái này hao hao kiểu sếp to thì gọi trưởng phòng lên làm việc, không làm việc với từng người trong phòng)
  • Các lớp băng thông được tổ chức theo phân cấp hình cây. Lớp băng thông cấp 2 sẽ là con của lớp băng thông cấp 1 và sẽ bị áp bởi các chính sách của cấp 1 cùng với chính sách của cấp 2.
Phân lưu lượng theo chính sách
Để áp dụng chinh sách quản lý tốt, ta cần phải xác định chính xác từng loại lưu lượng, nhóm người dùng cho từng loại ứng dụng, lưu lượng.
Phân lưu lượng theo hướng luồng dữ liệu:
Đối với ProxySG thì ta còn phải xác định hướng của lưu lượng. Thường thì sẽ áp lên hướng vào của cổng nối với đường truyền.
Có 4 hướng luồng dữ liệu:
Client: 
  • Inbound: hướng dữ liệu từ client đến ProxySG
  • Outbound: hướng dữ liệu từ ProxySG về client
Server:
  • Inbound: hướng dữ liệu từ server vào ProxySG
  • Outbound: hướng dữ liệu từ ProxySG đến server
Thực ra thì hướng dữ liệu này mang tính tương đối, được xác định dựa trên vị trí của ProxySG và nguồn gửi yêu cầu (source). Nếu ProxySG đặt tại Internet Gateway thì hướng bên trong LAN đối với client, hướng ra ngoài WAN (Internet) thì là hướng Server. 
  • Rule của VPM có  Source từ LAN ra thì tính trong LAN là Client
  • Rule của VPM có Source từ WAN vào thì tính WAN là Client. Ví dụ: Client bên ngoài truy cập vào Web Server trong công ty qua ProxySG
Đối với ProxySG thì lưu ý vị trí áp chính sách luồng dữ liệu vì nếu đặt phía chính sách tại phía Client sẽ hạn chế khả năng truy cập dữ liệu trong Cache trên ProxySG. Do đó luồng dữ liệu thường áp lên hướng có đường truyền.
Ví dụ: Client truy cập đến một Server Web tại Internet
  1. Client gửi yêu cầu đi qua ProxySG đến Web Server: Yêu cầu này là Client Inbound
  2. Client nhận kết quả từ Web Server qua ProxySG: Luồng dữ liệu này là Client Outbound 
  3. ProxySG chuyển kết quả đến Web Server: Luồng dữ liệu này là Server Outbound
  4. Web Server trả kết quả về ProxySG: luồng dữ liệu này là Server Inbound
Quản lý băng thông bằng ProxySG
ProxySG sử dụng kỹ thuật quản lý gói tin dựa theo hàng chờ để áp mức ưu tiên cũng như giới hạn dòng lưu lượng. Trước khi phân lớp thì tất cả lưu lượng đều được coi như thuộc lớp mặc định. Lưu lượng mặc định sẽ được phân loại dựa vào chính sách và trong danh mục chính sách thì chính sách nào phù hợp đầu tiên sẽ được áp trước. Như vậy nếu một lưu lượng bị áp chính sách ưu tiên dựa trên chứng thực người dùng thì phân lớp chỉ có hiệu lực cho đến khi người dùng chứng thực thành công.
Cách thức thiết lập quản lý băng thông được tiến hành qua 8 bước
  1. Phân loại tất cả các ứng dụng trong mạng thành bốn loại:
  • Ứng dụng quan trọng dành cho hoạt động kinh doanh (như: SAP, Oracle).
  • Ứng dụng ảnh hưởng đến hiệu suất (như: P2P, Steaming Video). Những ứng dụng này có luồng lưu lượng lớn và ngốn nhiều băng thông, có khả năng dàn trải để lấy tất cả băng thông hiệu dụng
  • Ứng dụng dùng ít băng thông nhưng nhạy cảm với độ trễ (như: Voice)
  • Ứng dụng nhạy cảm với Jitter (như: voice, video, streaming...)
  1. Tạo lớp băng thông cho mỗi ứng dụng. Lưu ý là mỗi lưu lượng của một ứng dụng có thể gán với nhiều lớp băng thông phụ thuộc vào nhu cầu điều khiển của ta. Thường thì cần tạo một lớp Server-Side và một lớp Client Side cho mỗi ứng dụng. 
  2. Tạo chính sách để áp các lớp ứng dụng vào đúng các lớp băng thông theo nhu cầu. Thường thì trước khi thực hiện, ta cho ProxySG chạy chính sách không giới hạn băng thông để thu thập thông tin thống kê về lưu lượng. Điều này giúp cho ta có thể xác định tốt hơn nhu cầu băng thông của các ứng dụng trong mạng và để áp chính sách giới hạn băng thông phù hợp cho mỗi ứng dụng
  3. Sau khi đánh giá số liệu thống kê, ta tiến hành thiết lập giới hạn của lớp băng thông quan trong ứng với yêu cầu. Đối với các ứng dụng quan trọng, ta phải thiết lập cả yêu cầu băng thông tối thiểu. Điều này giúp cho lớp này sẽ lấy được băng thông đạt giới hạn khi băng thông bị tranh chấp. Đồng thời cũng thiết lập băng thông tối đa cho các ứng dụng tiêu tốn nhiều băng thông để tránh việc tranh giành hết băng thông của lưu lượng khác
  4. Thiết lập băng thông giới hạn cho các lớp băng thông không quan trọng phù hợp với yêu cầu. Những ứng dụng này cũng nên được thiết lập giới hạn tối đa để đảm bảo không tranh giành băng thông với những ứng dụng khác
  5. Thiết lập giới hạn băng thông cho các lưu lượng nhạy cảm với độ trễ. Điều này được thực hiện bằng cách tạo phân cấp 2 lớp với lớp cha chứa tất cả các lớp, và thiết lập băng thông cho lớp cha thấp hơn băng thông đường kết nối. Băng cách sử dụng độ ưu tiên, ta có thể nâng độ ưu tiên của lớp nhạy cảm với độ trễ cao hơn so với các lớp khác. Điều này chắc chắn là nếu có băng thông hữu dụng, các lưu lượng nhạy cảm với độ trễ sẽ được ưu tiên so với các lưu lượng khác
  6. Thiết lập giới hạn băng thông đối với các lưu lượng nhạy cảm với jitter. ProxySG cung cấp khả năng quản trị cho hầu hết tất cả lưu lượng streaming.
  7. Nhóm tất cả các lớp trên vào các phân cấp nếu ta cần các nhóm lớp chia sẻ băng thông không dùng hoặc vượt định mức. Ví dụ: nếu ta muốn thiết lập một giới hạn tổng thể cho tất cả các HTTP Server Inbound mà đồng thời muốn xác định giới hạn cụ thể cho mỗi phòng ban, ta cần thiết lập phân cấp 2 lớp với một lớp là HTTP server Inbound và một lớp con cho mỗi phòng ban. Điều này cho phép ta thiết lập giới hạn băng thông cho mỗi phòng ban cũng như cho lưu lượng tổng thể

Không có nhận xét nào:

Đăng nhận xét