Kỹ thuật mô phỏng và ứng dụng trong đào tạo, nghiên cứu viễn thông
Trang 1KỸ THUẬT MÔ PHỎNG VÀ ỨNG DỤNG TRONG ĐÀO TẠO, NGHIÊN CỨU VIỄN THÔNG
Simulation and Applications in Reseaching and Training Telecommunicatons
ThS Nguyễn Xuân Hoàng, Khoa Viễn Thông 1, Học viện công nghệ Bưu chính Viễn thông Tóm tắt: Trong những năm gần đây, trên 50% các nghiên cứu được công bố trên các tạp chí
viễn thông là kết quả của mô phỏng Điều đó nói lên tầm quan trọng và mức độ ứng dụng rộng rãi của mô phỏng trong nghiên cứu về viễn thông Mô phỏng cho phép đánh giá được hiệu năng của một hệ thống mạng với các điều kiện, cấu hình khác nhau trong trường hợp các phương pháp đánh giá trực tiếp trên các hệ thống thật hoặc qua phân tích tính toán bằng toán học không khả thi Đặc biệt, trong môi trường đào tạo hiện nay, mô phỏng là một lựa chọn tốt cho quá trình tìm hiểu hoạt động của các hệ thống cũng như nghiên cứu thử nghiệm các hệ thống, các giao thức mạng mới Tuy nhiên, để có thể thực hiện mô phỏng hiệu quả, chính xác và đáng tin cậy là điều không hề dễ dàng Bài báo này sẽ trình bày tổng quan về kỹ thuật mô phỏng, các vấn đề đặt ra trong quá trình thực hiện mô phỏng Sau đó các phần mềm
mô phỏng thông dụng sẽ được xem xét và đánh giá ứng dụng của chúng trong nghiên cứu, đào tạo về viễn thông
1 Giới thiệu chung
Trong quá trình nghiên cứu, thiết kế một
mạng viễn thông, hoặc đánh giá hiệu quả của
việc áp dụng một giao thức, một công nghệ
mới trên mạng viễn thông sẵn có, có thể sử
dụng phương pháp phân tích bằng các mô
hình toán học, hoặc thử nghiệm trực tiếp trên
hệ thống thực Tuy nhiên, đối với các hệ
thống phức tạp, việc phân tích bằng các mô
hình toán nhiều khi không khả thi Việc thử
nghiệm trực tiếp trên các hệ thống thực cũng
rất khó, hoặc là do đang trong quá trình thiết
kế, chưa tồn tại hệ thống thật, hoặc các hệ
thống đang hoạt động trên mạng lưới, việc
thử nghiệm có thể gây nên những hiệu quả
không lường trước được cho toàn mạng
Trong các trường hợp đó, sử dụng kỹ thuật
mô phỏng là một giải pháp thích hợp nhất
Mô phỏng (simulation), nói một cách tổng
quát là quá trình thiết kế một mô hình của
một hệ thống thật, và thực hiện các thử
nghiệm trên mô hình đó nhằm mục đích hiểu
được hoạt động và/hoặc đánh giá các cấu
hình, tham số khác nhau của hệ thống [1]
Mô hình được sử dụng cho mô phỏng được
xây dựng bằng phần mềm, là mô hình động,
có nghĩa là có bao gồm các tham số ngẫu
nhiên thay đổi theo thời gian Nó khác với
mô hình tĩnh là mô hình được mô tả bằng các
công thức toán học, không có biến thay đổi theo thời gian
Đối với mạng viễn thông, mô phỏng được sử dụng rất rộng rãi, từ tính toán tắc nghẽn cho các hệ thống tổng đài chuyển mạch kênh, tối
ưu về sử dụng tài nguyên cho các mạng gói, đánh giá hiệu quả của một giao thức mới, hoặc so sánh hiệu quả của các phương pháp
mã hóa kênh trên một môi trường kênh vô tuyến Đặc biệt trong môi trường đào tạo, thông qua mô phỏng, người học sẽ hiểu được rất sâu về hoạt động của một hệ thống cũng như sự liên kết hoạt động của các phần tử, các giao thức trong một hệ thống
Bài báo này sẽ có cấu trúc như sau Phần 2
sẽ trình bày về các bước trong mô phỏng một
hệ thống và các vấn đề cần quan tâm Phần 3
sẽ đánh giá các công cụ mô phỏng được sử dụng phổ biển cho viễn thông hiện nay Phần
4 sẽ là kết luận
2 Tổng quan về ký thuật mô phỏng
Như đã đề cập ở trên, mục đích cuối cùng của mô phỏng là giúp đánh giá hiệu năng của một hệ thống thông qua một mô hình của hệ thống đó Trước hết, ta xem xét mối liên
quan giữa các khái niệm hệ thống (system),
mô hình (model) và mô phỏng
2.1 Hệ thống, mô hình và mô phỏng
Trang 2Hệ thống được định nghĩa là một tập hợp các
phần tử có mối quan hệ với nhau, tương tác
với nhau để thực hiện một công việc, chức
năng nào đó Tùy thuộc vào mục đích cần
nghiên cứu về hệ thống là gì mà các phần tử
của hệ thống có thể khác nhau Ví dụ như khi
muốn so sánh hiệu năng (BER chẳng hạn)
khi áp dụng các kỹ thuật mã hóa kênh khác
nhau trên kênh vô tuyến thì ta không cần
quan tâm đến kênh vô tuyến đó mang giao
thức gì, mà chỉ cần quan tâm đến đặc tính
của bản thân kênh truyền Ta định nghĩa
trạng thái của một hệ thống là tập hợp các
biến cần thiết để mô tả hệ thống tại một thời
điểm nhất định, có liên quan đến các đối
tượng cần nghiên cứu của hệ thống Ví dụ
như trong nghiên cứu tắc nghẽn trên một
kênh trung kế của tổng đài thì các trạng thái
của hệ thống là số kênh trung kế còn rỗi, thời
gian đến của các cuộc gọi từ khách hàng
Hình 1: Các phương thức nghiên cứu một
hệ thống
Có 2 loại hệ thống là liên tục và rời rạc Hệ
thống liên tục là hệ thống có các biến trạng
thái thay đổi liên tục theo thời gian Ví dụ
như biến về nhiễu trên kênh truyền Hệ thống
rời rạc là hệ thống có các biến trạng thái chỉ
thay đổi tại các thời điểm rời rạc về mặt thời
gian Ví dụ của loại này là hệ thống tổng đài
ta nói tới ở trên, trạng thái của hệ thống chỉ
thay đổi khi có cuộc gọi mới từ khách hàng
ra trung kế hoặc một cuộc gọi qua trung kế
được giải phóng Hệ thống rời rạc là loại
được sử dụng phổ biến trong mô phỏng về mạng viễn thông
Để nghiên cứu, đánh giá một hệ thống, có các cách tiếp cận như trên hình vẽ 1
2.1.1 Thử nghiệm trên hệ thống thực và thử nghiệm trên mô hình của hệ thống: Về
nguyên tắc, có thể thực hiện các thí nghiệm trực tiếp trên các hệ thống thực Tuy nhiên,
có 2 khó khăn đối với phương pháp này là nó
có thể gây hậu quả nghiêm trọng đến hệ thống thực, nhất là các hệ thống viễn thông liên quan đến thông tin quan trọng, liên quan đến cước…hoặc trong một số trường hợp thì
hệ thống muốn nghiên cứu chưa hề tồn tại,
mà người ta lại muốn nghiên cứu hiệu quả của các hệ thống đề xuất Với các lý do đó,
mô hình của hệ thống thực sẽ được xây dựng, và thay vì nghiên cứu trên hệ thống thực thì sẽ nghiên cứu trên mô hình của hệ thống Mô hình của một hệ thống có thể coi
là một đối tượng có cấu trúc, chức năng, hoạt động tương tự như hệ thống thật Nó thường chỉ phản ánh các mặt quan trọng nhất của hệ thống, và không nhất thiết phải giống hoàn toàn với hệ thống thật
2.1.2 Mô hình vật lý và mô hình toán học:
Mô hình vật lý ở đây là các loại mô hình như buồng lái máy bay cho phi công tập lái Tuy nhiên loại mô hình này thường không được dùng cho mục đích phân tích, nghiên cứu các
hệ thống Mô hình toán học, biểu diễn hệ thống dưới dạng các quan hệ logic Nếu mô hình toán học là chính xác, thì khi tác động vào các quan hệ logic của mô hình, mô hình
sẽ đưa đến kết quả như hệ thống thật
2.1.3 Phương pháp phân tích (analytical)
và mô phỏng: Sau khi đã xây dựng được
mô hình toán học, chúng ta cần phải xem xét
mô hình đó có thể trả lời được các câu hỏi
mà ta quan tâm về hệ thống hay không Nếu
đó là mô hình đơn giản, có thể dựa trên các mối quan hệ logic của mô hình để đưa đến một kết quả chính xác thông qua phương pháp phân tích, thực ra là thông qua việc giải các phương trình toán học Đây là phương pháp đưa lại kết quả chính xác và ít tốn kém nhất, tuy nhiên trong rất nhiều trường hợp không thể áp dụng được vì nó quá phức tạp,
ví dụ như trong trường hợp cần giải bài toán
Hệ thống
Thử nghiệm
trên hệ thống
thật
Thử nghiệm trên mô hình của hệ thống
Mô hình
vật lý
Mô hình toán học
Phương pháp phân tích
Mô phỏng
Trang 3cho quá nhiều nút mạng, quá nhiều biến số
Trong các trường hợp này, phải sử dụng đến
phương pháp mô phỏng Mô hình lúc đó
được gọi là mô hình mô phỏng (simulation
model) Mô hình mô phỏng được phân ra
làm các loại sau:
+ Mô hình tĩnh và mô hình động: Mô hình
mô phỏng tĩnh là mô hình biểu diễn hệ thống
tại một thời điểm nhất định, hay nói cách
khác là khi đó thời gian không đóng vai trò
gì trong mô hình Ví dụ của loại này là mô
hình Monte Carlo Ngược lại, mô hình mô
phỏng động biểu diễn hệ thống theo thời
gian Mô hình mô phỏng động phức tạp hơn,
tuy nhiên cho phép các mô phỏng gồm nhiều
quá trình xảy ra đồng thời trong hệ thống
+ Mô hình xác định (deterministic) và mô
hình ngẫu nhiên (stochastic): Nếu mô hình
mô phỏng không có thành phần ngẫu nhiên
thì nó được gọi là mô hình xác định Mô
hình xác định cho phép xác định được kết
quả khi biết rõ đầu vào và mô hình Nếu đầu
vào của mô hình có bất kỳ môt thành phần
ngẫu nhiên, nó được gọi là mô hình ngẫu
nhiên (stochastic) Mô hình này cũng cho kết
quả là các giá trị ngẫu nhiên Các mô hình
xếp hàng trong viễn thông đều là các mô
hình ngẫu nhiên
+ Mô hình liên tục và mô hình rời rạc: Cũng
tương tự như đối với định nghĩa của hê
thống Thông thường một mô hình của một
hệ thống có thể được coi là liên tục hoặc rời
rạc tùy thuộc vào các đối tượng cụ thể của hệ
thống cần nghiên cứu
Các mô hình mô phỏng được sử dụng trong
viễn thông chủ yếu là rời rạc, động, ngẫu
nhiên, và được gọi là các mô hình mô phỏng
sự kiện rời rạc (discrete event simulation
models)
2.2 Các bước trong mô phỏng một hệ
thống
Khi sử dụng mô phỏng để nghiên cứu, đánh
giá một hệ thống, cần phải trải qua các bước
sau [1][2]
2.2.1 Xác định rõ bài toán mô phỏng
Trước khi thực hiện xây dựng mô hình của
bất cứ hệ thống nào, cần nắm rõ hoạt động
cũng như mối quan hệ bên trong của hệ
thống đó Cũng cần phải xác định rõ các mục tiêu cần đạt được của thực hiện mô phỏng
2.2.2 Xây dựng mô hình
Sau khi xác định rõ được bài toán, bước tiếp theo là xây dựng nên mô hình mô phỏng Bước này chỉ là xây dựng nên các mối quan
hệ logic giữa các phần tử trong mô hình, đầu vào và đầu ra của mô hình Cần phải xác định được mô hình cần chi tiết đến mức độ nào, phần nào của hệ thống phải trừu tượng hóa Trong thực tế, không mô hình nào biểu diễn chính xác toàn bộ hoạt động của hệ thống, mà thường sẽ chỉ xấp xỷ chính xác với một số thực thể cần nghiên cứu của hệ thống Hay nói cách khác, ta cần phải đưa các điều kiện ràng buộc ban đầu vào mô hình
mô phỏng Ví dụ như khi xây dựng mô hình một kênh vô tuyến, ta chỉ hạn chế là mô hình kênh AWGN thay vì kênh chung chung
2.2.3 Thu thập dữ liệu cho mô hình
Để thực hiện mô phỏng, có thể lấy các dữ liệu cho đầu vào từ các giá trị đầu vào đo được của một hệ thống thật (lấy mẫu), hoặc
sử dụng các biến ngẫu nhiên Trong mô phỏng các hệ thống viễn thông, thường sử dụng các biến ngẫu nhiên theo một phân bố nào đó, ví dụ như Poisson Việc tạo nên các con số ngẫu nhiên đầu vào này đóng vai trò rất quan trọng vì thông thường chỉ sử dụng các con số giả ngẫu nhiên, rất dễ lặp lại và dẫn đến kết quả không chính xác Thường gặp nhất là khi mô phỏng các sự kiện ít xảy
ra, ví dụ như lỗi bit trên kênh truyền chất lượng tốt, do đó thời gian mô phỏng rất lâu,
sử dụng chuỗi các con số ngẫu nhiên rất lớn nên việc lặp lại chuỗi ngẫu nhiên là dễ xảy
ra
2.2.3 Biên dịch mô hình
Đây chính là quá trình lập trình, xây dựng nên phần mềm biểu diễn mô hình mô phỏng
Có thể sử dụng các ngôn ngữ lập trình bậc cao như C, C++ hoặc sử dụng kết hợp với các công cụ mô phỏng là các phần mềm sẵn
có như OPNET, NS-2, OMNET++…để xây dựng nên mô hình
2.2.4 Kiểm tra (verification)
Để đảm bảo quá trình lập trình biên dịch mô hình là chính xác Thực ra bước này giống
Trang 4như quá trình tìm lỗi (debug), dựa trên các
đầu vào khác nhau, dựa trên lưu đồ của mô
hình để kiểm tra tính chính xác của quá trình
biên dịch mô hình sang chương trình phần
mềm Ngoài hậu quả là làm sai kết quả, việc
biên dịch không tốt có thể dẫn đến thời gian
thực hiện mô phỏng sẽ là rất lâu, không khả
thi để thực hiện
2.2.5 Xác minh tính chính xác của mô
hình (validation)
Để đảm bảo mô hình đã xây dựng hoạt động
giống với hệ thống thật, từ đó có thể tin
tưởng vào kết quả của mô phỏng trên mô
hình đó Đây là bước rất quan trọng vì các số
liệu đạt được từ mô phỏng sẽ không có ý
nghĩa gì nếu nó không phản ánh đúng kết
quả của hệ thống thật Trong trường hợp đào
tạo, khi sinh viên xây dựng các mô hình mô
phỏng cho viễn thông, có thể so sánh các kết
quả của mô hình với các kết quả từ các mô
hình giống với nó đã được công bố trên các
tài liệu chuẩn (tạp chí IEEE chẳng hạn)
Phương pháp thường dùng hơn là so sánh
với dữ liệu lấy được từ hệ thống thật Nếu hệ
thống thật cần so sánh chưa tồn tại, có thể
đơn giản hóa các điều kiện ràng buộc về
tham số đầu vào để có thể so sánh kết quả
mô phỏng với kết quả có được thông qua
phân tích tính toán (thường là các khoản giới
hạn dưới hoặc trên)
2.2.5 Thử nghiệm trên mô hình
Ở bước này cần xác định tập các tham số cần
đánh giá trong mỗi lần thử nghiệm Đối với
các tham số, cũng cần xác định phạm vi thay
đổi cũng như tham số nào cố định, tham số
nào thay đổi Mục đích của bước này là thu
được càng nhiều thông tin cần thiết mà phải
thực hiện càng ít lần chạy mô phỏng càng tốt
2.2.6 Phân tích kết quả thu được
Trong viễn thông, kết quả mô phỏng thường
là các tham số như tỷ lệ lỗi bit (BER), tỷ lệ
mất gói, độ trễ, xác suất tắc nghẽn…Thông
qua mô phỏng, ta có thể có được giá trị
thống kê (trung bình, phương sai), phạm vi
biến thiên…của các tham số trên Nếu sử
dụng các phần mềm mô phỏng như OPNET,
OMNET++…, việc phân tích một số kết quả
cơ bản đã được tích hợp sẵn Nếu chương
trình mô phỏng được xây dựng trên ngôn
ngữ lập trình C, C++ , thì từ kết quả thu
được, có thể phải sử dụng thêm các phần mềm như Excel để hỗ trợ vẽ kết quả, đánh giá xu hướng tăng, giảm…Một vấn đề rất cần chú ý trong phần này là xác định mức độ chính xác, ổn định của kết quả Ví dụ như để đảm bảo kết quả BER của một kênh truyền
đủ chính xác, cần phải thực hiện đủ một số vòng lặp tối thiểu nào đó
3 Các phần mềm mô phỏng
Như đã đề cập ở phần trước, ngoài việc sử dụng các ngôn ngữ lập trình như C, C++ để xây dựng mô hình mô phỏng thì có thể sử dụng các chương trình phần mềm mô phỏng sẵn có như OPNET, OMNET++, NS-2…để thực hiện mô phỏng Các phần mềm này sẽ đơn giản hóa quá trình mô phỏng nhờ khả năng hỗ trợ quá trình tạo, kiểm tra và chạy các mô hình mô phỏng Nó cũng hỗ trợ công việc đánh giá, phân tích kết quả thu được từ
mô phỏng
Các phần mềm mô phỏng phổ biển hiện nay đều thuộc loại hướng đối tượng Ngoài các thư viện modul rất phong phú về các giao thức, thiết bị viễn thông sẵn có thì nó còn cho phép người dùng xây dựng các modul riêng với các giao diện vào ra, có tính kế thừa, phân cấp giữa các modul Người dùng cũng có thể quan sát được kết quả thay đổi của hệ thống thông qua đồ họa Người dùng cũng có thể dễ dàng quy định số lần thực hiện chạy mô phỏng, thời gian chạy mô phỏng và độ chính xác cần thiết
Các yêu cầu đặt ra khi lựa chọn một phần mềm mô phỏng bao gồm khả năng chạy được trên nhiều hệ điều hành, khả năng hỗ trợ tạo topo cho mạng, hỗ trợ tạo lưu lượng đầu vào và phân tích đặc tính của lưu lượng
ra, hỗ trợ giám sát các đặc tính của một node mạng, một luồng lưu lượng mạng thông qua giao diện đồ họa Ngoài ra, các yêu cầu quan trọng nữa là có sẵn các module quan trọng như các mô hình kênh cơ bản, các giao thức quan trọng…và các phần mềm mô phỏng phải có các tính năng cho phép mở rộng, sửa đổi các module sẵn có Đối với môi trường đào tạo, một số yêu cầu cần phải để ý thêm
là mức độ hỗ trợ về kỹ thuật và tài liệu của phần mềm, phần mềm đó là mở, miễn phí hay là phần mềm thương mại
Trang 5Hiện nay có khá nhiều phần mềm mô phỏng
có thể sử dụng trong mô phỏng mạng viễn
thông, tuy nhiên có các phần mềm được trình
bày tóm tắt sau đây là phổ biến nhất
Phần mềm OPNET [3]
OPNET (Optimized Network Engineering
Tools), là một công cụ mô phỏng thương mại
được phát triển bởi OPNET Technologies
Inc, dùng để mô hình hóa và mô phỏng các
thiết bị, giao thức trong mạng truyền thông
Được phát triển cách đây trên 15 năm, nó là
một công cụ mô phỏng mạng rất mạnh, được
sử dụng bởi rất nhiều trường đại học và công
ty lớn trên thế giới OPNET có thể dùng để
mô phỏng hầu hết các mạng vô tuyến và hữu
tuyến, ngoài ra nó còn cho phép thực hiện
các giao thức, mạng…thử nghiệm trên các
thành phần mạng sẵn có OPNET cho phép
mô phỏng các mạng lên đến hàng trăm nút
Một khó khăn duy nhất khi lựa chọn OPNET
là phần mềm này không phải là miễn phí
Phần mềm NS-2 [4]
NS (Network Simulator), xuất phát từ trường
U.C.Berkely, là một phần mềm mô phỏng sự
kiện rời rạc, hướng đối tượng, với mục đích
để nghiên cứu về mạng, và là miễn phí
Phiên bản 2 của NS (NS-2) được sử dụng
rộng rãi trong cộng đồng nghiên cứu về
mạng và được dùng để thử nghiệm các thuật
toán, các giao thức hay các ý tưởng mới về
mạng NS-2 rất thích hợp cho mô phỏng các
mạng gói và các mạng vô tuyến (adhoc, vệ
tinh ) và được sử dụng chủ yếu cho các mô
phỏng cỡ nhỏ về các thuật toán định tuyến và
xếp hàng, các giao thức truyền tải, điều
khiển tắc nghẽn Tuy nhiên, NS-2 có các
nhược điểm như khá phức tạp khi muốn mở
rộng, sửa đổi các module sẵn có Ngoài ra,
NS-2 cũng không hoạt động tốt khi kích cỡ
mạng lớn và tốc độ mô phỏng của NS-2 cũng
khá chậm so với các phần mềm khác NS-2
cũng hỗ trợ về đồ họa kém hơn so với các
phần mềm mô phỏng như OPNET và
OMNET++
Phần mềm OMNET++ [5]
OMNET++ (Objective Modular Network
Testbed in C++), là một phần mềm mô
phỏng sự kiện rời rạc, hướng đối tượng, dựa
trên mã nguồn mở và miễn phí Nó có thể sử dụng để mô phỏng lưu lượng trên các mạng viễn thông, các giao thức, và rộng hơn là bất
kỳ một hệ thống sự kiện rời rạc Một điểm khác so với 2 phần mềm mô phỏng trên là OMNET++ được thiết kế ban đầu không phải cho mạng viễn thông mà là với mục tiêu rộng hơn Ngoài ra, so với phần mềm thương mại như OPNET thì thư viện các mô hình sẵn có của OMNET++ cũng ít hơn Tuy nhiên, hiện nay OMNET++ cũng đã có rất nhiều mô hình quan trọng như MPLS, Ipv6…Các ưu điểm khác của OMNET++ bao gồm khả năng hỗ trợ về đồ họa, cấu trúc hướng đối tượng nên dễ dàng thay đổi, mở rộng các mô hình, và cho phép thực hiện mô phỏng song song Khả năng mở rộng mạng
và tốc độ mô phỏng của OMNET++ cũng rất tốt Nhược điểm đáng kể của OMNET++ hiện nay là các mô hình có sẵn chưa đầy đủ,
và dẫn đến khó khăn khi mô phỏng một số
mô hình mạng
4 Kết luận
Bài báo đã đưa ra được một cái nhìn tổng quan về kỹ thuật mô phỏng, các quá trình và các vấn đề cần quan tâm khi mô phỏng một
hệ thống, đặc biệt là hệ thống mạng viễn thông Để áp dụng mô phỏng hiệu quả hơn trong nghiên cứu, đào tạo về viễn thông, phần 2 của bài báo đã trình bày một số nhận xét cơ bản về các phần mềm được sử dụng phổ biến Rõ ràng là nếu nắm vững lý thuyết
về mô phỏng và sử dụng thành thạo các phần mềm mô phỏng trên, có thể giúp nắm vững hơn hoạt động của các hệ thống viễn thông, cũng như cho phép hoạt động nghiên cứu, thiết kế các giao thức mới, các cấu hình mới
cả mạng viễn thông hiệu quả hơn rất nhiều Tài liệu tham khảo
[1] A.M Law và W.D Kelton, “ Simulation, Modelling and Analysis”, Third Edition, Mc Graw Hill, 2000
[2]Holger Karl, bài giảng “ A brief introduction to discrete event simulation”,
2005
[3] www.opnet.com [4] http://www.isi.edu/nsnam/ns/
[5] http://www.omnetpp.org/
Trang 6Sơ lược về tác giả
Nguyễn Xuân Hoàng tốt nghiệp khoa Điện
tử Viễn thông, ĐHBK Hà nội năm 1999, tốt
nghiệp cao học ngành Viễn thông tại Học
Viện Công nghệ Châu Á (AIT, Thái Lan)
năm 2002 Hiện nay tác giả đang công tác tại
Khoa Viễn thông 1, Học Viện Công Nghệ Bưu Chính Viễn Thông Các hướng nghiên cứu của tác giả bao gồm mạng băng rộng, IP QoS, truyền thông đa phương tiện
Email: hoangptit@gmail.com