6LoWPAN là gì

Câu trả lời rất đơn giản, là lớp thích nghi để áp dụng chuẩn IPv6 (chỉ có IPv6 thôi, không tính đến IPv4) chạy trên radio IEEE 802.15.4; 6LoWPAN = IPv6 for Low power, Wireless Personal Area Networks.

WPAN đâu chỉ có IEEE 802.15.4, bạn có thể hỏi, ví như Bluetooth, dưới 1-GHz, và những thứ khác nữa. Vâng, 6LoWPAN được thiết kế trên IEEE 802.15.4 (đôi khi tôi tự hỏi vì sao họ lại đặt cái tên quá dài dòng và khó đọc như vậy) vì nền tảng này là mặc định cho WPAN. Tin vui là ta có thể mở rộng nó ra những nền tảng không-IEEE-802.15.4, thậm chí là trên cả PLC – giao tiếp qua đường điện.

Ngược về thời điểm đầu những năm 2000, lúc WSN vừa mới định hình, IP quá lớn để dùng cho mạng cấp thấp là một niềm tin vững vàng. Nhìn vào winsock hay Berkeley socket, chúng tốn hơn 1 MB RAM để chạy TCP/IP, mà ~MB RAM là xa xỉ phẩm cho WSN, lấy ví dụ Telos có 10 kB RAM. Có một bài báo (không nhớ chính xác tên bài này) nói rằng trong một buổi họp của Zibee Alien, một giáo sư từ MIT đề xuất sử dụng IP cho phiên bản thứ hai của Zigbee sau khi Zigbee-2004 ra đời; ý kiến của ông bị gạc phăng. Ông trở về lập ra nhóm làm việc để hỗ trợ tạo ra 6LoWPAN ngày nay.

Một gã thông minh tên là Adam Dunkels vào năm 2003 xuất bản bài báo [1] tuyên bố đã viết được lwIP với vài trăm kb RAM tương thích hoàn toàn với RFC1122 . Ông là tác giả của Contiki OS với uIP có kích thước nhỏ hơn nữa hỗ trợ cả IPv4 và IPv6.

Từ đó rào cản về tài nguyên không còn nữa. TCP/IP hoàn toàn có thể được dùng cho mạng cấp thấp.

Tuy nhiên có một vấn đề khác được đặt ra (luôn có vấn đề) là chiều dài gói dữ liệu của IEEE 802.15.4 quá nhỏ cho các gói IPv6. MTU của 802.15.4 = 127 bytes, trừ đi MAC header = 46 bytes, trừ đi IPv6 header = 40 bytes. Còn lại 41 bytes. Cơn bĩ cực chưa hết, nếu trừ đi UDP header (8 bytes), hoặc TCP header (20 bytes) thì chỉ còn vài xu lẻ cho dữ liệu từ lớp ứng dụng.

Vậy lớp thích nghi 6LoWPAN ra đời với 3 nhiệm vụ chính (xem [2]):

  • tách và ghép các gói
  • nén header
  • chuyển tiếp ở tầng 2 (link layer) khi đa chặng (multihop) được sử dụng.

Lớp 6LoWPAN nằm giữa lớp vận chuyển và liên kết dữ liệu như ở hình sau.

6LoWPAN hiện nay vẫn còn đang được định chuẩn bởi IETF, vào thời điểm bài này được viết, tại địa chỉ http://datatracker.ietf.org/wg/6lowpan/

Vâng, rõ ràng cộng đồng WSN đang tiến đến IP. Nhưng tại sao lại là IP? Zigbee đến nay vẫn không dùng IP đấy, WirelessHART có xài đâu. Câu trả lời nằm ở tính tương thích với hệ thống hiện tại. Internet với TCP/IP có tuổi thọ hơn 30 năm, và đến nay vẫn hoạt động tốt. IoT (hoặc WSN) muốn tham gia vào cộng đồng mạng hiện nay thì không có con đường nào khác ngoài IP (cụ thể là IPv6).

Vài năm tới,  Zigbee-IP sẽ được ra mắt, dù hơi muộn.

NQĐính.

Tham khảo:

[1] Adam Dunkels, Full TCP/IP for 8-bit architectures, MobiSys ’03

[2] Zach Shelby, Carsten Bormann, 6LoWPAN: The Wireless Embedded Internet. Wiley, 2010

2 thoughts on “6LoWPAN là gì”

    1. Nếu bạn muốn tìm hiểu sâu về nó, có thể tìm đọc cuốn sách 6LoWPAN: The Wireless Embedded Internet, Shelby & Bormann.
      Muốn làm việc với nó, bạn có thể chọn ContikiOS hay TinyOS cùng với những môi trường mô phỏng kèm theo.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s