Tải bản đầy đủ (.doc) (82 trang)

Nghiên cứu giải pháp tích hợp dịch vụ WEB cho mạng cảm biến không dây

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.71 MB, 82 trang )

MỤC LỤC
CHƯƠNG I.............................................................................................................2
MẠNG CẢM BIẾN KHÔNG DÂY TRÊN NỀN KIẾN TRÚC IP.....................2
1.4.Kiến trúc IP cho WSNs đề xuất bởi IETF..........................................................11
2.1.2.2. Tiêu đề tùy chọn đích đến (Destination Option Header)..............19
2.1.2.5. Tiêu đề nhận thực và bảo mật........................................................22
2.2.3.1. Nén tiêu đề sử dụng LOWPAN_HC1 và LOWPAN_HC2..........29
2.2.3.3. Nén tiêu đề IPv6 kế tiếp.................................................................38

LỜI MỞ ĐẦU
Trong những năm gần đây, kích thước và phạm vi của Internet phát triển
nhanh chóng (ví dụ, máy tính cá nhân và điện thoại thông minh) cho tới hàng nghìn
tỷ các thiết bị nhúng (ví dụ, cảm biến) trong thế giới vật lý đang trở nên thông minh,
chúng đủ khả năng để giao tiếp và chia sẻ dữ liệu qua Internet - được gọi là Internet
of Things (IoT). Sự phát triển như vậy mang đến cả những khả năng thú vị và thách
thức đối với Internet, chẳng hạn như làm thế nào để tích hợp dịch vụ web vào các
thiết bị giới hạn tài nguyên? Làm thế nào để truy cập một cách hiệu quả tới các thiết
bị trên Web đang tồn tại? Chính vì lý do đó mà đồ án này sẽ trình bày giao về giao
thức Constrained Application Protocol (CoAP).
CoAP là giao thức ứng dụng dành cho các thiết bị hạn chế tài nguyên trong đó
có các nút cảm biến không dây. Giao thức CoAP cho phép các nút cảm biến không
dây có các chức năng dịch vụ WEB. CoAP là một giao thức truyền tải Web giống
như HTTP. Nhưng vì CoAP là giao thức ứng dụng dành cho các thiết bị hạn chế tài
1


nguyên nên nó có một số điểm khác so với HTTP như giao thức lớp truyền tải là
UDP mà không phải TCP và kỹ thuật nén tiêu đề để làm cho các gói tin có kích
thước nhỏ hơn.
Đồ án tập trung nghiên cứu về tài liệu chuẩn hóa giao thức CoAP của IETF và
ứng dụng của giao thức CoAP trong mạng cảm biến không dây. Đây là một hướng


nghiên cứu còn rất mới mẻ ở Việt Nam và hiện đang được tập trung nghiên cứu trên
thế giới. Các kết quả nghiên cứu của đề tài sẽ là tài liệu tham khảo hữu ích cho
những ai quan tâm đến giải pháp tích hợp dịch vụ web cho mạng cảm biến không
dây.

CHƯƠNG I
MẠNG CẢM BIẾN KHÔNG DÂY TRÊN NỀN KIẾN TRÚC IP
Chương này đưa ra khái niệm “mạng cảm biến không dây”, các ứng dụng
ngày càng thông minh mà mạng cảm biến mang lại cho đời sống của con người,
những khó khăn thách thức đối với mạng cảm biến không dây trong quá trình triển
khai và quản lý mạng. Từ những thách thức đó các nhà nghiên cứu đã tìm ra những
ưu điểm nổi bật mà kiến trúc IP mang lại cho mạng cảm biến không dây, khắc phục
được những yếu điểm cố hữu của mạng, nêu ra được những lý do thuyết phục nếu
sử dụng IP trong mạng so với mạng truyền thống (không sử dụng IP). Và phần cuối
của chương giới thiệu về hai nhóm làm việc 6LoWPAN và ROLL do IETF tạo ra để
xây dựng kiến trúc giao thức cho các mạng hạn chế tài nguyên trong đó có mạng
cảm biến không dây.
1.1. Giới thiệu chung về mạng cảm biến không dây
1.1.1. Khái niệm

2


Mạng cảm biến không dây (WSNs) là một cấu trúc, là sự kết hợp các khả
năng cảm biến, xử lý thông tin và các thành phần liên lạc để tạo khả năng quan sát,
phân tích phản ứng lại với các sự kiện và hiện tượng xảy ra trong môi trường cụ thể
nào đó. Môi trường có thể là thế giới vật lý, hệ thống sinh học…
WSNs bao gồm các nút cảm biến nhỏ hoạt động như là máy phát dữ liệu và
chuyển tiếp mạng. Mỗi nút gồm cảm biến, bộ vi xử lý, và một bộ thu phát. Thông
qua hàng loạt các cảm biến tích hợp chặt chẽ, thu thập dữ liệu từ một hiện tượng vật

lý như: nhiệt độ, độ ẩm, ánh sáng, âm thanh, độ ô nhiễm,… Các nút cảm biến có thể
lập trình để thực hiện các nhiệm vụ phức tạp là truyền tải những gì nó quan sát. Quá
trình thu phát này tạo thành hệ thống kết nối không dây để truyền đạt các hiện
tượng quan sát được. Các nút cảm biến có nguồn năng lượng hạn chế (pin), giao
tiếp với nhau qua mạng vô tuyến không dây và truyền dữ liệu về trung tâm xử lý
bằng kỹ thuật truyền đa chặng. Do cấu trúc liên kết mạng tự động thay đổi vì các
hoạt động quản lý điện năng của các nút cảm biến. Để tiết kiệm năng lượng, các nút
tích cực tự chuyển đổi chức năng thu phát và tự ngắt kết nối từ mạng.
1.1.2. Ứng dụng
Trong chuyên đề “10 công nghệ làm thay đổi cuộc sống” đăng trên
Computerworld, John Brandon đã đánh giá cảm biến là công nghệ dẫn đầu trong
danh sách các công nghệ biến đổi cuộc sống mạnh nhất. Ông nói rằng “công nghệ
cảm biến là công nghệ tác động đến cuộc sống và con người nhiều nhất. Ở đâu có
sự vật tồn tại, hầu như ở đó có cảm biến - từ cầu chì, ổ điện, đến khóa cửa, quần áo,
thậm chí cả trên da thịt con người”.
Ngày nay, cảm biến có thể giải được các mã vạch và đọc được các kí hiệu 2D,
xác định được liệu ngưỡng nhiệt độ đã đạt được trong các ứng dụng nhiệt, liệu công
ten nơ có bị rò rỉ, một phần hàng hóa đã bị thất thoát mà không kiểm chứng được?
Biến đổi khí hậu là một trong những vấn đề nổi cộm nhất mà con người đang phải
đối đầu và chuẩn ISO mới được thành lập về lĩnh vực này cũng sẽ ứng dụng những
cảm biến trong lĩnh vực quản lý môi trường. Công nghệ cảm biến cũng được kì
vọng sẽ mang lại những ứng dụng tích cực trong việc xử lý chất thải hay nước thải
trong thời gian sắp tới. Thiết bị nhỏ bé nhưng cực kì thông minh này sẽ hỗ trợ cho
hệ thống quản lý hàng hóa thông minh; kiểm soát các hàng hóa và hóa chất độc hại;

3


kiểm tra các thông số về nhiệt độ, áp suất và dòng chảy; cho phép ghi lại tình trạng
thiết bị y tế và bệnh nhân; quản lý các thiết bị phục vụ cho ngành hàng không.

Bên cạnh những gì mà mạng cảm biến làm được, những ứng dụng thông minh
như đã nêu ra ở trên thì việc triển khai, quản lý mạng cảm biến cũng gặp không ít
những khó khăn và thách thức. Điều này sẽ được chỉ ra ở phần tiếp theo.
1.1.3. Khó khăn và thách thức
Giống như bất kỳ công nghệ mới nào, luôn có những thách thức đặt ra trong
quá trình phát triển của WSNs. Những thách thức cho WSNs bao gồm thách thức ở
cấp độ nút ở bên trong mỗi nút WSNs như năng lượng tiêu thụ và kích thước vật lý,
các cơ chế và cấu trúc ở cấp độ mạng được hình thành bởi các nút WSNs. Hai lĩnh
vực thường ảnh hưởng lẫn nhau làm cho vấn đề chở nên phức tạp hơn.
1.1.3.1. Những thách thức ở cấp độ nút
Những thách thức chính ở cấp độ nút của các nút WSNs cần phải giải quyết là
công suất tiêu thụ, kích thước vật lý và giá thành. Công suất tiêu thụ là một yếu tố
quan trọng bởi vì các nút thường được chạy bằng pin. Kích thước vật lý cũng rất
quan trọng bởi vì các yếu tố kích thước và hình thức quyết định các ứng dụng tiềm
năng cho WSNs, các nút WSNs phải có kích thước nhỏ gọn, giá thành hợp lý bởi
các WSNs thường được triển khai trên quy mô lớn. Hạn chế nghiêm trọng trong
việc tiêu thụ năng lượng có ảnh hưởng đến việc thiết kế cho các phần cứng, phần
mềm, giao thức mạng, và thậm chí cả kiến trúc mạng. Đối với các nhà thiết kế phần
cứng, bắt buộc phải lựa chọn các linh kiện phần cứng có công suất thấp và bố trí để
giảm thiểu tối đa dòng rò và hỗ trợ chế độ ngủ hiệu quả về mặt năng lượng, các
phần mềm cần phải tắt các thành phần không sử dụng và đặt các phần cứng trong
chế độ ngủ càng nhiều càng tốt. Dưới sự hỗ trợ các nhà phát triển phần mềm, các
nút mạng cảm biến chạy hệ điều hành và cung cấp cơ chế hoạt động công suất thấp.
Kích thước vật lý và giá thành có ảnh hưởng sâu sắc đối với nhà thiết kế phần
cứng lẫn phần mềm. Đối với các nhà thiết kế phần cứng yêu cầu các phần cứng phải
có kích thước nhỏ gọn, số lượng linh kiện cần phải ít, kích thước nhỏ và rẻ tiền. Các
phần mềm chạy trên các bộ vi xử lý trở nên nhỏ hơn vì tốc độ tính toán của chúng
và kích thước bộ nhớ bị giảm bớt. Do đó, phần mềm cho các nút mạng cảm biến
không dây không chỉ cần hiệu quả năng lượng mà còn phải có khả năng chạy trong
một môi trường hạn chế nghiêm ngặt về tài nguyên.


4


Các hạn chế nguồn tài nguyên ảnh hưởng sâu sắc đến cấp độ nút và có ảnh
hưởng đến cấp độ mạng. Với nhứng hạn chế về số lượng bộ nhớ trong mối nút
mạng cảm biến không dây thì các giao thức mạng phải được thiết kế để hạn chế số
lượng thông tin về mạng và các nút khác trong mạng mà mỗi nút cần phải nắm giữ.
1.1.3.2. Những thách thức ở cấp độ mạng
Những thách thức ở cấp độ nút của mạng cảm biến không dây đối phó với vấn
đề quy mô nhỏ của nguồn tài nguyên sẵn có, trong khi đó những thách thức ở cấp
độ mạng lại phải đối phó với vấn đề quy mô lớn của các mạng cảm biến không dây.
Mạng cảm biến không dây trong rất nhiều trường hợp, các nút cảm biến không
dây thu thập một lượng lớn dữ liệu từ nhiều điểm thu riêng biệt, nhiều mạng riêng
biệt bao gồm hàng ngàn các nút cảm biến không dây.
Kích thước mạng ảnh hưởng đến việc thiết kế giao thức định tuyến bản tin
trong WSNs. Thiết kế các giao thức định tuyến rất quan trọng bởi vì nó ảnh hưởng
đến hiệu năng mạng xét về lượng dữ liệu mà mạng có thể duy trì và tốc độ các dữ
liệu có thể được vận chuyển thành công qua mạng. Hơn nữa là thời gian sống của
mạng được đảm bảo. Trong WSNs, việc truyền thông đòi hỏi năng lượng và các nút
truyền thông thường mất năng lượng nhanh hơn so với các nút đang ở chế độ ngủ.
Vì vậy, giao thức định tuyến phải có những lựa chọn thông tin đầy đủ khi lập kế
hoạch vận chuyển bản tin như thế nào qua mạng.
WSNs thường chạy trên kênh truyền không đáng tin cậy càng làm cho vấn đề
chở nên xấu hơn. Đối với kênh truyền thông vô tuyến công suất thấp thì nếu một
bản tin đã được gửi đi bởi một nút sẽ được nhận bởi một nút khác đã được dự kiến
trước là không chắc chắn. Tính chất không đáng tin cậy của mạng cảm biến không
dây được gọi là “tổn hao”. Tổn hao nên được coi như là một đặc tính vốn có của
mạng cảm biến không dây. Tổn hao trong các mạng cảm biến không dây là một
thách thức cho các giao thức định tuyến. Các giao thức định tuyến phải tính toán

vấn đề tổn hao khi quyết định nơi để định tuyến. Các giao thức định tuyến phải tính
toán vấn đề tổn hao khi quyết định nơi để định tuyến các bản tin và có thể bản tin
này nên được gửi lại. Bản tin sẽ được định tuyến sao cho các nguy cơ bị mất gói tin
là thấp nhất.
Tổn hao là một thuộc tính khó xác định, đặc biệt là trong các mạng không dây.
Tổn hao bị ảnh hưởng bởi các yếu tố môi trường như nhiệt độ và độ ẩm của không
khí cũng như môi trường vật lý xung quanh các mạng cảm biến không dây.

5


Tính chất quy mô lớn của WSNs làm phức tạp thêm việc định địa chỉ các nút.
Trong mạng quy mô lớn, mỗi nút riêng lẻ phải có địa chỉ để các bản tin được gửi
đến nó. Các địa chỉ phải đủ độ dài sao cho mỗi nút trong các mạng lớn đều có một
địa chỉ riêng biệt hoặc mạng có quy mô nhỏ, thì nó có thể tương tác với các nút bên
ngoài, trong trường hợp đó, địa chỉ của các nút trong hai mạng phải là duy nhất.
Vì số lượng mạng cảm biến không dây có thể tương tác với các mạng khác
nên chúng ta cần phải chuẩn bị cho quy mô phát triển theo cấp số nhân. Do đó, cơ
chế định địa chỉ cho mạng cảm biến không dây được lựa chọn phải xác định duy
nhất cho vài triệu, thậm chí vài tỷ nút riêng biệt.
Với quy mô lớn của các mạng cảm biến không dây, thì việc quản lý mạng sẽ
trở thành một thách thức vô cùng khó khăn. Quản lý theo cách truyền thống đòi hỏi
sự điều chỉnh cơ sở hạ tầng mạng thủ công bởi một quản trị viên hệ thống. Với các
mạng cảm biến không dây phải được chuẩn bị để tự quản lý chính nó mà không có
bất kỳ sự điều hành mạng nào của con người. Hơn nữa trong mạng máy tính truyền
thống, mỗi máy tính kết nối mạng có thể yêu cầu cấu hình thủ công hoặc bán thủ
công nhưng với mạng cảm biến không dây thì điều này là không khả thi.
Cuối cùng, một mạng cảm biến không dây phải cung cấp các cơ chế truy cập
từ bên ngoài. Có những trường hợp mà một mạng cảm biến không dây được sử
dụng cô lập, nhưng thường là các dữ liệu tạo ra bởi các mạng cảm biến không dây

cần phải được lấy ra để chúng có thể được xử lý hoặc được lưu trữ ở nơi khác.
Ngoài ra, các mạng cảm biến không dây cần phải được cấu hình lại hoặc thay đổi
trong quá trình hoạt động. Trong cả hai trường hợp đó, các mạng cảm biến không
dây phải có khả năng truy cập được từ bên ngoài.
1.1.3.3. Sự chuẩn hóa
Tiêu chuẩn là một yếu tố then chốt đối với sự thành công của các mạng cảm
biến không dây. Mạng cảm biến không dây được biết đến không chỉ bởi số lượng
lớn các nút và các ứng dụng, mà còn bởi một số lượng đáng kể các tiêu chuẩn, các
nhà sản xuất và công ty khác nhau. Các công nghệ sản xuất khác nhau có những
tiêu chuẩn khác nhau. Một nhà sản xuất thiết bị cảm biến chuyên về cảm biến độ ẩm
chính xác cao có thể không quan tâm đến các hệ thống công ngệ thông tin. Tuy
nhiên, cả hai phải làm việc cùng nhau trong hệ thống tòa nhà tự động, ở đó các cảm
biến độ ẩm tạo ra đầu vào có giá trị cho việc kiểm soát môi trường được điều khiển
bởi một hệ thống công nghệ thông tin. Tiên tiến chúng tiếp nhận đầu vào từ các cảm
biến độ ẩm.
6


Nếu không có sự chuẩn hóa, thì các nhà sản xuất thiết bị và các nhà tích hợp
hệ thống cần phải xây dựng toàn bộ hệ thống. Ngoài ra, nhà sản xuất và nhà tích
hợp sẽ sử dụng một công nghệ độc quyền từ một nhà sản xuất riêng lẻ. Công nghệ
độc quyền này có thể cung cấp các lợi ích trong một thời gian ngắn, nhưng nó làm
cho nhà sản xuất và nhà tích hợp đều hặp khó khăn trong việc phát triển hệ thống
của họ vượt ra ngoài công nghệ độc quyền của các nhà cung cấp.
Với việc chuẩn hóa công nghệ thì công nghệ là độc lập với nhà cung cấp, nhà
sản xuất và người dùng. Bất kỳ nhà cung cấp nào có thể chọn lựa để cung cấp các
hệ thống dựa trên công nghệ, và các nhà sản xuất thiết bị, các nhà tích hợp hệ thống
có thể lựa chọn nền tảng hệ thống của họ nên công nghệ từ bất kỳ nhà cung cấp nào.
Tiêu chuẩn hóa công nghệ có một ưu điểm lớn ở việc chấp nhận các điều
khoản chung. Khi công nghệ được chuẩn hóa, các nhà cung cấp, nhà sản xuất, và

các nhà tích hợp hện thống có thể dễ dàng chọn các công nghệ mà không có rủi ro
từ các nhà cung cấp chính nữa.
1.1.3.4. Khả năng cộng tác
Khả năng cộng tác là khả năng các thiết bị và hệ thống của các nhà cung cấp
khác nhau có thể hoạt động cùng nhau. Khả năng cộng tác là điều cần thiết giữa các
nhà sản xuất khác nhau giữa mạng cảm biến không dây với các cơ sở hạ tầng mạng
hiện có.
Mạng cảm biến không dây sau khi được chuẩn hóa phải có khả năng cộng tác
ở nhiều mặt. Các nút cảm biến phải tương thích với nhau từ lớp vật lý cho đến lớp
ứng dụng. Khả năng cộng tác ở lớp vật lý xảy ra khi các thiết bị từ các hãng khác
nhau giao tiếp vật lý được với nhau. Ở cấp độ vật lý, các nút cảm biến không dây
phải thống nhất trên các vấn đề như là tần số vô tuyến để thực hiện truyền thông,
kiểu điều chế tín hiệu, và tốc độ được truyền. Ở cấp độ mạng, các nút phải thống
nhất về định dạng của thông tin được gửi và nhận được trên các kênh vật lý và làm
thế nào để đánh địa chỉ các nút, cũng như làm thế nào để các thông điệp sẽ được
vận chuyển qua mạng? Ở lớp ứng dụng hoặc lớp tích hợp, các nút cảm biến phải
chia sẻ một quan điểm chung là làm thế nào để dữ liệu được nhập vào và lấy ra từ
mạng cảm biến không dây, cũng như làm thế nào để nút mạng cảm biến có thể được
truy nhập tới từ các hệ thống bên ngoài.
Tất cả những khó khăn, thách thức đối với WSNs nêu trên, sẽ lần lượt được
giải quyết bằng việc sử dụng IPv6 cho WSNs (Chương II) và giao thức lớp ứng
dụng – CoAP cho phép tích hợp dịch vụ web cho WSNs (Chương III).
7


1.2.

Giới thiệu về kiến trúc IP
Kiến trúc giao thức TCP/IP được thiết kế khoảng 30 năm trước đây, bây giờ
được sử dụng trên hàng tỷ các thiết bị trên khắp thế giới từ các thiết bị cầm tay và

máy tính xách tay đến các siêu máy tính. Bộ ứng dụng giao thức IP đã được nâng
cao để hỗ trợ truyền thông đa điểm, chất lượng dịch vụ (QoS), kỹ thuật lưu lượng,
và các dich vụ thời gian thực với kiến trúc được duy trì trong một thời gian dài.
ARPANET đã cho ra đời giao thức Internet, ARPANET là một dự án tài trợ
của cơ quan dự án nghiên cứu cao cấp (ARPA). Một trong những giao thức đầu tiên
được phát triển là giao thức năm 1822, sau đó đã nhanh chóng được thay thế bởi các
giao thức điều khiển mạng (NCP). Giao thức này được phát triển vào năm 1970 với
mục tiêu kết nối các máy tính bởi giao diện bộ xử lý thông điệp (IMP) giữa các
trang web khác nhau trong một mạng đường trục.
Đến cuối năm 1971, 15 trang web được kết nối với nhau bằng cách sử sụng
giao thức NCP, tạo thành hạt nhân đầu tiên của Internet. Robert Kahn và Vint Cerf
sau đó đã thiết kế TCP để thay thế cho NCP (tại thời điểm đó TCP/IP được gọi là
TCP bởi vì các giao thức chưa được tách riêng).
Thế hệ tiếp theo của giao thức là IPv4 được thiết kế vào năm 1981. Giao thức
này ban đầu chỉ chạy được trên một vài hệ thống. Nhưng đến bây giờ,nó đang chạy
trên hầu hết các máy tính.
Quỹ khoa học Quốc gia (NSF) đã đóng một vai trò quan trọng trong sự phát
triển của Internet và mạng Quỹ khoa học Quốc gia (NSFNET), hoạt động vào năm
1986 bằng việc sử dụng bộ giao thức TCP/IP tương thích với các giao thức mạng
ARPANET. NSFNET bắt đầu với kết nối của các mạng lưới học viện khu vực, đó
là điểm khởi đầu của Internet trên toàn thế giới hiện nay.

8


Hình 1.1. Sự phân lớp trong TCP/IP và OSI
Chỉ đến giữa thập niên 1990, các mạng khu vực NSFNET tiếp tục mở rộng tới
các mạng lưới thương mại, và tiếp tục tăng trưởng theo cấp số nhân của Internet đến
bây giờ. Sau đó là sự xuất hiện của các phiên bản mới của IP (IPv6). IPv6 đã không
thay đổi kiến trúc ban đầu giao thức TCP/IP được xác định cho IPv4, nó chỉ là một

phiên bản của IP để đem lại một loạt các tính năng mới và cải tiến, thêm vào một
không gian địa chỉ lớn hơn rất nhiều. Mục tiêu của việc thiết kế và xây dựng mạng
Internet là xây dựng một mạng linh hoạt cao, đáng tin cậy, khả năng hỗ trợ đa dạng
các dịch vụ. Sự linh hoạt như vậy được tạo ra bởi việc thông qua một kiến trúc phân
lớp TCP/IP. Kiến trúc này đã vượt quá những mong đợi: Internet hiện nay và các
mạng IP riêng sử dụng một loạt các lớp vật lý và các lớp liên kết khác nhau (ví dụ
như: SONET/SDH, ATM, Ethernet, liên kết không dây như IEEE 802.11, … Một
số ứng dụng yêu cầu một tập hợp nhiều các dịch vụ sử dụng hoặc là TCP hoặc UDP
như thư điện tử hay chuyển tập tin và các ứng dụng thời gian thực như thoại, video.
Những khái niệm về sự phân lớp là một trong những cơ sở của việc thiết kế đã
tạo ra một kiến trúc cực kỳ linh hoạt. Khái niệm về sự phân lớp sau đó đã được mở
rộng với bốn lớp hiện nay của giao thức TCP/IP và mô hình OSI bảy lớp (hình 1.1).
1.3. Ưu điểm của kiến trúc IP cho WSNs
 Khả năng tương tác: Khả năng tương tác là một đặc điểm nổi bật của kiến trúc
giao thức IP. Nó có các khả năng tương tác bởi vì nó chạy trên các lớp liên kết
với nhiều đặc điểm rất khác nhau. Các nút mạng cảm biến không dây hoạt động
trên nền IP tương thích với các thiết bị IP khác. Bộ ứng dụng IP chứa một tập các
9


giao thức chạy trên IP bao gồm các giao thức lớp truyền tải UDP và TCP/IP, các
giao thức lớp ứng dụng: HTTP và các giao thức quản lý mạng đơn giản như
(SNMP) cho cấu hình mạng. Kiến trúc IP được chuẩn hóa bởi một tổ chức tiêu
chuẩn quốc tế đã được thiết lập nhằm cung cấp các cơ chế, qua đó các tiêu chuẩn
mới được xem xét và hiệu chỉnh.
 Một kiến trúc phát triển linh hoạt: Khả năng phát triển linh hoạt trong các ứng
dụng là do nguyên lý đầu cuối của kiến trúc giao thức IP. Ngay từ đầu kiến trúc
giao thức IP đã được thiết kế để cho phép các giao thức và các cơ chế lớp ứng
dụng phát triển độc lập với các cơ chế và các chuẩn giao thức mạng phía dưới.
 Khả năng mở rộng: Kiến trúc giao thức IP đã được chứng minh hoàn toàn có

khả năng mở rộng. Thông qua việc triển khai toàn cầu Internet, IP đã cho thấy
rằng nó có thể được triển khai trên một số lượng lớn các hệ thống và chạy trên
một loạt các giao thức khác nhau.
 Tính ổn định và sự phổ biến của kiến trúc: Kiến trúc giao thức IP đã tồn tại gần
30 năm. Tiêu chuẩn đã được cập nhật một vài lần trong vòng 30 năm, nhưng nền
tảng của nó như là một công nghệ truyền thông dựa trên gói tin vẫn không đổi.
Lớp mạng, cốt lõi của kiến trúc IP, tồn tại trong hai phiên bản là IPv4 và IPv6.
Sự khác biệt chính giữa hai phiên bản là IPv6 cung cấp nhiều địa chỉ hơn. Sự ổn
định và kiến trúc giao thức IP cũng có những tác động về kiến thức giáo dục
người dùng và các nhà quản trị mạng. Kiến trúc giao thức IP và các giao thức của
nó là một phần quan trọng của chương trình trong các khóa học và tài liệu đào
tạo ở mọi cấp của hệ thống giáo dục khác nhau.
 Cấu hình và quản lý mạng: Qua việc áp dụng rộng rãi và triển khai quy mô lớn,
kiến trúc IP đã phát triển rất nhiều các cơ chế và các giao thức cho việc cấu hình
và quản lý mạng. Những cơ chế này là một điều cần thiết khi phát triển các mạng
lớn tới hàng ngàn máy. Các công cụ quản lý mạng cho phép duy nhất một người
quản lý các mạng lớn, mà không cần cấu hình bằng tay cho mỗi máy.
 Kích thước nhỏ gọn: Tiêu thụ công suất thấp, kích thước vật lý nhỏ và chi phí
thấp là ba trong những thách thức cấp độ nút của các nút mạng cảm biến không
dây. Một kiến trúc mạng cảm biến không dây phải có khả năng hoạt động trong
những giới hạn chặt chẽ này và thực hiện các công việc của nó. Ngăn xếp uIP đã
được sử dụng rộng rãi trong các hệ thống mạng cảm biến không dây và hệ thống
nhúng có kết nối mạng. uIP đã được mở rộng để hỗ trợ giao thức IPv6. Kích
thước bộ nhớ sử dụng của ngăn xếp được chỉ ra như hình 1.2.

10


Hình 1.2. Kích thước bộ nhớ của uIP, lwIP và hai ngăn xếp IPv6
 Dễ dàng trong việc kết nối với các mạng khác: Với các mạng cảm biến không

dây không dựa trên nền kiến trúc IP thường được kết nối đến các mạng khác dựa
trên các Gateway. Mặc dù cách đây khoảng một thập niên, các Gateway này đã
được triển khai cho hầu hết các mạng, khi mà kiến trúc IP không được lựa chọn,
nhưng hầu hết các mạng nhanh chóng chuyển hướng sang kiến trúc giao thức IP.
Có hai lý do chính cho việc chuyển hướng sang kiến trúc giao thức IP là: Sự
phức tạp cố hữu của các Gateway và thiếu linh hoạt và khả năng mở rộng.
1.4. Kiến trúc IP cho WSNs đề xuất bởi IETF
IETF là cơ quan tiêu chuẩn hóa quốc tế quy định bộ giao thức IP. IETF được
thành lập vào năm 1986 và được thành lập bởi các cá nhân. IETF đã diễn ra cuộc
họp đầu tiên vào tháng 5 năm 1986 tại SanDiego, California, với 21 người tham dự.
Sứ mệnh của IETF là để tạo ra các tài liệu kỹ thuật và kỹ thuật liên quan, có
ảnh hưởng đến cách mọi người thiết kế, sử dụng, và quản lý Internet. Các tài liệu
được tạo ra dưới hình thức RFC bởi các nhóm công tác. Để xây dựng kiến trúc IP
cho các mạng hạn chế tài nguyên trong đó có mạng cảm biến không dây, IETF đã
tạo ra các nhóm công tác để chuẩn hóa các giao thức đó là:
 Nhóm công tác 6LoWPAN: Nhóm công tác 6LoWPAN được thành lập vào năm
2004 làm việc với các thông số kỹ thuật giao thức trong mạng cá nhân không dây
công suất thấp được yêu cầu chuẩn hóa những thích ứng cần thiết của IPv6 cho
các mạng sử dụng lớp vật lý IEEE 802.15.4, xác định làm thế nào truyền các gói
dữ liệu IPv6 qua các kênh theo chuẩn IEEE 802.15.4 và thực hiện các chức năng
cấu hình cần thiết để tạo và duy trì một mạng IPv6.

11


 Nhóm công tác ROLL: IETF giao cho nhóm công tác này về vấn đề định tuyến
qua kênh truyền tổn hao và công suất thấp nhằm chuẩn hóa giao thức định tuyến
IPv6 cho các thiết bị hạn chế tài nguyên. Nhóm này đã xác định giao thức định
tuyến RPL trong đó xây dựng một cấu trúc liên kết mạng bền vững qua các liên
kết tổn hao với các yêu cầu trạng thái tối thiểu.

1.5. Kết chương
Nội dung của chương đã đem đến cái nhìn tổng quan về mạng cảm biến không
dây, các ứng dụng thực sự thông minh của nó đối với đời sống của con người. Bên
cạnh đó, chương I cũng đưa ra những hạn chế của WSNs cần được khắc phục, đó
cũng chính là thách thức đặt ra cho các nhà nghiên cứu phát triển WSNs trên nền
kiến trúc IP. Kiến trúc IP đã mang đến cho WSNs khả năng tương tác, tính linh
hoạt, khả năng mở rộng, sự ổn định và phổ biến, các cơ chế cấu hình và quản lý
mạng (vì có những ứng dụng mạng lớn tới hàng ngàn, hàng triệu, thậm chí hàng tỷ
node mạng) điều mà mạng không sử dụng IP khó có thể thực hiện được.Thêm vào
đó, kích thước uIP nhỏ gọn, công suất thấp phù hợp với WSNs, dễ dàng trong việc
kết nối với các mạng khác. Để hiện thực hóa điều này, IETF đã tạo ra nhóm công
tác 6LoWPAN và ROLL để xây dựng kiến trúc giao thức IP cho các mạng hạn chế
tài nguyên trong đó có WSNs.
Như vậy chương I đã chỉ ra lý do sử dụng IP cho WSNs, trong chương II sẽ
trình bày về IPv6 cho WSNs. Vấn đề IP đã được giải quyết, tuy nhiên không chỉ
dừng lại ở đó, các cảm biến hiện tại đủ thông minh để có thể giao tiếp và chia sẻ dữ
liệu qua internet- tức là cần phải tích hợp dịch vụ web cho các thiết bị và mạng hạn
chế tài nguyên trong đó có WSNs. Vấn đề này sẽ được giải quyết trong chương IIIgiao thức lớp ứng dụng CoAP cho phép các node cảm biến có chức năng dịch vụ
web. Khi đó việc truy nhập trực tiếp vào dữ liệu của mạng cảm biến thu được trở
nên cực kì đơn giản. CoAP chính là giải pháp tích hợp dịch vụ web cho mạng cảm
biến không dây.

CHƯƠNG II
IPv6 CHO MẠNG CẢM BIẾN KHÔNG DÂY

12


Như trình bày trong chương I về “mạng cảm biến không dây trên nền kiến trúc
IP”. Nội dung chương này cũng đã chỉ ra lý do IP được lựa chọn cho mạng WSNs.

Nhưng với thời điểm hiện tại thì phiên bản IP nào sẽ phù hợp hơn với WSNs? Nội
dung chương II sẽ trình bày về IP phiên bản 6 (IPv6) cho WSNs, lý do IPv6 được
sử dụng là vì không gian địa chỉ của IPv4 đã gần như cạn kiệt trong khi IPv6 có
không gian địa chỉ lớn hơn rất nhiều, hỗ trợ cấu hình tự động, tiêu đề mở rộng, bắt
buộc IPSec … nhằm khắc phục một số hạn chế trong IPv4. Tuy nhiên, đơn vị
truyền dẫn tối đa mà IPv6 hỗ trợ lên đến 1280 bytes, vấn đề đặt ra là làm sao để có
thể truyền gói tin IPv6 qua lớp liên kết IEEE 802.15.4 chỉ hỗ trợ đơn vị truyền dẫn
tối đa là 127 bytes? Đó cũng là nội dung mà chương II cần làm sáng tỏ, như là cách
phân mảnh và ghép lại tin, đồng thời trình bày về các kĩ thuật nén tiêu đề gói tin lựa
chọn ra kĩ thuật nén tối ưu nhất để giảm kích cỡ tiêu đề IPv6, tiêu đề UDP và tăng
phần tải trọng của gói tin.
2.1. Tổng quan về IPv6
IPv6 đóng một vai trò chính trong “mạng cảm biến không dây dựa trên nền
kiến trúc IP”. IPv6 hoàn toàn theo nguyên tắc kiến trúc cơ bản của IP, nó chỉ là
phiên bản tiếp theo của IP nhằm giải quyết một số hạn chế của IPv4. IPv4 chắc chắn
sẽ vẫn hoạt động trong các năm tới và các nhà thiết kế IPv6 đã phát tiển một loạt
các cơ chế cho phép một sự chuyển đổi dễ dàng từ IPv4 sang IPv6. Dưới đây là một
số chức năng chính của IPv6:
 Không gian địa chỉ lớn hơn đáp ứng được yêu cầu đối với các mạng có quy mô
lớn: Với sự cạn kiệt địa chỉ IPv4 vào cuối năm 2012, IPv6 là sự lựa chọn hiển
nhiên. Bằng việc mở rộng không gian địa chỉ từ 32bit lên 128 bit nên một số
lượng lớn các địa chỉ có thể giành cho các nút cảm biến, cùng với đó sẽ có nhiều
hơn nữa các mức phân cấp địa chỉ và đặc điểm tự cấu hình.
 Tự động cấu hình: Đối với các mạng có quy mô rất lớn thì việc quản lý ở mức độ
rộng lớn (bao gồm việc dự phòng, cấu hình, quản lý lỗi, thống kê, phân tích hiệu
năng) trở nên rất khó khăn. Do vậy, việc thiết lập các tính năng tự động cấu hình
được hỗ trợ bởi IPv6 trong các mạng cảm biến không dây là hết sức được quan
tâm.
 Sự thay đổi về tiêu đề gói tin: Một số trường tiêu đề IPv4 không sử dụng đã được
loại bỏ (ví dụ như sự phân mảnh, tổng kiểm tra,…) và một cấu trúc đơn giản hơn

với tiêu đề cố định và thêm vào các tùy chọn tiêu đề mở rộng chuỗi nối tiếp đã
được áp dụng. Các trường mới cũng đã được thêm vào (ví dụ như nhãn luồng).
13


 Sự nhận thực và bảo mật: Các tiêu đề mở rộng đã được định nghĩa để hỗ trợ việc
nhận thực, tính toàn vẹn và bảo mật dữ liệu.
 Vấn đề an ninh: IPSec (tùy chọn trong IPv4) là bắt buộc trong IPv6.
2.1.1. Cấu trúc tiêu đề IPv6 cố định
Tiêu đề cố định luôn đi kèm với gói tin IPv6. Hình 2.1 chỉ ra cấu trúc của tiêu
đề cố định gói tin IPv6. Các trường trong tiêu đề gói tin IPv6 bao gồm:
Version
(4 bít)

Traffic Class

Flow label

(8 bít)

(20 bít)

Payload length

Next header

Hop limit

(16 bít)


(8 bít)

(8 bít)

Source address
Destination address
Hình 2.1. Định dạng tiêu đề gói tin IPv6

Bảng 2.1. Bảng độ ưu tiên với các lớp dịch vụ/ứng dụng khác nhau
 Phiên bản- Version (4bit): IP phiên bản 6.
 Loại lưu lượng- Traffic class (8 bit): Trường 8 bit này được dùng để chỉ ra lớp
dịch vụ (CoS- Class of Service) của gói tin. Trường này được sử dụng để biểu
diễn mức ưu tiên của gói tin, ví dụ có nên được truyền với tốc độ nhanh hay
thông thường, cho phép thiết bị thông tin có thể xử lý gói một cách tương ứng.
14


Precedence xác định mức ưu tiên sử dụng 8 mức từ 0-7. Trường ưu tiên trong
tiêu đề IPv6 có thể được giả định với các giá trị khác nhau để cho phép các nút
nguồn phân biệt giữa các gói được tạo ra bằng cách kết hợp các ưu tiên khác
nhau đến chúng. Trường này được sử dụng bởi node nguồn và các bộ định tuyến
định danh các gói dữ liệu thuộc cùng lớp lưu lượng và phân biệt giữa các gói với
ưu tiên khác nhau. Chỉ ra ở bảng 2.1 sau:
 Nhãn luồng – Flow label (20 bit): Trường này có tác dụng đánh dấu luồng cho
gói tin IPv6, nó giúp cho các router chuyển gói tin một cách liên tục từ nguồn tới
đích. Flow Label được sử dụng trong IPv6 sẽ hỗ trợ tốt hơn khi thực thi QoS.
• Khái niệm một luồng (flow):Một luồng (flow) là một chuỗi các gói tin được
gửi từ một nguồn tới một đích nhất định (có thể là unicast hay multicast).
Nguồn sẽ yêu cầu các router có các xử lí đặc biệt đối với các gói tin thuộc một
flow. Việc cần phải xử lí như thế nào đối với gói tin có thể được truyền tới

router bằng một thủ tục điều khiển, hoặc cũng có thể là thông tin chứa trong
chính gói tin của luồng, ví dụ như header mở rộng hop-by-hop của gói tin.
• Giữa một nguồn và một đích có thể có nhiều luồng. Việc kết hợp giữa địa chỉ
nguồn và một số Flow label khác 0 sẽ xác định duy nhất một dòng. Những gói
tin không thuộc dòng nào cả sẽ được thiết lập toàn bộ các bít Flow Label có
giá trị 0.
• Một nguồn IPv6 có thể sử dụng 20 bít flow label trong IPv6 header để xác
định gói tin gửi đi trong một dòng nhất định, yêu cầu cách thức cư xử đặc biệt
của router. Ví dụ nguồn yêu cầu chất lượng dịch vụ không mặc định hoặc dịch
vụ thời gian thực.
• Tại thời điểm hiện nay, việc sử dụng trường này trong thực thi QoS vẫn nằm ở
mức thử nghiệm, các tiêu chuẩn hoá trường này còn chưa hoàn thiện. Hiện nay
chưa có một cấu trúc thông dụng cho việc sử dụng nó. IETF đang tiếp tục tiêu
chuẩn hoá và đưa ra những yêu cầu rõ ràng hơn cho Internet về hỗ trợ trường
Flow Label. Nhiều router, host chưa hỗ trợ việc sử dụng trường label. Đối với
những router và host này, toàn bộ các bít của trường label sẽ được thiết lập giá
trị 0 và các host, router này bỏ qua trường đó khi nhận được gói tin.
 Độ dài tải trọng – Payload length (16 bit): Trường này chỉ ra độ dài của tải trọng
(không bao gồm tiêu đề gói tin).
 Tiêu đề kế tiếp – Next header (8 bit): Trường này nhận dạng tiêu đề theo sau tiêu
đề gói tin IPv6.

15


 Giới hạn bước nhảy – Hop limit (8 bit): Trường này giảm đi sau mỗi lần gói tin
được chuyển tiếp bởi một nút. Khi trường này bằng 0 thì gói tin sẽ bị loại.
 Địa chỉ nguồn – Source Address: Gồm 128 bit địa chỉ nguồn của gói tin IPv6.
 Địa chỉ đích – Destination Address: Gồm 128 bit địa chỉ đích của gói tin IPv6.
Nhận thấy, tiêu đề gói tin IPv6 cố định dài 40 bytes so với tiêu đề 20 bytes của

gói tin IPv4. Độ dài tiêu đề gói tin tăng lên là một vấn đề với mạng cảm biến không
dây, đặc biệt là khi đơn vị truyền tải tối đa lớp liên kết và tải trọng dữ liệu là nhỏ.
Đó chính là trường hợp của các liên kết IEEE 802.15.4 cho mạng cảm biến không
dây. Đây là lý do tại sao nhóm làm việc 6LoWPAN đã quy định các cơ chế nén tiêu
đề khác nhau để giảm kích thước tiêu đề.
2.1.2. Tiêu đề mở rộng trong IPv6
Khi gói đi từ nguồn đến đích, các Node trung gian không được phép xử lý các
Extension Header đến khi đến trạm đích, hoặc những trạm đích (trong trường hợp
Multicast) trừ một vài trường hợp ngoại lệ. Việc xử lý các Header này cũng phải
diễn ra theo đúng tuần tự mà các Header sắp xếp trong gói tin IPv6. Trường hợp
ngoại lệ như vừa đề cập chính là trường hợp Hop-by-hop Extension Header. Sự
hiện diện của Hop-by-hop Extension Header buộc gói tin phải bị kiểm tra bởi tất cả
các Node trung gian trên đường đi từ nguồn đến đích, bao gồm cả trạm nguồn và
đích. Vì vậy, Hop-by-hop Extension Header luôn phải đứng sau IPv6 Header. Sự
hiện diện của Extension Header này được chỉ thị bởi giá trị 0 trong Next-Header của
IPv6 Header.
Kích thước của các Extension Header có thể tùy ý, nhưng luôn là bội số của 8
octets. Nếu trong gói tin có chứa nhiều Extension Header, chúng được sắp xếp theo
thứ tự sau :

Header Type

Next Header
Code

1

Base IPv6 header

-


2

Hop-by-Hop Options

0

3

Destination Options (with Routing Options)
- ghi chú 1

60

4

Routing Header(tiêu đề định tuyến)

43

Order

16


5

Fragment Header

44


6

Authentication Header- ghi chú 2

51

7

Encapsulation Security Payload Header
- ghi chú 2

50

8

Destination Options - ghi chú 3

60

9

Mobility Header

135

10

No next header


59

Upper Layer

TCP

6

Upper Layer

UDP

17

Upper Layer

ICMPv6

58

Bảng 2.2. Các tiêu đề mở rộng IPv6 và thứ tự xuất hiện của chúng trong gói tin.
 Ghi chú 1: Được xử lý bởi Trạm đích đầu tiên trong IPv6 Header và những trạm
còn lại được chỉ ra trong Routing Header.
 Ghi chú 2: Liên quan đến thứ tự của Authentication Header và Encapsulation
Header.
 Ghi chú 3: Chỉ được xử lý bởi đích đến cuối cùng trong gói tin.
 Option: Hop-by-hop và Destination Option Header có mang những Type-lengthValues (TLVs) còn được gọi là “option” theo định dạng sau:
 Option Type: 8 bit định nghĩa loại Option.
 Opt Data Len: 8 bit số nguyên không dấu, thông tin về kích thước của Option
(đơn vị Octet).

 Option Data: Dữ liệu.
Các Option cũng được xử lý theo tuần tự của chúng.

17


Hình 2.2. Sự thay đổi của tiêu đề gói tin IPv6

Hình 2.3. Ví dụ một tiêu đề IPv6 mở rộng
2.1.2.1. Tiêu đề tùy chọn từng bước nhảy (Hop-by-Hop Option Header)
Hop-by-hop Extension Header mang những thông tin tùy chọn, được kiểm tra
bởi tất cả các Node trên đường gói tin đi từ nguồn đến đích. Hop-by-hop Extension

18


Header được nhận dạng bởi giá trị 0 của Next-Header trong IPv6 Header. Có định
dạng như sau:
 Next-Header: 8 bit giúp xác định loại Extension Header theo ngay sau Hop-byhop Extension Header.
 Hdr Ext Len: 8 bit unsigned interger, chỉ thị kích thước của Hop-by-hop
Extension Header theo đơn vị 8-octet (không tính đến 8 octet đầu tiên).
2.1.2.2. Tiêu đề tùy chọn đích đến (Destination Option Header)
Destination Option Header dùng để mang những thông tin cần thiết để Node
đích của gói tin kiểm tra. Destination Option Header được nhận dạng bởi giá trị
Next- Header 60 của Header ngay trước nó.
 Next-Header: 8 bit giúp xác định loại Extension Header theo ngay sau
Destination Option Header.
 Hdr Ext Len: 8 bit unsigned interger, chỉ thị kích thước của Destination Option
Header theo đơn vị 8-octet (không tính đến 8 octet đầu tiên).
2.1.2.3. Tiêu đề định tuyến (Routing Header)


Hình 2.4. Các tiêu đề định tuyến và từng bước nhảy

19


Routing Header được trạm nguồn dùng để liệt kê tất cả các Node trung gian
mà gói tin IPv6 phải đi qua trên đường từ nguồn đến đích. Routing Header được
nhận dạng bởi giá trị Next-Header 43 của Header ngay trước nó.
 Next-Header: 8 bit giúp xác định loại Extension Header theo ngay sau Routing
Header.
 Hdr Ext Len: 8 bit unsigned interger, chỉ thị kích thước của Routing Header theo
đơn vị 8 octet (không tính đến 8 octet đầu tiên).
 Routing Type: 8 bit giúp xác định các loại Routing Header khác nhau.
 Segments Left: 8 bit unsigned integer giúp xác định số đoạn mạng gói tin phải
đến trước khi đến đích cuối cùng.
 Type-specific Data: Nội dung được quy định bởi mỗi Rouing Type khác nhau.
Thông thường Routing Header với Routing Type 0 được sử dụng. Với
Routing Header loại này, phần Type-specific Data là một danh sách các địa chỉ mà
gói tin phải đến.
 Address [1…n] liệt kê địa chỉ các Node mà gói tin phải đến. Danh sách này
không chứa địa chỉ Multicast.
2.1.2.4. Tiêu đề phân mảnh (Fragment header)
MTU của gói tin IPv6 là 1280 bytes trong khi MTU của các liên kết IEEE
802.15.4 là bằng 127 byte. Do đó, cần thiết phải thực hiện phân mảnh và tái tạo lại
gói tin tại lớp liên kết. IPv6 sẽ hỗ trợ các cơ chế để phát hiện ra giá trị MTU tối
thiểu được hỗ trợ trên mỗi liên kết dọc theo tuyến đường đến đích. Điều này được
thực hiện bằng cách sử dụng một thủ tục gọi là phát hiện đơn vị truyền dẫn tối đa
đường truyền (PMTU: Path Maximum Transmission Unit Discovery). Nó sử dụng
một chuỗi các gói tin ICMP dọc theo tuyến đường cho đến khi nó phát hiện ra MTU

tối thiểu dọc theo tuyến đường. Sau đó giá trị này được lưu trữ ở mỗi máy trong một
bảng trên mỗi đích đến cơ sở và phải thường xuyên được phát hiện lại vì các tuyến
đường IP có thể thay đổi do phải định tuyến lại bởi việc các nút mạng bị lỗi.
Trong trường hợp gói tin có kích thước lớn hơn Path MTU, gói tin phải bị
phân đoạn tại Node nguồn và tái hợp lại tại đích của gói. Mỗi đoạn sau khi bị phân
mảnh, trong quá trình đóng gói sẽ được gắn thêm Fragment Header. Header loại này
được nhận dạng bởi giá trị Next-Header = 44 trong Header ngay trước nó.
Định dạng phân mảnh của một nút mạng IPv6 được thể hiện trong hình 2.5. Ở
đây, gói tin gốc được phân mảnh gồm 2 phần, một phần không thể phân mảnh và
một phần có thể phân mảnh.
20


Hình 2.5. Tiêu đề phân mảnh
Phần không thể phân mảnh: Tiêu đề cố định IPv6 cộng với bất kì tiêu đề mở
rộng nào mà phải xử lý bởi các bộ định tuyến dọc đường truyền, nghĩa là mọi tiêu
đề, bao gồm cả tiêu đề định tuyến nếu có, tiêu đề tùy chọn từng bước nhảy hoặc
không có tiêu đề mở rộng nào.
Phần có thể phân mảnh: là phần còn lại của gói tin bao gồm phần tiêu đề mở
rộng chỉ được xử lý tại node đích cộng với tiêu đề lớp cao hơn và dữ liệu.
 Next-Header: 8 bit giúp xác định loại Extension Header theo ngay sau Fragment
Header.
 Reserved: 8 bit dự trữ cho những mục đích trong tương lai. Các bit này được xác
lập giá trị 0 và Node bỏ qua giá trị này.
 Fragment Offset: 13 bit unsigned interger. Chỉ vị trí tương đối của các đoạn
trong gói tin ban đầu.
 Res: 2 bit dự trữ.
 M flag: M=1 chưa là phân mảnh cuối cùng, M=0 nếu là phân mảnh cuối cùng.
Các phân mảnh có thể bị mất, đặc biệt là trong mạng cảm biến không dây, nơi
mà tỉ lệ lỗi bit (BER) là khá cao và các liên kết không ổn định. IPv6 yêu cầu tất cả

các phân mảnh nhận được trong vòng 60s sau khi tiếp nhận phân mảnh đầu. Sau
thời điểm hết hạn, và không phải tất cả phân mảnh đã nhận được, thì một thủ tục
đơn giản chỉ là dừng lại và tất cả các phân mảnh được loại bỏ. Một bản tin báo lỗi
ICMP sau đó được gửi đến nguồn của gói tin. Trường hợp lỗi khác (ví dụ, không
chính xác độ dài gói, vv) cũng được kiểm soát.

21


2.1.2.5. Tiêu đề nhận thực và bảo mật
Tiêu đề nhận thực (giá trị = 51) và tiêu đề đóng gói bảo mật (giá trị = 50) được
sử dụng trong IPSec để xác thực, đảm bảo tính toàn vẹn và tính bảo mật của một gói
tin, được sử dụng để xác định những thông tin liên quan đến mã hoá dữ liệu.
2.1.2.6. No Next Header
Trường next header có giá trị bằng 59 được sử dụng để cho biết không có gì
tiếp theo sau tiêu đề này.
2.1.3. Kiến trúc địa chỉ IPv6
Các địa chỉ IPv4 32 bit được biểu diễn trong các dạng sau đây: x.y.z.t (ví dụ,
124.4.12.3). Một đoạn của địa chỉ đại diện cho phần mạng và phần còn lại của địa
chỉ đại diện cho phần máy.
Các địa chỉ IPv6 128 bit thương được biểu diễn dưới dạng x:x:x:x:x:x:x:x
trong đó x là một giá trị hệ cơ số 16 (do đó biểu diễn dưới dạng 16 bit). Nhìn địa chỉ
đầy đủ của gói tin IPv6 khá dài, tuy nhiên có thể rút gọn như sau:

Một chuỗi các giá trị “0000” có thể được biểu diễn là “::”, điều này chỉ có thể
được biểu diễn một lần trong một địa chỉ.
Prefix(binary)
0000 0000
001x xxxx
1111 1110 10

1111 1110 11
1111 1111
Các tiền tố còn lại

Cấp phát cho các địa chỉ
reserved
Địa chỉ unicast toàn cầu
Địa chỉ unicast liên kết cục bộ
Địa chỉ unicast mạng cục bộ
Địa chỉ multicast
Không được gán hoặc để dự trữ cho tương lai

Bảng 2.3. Sự cấp phát ban đầu của các dải tiền tố
Bảng 2.3 cho thấy việc cấp phát ban đầu của dải tiền tố. Loại địa chỉ IPv6
được quy định bởi các giá trị của các bít đầu của địa chỉ. Ví dụ, địa chỉ multicast

22


luôn luôn bắt đầu bằng 11111111 (FF). Các địa chỉ Anycast là một phần của không
gian địa chỉ unicast.
2.1.4. Tự động cấu hình trong IPv6
Khả năng có một nút để hỗ trợ tự động cấu hình là rất quan trọng, đặc biệt là
khi số lượng các nút là vô cùng lớn và các nút không được giám sát đó chính là
trường hợp cho các mạng cảm biến không dây. Trong các mạng này, ví dụ, trong
một thành phố ở đó các số lượng cảm biến không dây có thể lên đến hàng trăm ngàn
thậm chí hàng triệu nút, thì người ta không thể hi vọng cấu hình mỗi nút bằng tay
được, đây là lý do tại sao tập hợp các tính năng tự động cấu hình được hỗ trợ bởi
IPv6 là đặc biệt thích hợp cho các mạng cảm biến không dây. Mặc dù một số các
tính năng này đã được hỗ trợ với IPv4, nhưng nhiều tính năng mới đã được thêm

vào IPv6 đặc biệt hữu ích cho các mạng cảm biến không dây.
2.1.4.1. Xây dựng địa chỉ liên kết cục bộ
Khi một giao tiếp đầu tiên được khởi tạo thì lúc xây dựng địa chỉ liên kết cục
bộ của nó bằng cách thêm vào trước tiền tố liên kết cục bộ là FE80::0/10 (10 bit đầu
tiên bên trái là 1111 1110 10) tiếp theo là 54 bit 0 và nhận dạng giao tiếp. Lưu ý
rằng nhận dạng giao tiếp có thể có chiều dài bất kì (ít hơn 118 bit, nếu không thì
quá trình tự động cấu hình sẽ không thành công), nhưng thường là 64 bit địa chỉ
(nhận dạng EUI-64) được sử dụng.
Chúng ta cùng lấy một nút với một địa chỉ MAC 48 bit để minh họa việc làm
thế nào mà một địa chỉ được chuyển đổi thành một địa chỉ EUI-64 để xây dựng
nhận dạng giao tiếp như hình 2.6.
Quá trình này khá đơn giản theo 2 bước sau:
 Bước 1: 16 bit (FFFE) được chèn vào giữa 48 bit địa chỉ MAC.
 Bước 2: Đảo bít bên cạnh bit thấp nhất của octet đầu tiên trong EUI-64.
Tại thời điểm này, nút có thể giao tiếp với bất kì nút nào khác trên cùng một
liên kết. Các gói tin sẽ không được chuyển tiếp bởi các bộ định tuyến trên các liên
kết khác.

23


Hình 2.6. Xây dựng một giao tiếp ID
2.1.4.2. Quá trình tự động cấu hình không trạng thái
Quá trình tự động cấu hình bao gồm các bước sau:
 Khởi tạo một địa chỉ liên kết cục bộ và duy nhất trên một liên kết.
 Xác định những gì cần phải tự động cấu hình.
 Xác định xem liệu các địa chỉ có nên thu được bằng cách sử dụng một thủ
tục không trạng thái hay một thủ tục trạng thái.
Quá trình tự động cấu hình không trạng thái cho phép một nút để tạo ra các địa
chỉ liên kết cục bộ, mạng cục bộ và các địa chỉ toàn cầu bằng cách kết hợp thông tin

cục bộ và thông tin được quảng cáo bởi các bộ định tuyến không cần cấu hình trên
máy con, cấu hình tối thiểu (nếu có) trên bộ định tuyến và không có máy chủ bên
ngoài (trái ngược với cấu hình trạng thái). Cả hai cơ chế tự động cấu hình không
trạng thái và trạng thái có thể được kết hợp và bổ sung cho nhau. M-bit của bản tin
RA cho biết khi nào sử dụng một cơ chế tự động cấu hình không trạng thái hay một
cơ chế tự động cấu hình trạng thái. Tự động cấu hình chỉ được hỗ trợ trên các liên
kết có khả năng multicast.
(1) Xây dựng các địa chỉ IPv6 Unicast
Một địa chỉ toàn cầu có thể nhận được bằng cách ghép thông tin tiền tố với
nhận dạng giao tiếp. Cơ chế không trạng thái được sử dụng chỉ bởi các máy con và
không phải là các bộ định tuyến, ngoại trừ địa chỉ liên kết cục bộ được rạo ra bởi
một bộ định tuyến hỗ trợ của cơ chế DAD cũng được hỗ trợ bởi các bộ định tuyến.

24


Bước đầu tiên của quá trình là xây dựng địa chỉ liên kết cục bộ bằng cách
thêm vào trước nhận dạng giao tiếp với FE80:00:00:00. Địa chỉ liên kết cục bộ cho
phép truyền thông cục bộ giữa tất cả các nút nằm trên cùng liên kết cục bộ.
Trước khi gán một địa chỉ unicast (liên kết cục bộ hay toàn cầu), đầu tiên nút
phải kiểm tra tính duy nhất của địa chỉ với thủ tục DAD. Điều này không áp dụng
với các địa chỉ anycast. Thủ tục DAD sử dụng bản tin NS, NA và nếu địa chỉ đã
được sử dụng bởi nút khác, thủ tục dừng và một nhận dạng giao tiếp mới phải được
cấu hình trên nút. DAD là không hoàn toàn đáng tin cậy vì vậy có thể trùng lặp các
địa chỉ đang tồn tại.
(2) Quá trình phát hiện địa chỉ trùng lặp DAD
Quá trình DAD kiểm tra tính duy nhất của một địa chỉ trước khi gán nó tới
một giao tiếp. Quá trình này phải được dùng không phân biệt kỹ thuật phân bổ địa
chỉ nào (không trạng thái, trạng thái, hoặc cấu hình bằng tay).
Đầu tiên, nút bắt đầu bởi việc tính toán địa chỉ EUI-64 nếu cần thiết. Sau đó

nó gán địa chỉ thăm dò. Để kiểm tra tính duy nhất của địa chỉ, thì nút gửi một số bản
tin NS cách nhau vài ms bởi bộ định thời truyền lại. Tham số này được quảng cáo
trong bản tin RA được gửi bởi các bộ định tuyến. Địa chỉ mục tiêu xuất hiện trong
bản tin NS phải bằng với địa chỉ được kiểm tra. Khi một nút tiếp nhận một bản tin
NS, nó làm như sau:
• Nếu địa chỉ mục tiêu đã được gán tới nút, thì đây là một địa chỉ trùng lặp.
• Nếu địa chỉ mục tiêu là trong trạng thái “thăm dò” (nút này cũng đang cố gắng
để gán cùng một địa chỉ đó cho chính nó) và địa chỉ nguồn là unicast, thì nút
gửi không phải đang cố gắng chạy thủ tục DAD mà thực tế là đang cố gắng để
có được địa chỉ lớp liên kết. Trong trường hợp này, chỉ đơn giản là loại bỏ bản
tin NS. Mặt khác, nếu địa chỉ nguồn của bản tin NS không phải unicast nhưng
là địa chỉ chưa xác định, thì bản tin NS từ một nút đang chạy thủ tục DAD
đang cố gắng để gán cùng một địa chỉ cho một trong các giao tiếp của nó.
Nếu một bản tin NS cho một địa chỉ thăm dò nhận được trước khi gửi một NS
cho cùng một địa chỉ, thì địa chỉ thăm dò là trùng lặp. Điều này xảy ra khi hai nút
đang cố gắng chạy thủ tục DAD cho cùng một địa chỉ, nhưng một trong hai nút này
đã gửi bản tin NS trước một nút khác (bằng việc sử dụng các bộ định thời ngẫu
nhiên). Đó cũng là một cơ chế bao gồm cả trường hợp một bản tin NS được gửi đi
gần như cùng một lúc.

25


×