2.2.1. Đặc điểm
IPv6 đƣợc thiết kế với những đặc điểm nhƣ sau [9]:
Mở rộng không gian địa chỉ: IPv6 sử dụng 128 bit để đánh địa chỉ (hình 2.13),
thay vì chỉ sử dụng 32 bit nhƣ trong IPv4.
Hình 2.13: Không gian địa chỉ của IPv6
Tăng khả năng phân cấp địa chỉ (hình 2.14): sử dụng 64 bit đầu tiên làm mã
nhận dạng mạng, 64 bit cuối làm địa chỉ Interface, nhằm mục đích phân biệt các interface trong cùng một mạng.
Header đƣợc xây dựng đơn giản hơn: có chiều dài cố định và ít trƣờng hơn IPv4, tăng tốc độ xử lý,…(xem hình 2.15).
Hình 2.15: Cấu trúc header của IPv6 [9]
Đơn giản hóa việc đặt địa chỉ host (hình 2.16): sử dụng 64 bit để đặt địa chỉ
host, trong đó đã sử dụng 48 bit địa chỉ MAC và đệm vào chuỗi FF:FE để tạo địa chỉ host duy nhất trong mạng.
Tăng khả năng di động: Địa chỉ IPv6 đƣợc thiết kế với tính di động đƣợc tích
hợp vào trong Mobile IP cho phép các hệ thống đầu cuối thay đổi vị trí mà không mất các kết nối. Đây là điểm rất cần thiết cho những sản phẩm wireless chẳng hạn nhƣ IP phone và các hệ thống GPS, ...
Tăng khả năng bảo mật: IPv6 tích hợp tính năng bảo mật bằng cách sử dụng 2
header mở rộng: (AH) Authentication header và Encrypted Security payload (ESP).
Quá trình tự động cấu hình đơn giản hơn
Hình 2.16: Địa chỉ Interface trong IPv6 [9] 2.2.2. Phân loại địa chỉ IPv6
Địa chỉ IPv6 đƣợc chia làm 3 loại chính:
Địa chỉ unicast: đƣợc sử dụng để xác định một Interface. Một gói tin có
đích đến là một địa chỉ unicast thông qua Routing sẽ chuyển đến một Interface duy nhất trong mạng.
Địa chỉ Anycast: đƣợc sử dụng để xác định nhiều Interface. Tuy nhiên,
gói có địa chỉ đến là anycast sẽ thông qua routing để chuyển đến chỉ một node trong số các Interface có cùng địa chỉ anycast, thông thƣờng là Interface gần nhất.
Địa chỉ multicast: đƣợc sử dụng để xác định nhiều Interface, một gói có
địa chỉ đến là địa chỉ multicast sẽ thông qua quá trình routing để chuyển đến tất cả những interface có cùng địa chỉ multicast. Nhƣ vậy, trong IPv6 không có địa chỉ Broadcast, vì Broadcast đã đƣợc bao gồm trong nhóm địa chỉ Multicast.
2.2.2.1. Địa chỉ unicast
Nhóm địa chỉ unicast đƣợc chia làm 4 nhóm nhỏ:
a. Global Unicast address
Địa chỉ này đƣợc sử dụng để hỗ trợ cho các ISP - Internet Service Provider (hình 2.17).
Hình 2.17: Địa chỉ global unicast [9]
TLA ID (Top Level Aggregation): xác định nhà cung cấp cao nhất trong hệ
thống các nhà cung cấp dịch vụ.
Res: chƣa đƣợc sử dụng.
NLA ID (Next Level Aggregation): Xác định nhà cung cấp tiếp theo trong hệ
thống các nhà cung cấp dịch vụ.
SLA ID (Site Level Aggregation): Xác định các site để tạo các subnet.
b. Link – local Addresses
Là loại địa chỉ đƣợc sử dụng cho các host khi chúng muốn giao tiếp với các host neighbor khác trong cùng một mạng. Tất cả các IPv6 của các interface đều có địa chỉ link local. Trong địa chỉ link – local (hình 2.18), 64 bit địa chỉ đầu tiên luôn cố định (prefix: fe80::/64), 64 bit cuối là địa chỉ của Interface. Các router không thể chuyển bất kỳ gói tin nào có địa chỉ đích là một địa chỉ link – local.( Link-local Add chỉ sử dụng trong mạng nội bộ)
Hình 2.18: Địa chỉ link – local [9] c. Site – local address
Là loại địa chỉ đƣợc sử dụng trong những hệ thống nội bộ (Intranet). Phạm vi sử dụng là trong cùng một site. Loại địa chỉ này luôn có prefix cố định là FEC0::/10 (10 bit đầu tiên) (hình 2.19).
Hình 2.19: Cấu trúc site - local addresses [9] d. Unique local address
Là địa chỉ đƣợc sử dụng để định tuyến giữa các subnet trên cùng một private network (hình 2.20). 8 bit đầu tiên là Prefix cố định FD00:: /8. 40 bit kế tiếp là địa chỉ site có thể gán tùy ý và 16 bit tiếp theo đƣợc sử dụng làm địa chỉ subnet trong site.
Hình 2.20: Cấu trúc Unique Local Address [9] 2.2.2.2. Địa chỉ Anycast
Địa chỉ Anycast là một loại địa chỉ đặc biệt trong IPv6, gói tin chuyển đến địa chỉ Anycast qua quá trình routing đƣợc hệ thống chuyển đến interface gần nhất. Loại địa chỉ này chỉ đƣợc sử dụng để đặt cho router và không đƣợc phép đặt cho các host, đồng thời cũng không đƣợc sử dụng làm địa chỉ nguồn cho các gói tin IPv6.
2.2.2.3. Địa chỉ Multicast
Địa chỉ multicast (hình 2.21) cũng đƣợc sử dụng để nhận dạng một tập hợp các node trong mạng. Tuy nhiên khác với địa chỉ Anycast, một gói tin có địa chỉ đích là một địa chỉ Multicast, sẽ đƣợc chuyển đến tất cả các node có cùng địa chỉ Multicast đó.
Hình 2.21: Cấu trúc địa chỉ multicast [9]
Trong địa chỉ multicast, 8 bit đầu tiên cố định bằng FF, đƣợc sử dụng để nhận biết địa chỉ multicast. Trƣờng Scope đƣợc mã hóa bởi 4 bít nhằm phân bố các phạm vi nhóm multicast. Group ID giúp nhận dạng các nhóm multicast trong phạm vi một scope. Cần lƣu ý rằng, với địa chỉ multicast, một node trong mạng có khả năng quyết định có tham gia vào một nhóm multicast hay không.
2.2.3. Chuẩn IEEE 802.15.4
IEEE 802.15.4 là một chuẩn WPAN – Wireless Personal Area Network tốc độ thấp, đƣợc sử dụng trong những ứng dụng chỉ đòi hỏi mức tiêu thụ năng lƣợng thấp,
không yêu cầu cao về tốc độ truyền tin và QoS. Do đó, chính tốc độ truyền tin thấp cho phép chuẩn này tiêu hao ít năng lƣợng hơn. IEEE 802.15.4 là giao thức quan trọng trong những ứng dụng tự động điều khiển và xây dựng mạng trong nhà và trong công nghiệp. IEEE 802.15.4 có thể hỗ trợ những gói tin có kích thƣớc tải từ 80 đến 100 byte. IEEE 802.15.4 cung cấp 3 dải tần số và 27 kênh truyền trên các dải tần số khác nhau:
Bảng 2.1: Băng tần và tốc độ dữ liệu của IEEE 802.15.4 [3]
PHY (MHz) Băng tần (MHz) Tốc độ chip (Kchip/s) Điều chế Tốc độ bit (Kb/s) Tốc độ ký tự (ksymbol/s) Ký tự 868 868-868.6 300 BPSK 20 20 Nhị phân 915 902-928 600 BPSK 40 40 Nhị phân 2450 2400-2486.5 2000 O-QPSK 250 62.5 Hệ 16
Bảng 2.2: Kênh truyền và tần số trong IEEE 802.15.4 [3]
Tần số trung tâm (MHz)
Số lƣợng kênh (N)
Kênh Tần số kênh trung tâm
(MHz)
868 1 0 868.3
915 10 1 - 10 906 + 2(k-1)
2450 16 11 – 26 2405 + 5(k-11)
2.2.4. Giao thức 6LoWPAN
6LoWPAN [13] viết tắt của IPv6 over Low Power wireless Area Networks, là một chuẩn giao thức internet dành cho mạng cảm biến không dây, hoạt động trên chuẩn IEEE 802.15.4. Giao thức 6LoWPAN có phạm vị ứng dụng rộng rãi, trong nhiều mục đích ứng dụng khác nhau:
Các ứng dụng tự động và điều khiển thiết bị trong nhà.
Các ứng dụng thể thao và giải trí cá nhân.
Các ứng dụng trong y tế, chăm sóc sức khỏe.
Ứng dụng quản lý tài sản.
Nâng cao cơ sở hạ tầng trong đo lƣờng.
Các ứng dụng trong an ninh.
Các ứng dụng tự động hóa trong công nghiệp.
Kiến trúc mạng của giao thức 6LoWPAN nhƣ trong hình 2.22:
Hình 2.22: Kiến trúc mạng của 6LoWPAN.
Các đặc tính của 6LoWPAN:
Hỗ trợ cả hai phƣơng thức đánh địa chỉ 64 bit và 16 bit của chuẩn IEEE
802.15.4.
Phù hợp với các lớp liên kết năng lƣợng thấp nhƣ IEEE 802.15.4, những
mạng cảm biến năng lƣợng thấp, băng thông nhỏ, giao tiếp theo kiểu power - line.
Có phƣơng thức nén header hiệu quả. Trong 6LoWPAN sử dụng địa chỉ
IPv6 cơ bản, kết hợp các header mở rộng và các UDP header.
Tự động cấu hình mạng bằng cách sử dụng cơ chế neighbor discovery.
Hỗ trợ các phƣơng thức truyền multicast, unicast và broadcast.
Hỗ trợ chia 1280 byte IPv6 MTU thành các khung 127 byte của
802.15.4.
Hỗ trợ định tuyến IP (ví dụ định tuyến trong IETF RPL).
Phƣơng thức đánh địa chỉ trong 6LoWPAN:
Nguyên tắc đánh địa chỉ:
o Không gian địa chỉ phẳng, mỗi mạng chỉ có một subnet.
Các địa chỉ IPv6 đƣợc nén trong 6LoWPAN bằng những phƣơng thức nén sau:
o Lƣợc bỏ global prefix – vì tất cả các node trong cùng một mạng
đều cùng global prefix.
o Lƣợc bỏ link - local prefix – đƣợc chỉ ra trong định dạng nén
header.
o Nén phần IID - Interface ID: lƣợc bỏ các giao tiếp trực tiếp, nén
địa chỉ mutihop des/src.
o Nén địa chỉ multicast.
Trong Contiki RPL sử dụng hai cơ chế đánh địa chỉ: cơ chế đánh địa chỉ 64 bit (Full UDP/IPv6) và cơ chế đánh địa chỉ 16 bit (Minimal UDP/6LoWPAN). Với cơ chế 64 bit, chỉ có phần địa chỉ global prefix đƣợc lƣợc bỏ, khi đó kích thƣớc header là 48Byte, đồng thời kích thƣớc tải trong mỗi gói tin bị thu hẹp hơn so với cơ chế UDP/6LoWPAN. Tuy nhiên, cơ chế này có khả năng tạo đƣợc liên kết đến nhiều mạng khác nhau và đáp ứng đƣợc nhiều ứng dụng hơn.
Hình 2.23 là một ví dụ đánh địa chỉ các thành phần trong mạng 6oWPAN.
Cấu trúc gói tin trong 6LoWPAN:
Hình 2.24: Cấu trúc header của cơ chế UDP/IPv6 64bit.
Hình 2.24 cho biết cấu trúc gói tin với cơ chế UDP-CLIENT/IPv6 64bit. Với cơ chế UDP/6LoWPAN, các thành phần header đƣợc nén một cách tối ƣu, với chiều dài header chỉ 6 Byte (hình 2.25).
Hình 2.25: Cấu trúc header của cơ chế UDP/6LoWPAN
Sự khác nhau giữa 2 cơ chế thể hiện qua mối tƣơng quan giữa chiều dài header và kích thƣớc tải tin nhƣ trong hình 2.26:
Hình 2.26: Sự khác nhau về cấu trúc bản tin giữa UDP/IPv6 và UDP/6LoWPAN
2.3. Kết luận
Chƣơng này đã trình bày những khái niệm, đặc điểm, nguyên lý tổng quan trong giao thức RPL và IPv6, chuẩn IEEE 802.15.4 và giao thức 6LoPAN. Những nội dung này là cơ sở để thiết kế chƣơng trình và kịch bản mô phỏng giao thức RPL ở chƣơng sau.
CHƢƠNG 3. MÔ PHỎNG VÀ PHÂN TÍCH SỐ LIỆU
3.1. Phƣơng pháp đánh giá
Để nghiên cứu tiến hành một cách có hệ thống, có kết quả đánh giá chính xác, trong luận văn trình bày theo thứ tự:
- Trình bày về khái niệm, kiến trúc của mạng cảm biến không dây; các giao thức và hệ điều hành sử dụng để mô phỏng mạng cảm biến không dây năng lƣợng thấp.
- Thực hiện mô phỏng để xác định các tham số ảnh hƣởng đến hiệu năng của giao thức RPL trong mạng cảm biến không dây năng lƣợng thấp
- Lập thống kê, phân tích số liệu, đƣa ra các đánh giá và khuyến nghị
3.1.1. Mô hình đánh giá
Giao thức RPL có nhiều tính năng linh hoạt, đƣợc sử dụng nhiều trong các ứng dụng. Nó hỗ trợ hàng loạt các tham số cho các hàm mục tiêu (OF). Đầu tiên các định các tham số ảnh hƣởng đến các hàm mục tiêu. Với mục đích đánh giá hiệu năng của giao thức định tuyến RPL, trong luận văn này tôi chọn mô phỏng mạng cảm biến không dây với số lƣợng node vừa đủ để thống kê đánh giá.
Để mô phỏng tôi chọn công cụ mô phỏng Cooja trong hệ điều hành Contiki dễ dàng quản lý, quan sát các tham số, tỷ lệ lỗi; các mô phỏng có thể tiến hành lặp đi lặp lại với sự thay đổi giá trị các tham số.
3.1.2. Kết quả phân tích
Mục tiêu của kết quả phân tích là đánh giá ảnh hƣởng của các tham số trong giao thức RPL đối với các đại lƣợng nhƣ độ trễ mạng (Latency), mức độ tiêu thụ năng lƣợng (Energy Consumption)... và xác định nguyên nhân làm thay đổi các đại lƣợng này.
Trong quá trình mô phỏng, có các yếu tố làm ảnh hƣởng đến kết quả mô phỏng: - Các yếu tố nội tại bên trong mô hình mô phỏng đảm bảo các biến độc lập ảnh hƣởng trực tiếp đến các biến phụ thuộc. Việc kiểm soát các yếu tố này đảm bảo kết quả phân tích chính xác do đó cần lựa chọn công cụ tối ƣu.
- Các yếu tố bên ngoài nhƣ sắp xếp thứ tự các thử nghiệm, điều kiện môi trƣờng, thời gian đo. Mạng cảm biến không dây có thể bị ảnh hƣởng bởi sóng wifi, gây thất
thoát cho mạng. Để khắc phục điều này, công cụ mô phỏng Cooja cung cấp việc thống kê chính xác, tránh đƣợc sự ảnh hƣởng của môi trƣờng bên ngoài.
- Cách phân tích cũng ảnh hƣởng đến kết quả đánh giá, do đó cần xác định chính xác các biến độc lập và biến phụ thuộc.
3.1.3. Phƣơng pháp đánh giá
Đầu tiên ta đánh giá so sánh các hàm mục tiêu OF0 và ETX qua việc thay đổi giá trị của các tham số DIO Interval Minimum, DIO Interval Doubling, Duty Cycling Interval và Frequency of Application Message (tần suất gửi thông điệp của ứng dụng), sau đó thông kê các đại lƣợng: Mức độ tiêu thụ năng lƣợng (Energy Consumption), độ trễ của mạng (Network Latency), quản lý lƣu lƣợng (Control Traffic Overhead)...
a) Đơn vị đánh giá hiệu suất
+ Thời gian thiết lập mạng: Các node trong mạng cảm biến cần phải tạo thành một kiến trúc để kết nối với nhau. Do đó thời gian thiết lập mạng là một đại lƣợng quan trọng để đánh giá hiệu năng của giao thức định tuyến RPL trong mạng cảm biến không dây. Thời gian thiết lập của DAG trong giao thức RPL đƣợc định nghĩa là khoảng thời gian cần thiết để các node tham gia vào DAG.
+ Quản lý lƣu lƣợng: Bao gồm các thông điệp DIO, DIS và DAO phát sinh bởi các node để kiểm soát lƣu lƣợng.
+ Mức độ tiêu thụ năng lƣợng:
+ Độ trễ mạng: là thời gian để gói tin đƣợc đƣợc truyền từ node đến sink, là độ trễ trung bình của tất cả các gói tin trong mạng.
+ Tỷ lệ truyền các gói tin: Là số gói tin trung bình nhận đƣợc ở sink. b) Các tham số
+ DIO Interval Minimum: Tham số này kiểm soát tỷ lệ truyền các thông điệp DIO. Các thông điệp DIO đƣợc truyền càng nhanh thì thời gian thiết lập mạng càng nhanh chóng. Tham số này ảnh hƣởng đến toàn bộ hiệu năng của giao thức. Trong Contiki, tham số này đƣợc thiết lập bới RPL_DIO_INTERVAL_MIN
+ DIO Doubling Interval: là khoảng thời gian DIO Minimum có thể tăng lên gấp đôi, hỗ trợ trong mạng cảm biến năng lƣợng thấp. Tham số này đƣợc thiết lập bởi RPL_DIO_INTERVAL_DOUBLING.
+ Duty Cycling Interval: Tham số này đƣợc sử dụng để thiết lập số lần cảm nhận trong một giây đối với bất kỳ kết nối nào. Tham số này đƣợc thiết lập bởi NETSTACK_RDC_CHANNEL_CHECKRATE
+ Tần suất gửi thông điệp ứng dụng: Là tỷ lệ thông điệp mức ứng dụng đƣợc gửi từ node đến sink. Tham số này đƣợc thiết lập bởi SEND_TIME.
3.2. Cài đặt mạng
Trong mô hình mô phỏng gồm 80 client và 01 server hoạt động nhƣ một nút gốc DODAG. Server sử dụng một ứng dụng mẫu udp-server.c còn client sử dụng udp- client.c. Chƣơng trình sử dụng một plugin có tên là Contiki Test Editor để ghi lại thời gian mô phỏng và kết thúc mô phỏng sau một khoảng thời gian xác định. Plugin này tạo ra một file log COOJA.testlog, đƣợc sử dụng để phân tích kết quả mô phỏng.
Các tham số của mô hình mô phỏng nhƣ sau:
Tham số Giá trị Start delay 65s Randomness 2s Total Packets 32115 RPL MOP NO_DOWNWARD_ROUTE OF OF0, ETX DIO Min 12 DIO Doubling 8
RDC Chanel Check Rate 16
Send Interval 4s RX Ratio 30-100% TX Ratio 100% TX Range 50m Interference Range 55m Simulation Time 1 hr
Client Node 80
Bảng 3.1: Các tham số mô phỏng
Tham số Send Interval thể hiện khoảng thời gian gửi giữa hai mức ứng dụng. Cả tham số Start delay và Send interval đều cộng thêm thời gian ngẫu nhiên (Randomness).
Tổng số gói tin gửi từ một node với tốc độ 1 packet/(Send interval ± Randomness).
Số gói tin tối thiểu đƣợc gửi đi với tốc độ 1 packet/Send interval * Simulation Time.
Số gói tin tối đa đƣợc gửi đi là 1 packet/(Send Interval + Randomness)*Simulation Time.
Trong mô hình mô phỏng các node RPL đƣợc cài đặt chế độ định tuyến NO DOWNWARD vì mô hình này sử dụng truyền thông đa điểm tới một điểm để giới hạn phạm vi nghiên cứu đánh giá. Tham số DIO Min và DIO Doubling sử dụng giá trị mặc