Quản trị mạng – Có một số vấn đề mà chúng ta đem áp dụng cho nhau là không phù hợp, ví dụ như việc cư xử thiên vị một thành viên nào đó trong đám trẻ nhà bạn là không công bằng. Tuy nhiên trong kết nối mạng, đôi khi chúng ta lại cần đến sự không công bằng này. Ở đây, việc phân biệt đối xử với các kiểu lưu lượng mạng khác nhau là một ý tưởng thực sự tốt.
Các kết nối băng thông rộng ngày càng chật chội thêm bởi tất cả mọi thứ như các file download, lưu lượng VoIP, các game trực tuyến, các phiên IM, quả thực có rất nhiều dữ liệu đã và đang và sẽ làm tắc nghẽn cổng kết nối Internet của bạn. Chất lượng dịch vụ, hay vẫn được viết tắt là QoS, thường ám chỉ đến các chiến lược tạo các hàng đợi ưu tiên, để từ đó điều khiển cho phép một số kiểu dữ liệu nào đó trong số các dữ liệu đang chờ ở hàng đợi được thực hiện trước.
Trường hợp sử dụng điển hình nhất và rõ ràng đối với QoS là dành mức ưu tiên cao cho lưu lượng thời gian thực, giống như VoIP trong các dịch vụ như của Skype và các game có yêu cầu độ trễ thấp. Những lưu lượng kém nhạy cảm về mặt thời gian hơn, giống như các file download lớn và quá trình truyền tải file ngang hàng (P2P), có thể chấp nhận tốc độ cũng như mức ưu tiên thấp hơn khi cần truyền dữ liệu khẩn cấp.
Bạn có thể thiết lập các rule QoS phức tạp hoặc đơn giản trên một router khoảng 60$ như Linksys WRT54G và sử dụng phần mềm mã nguồn mở DD-WRT. Sử dụng phiên bản V23 cho DD-WRT. Còn việc thiết lập mức ưu tiên QoS khá đơn giản.
Phân loại QoS
Chúng ta sẽ sớm thấy, DD-WRT cho phép bạn định nghĩa ưu tiên QoS cho đến 4 nguồn lưu lượng:
- Dịch vụ mạng: Đây là hạng mục điển hình nhất cho việc định nghĩa các rule QoS. Những ưu tiên được định nghĩa ở đây áp dụng cho việc tạo lưu lượng từ các ứng dụng mạng cụ thể, chẳng hạn như Skype và Bittorrent.
- Địa chỉ IP/Netmask: Trong mục này, bạn có thể thăng cấp hoặc giáng cấp việc tạo lưu lượng từ một máy tính cụ thể hoặc một khối các máy tính được kết nối mạng với nhau, không cần quan tâm đến ứng dụng mạng nào đang tạo lưu lượng.
- Địa chỉ MAC. Giống như Netmask/IP, ngoại trừ trường hợp bạn gán mức ưu tiên dựa trên địa chỉ MAC duy nhất của máy thay cho địa chỉ IP của nó. Điều này cho phép bạn chỉ định các máy vật lý cụ thể cho dù chúng nhận các địa chỉ IP động.
- Cổng Ethernet. Hạng mục đặc biệt này cho phép bạn ưu tiên nguồn lưu lượng đến từ một cổng router nào đó. Từ đặc biệt ở đây là ưu tiên này chỉ làm việc trên các router tương thích DD-WRT bằng cách sử dụng chipset ADM6996L – gồm có WRT54G phiên bản 1.0, 1.1, 2.0, và WRT54GS phiên bản 1.0.
Bên trong bất cứ hạng mục nào, DD-WRT đều cung cấp 5 mức phân loại ưu tiên:
- Exempt. Các rule QoS không áp dụng cho phân loại này.
- Premium. Lớp elite. Chỉ có lưu lượng yêu cầu mức cực kỳ ưu tiên mới cần đến mức phân loại này, giống như lưu lượng VoIP – lý tưởng, nếu mức thấp nhất gần đó không đủ cáng đáng.
- Express. Giống như hạng thương gia (business-class) trong ngành hàng không dân dụng, các dịch vụ hưởng lợi từ hành động thời gian thực nên thử ở phân loại này trước khi cần ở mức cao hơn.
- Standard. Mặc định – bất cứ dịch vụ nào không có rule QoS sẽ được gán vào lớp standard. Lưu lượng trong lớp này được cư xử ở mức bình thường, ngoại trừ nơi lưu lượng các lớp cao hơn yêu cầu băng thông.
- Bulk. Lưu lượng ở mức ưu tiên thấp, giống như P2P, có thể được phân loại vào lớp bulk. Chỉ nhận băng thông khi không có lưu lượng dữ liệu của các mức ưu tiên trên.
Biết băng thông của bạn
Trước khi thực hiện, bạn nên chuẩn bị các thông tin về băng thông của mình. DD-WRT QoS yêu cầu bạn phải thiết lập các giá trị cho tốc độ upload và download lớn nhất. Nói chung bạn nên thiết lập các giá trị này ở mức 85-90% so với tốc độ thực, để lại một số phần trăm nhỏ cho các overhead mạng và tối hiểu hóa thời gian trễ bởi việc bão hòa kết nối.
Tốc độ của các dịch vụ băng thông rộng đều được tính theo Megabit trên giây (Mbps). Bạn có thể nhân giá trị này với 1024 để chuyển đổi thành Kilobit trên giây (Kbps). Giả sử dịch vụ cable modem của bạn có tốc độ 3Mbps download/768Kbps upload:
Khi đó tốc độ download là:
3Mbps * 1024 = 3072Kbps * 0.85 = 2611Kbps
Tốc độ upload:
768Kbps * 0.85 = 653Kbps
Tiếp đó chúng ta nhân với 0.85 để tính ra 85% tổng số. Bạn cũng có thể phân biệt băng thông thực của mình bằng cách vào website test tốc độ như testmy.nethoặc Speedtest.net, tuy nhiên những con số trong những site này chỉ thị sẽ thấp hơn tốc độ mà nhà dịch vụ thông báo trong gói cưới của bạn.
Thiết lập QoS
Bước 1: Mở trình duyệt trên máy tính của bạn và kết nối đến router DD-WRT – địa chỉ mặc định của nó là http://192.168.1.1 trừ khi bạn đã thay đổi. Đăng nhập mặc định là root và password là admin. Bạn nên thay đổi các thông tin đăng nhập mặc định.
Bước 2: Kích menu Applications & Gaming/QoS. Trên trang này bạn thiết lập hầu hết các thiết lập QoS. Để bắt đầu cỗ máy QoS, tích Enable bên cạnh “Start QoS”.
Giả sử rằng bạn muốn các thiết lập QoS để sử dụng hiệu quả Internet, hãy chọn WAN cho “Port.”
Mục “Packet Scheduler” hơi phức tạp hơn đôi chút. Tuy nhiên không cần quan tâm nhiều, hãy tích HTB. Tùy chọn khác, HFSC, vẫn bị cho là chưa làm việc ổn định. Cả hai đều mô tả các thuật toán cho việc thực thi QoS, tuy nhiên người dùng HTB cho thấy họ truy cập thành công hơn.
Với tốc độ “Uplink”, nhập vào số mà bạn đã tính toán trước. Nhớ nhập vào giá trị theo Kbps (không phải Mbps) và cần nhập vào tốc độ upload của bạn ở đây – không phải tốc độ download. Nếu không thiết lập như vậy bạn sẽ nhận được kết nối chậm hơn.
Rõ ràng, cũng cần nhập vào tốc độ “Downlink” đã tính trước vào hộp bên cạnh.
Hộp kiểm “Optimize for Gaming” về cơ bản là các thiết lập được cấu hình trước chỉ sử dụng với các trò chơi. Bạn có thể thấy một danh sách các game đã được báo cáo trên Internet, tuy nhiên thực sự, sẽ là tốt hơn nếu bạn cấu hình các thiết lập QoS một cách cụ thể thay vì dựa vào một hộp kiểm đôi khi có, đôi khi không trong phiên bản game hiện hành. Nói cách khác, chúng ta hãy bỏ chọn các thiết lập này.
Bước 3: Để bổ sung thêm một ứng dụng mạng vào các rule QoS, đầu tiên bạn cần kích vào danh sách sổ xuống bên cạnh nút “Add”. Cuộn xuống và xem liệu ứng dụng của bạn đã được liệt kê hay chưa. DD-WRT gồm có một thứ được gọi là L7 filters cho một danh sách dài các ứng dụng. L7 filter được sử dụng để phát hiện xem ứng dụng gì đang truyền tải lưu lượng, không sử dụng phương pháp tĩnh như hiệu suất sử dụng cổng mà bằng cách phân tích các gói và so khớp với dấu vết được biết đến. L7 filters là cách tin cậy nhất để gán QoS, vì chúng có thể phân biệt luồng dữ liệu chính xác hơn hiệu suất sử dụng cổng.
Với mỗi ứng dụng mạng thích đáng mà bạn thấy trong menu, kích nút Add và cho phép refresh lại trang. Trong ví dụ này, chúng tôi đã bổ sung thêm bittorrent từ danh sách, sau đó là skypetoskype.
Với mỗi ứng dụng mạng, bạn có thể gán một mức ưu tiên. Chọn mức ưu tiên mà bạn muốn cho mỗi dịch vụ, sau đó kích nút Save Settings ở cuối trang.
Trong ví dụ ở trên, chúng tôi đã gán lưu lượng P2P Bittorrent với mức ưu tiên thấp nhất, “bulk”, còn lưu lượng VoIP Skype thời gian thực được gán với mức ưu tiên cao nhất, “premium”.
Bước 4: Giả sử bạn muốn gán QoS cho một ứng dụng không có trong danh sách – khi đó hãy kích nút Add/Edit Service để khởi chạy cửa sổ pop-up, ở cửa sổ này bạn có thể định nghĩa các dịch vụ của mình.
Chúng tôi muốn bổ sung thêm một định nghĩa mới cho Radmim, một ứng dụng desktop từ xa. Trong DD-WRT V23 SP1, một số người dùng sẽ phát hiện thấy khi họ định nghĩa một dịch vụ mới thì nó không được bổ sung vào các rule của QoS. Một cách để khắc phục tình trạng này là tạo một dịch vụ mới hai lần, mỗi lần một tên khác nhau. Vì vậy, chúng ta hãy tạo dịch vụ radmin hai lần, với tên là “radmin1” và “radmin2”.
Do không có L7 filter cho Radmin, nên chúng ta phải định nghĩa ứng dụng này theo cách cũ. Ở trên chúng tôi đã chỉ thị cho DD-WRT nhận dạng lưu lượng Radmin như các gói TCP trên cổng 4899.
Kích nút “Add” để bổ sung thêm dịch vụ mới vào danh sách, sau đó kích nút “Apply” để lưu. Cửa sổ pop-up lúc này sẽ đóng lại.
Quay trở về các thiết lập dịch vụ, lúc này chúng ta sẽ thấy radmin1 (và radmin2) vừa mới được tạo trong danh sách sổ xuống. Chọn “radmin1” và kích nút “Add”, sau đó gán mức ưu tiên “Express” cho ứng dụng này.
Bước 5: Bạn cũng có thể định nghĩa mức ưu tiên dựa trên địa chỉ IP thay vì giao thức mạng.
Để đơn giản, bổ sung một địa chỉ IP, đánh nó vào cá trường và kích “Add”. Ở đây chúng tôi đã bổ sung thêm địa chỉ 192.168.0.10, sau đó gán nó với mức ưu tiên “Exempt”. Do được định nghĩa là “exempt” nên lưu lượng từ máy tính này sẽ không là đối tượng của bất cứ rule QoS nào, không cần quan tâm đến ứng dụng nào đang tạo lưu lượng.
Để bổ sung thêm một khối địa chỉ IP, tính toán NetMask bằng cách truy cập vào IP address calculator trực tuyến. Cho ví dụ nếu chúng tôi nhập dải 192.168.0.1-192.168.0.15 vào bộ tính này, kết quả sẽ NetMask trong ký hiệu NetAddr là 192.168.0.0/28. Nhập giá trị này vào trường IP/Mask và kích “Add”. Sau đó bạn có thể gán mức ưu tiên cho tất cả lưu lượng tạo ra từ bất cứ máy tính nào trong dải 192.168.0.1-192.160.0.15.
Bước 6: Tương tự, bạn cũng có thể gán QoS cho một máy tính cụ thể nào đó được phân biệt bởi MAC của nó, thay vì địa chỉ IP. Điều này cho cảm nhận máy tính đang được nói đến có thể được gán một IP động. (Về kỹ thuật, địa chỉ MAC phân biệt adapter mạng đúng hơn là máy. Một máy tính có thể có nhiều adapter mạng và bạn có thể gán mức QoS nào đó cho một adapter nào đó còn các adapter khác thì không).
Nhập vào địa chỉ MAC cua adapter mạng/máy của bạn và sau đó kích “Add.” Khi refresh trang, bạn có thể chọn mức ưu tiên QoS sau đó kích nút “Save Settings” ở cuối trang.
Bước 7: Người dùng một số model router nào đó có thể thiết lập tùy chọn mức QoS trên cổng Ethernet nào đó, các thiết lập Ethernet Port Priority chỉ làm việc với các model Linksys WRT54G phiên bản 1.0, 1.1, 2.0, và WRT54GS phiên bản 1.0, hoặc các router tương thích DD-WRT với chipset ADM6996L.
Trên các router được hỗ trợ, bạn có thể thiết lập cả mức ưu tiên QoS cũng như ngưỡng thông lượng tối đa, bằng 256Kbps hoặc thậm chí vô hiệu hóa toàn bộ cổng đó.
Vào và ra
Bản tính của lưu lượng mạng là các mức QoS sẽ được điều khiển tốt với lưu lượng gửi đi còn kém hơn với lưu lượng vào. Quả thực các router có sự kiểm soát tốt về tốc độ nó gửi ra các gói – còn kém kiểm soát hơn tốc độ chúng được gửi vào. Để thực hiện ưu tiên QoS gửi vào, router có thể “chia luồng” lưu lượng gửi đến. Các báo cáo người dùng chỉ thị rằng họ đạt được thành công chưa thực sự rõ ràng trong việc áp dụng mức QoS cho lưu lượng gửi đến so với lưu lượng gửi vào.
Một số người dùng cũng báo cáo về mức độ thành công chưa rõ ràng với các mức QoS nói chung, đặt biệt với phiên bản DD-WRT (V23). Một số nhận được kết quả chính xác những gì họ mong đợi, tuy nhiên một số thì không phải vậy.
Khắc phục sự cố
Nếu các thiết lập QoS của bạn dường như không hành xử theo cách mong đợi, bạn có thể thử một vài phương pháp khác. Có thể thay đổi mức ưu tiên dịch vụ từ L7 filter thành định nghĩa cổng (cho ví dụ như vậy). Bạn có thể tìm xem các mức QoS cho một máy được nhận dạng bằng địa chỉ IP của nó thay cho MAC đáng tin cậy hơn hoặc ngược lại.
Trong khi chuẩn bị cho bài biết này, giao diện quả trị DD-WRT của tôi đã phô bày một hành vi kỳ quặc không liên tục. Đôi khi giao diện treo sau khi apply hoặc lưu các thiết lập, chẳng hạn như thêm một mức ưu tiên dịch vụ mới, còn thường là sau khi tạo một định nghĩa dịch vụ mới, giao diện sẽ chuyển đổi về trang trắng.
Trong hầu hết các trường hợp, việc load lại trang quản trị chính và điều hướng trở lại trang QoS sẽ giải quyết được một số vấn đề. Đôi khi một số trường hợp khó khăn hơn bạn cần phải khởi động lại nguồn cho router.