Nhìn vào sơ đồ tổ chức của mạng không dây ta thấy chuẩn 802.11 là dòng chuẩn mạng WLAN và 802.15.4 và 802.15.3 thuộc dòng mạng WPAN. Bởi vậy giữa chúng có những điểm tương đồng và khác biệt mà tổ chức IEEE đã tạo ra các nhóm để thực hiện những nhiệm vụ khác nhau cùng phát triển thế hệ mạng không dây và chúng được thiết kế để cùng tồn tại. Sau đây chúng ta
đi chi tiết về các điểm giống nhau và khác nhau của chuẩn 802.15.3 so với chuẩn 802.11 và 802.15.4.
3.6.1 Các đặc điểm giống với 802.11 và 802.15.4
Đối với chuẩn 802.15.4 điểm giống nhau đầu tiên mà chúng ta được biết đến đó là:
+ Chúng đều là mạng cá nhân (WPAN) phục vụ trong phạm vi hẹp (dưới 10m về mọi hướng).
+ Đều có kênh (channel) ở dải tần 2.4GHz (nhưng 802.15.4 có nhiều dải hơn còn 802.15.3 chỉ duy nhất ở dải 2.4GHz).
+ Chúng đều có yêu cầu tiêu hao về năng lượng thấp. Để thực hiện điều này tổ chức IEEE đã phát triển các chuẩn này với các giao thức và kiến trúc ở tầng MAC phù hợp.
+ Chúng đều có mức chi phí thấp (giá thấp).
+ Chúng đều linh hoạt và dễ sử dụng với người dùng. + Ứng dụng trong thiết bị gia đình đa dạng và thân thiện.
+ Chúng đều có kiến trúc tương đối giống nhau và đều được tập trung phát triển ở 2 tầng quan trọng là Tầng MAC và PHY.
+ Về cơ chế truy cập và truyền dữ liệu, chúng đều áp dụng cơ chế CSMA-CA (Carrier Sense Multiple Access with Collision Avoidance) được trình bày ở trên.
Về chuẩn 802.15.3 so với chuẩn 802.11 có những điểm tương đồng ở một số điểm như sau:
+ Chúng đều sử dụng sóng radio với kênh (channel) ở dải phổ 2.4GHz. + Chúng đều có cơ chế truy cập là CSMA (Carrier Sense Multiple Access) tức chúng đều có khả năng lắng nghe đường truyền và đều có cách xử lý tình huống xung đột xảy ra (nhưng ở mỗi chuẩn có sự khác nhau được nêu ở mục sau).
+ Đặc biệt ban đầu, chuẩn 802.15.3 kế thừa hầu như toàn bộ tầng MAC của chuẩn 802.11 (nhưng về sau này đã được tổ chức IEEE chỉnh sửa).
3.6.2 Các đặc điểm khác với 802.11 và 802.15.4
Đầu tiên chúng ta tập trung so sánh chuẩn 802.15.4 và 802.15.3 vì 2 chuẩn này đều là chuẩn WPAN (mạng không dây cá nhân), sau đây chúng ta có bảng so sánh giữa 2 chuẩn 802.15.3 và 802.15.4 như sau:
IEEE802.15.3 (High Rate WPAN)
IEEE802.15.4 (Zig-Bee)
Mạng cá nhân tốc độ cao
QoS trong Multimedia được phát triển.
Giá thấp (độ phức tạp thấp).
PIN tồn tại rất lâu.
Vùng đệm và tốc độ dữ liệu cao, đa dạng..
Nền tảng an ninh tốt
Mạng cá nhân tốc độ thấp
Dễ dàng cài đặt.
Truyền tải dữ liệu tin cậy.
Hoạt động trong phạm vi ngắn.
Giá cực thấp.
Tiêu thụ pin vừa phải.
Mục tiêu thị trƣờng
Set-top box, Thiết bị lưu trữ đa phương tiện và Các dụng cụ A/V khác.
Máy quay phim kỹ thuật số, Camera cố định kỹ thuật số.
TV, màn hình, Máy chiếu LCD.
Máy in, điện thoại công cộng.
Bộ loa âm thanh trung thực cao.
PC, PDA, điện thoại bàn.
Mục tiêu thị trƣờng Mạng trong nhà. Thiết lập mạng tự động. Mạng công nghiệp. Đồ chơi tương tác. Đo lường từ xa Tốc độ 11, 22, 33, 44 or 55 Mbps Tốc độ 20, 40 or 250 kbps Kênh (Channel)
4 (hoặc 3) kênh dải 2.4GHz.
Kênh (Channel) 1 kênh dải 868MHz. 10 kênh dải 915MHz 16 kênh dải 2.4GHz Các dạng kênh (Modulation) QPSK (11 Mbps) DQPSK (22 Mbps) 16-QAM (33 Mbps) 32-QAM (44 Mbps) 64-QAM (55 Mbps) Các dạng kênh (Modulation) BPSK (868MHz/20kbs) BPSK (915MHz/40kbps) O-QPSK (2.4GHz/250kbps)
Tồn tại chung (Coexistence)
802.11b, 802.11 FHSS
802.15.1
Tồn tại chung (Coexistence)
802.11b DSSS
802.15.1 FHSS
Còn về cơ bản đối với chuẩn 802.11 thì nó hoàn toàn khác vì chuẩn 802.15.3 là chuẩn dành cho cá nhân trong gia đình ở phạm vi hẹp, còn mạng 802.11 là mạng văn phòng phục vụ doanh nghiệp.
CHƢƠNG 4: ĐÁNH GIÁ HIỆU SUẤT CỦA MẠNG 802.15.3
Chương này trình bày một số thực nghiệm mô phỏng nhằm đánh giá hiệu suất của chuẩn 802.15.3 theo các cơ chế được sử dụng trong chuẩn 802.15.3, so sánh hiệu suất của các mạng 802.15.3 với 802.11 và mạng 802.15.4.
4.1 Bộ mô phỏng mạng NS-2
Hiện tại, có 3 bộ mô phỏng có khả năng mô phỏng mạng ad-hoc, đó là GloMoSim, OpNet, và NS-2 [2]. Hai sản phẩm đầu tiên đều là hai sản phẩm thương mại, trong khi đó sản phẩm thứ ba hoàn toàn miễn phí và ở dạng mã nguồn mở. NS-2 (Network Simulator version 2.x) là một công cụ mô phỏng thường được sử dụng nhiều trong các nghiên cứu và ngược lại những nhà nghiên cứu cũng có những đóng góp quan trọng để mở rộng NS-2. Chính vì thế, đây là một bộ mô phỏng tốt và việc lựa chọn NS-2 làm công cụ mô phỏng trong luận văn này là hiển nhiên.
NS-2 là bộ mô phỏng mô tả các sự kiện rời rạc của mạng. NS-2 cung cấp hỗ trợ lớn trong mô phỏng TCP, và UDP, các nguồn lưu lượng: FTP, Telnet, Web, CBR, VBR, các cơ chế quản lý hàng đợi Drop Tail, RED và CBQ, các giải thuật định tuyến AODV, DSR, định tuyến, và các giao thức multicast trên mạng có dây và không dây….
NS được xây dựng dựa trên bộ mô phỏng mạng REAL (Realistic and Large), được sử dụng từ năm 1989 và rất phát triển những năm gần đây. Năm 1995, NS được hỗ trợ và phát triển bởi DARPA (Defense Advanced Research Projects Agency) thông qua dự án VINT (Virtual InterNetwork Testbed) của Bộ Quốc phòng Mỹ. NS luôn được đóng góp và phát triển từ các nhà nghiên cứu khác như các đóng góp về mô phỏng mạng không dây của UCB Daedelus và dự án CMU Monarch và Sun Microsystems.
Các phiên bản 2.xx của NS ra đời sau năm 1997, từ đó người ta thường gọi là bộ mô phỏng NS-2. Phiên bản này khác nhiều so với các phiên bản trước (1.xx). Bộ mô phỏng được vận hành theo cơ chế sử dụng các sự kiện rời rạc, có thứ tự. Người sử dụng có thể thay đổi cấu hình và mở rộng mô hình
mạng rất dễ dàng bằng cách lập trình thêm vào một số mô-đun chương trình. NS mô phỏng truyền thông mạng theo nhiều tầng khác nhau (giao vận, mạng và MAC) đồng thời hỗ trợ rất nhiều giao thức khác nhau trong các tầng này. Phiên bản sử dụng để mô phỏng trong luận văn này là NS-2.28 (phiên bản của NS có thể chạy được trên môi trường Linux hoặc Window).
Một công cụ khác được phát hành cùng với NS là Network Animator (NAM).
Công cụ này cung cấp hình ảnh đồ họa về sự chuyển động của các nút trong mạng mô phỏng và truyền thông giữa chúng. Đây là một công cụ rất có ích để tìm lỗi trong mã nguồn của giao thức..
4.1.1 Kiến trúc của NS-2
NS là bộ mô phỏng hướng sự kiện viết bằng C++, với một trình thông dịch OTcl (Object Oriented Tool Command Language) giao tiếp với người sử dụng. Để giảm thời gian xử lý gói tin và thời gian xử lý sự kiện, bộ lập lịch sự kiện và các đối tượng mạng cơ bản trong đường truyền dữ liệu được viết và dịch bằng C++. Những đối tượng được biên dịch này sẽ được kết nối tới bộ thông dịch OTcl qua trình liên kết OTcl. Trình liên kết này sẽ tạo ra các đối tượng OTcl tương ứng với mỗi đối tượng trong C++. Các hàm và biến trong đối tượng C++ chuyển thành các hàm và biến trong đối tượng OTcl tương ứng. Do đó, việc điều khiển các đối tượng C++ có thể được thực hiện trong ngôn ngữ mô phỏng OTcl. Các lớp trong C++ được tổ chức dưới dạng cây phân cấp, và tạo ra tương ứng trong OTcl. Hai cây phân cấp này có mối quan hệ chặt chẽ với nhau, với một lớp trong cây phân cấp thông dịch OTcl thì cũng có một lớp tương ứng trong cây phân cấp biên dịch. Đỉnh của cây phân cấp OTcl là TclObject. Người sử dụng tạo ra những đối tượng mô phỏng mới thông qua trình thông dịch OTcl, những đối tượng này được thiết lập tự động thông qua các phương thức được định nghĩa trong lớp TclClass. Chúng ta có thể thay đổi các tham số cho các đối tượng mô phỏng thông qua các phương thức được định nghĩa trong lớp TclObject. (tham khảo tài liệu [29])
Hình 35 Sự tương đồng giữa C ++ và OTcl
NS sử dụng hai ngôn ngữ là vì hai lý do. Thứ nhất, các giao thức mô phỏng yêu cầu một ngôn ngữ lập trình hệ thống có thể làm việc hiệu quả với các thao tác trên byte, các header của gói tin và cài đặt các giải thuật thực hiện trên các tệp dữ liệu lớn. Với nhiệm vụ này thì tốc độ xử lý là quan trọng, còn thời gian thay đổi chương trình và thực hiện mô phỏng ít quan trọng hơn. Thứ hai, phần lớn công việc nghiên cứu về mạng là thay đổi các tham số mô phỏng, thực hiện cấu hình mạng, hoặc thăm dò nhanh một số trường hợp được cho là có khả năng. Trong trường hợp này, thời gian lặp đi lặp lại quan trọng hơn. C++ chạy nhanh hơn nhưng khi thay đổi thì chậm hơn, nên C++ thích hợp cho việc cài đặt chi tiết các giao thức và các đối tượng mạng. OTcl chạy chậm hơn nhưng có thể thay đổi rất nhanh, thích hợp cho việc cấu hình mô phỏng.
Quy trình thực hiện mô phỏng từ góc nhìn ngƣời dùng:
Từ góc nhìn của người dùng, NS là bộ thông dịch script OTcl chứa bộ lập lịch các sự kiện mô phỏng, thư viện đối tượng các thành phần mạng, thư viện mô-đun thiết lập mạng. Để mô phỏng với NS, người nghiên cứu phải viết kịch bản bằng ngôn ngữ OTcl được gọi là chương trình mô phỏng hay kịch bản mô phỏng. Chương trình mô phỏng sẽ khởi tạo bộ lập lịch các sự kiện, thiết lập cấu hình mạng mô phỏng sử dụng các đối tượng mạng và các hàm thiết lập mạng trong thư viện, lập lịch cho các nguồn lưu lượng bắt đầu và kết thúc truyền tin…
Khi mô phỏng kết thúc, NS sinh ra một hay nhiều tệp tin kết quả dưới dạng văn bản chứa chi tiết dữ liệu mô phỏng. Dữ liệu sinh ra trong quá trình thực hiện mô phỏng được sử dụng để phân tích, đánh giá hệ thống mạng, hoặc làm input cho một công cụ hiển thị thông tin mô phỏng như NAM (Network Animator). NAM phân tích dữ liệu và cho thấy thông tin một cách trực quan về thông lượng, các gói bị mất trên mỗi đường truyền, topo mạng dưới dạng đồ họa, ….
Để phân tích, đánh giá được các tham số hiệu suất cần thiết từ các thông tin mà NS kết xuất ra tệp tin vết, người nghiên cứu thường phải dùng thêm một số công cụ dùng để vẽ đồ thị (như XGRAPH, gnuplot,...) và công cụ để tổng hợp các dữ liệu trong các tệp tin vết. Các ngôn ngữ Awk, PERL, hoặc Tcl thường được sử dụng để làm việc này.
4.1.2 Môi trƣờng mô phỏng
Môi trường mô phỏng trong NS-2 được điều khiển thông qua việc sử dụng một kịch bản TCL điều khiển mô phỏng chính. Kịch bản này chứa đầy đủ thông tin chi tiết về các file đầu vào/đầu ra khác nhau cũng như vô số các tham số cụ thể dành cho mô phỏng.
Mã nguồn TCL được chia thành 3 file chính:
- File kịch bản (Scenario File): File kịch bản chứa các mẫu chuyển động của các nút.
- File lưu lượng (Traffic File): Điều khiển lưu lượng giữa các nút trong kịch bản.
- File chương trình chính (Main Program File): File chương trình chính chỉ định các thiết lập chung cho việc thực hiện mô phỏng. Các tham số bao gồm: giao thức nào sẽ được mô phỏng, tên và vị trí của dữ liệu ra sau khi thực hiện mô phỏng (trace file), tên và vị trí của file trực quan hóa (visualization file) (dành cho NAM).
4.1.3 Kịch bản mô phỏng
Trong phần này, tôi giới thiệu mô hình chuyển động của các nút di động, sử dụng công cụ setdest để tạo ra kịch bản theo các tham số mà người dùng chỉ định. Một số tham số như sau:
Số lượng nút (number of nodes): Số lượng các nút trong kịch bản. Chú ý rằng không phải tất cả các nút này đều thực sự gửi hoặc nhận tin (traffic), điều này được chỉ định bởi file lưu lượng (traffic file).
Thời gian mô phỏng (simulation time): Thời gian tồn tại (Tuổi thọ) của kịch bản.
Tốc độ tối đa: Tốc độ chuyển động tối đa của một nút, theo đơn vị m/s.
Thời gian tạm dừng (pause time): Thời gian mà một nút sẽ ở tại vị trí hiện tại trước khi chuyển động. Tham số này điều khiển tỷ lệ di động (mobility) trong mạng. Thời gian tạm dừng bằng 0 cho biết chuyển động là liên tục; thời gian tạm dừng bằng tổng thời gian mô phỏng sẽ dẫn đến kết quả không có chuyển động nào.
Setdest sử dụng một mô hình điểm đến ngẫu nhiên (random waypoint model), bắt đầu bằng việc các nút “chạy lung tung” một cách ngẫu nhiên trong phạm vi của kịch bản. Mỗi nút chờ trong một khoảng thời gian tạm dừng trước khi chọn ngẫu nhiên một điểm đến (way-point) nào đó. Sau đó, các nút sẽ chuyển động về phía đích đến mới với tốc độ nằm trong đoạn [0, tốc độ tối đa]. Khi các nút đến được đích đến mới của chúng, chúng lại tiếp
tục chờ trong khoảng thời gian tạm dừng, sau đó lặp lại quá trình chuyển động như trên.
Ví dụ về chạy setdest với các thông số sau:
./setdest -n <num_of_nodes> -p <pausetime> -s <maxspeed> -t <simtime>
-x <maxx> -y <maxy> > <outdir>/<scenario-file>
4.1.4 Tệp dấu vết (Trace files)
Dữ liệu ra sau khi mô phỏng với NS-2 thường được lưu trong một tệp, tệp này được gọi là tệp dấu vết (trace file). Tệp dấu vết chứa thông tin về các sự kiện của gói tin xảy ra trong suốt thời gian mô phỏng theo từng tầng: tầng AC, tầng mạng, tầng giao vận.
Sau khi mô phỏng thành công, tệp dấu vết sẽ chứa các thông tin chi tiết về những gì xảy ra và xảy ra khi nào. Có thể thực hiện rất nhiều phân tích khác nhau dựa vào file này.
Như đã nói trước đây, bộ mô phỏng NS-2 là mã nguồn mở. Điều này có nghĩa là trong trường hợp cần thiết, muốn tăng lượng thông tin trong file dấu vết hoàn toàn có thể sửa đổi mã nguồn của NS-2 để thực hiện điều này.
4.2 Triển khai mô phỏng và các kết quả
Để tìm hiểu mạng không dây theo chuẩn IEEE 802.15.3, trong phần này sẽ giới thiệu mục đích mô phỏng, mô hình và các thông số mô phỏng, các phương pháp định tuyến, đồng thời trình bày kết quả mô phỏng, phân tích và đánh giá kết quả thực hiện.
4.2.1 Mục đích mô phỏng
Đánh giá hiệu suất mạng, thông qua các tham số hiệu suất cụ thể, bao gồm: tỉ lệ phân phát gói, Tỉ lệ kết nối thành công, Hiệu suất truyền của chuẩn 802.15.3 với các cơ chế sử dụng trong mạng với trường hợp 2 node. tiếp theo là đánh giá hiệu suất của 802.15.3 cùng với các cơ chế trên trong môi trường đa node để xem xét tác động của yếu tố đa node đến việc hiệu suất thực thi. Cuối cùng là so sánh hiệu suất của chuẩn 802.15.3 so với các chuẩn 802.15.4 và 802.11 để thấy được giá trị của việc sử dụng băng tần siêu rộng (UWB) trong chuẩn 802.15.3 so với các chuẩn cá nhân khác và chuẩn mạng chung.
4.2.2 Mô hình và các thông số mô phỏng a) Mô hình: a) Mô hình:
Định nghĩa các kịch bản: Bao gồm các mô-đun lựa chọn các giao thức định tuyến, các phương thức kết nối, lập lịch các sự kiện ví dụ như khởi đầu trạm điều khiển, trạm làm việc trong mạng, các kiểu lan truyền, hàng đợi, beacon …
Để so sánh hiệu suất thực thi, với mong muốn đánh giá được hiệu suất của chuẩn 802.15.3, bởi vậy tôi thực hiện trên 2 node, bên nhận và bên gửi, sau đó là đưa thêm các node khác để xem tác động của các điểm lên hiệu suất thực thi của chúng.
Hình 37 dưới đây là mô hình được sử dụng trong việc đánh giá hiệu suất. Trong đó các node mạng được đánh số là 0, 1,…,n; node 0 là trạm điều khiển (PNC), các node còn lại là trạm làm việc (DEV). Để tạo ra nguồn lưu lượng UDP, ở node 1 thiết bị sẽ truyền một luồng Video Mpeg-4 đến thiết bị ở trên