intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Nền kiến trúc IP - Mạng cảm biến không dây: Phần 2 - Phạm Việt Bình

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:107

11
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tiếp nội dung phần 1, cuốn sách "Mạng cảm biến không dây trên nền kiến trúc IP" phần 2 cung cấp cho người đọc những kiến thức như: lớp thích ứng 6 LoWPAN; giao thức định tuyến RPL; giao thức lớp ứng dụng CoAP. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Nền kiến trúc IP - Mạng cảm biến không dây: Phần 2 - Phạm Việt Bình

  1. Chương 5 LỚP THÍCH ỨNG 6 L0 VVPAN IPv6 hỗ trợ các liên kết với giá trị nhỏ nhất của đơn vị truyền dẫn tối đa là 1280 byte. Tuy nhiên, đom vị truyền dẫn tối đa trên các liên kết IEEE 802.15.4 chì là 127 byte. Vì vậy, cần phải có lớp thích ứng 6LoW PAN phía dưới lớp IP để thực hiện việc phân mảnh và ghép lại các gói tin cho phù hợp với các liên kết ờ lớp vật lý. Trong chương này, chúng ta sẽ tìm hiểu về các dịch vụ được cung cấp bởi lớp thích ứng 6LoWPAN và các kỹ thuật được thực hiện ở lớp này. 5.1. CẤC THUẬT NGỬ Trước khi tìm hiểu sâu về các giao thức IP được phát triển cho các m ạng cảm biến không dây thì chúng ta cần xác định rõ một số thuật ngữ có thể có sự nhầni lẫn. LoWPAN (Low-power Wireless Personal Area Netvvorks) là các mạng cá nhân không dây công suất thấp bao gồm các thiết bị phù hợp với tiêu chuẩn IEEE 802.15.4-2003 được định nghĩa bới IEEE. Chuẩn IEEE 802.15.4 có một số đặc trưng riêng đó là các thiết bị có phạm vi phù sóng hẹp. tốc độ bit thấp, công suất thấp và giá thành thấp. Các mạng theo chuẩn IEEE 80.15.4 có những đặc điềm sau đây: • Kích thước gói tin nhỏ khi đơn vị truyền dẫn tối đa MTU trên các liên kết IEEE 802.15.4 là 127 byte. Gói tin có tài trọng cho dữ liệu còn ít hơn khi gói tin mang theo các loại tiêu đề khác nhau. • Hỗ trợ cho cà địa chi ngan 16 bit hoặc địa chi MAC mớ rộng IEEE 64 bit. 134
  2. • Tố: độ dữ liệu thấp, các đặc điểm kỳ thuật cùa chuẩn IEEE 802.15.4 ch« phép các tốc độ dữ liệu khác nhau từ 20K.bits/s (ở tần số 868M Hz) đếi 250Kbits/s (ở tần số 2.45GHz). • Hc trợ các câu trúc liên kêt mạng hình sao và lưới. • Cá; thiết bị trong mạng có nguồn tài nguyên hạn chế về năng lượng, bộ nhor và CPU. • M mg được triển khai với một số lượng lớn các thiết bị. • Cá; mạng IEEE 802.15.4 thường là các m ạng Adhoc bời vị trí cùa các núi m ạng thường không được xác định truớc. Ngoài ra, các thiết bị có thế di chuyển (ví dụ, các cảm biến trên cơ thể người). • Cá: nút trong m ạng LoW PAN được kết nối với nhau bởi các liên kết IEEE 802.15.4. Các liên kết này thường không đáng tin cậy, đặc biệt là khi so sánh với các liên kết có dây như Ethernet hoặc liên kết cáp quing. • Cá: nút thường ở chế độ ngũ trong thời gian dài. Tùy thuộc vào thiết bị, nó có thê ở các trạng thái chế độ ngủ khác nhau. Điều đó ảnh hường khic nhau đến mức tiêu thụ năng lượng cũng như thời gian mà nút có thể "thức tinh" từ chế độ ngủ. LoWPAN là m ột mạng tổn hao và công suất thấp. Trong đó các liên kết tham gia kết nối giữa các nút là các liên kết IEEE 802.15.4. Khi nhóm làm việc 6LoWPAN được thành lập thì nhóm đã được xác định là chi làm việc với các phần mở rộng giao thức IPv6 cần thiết cho mạng LoWPAN như là phân rrành và ghép lại gói tin, nén tiêu đ ề ... Sai đó, nhóm làm việc về vấn đề định tuyến cho các mạng tổn hao và công SJất thấp (R oLL) đà được thành lập đế giải quyết các vấn đề định tuyến Tong mạng cùng với các đặc điểm tương ứng ở lớp IP. Do vậy đã giảm dáng kể những hạn chế của việc sử dụng các liên kết IEEE 802.15.4. Điều này dẫn đến việc sử dụng m ột cách rộng rãi thuật ngữ m ạng tồn hao và công suất thấp. 135
  3. 5.2. LỚP THÍCH ỬNG 6LoWPAN Bời vì IPv6 hỗ trợ các liên kết với giá trị nhỏ nhất của đơn vị truyền dẫn tối đa là 1280 byte, nên cần phải xác định một lớp thích ứng bên dưới lớp IP để xử lý việc phân mảnh và ghép lại gói tin cho các liên kết IEEE 802.15.4 với đơn vị truyền dẫn tối đa chi là 127 byte. Đơn vị truyền dẫn tối đa trên các liên kết IEEE 802.15.4 có kích thước nhỏ là đề giải quyết vấn đề hạn chế về khả năng bộ nhớ đệm và để hạn chế tỷ lệ lỗi gói tin bởi vì tỉ lệ lỗi bit (BER) là tương đối cao. Khung MTU trong IEEE 802.15.4 là 127 byte trừ đi một số các trường giao thức đó là: • Chi phí cần thiết cho khung lớp MAC tối đa bao gồm: Trường điều khiển khung (2 byte) + số thứ tự (1 byte) + trường địa chi (lên đến 20 byte với nhận dạng mạng PAN nguồn, đích và các địa chỉ m ở rộng 64 bit nguồn, đích) + chuỗi kiểm tra khung FCS (2 byte) = 25 byte. • Tiêu đề bảo mật lớp MAC: 21 byte (với AES-CCM-128), 13 byte (với AES-CCM-64) và 9 byte (với AES-CCM-32). Trong trường hợp xẩu nhất chi còn lại 81 byte (127 byte - 25 byte - 21 byte = 81 byte) cho tải trọng dữ liệu (các gói tin IPv6). Sau khi loại bó kích thước của tiêu đề IPv6 (40 byte), chi còn lại 41 byte. Sau đó, chúng ta phải trừ đi tiêu đề giao thức lớp giao vận (8 byte cho UDP hoặc 20 byte cho TCP). Qua đó chúng ta có thể thấy rằng chì còn lại rất ít phần tải trọng cho lớp ứng dụng. Do đó, cần thiết phải có một lớp thích ứng thực hiện theo yêu cầu IPv6 để hỗ trợ một kích thước MTU tối thiểu là 1280 byte cũng như hỗ trợ các kỹ thuật nén để giảm thông tin giao thức. Lớp thích ứng 6LoWPAN cung cấp ba dịch vụ chính: • Sự phân mảnh và ghép lại gói tin. • Nén tiêu đề. • Chuyển tiếp lớp liên kết (lớp 2) khi nhiều bước nhảy được sừ dụng bời lớp liên kết. 136
  4. Trong hầu hết mọi trường hợp, việc sừ dụng các kỹ thuật nén hiệu quà cho phép hầu hết các ứng dụng gửi dữ liệu của chúng chì bằng một gói tin IP v 6 duy nhất. Như đã trình bày trong chương 1 về chuẩn truyền thông IEEE 802.15.4, các khung IEEE 802.15.4 hỗ trợ việc sừ dụng các địa chi ngắn 16 bit (địa chi tạm thời được cấp bời điều phối viên mạng PAN hoặc địa chi dài 64 bit (24 bit OUI được sử dụng để nhận dạng duy nhất tổ chức; OUI + 40 bit được chỉ định bởi nhà sản xuất). Tương tự như IPv6, lớp thích ứng 6LoWPAN cũng sử dụng việc xếp chồng tiêu đề (các tiêu đề được thêm vào chi khi cần thiết). Hiện tại lớp thích ứng 6LoW PAN hỗ trợ ba loại tiêu đề là: Tiêu đề địa chi mạng lưới, tiêu đề phân m ảnh và tiêu đề nén tiêu đề IPv6. Các tiêu đề đó phải được xuất hiện theo thứ tự đó khi xuất hiện. Lớp thích ứng 6LoW PAN định nghĩa "ngăn xếp đóng gói tiêu đề" trước mỗi gói dữ liệu IPv6 datagram . Ngăn xếp đóng gói tiêu đề được trình bày trong hình 5.1. 4 bylas Ib y t . 0 -1 2 7 bytM IEEE 802 .15 4 PMY SPO ung* lmfc teysr trama paytoad Start & frame dehmrter (1 M tor ađOress 7 txt* trmny langtti) /' 4 -------— I Fr»n« s*q « Adđrw«ng \tta Data pcyioad PCS controi haadar 6LoW PAN lP««taw ter • n c a p s u la tio n to a d ẻ r sta c k M nhaddr Hình 5.1: Ngăn xếp đóng gói tiêu đề 6 LoW PAN. 137
  5. Như trong hình 5.2, byte đầu tiên trong tiêu đề đóng gói xác định tiêu đề tiếp theo. Ví dụ như nếu 2 bit đầu tiên là bàng 11 thì tiêu đề tiếp theo là một tiêu đề phân mảnh. The 6 L 0 VVPAN d isp a tch byte (first b y tt) 2 b y te s 1 b y te 0 to 20 b y t« ầ 0 to 21 b y t« s 2 b y is t -------------------- F ra o w S c c u rìty S « ỊÌ A d d n u i n g fi«ld D ata p a y lo a d FCS c o n tro l h«ader ... ........ ----- t— 1 I F irs t by t« : T h « d i s p a t c h b y te 00 N ot a 6LoW PA N fra m * 01 iPvtì addraning headar 10 Mesh header 11 Pragmentation h a a d a r (S lower bít* I are 100xxx) Hình 5.2: Byte đầu tiên (dispatch byte) của tiêu đề nén tiêu đề IPv6 Nếu 8 bit đầu tiên là bàng 01000001 thì những gỉ theo sau là một gói IPv6 không được nén. Ngược lại, nếu có giá trị là 01000010 thì nó cho biết răng những gì theo sau nó là một tiêu đề liên quan đến tiêu đề nén sử dụng phương pháp nén HC1. 138
  6. The 6L0VVPA dispatch byte (first byte) N F rst byte: T h e d isp atch byte P a tte m H e a d e r ty p e 00 xxxxxx N A L P - not a LoW PAN fram e 01 0 0 00 0 1 lP v 6 - u n co m p re sse d lP v6 a d d re s se s 01 0 0 0 0 1 0 L O W P A N _H C 1-L O W R ftN _ H C 1 co m p re sse d IP v6 01 0 0 0 0 11 re s e rv e d - reserv e d foí future u se re s e rv e d - re se rv e d for future u se 01 0 0 1 1 1 1 resecv ed - re se rv e d toí tuture u se 01 0 1 0 0 0 0 L O W P A N _ B C O - LO V V P A N .B C O b ío a d ca st 01 0 10 0 0 1 re se rv e d - re se rv e d fof íuture use r e s e rv e d - re se rve d fcx future u se 01 1 1 1 1 1 0 re s e rv e d - re se rve d fof íuture u se 01 1 1 1 1 1 1 E S C - additional d isp a tch byte follows 10 xxxx xx M E S H - M e sh h e a d e r 11 OOOxxx F R A G 1 - fragm entation h e a d e r (firsl) 11 0 0 1 0 0 0 re se rv e d - re se rv e d for íuture use re s e rv e d - re se rve d for future u se 11 0 1 1 1 1 1 re se rv e d - re se rv e d for íuture u se 11 100XXX F R A G N - tragm entation head er (s u b s e q u e n l) 11 10 1 0 0 0 re se rv e d - re se rv e d for future u se re s e rv e d - re se rv e d for íuture u se 11 1 1 1 1 1 1 re se rv e d - re se rv e d ftx future u se Hình 5.3: Các giá trị của Dispatch Byte 6 L0VVPAN. 5.2.1. Tiêu đề địa chỉ m ạng lưới (M esh A ddressing H eader) Các tiêu đề địa chi mạng lưới thường đuợc sử dụng đề kết hợp với một phương pháp "định tuyến" mạng lưới, trong đó tại lớp liên kết các nút không truyền thông trực tiếp với nhau bang phương pháp định tuyên đa chặng su dụng địa chi ở lớp liên kết. Theo IEEE 802.15.4, chi có các thiết bị đầy đù chức năng (FFDs) mới thực hiện hoạt động ở dạng mạng lưới. Các thiết bị chức năng giảm thiểu (RFDs) gửi tất cả lưu lượng cùa chúng đến các thiết bị FFDs. 139
  7. Các nút nguồn và đích sau đó được gọi tương ứng là nút khởi đầu và nút đích đến cuối cùng. Như trong hình 5.2, 2 bit đầu tiên cùa dispatch byte xác định sụ có mặt của một tiêu đề mạng lưới và chúng bàng 10. Hình 5.4 cho thấy các bit khác nhau của các loại địa chi mạng lưới và tiêu đề mạng lưới: • Bit 2 (bit V - Very íĩrst bit): • 0: Địa chi khới đầu là một địa chi IEEE 64 bit m ờ rộng (EUI-64). 1: Địa chỉ khởi đầu là một địa chi ngắn 16 bit. • Bit 3 (bit F - Final destination): • 0: Địa chi cuối cùng là một địa chi IEEE 64 bit m ở rộng (EUI-64). 1: Địa chi cuối cùng là một địa chi ngắn 16 bit. Hình 5.4: Các tiêu đề phân mảnh và mạng lưới 6LoW PAN 140
  8. • Các bit 4 đến 7 (H opLeít): Trường giá trị bước nhảy còn lại được giảm đi một sau mỗi nút trước khi gửi gói tin đến bước nhảy tiếp theo. Khi trường HopLeít đạt đến giá trị là 0 thì gói tin được loại bỏ. Khi cân thiết phải chuyên tiếp gói tin dọc theo một tuyển đường với nhiều hơn 15 bước nhảy thỉ một byte có thê được bô sung theo ngay sau nó. • Các trường địa chi lớp liên kết khởi đầu và cuối cùng theo sau có thể là 16 bit hoặc 64 bit. Có thể sử dụng các địa chỉ ngắn 16 bit để quảng bá và các địa chỉ 64 bit như là một địa chỉ nguồn bởi vì bit V và F cho phép sử dụng các định dạng địa chì lớp liên kết khác nhau. Với định tuyến dạng mạng lưới thì cần thiết phải cung cấp các địa chì khởi đầu và đích đến cuối cùng cũng như địa chi nguồn và đích từng bước nhảy. Do vậy khi một nút A gửi một khung đến đích đến cuối cùng là nút c thông qua nút B thì các các địa chỉ lớp liên kết cụ thể như sau: • Địa chỉ khởi đầu của tiêu đề mạng lưới được thiết lập đến địa chỉ lớp liên kết của nút A. • Địa chỉ điểni đến cuối cùng cùa tiêu đề mạng lưới được thiết lập đến địa chi lớp liên kết cùa nút c . • Địa chí nguồn cùa khung IEEE 802.15.4 là địa chỉ của nút đang gừi khung (nút A). Địa chi đích của khung IEEE 802.15.4 là địa chỉ lớp liên kết cùa nút ờ bước nhảy tiếp theo được xác định bời giao thức dịnh tuyến mạng lưới (là nút B trong ví dụ này). Sau khi nhận đuợc khung, nút B thực hiện quá trình sau đây: • Trường bước nhày còn lại được giàm đi một. • Neu trường bước nhảy còn lại khác 0 thì nút B xác định ràng bước kế tiếp là nút c . Neu trường bước nhảy còn lại bằng 0 thì khung bị loại bỏ. • Địa chi khời đầu và đích cuối cùng của tiêu đề mạng lưới không bị thay đổi. • Địa chi nguồn của khung IEEE 802.15.4 được thiết lập là địa chỉ lớp liên kết của nút B. 141
  9. • Địa chi đích cùa khung IEEE 802.15.4 được thiết lập là địa chi lớp liên kết cùa nút c . Điều này cũng tương tự như phương thức hoạt hoạt động với định tuyến IP trên lớp liên kết mà ờ đó các địa chỉ nguồn và đích cùa gói tin IP sẽ không bao giờ bị thay đổi và các địa chi nguồn và đích trong khung cùa lớp liên kết tương ứng với địa chi của hai nút liền kề (được kết nối bời một lớp liên kết chung). 5.2.2. Sự ph ân m ảnh (F ragm entation) Sự phân mảnh có thể được yêu cầu tại lớp thích ứng 6LoWPAN khi tải trọng IPv6 không thể được mang đi trong một khung IEEE 802.15.4 bởi vì nó vượt quá kích thước MTU. Trong trường hợp này, khung ờ lớp liên kết được chia thành nhiều phân mảnh liên kết sử dụng tiêu đề phân mảnh được mô tả trong hình 5.4. Tất cà kích thước phân mành được biêu diễn trong các đom vị 8 byte. phân mảnh đầu tiên không chứa độ lệch gói dữ liệu (datagram offset). Do vậy nó có khác biệt nhỏ so với phân mảnh tiếp theo. Các trường phân mảnh được minh họa trong hình 5.4: • Kích thước gói dữ liệu (datagram_size): Đây là trường 11 bit được sừ dụng để biểu diễn kích thước trong các đơn vị 8 byte của gói tin IPv6 ban đầu. Sự phân mảnh lớp liên kết đối với gói tin IPv6 1280 byte là quy định bắt buộc bởi các đặc điểm kỹ thuật IPv6. Kích thước phân mành có thể chi cần thiết ừong phân mảnh liên kết đầu tiên và sau đó được bỏ qua ở các phân mảnh liên kết khác. Hạn chế của phương pháp này là các phân mảnh liên kết tiếp theo (ngoài phân mảnh liên kết đầu tiên) có thể đến trước. Điều này có thể xảy ra đổi với định tuyến đa chặng. Trong trường hợp này phía thu không thề biết được liệu sẽ cần phân bổ bao nhiêu bộ nhớ cho toàn bộ khung. • Thè gói dữ liệu (datagram tag): Trường này được sử dụng để kết họp với các địa chỉ nguồn IEEE 802.15.4 (hoặc địa chỉ khởi đầu nếu một tiêu đề mạng lưới xuất hiện), địa chi đích IEEE 802.15.4 (hoặc địa chi đích đến cuối cùng nếu một tiêu đề mạng lưới xuất hiện) và thè dữ liệu này để nhận diện ra duy nhất khung được phân mảnh và phải giống hệt nhau cho tất cả các phân mảnh liên kết. Trường thẻ gói dữ liệu được tăng lên một cho các khung được phân mảnh liên tiếp nhau. 142
  10. • Độ lệch gói dữ liệu (Datagram_offset): Trường độ lệch gói dữ liệu 8 bit có mặt trong tất cà các phân mành liên kết ngoài phân mảnh đầu tiên và cho biết độ lệch trong các đơn vị 8 byte tính từ điểm khởi đầu trong tải trọng gói dữ liệu. M ột bộ định thời ghép lại gói tin được bắt đầu khi nhận được phân mảnh Hên kết đầu tiên cho đến khi bộ định thời hết hạn. Neu tất cả các phân mánh liên kết không nhận được thì tất cà các phân mảnh cần phải được loại bỏ. G iá trị tối đa của bộ định thời ghép lại gói tin là 60 giây. 5.23. Nén tiêu đề 6LoWPAN (6L0VVPAN Headcr Compression) 5.2.3.1. Nén tiêu đ ề s ử d ụ n g L o W P A N _ H C 1 Đã có rất nhiều kỹ thuật nén IP được thiết kế trong suốt một thập kỷ qua. Các kỹ thuật này dựa ữên việc nén các luồng trạng thái và được tối ưu hóa cho các luồng dài. Cơ sở của kỹ thuật nén này bao gồm việc bỏ các giá trị chung trong một luồng dài. Đây là một phương pháp rất hiệu quả đối với luồng dài giữa hai nút. Tuy nhiên các kỹ thuật nén này không phù hợp với các mạng 6LoW PAN với các luồng thường ngắn. Các nút này thường gửi một vài gói và sau đỏ trờ về chế độ ngủ, trừ trường hợp hiểm khi xảy ra đó là nâng cấp firmware lúc đó có thể yêu cầu trao đổi các luồng lớn. Vì thế toàn bộ ý tưởng của kỹ thuật nén tiêu đề phi trạng thái trong 6LoW PAN bao gồm việc tránh dư thừa thông tin giữa các lớp, điều này khác với kỹ thuật nén cho các gói tin IP thuộc luồng dài. Ý tưởng chung của nén tiêu đề 6LoW PAN là lấy được địa chi IP từ các địa chì lớp liên kết để tránh trùng lặp thông tin không cần thiết và bỏ các tiêu đề IPv6 m à chúng có các giá trị chung (ví dụ bỏ qua các trường có giá tri là 0). Ngoài ra, việc sử dụng các ngữ cành được chia sẻ chẳng hạn như việc sử dụng chung m ột tiền tố mạng cho phép nén địa chỉ đối với các địa chỉ toàn cầu IPv6. Việc nén tiêu đề 6LoW PAN có thể là phi trạng thái hoặc có trạng thái và nó là luồng độc lập. M ột số tiêu đề IPv6 có các giá trị chung và dễ dàng được nén. Ví dụ như nhãn luồng phiên bản IP (phiên bàn 6), lớp lưu lượng (Traffĩc Class)... Ngoài ra, các thông tin như nhận dạng giao diện IPv6 có 143
  11. thể rút ra từ khung lớp liên kết khi sừ dụng các địa chì 802.15.4 mở rộng 64 bit. Kỹ thuật nén H C I Kỹ thuật nén HC1 dựa trên các nhận xét sau đây: • Trường phiên bán IP luôn luôn là phiên bản 6. • Vì HC1 được tối ưu hóa cho các địa chì liên kết cục bộ,nên nhận dạng giao diện IPvó (dưới 64 bit của địa chi IPv6) có thể được suy ra từ địa chi MAC lớp liên kết. • Trường độ dài gói tin có thề được suy ra từ trường chiều dài khung của khung IEEE 802.15.4 (hoặc từ trường kích thước gói dừ liệu của tiêu đề phân mành khi nó xuất hiện). • Giá trị thường gặp cho trường lóp lưu lượng và trường nhãn luồng bàng 0. • Trường tiêu đề tiếp theo là UDP, TCP hoặc ICMP. 1; Source preíix com pressed (derived from link layer), 0 otherwise 1: Source intertace ID com pressed (derived from link layer), 0 otherwise 1: Destinatíon prefix com pressed (derived from link layer), 0 otherwise 1: Destination interiace ID com pressed (derived from link layer). 0 otherwise 1: Traffìc class and flow label com pressed (equal to 0), 0 othervvíse X X: ldentifies the next header 00 (uncom pressed-full bits are sent), 01 (UDP), 10 (TCP), 11 (ICM P) 1: Com pression of the Iransport layer using HC2 compression, 0 othetwise HC1 b y te ( s e c o n d b y ta ) 0 1 0 0 0 0 1 0 D is p a tc h b y te Hình 5.5: Byte HC1 6LoW PAN 144
  12. Những nhận xét này cho phép giảm đi một cách đáng kể về chi phí giao thức. Chỉ có một trường tiêu đề IPvó không thể được nén và phải được mang đi ở dạng đầy đủ là trường giới hạn bước nhảy I byte. Như vậy chì cần 3 byte thay vì 40 byte tiêu đề IPv6: 1 byte cho dispatch byte (bang 01000010), theo sau đó một byte là 1 byte HC1 và 1 byte cho trường giới hạn bước nhảy, như được minh họa trong hỉnh 5.5. Khi bit 7 của byte HC1 được thiết lập thì nó còn cho phép nén tiêu đề kế tiếp cùa tiêu đề IPv6 ban đầu. Những trường không được nén sau byte HC1 theo thứ tự cụ thể là: Tiền tố địa chi nguồn (64 bit) và/hoặc nhận dạng giao diện (64 bit), tiền tổ địa chi đích đến (64 bit) và/hoặc nhận dạng giao diện (64 bit), lớp lưu lượng (8 bit), nhãn luồng (20 bit) và tiêu đề tiếp theo (8 bit). 5.2.3.2. N én tiêu đ è s ử d ụ n g H C UDP (HC2) Khi bit 7 cùa byte HC1 được thiết lập, nó cho biết việc nén tiêu đề được thực hiện theo định dạng mã hóa HC2. Nếu bit 5 và 6 của byte HC1 tương ứng bằng 0 và 1 thi nó cho biết việc thực hiện nén tiêu đề của UDP (được gọi là mã hóa HC UDP). Trong trường họp này, byte HC2 theo ngay sau byte HC1 (trước trường giới hạn bước nhày IP) và cung cấp thông tin về cơ chế nén tiêu đề UDP. Kỹ thuật nén HC_UDP cho phép việc nén tiêu đề UDP với nhiều mức độ khác nhau. Khi không được nén, các trường UDP phái xuất hiện theo thứ tự giống như là tiêu đề UDP ban đầu (cổng nguồn, cổng đích đến, độ dài và tổng kiểm tra). Mã hóa HC UDP cho phép nén các cổng UDP nguồn, đích đến và trưưng độ dài. Trường độ dài có thể được suy ra từ trường độ dài của khung IEEE 802.15.4. Ý tưởng chính cho việc nén cồng UDP nguồn và đích đến là sừ dụng một trường giá trị ngắn 4 bit thay vì trường 16 bit ban đầu. Trường 16 bit ban đầu nhận được bằng một công thức đơn giản là: trường giá trị ngắn 4 bit + 61616 (0xF0B0). Giá trị các Bit của Byte HC2: • Bit 0 (cổng nguồn UDP): Khi bit này bàng 0 thì nó chì ra rằng cồng nguồn UDP không được nén và được mang đi ờ dạng đầy đủ. Ngược lại, 145
  13. khi được thiết lập bàng 1 thì giá trị ngắn cua cồng nguồn UDP được ner và sau đó được mang đi. Bit 1 (cồng đích UDP): Khi bit này bằng 0 thì nó chi ra ràng cổng đích UDP không được nén và được mang đi ờ dạng đầy đủ. Ngược lại. kh được thiết lập bàng 1 thì giá trị ngẩn của cống đích UDP được nén vi sau đó được mang đi. Bit 2 (độ dài): Khi bit này bằng 0 thì nó chi ra ràng trường độ dài troni tiêu đề UDP được mang đi đầy đù. Ngược lại, khi bit này được thiết lập thì trường chiêu dài được tính toán từ tiêu đề IPv6 (trường này có thí nhận được từ khung IEEE 802.15.4). Giá trị của trirờng độ dài UDF trong trường hợp này bàng với độ dài tải trọng cùa trường IPv6 trừ đ chiều dài của tất cả các tiêu đề xuất hiện giữa tiêu đề IPv6 và tiêi đề UDP. Các bit từ 3 đến 7 là để dự trữ. 0: UDP source port carneđ in full (16 txts) 1; UDP source port » short-value follows onginal UDP desbnation poít « / short.value* 61616 0: UDP destmation porl carned in full (16 txts) 1: UOP destmation p o rt» short-value followt ongmal UDP destination port » 8hort_value+ 61616 0: UDP length (ield carried in full 1: ƯDP length fielđ compressed and denved from the lPv6 paytoad iength fieid (Ihal may itsell be darrved from the IEEE 804.15.4 fram«) HC2 byt* (M c o n đ byto)
  14. hiệu quà đê giám kích thước tiêu đề từ 40 byte (tiêu đề IPv6 ) + 8 bvte (tiêu đề UDP) xuống còn 7 byte. ĩ ĩyt«* ■ ty-.m : X ỈC :> * « C : c 2 - ty*e* 2 ry*«» * ------ ► * - ------------------ ----------- *■ 4 -------- ( cr~t r'Vc cvt s*c« AOO irg ‘*c reM S€Cu—y »cs Ịãniõrcroiõoooo] í «-cyt« u-COr-prMMO UD® r-# jc« -j Ị • s y » IP *cc Ị H ình 5.7: Nén các địa chỉ IPv 6 liên kệt cục bộ HC1 m à không thực hiện nén tiêu đề UDP ? SyiM ■ty.€ : :c 20 ey*» 0 íc ỉ ’ c>'»» 2 EyM* Hình 5.8: Nén tối đ a các tiêu đề IPv 6 và UDP băng cách sử dụng HC1 và HC2 cho các địa chỉ IPv 6 liên kết cục bộ 147
  15. 5.2.3.3. K v th u ậ t nén cả i tiến 6LoW PA N và Itén dựa trên chia s é n g ữ cảnh trạ n g thái Các kỹ thuật nén ờ trên rất hiệu quả cho các địa chi liên kết cục bộ unicast (được sừ dụng trong nhiều trường hợp như giao thức khai phá láng giềng ND. giao thức tự động cấu hinh DHCP và các giao thức cục bộ khác) nhưng có tác dụng rất hạn chế đối với các địa chi multicast và toàn cầu. Các kỹ thuật nén hiệu quả cho các địa chi IPv6 toàn cầu là rất cần thiết đề giao tiếp giữa các nút nằm trong các mạng con 1P khác nhau (thường là các nút trong các mạng PAN khác nhau trong cùng ngữ cảnh ià các mạng IEEE 802.15.4), trong đó các địa chi tuyến đường có thể được yêu cầu. Đối với hợp này, kỹ thuật nén HC1 yêu cầu mang theo các địa chì nguồn và đích đến trong tuyến (không được nén). Những cải tiến trong kỹ thuật nén cài tiến 6LoW PAN sẽ được trình bày trong phần này, đặc biệt là các kỹ thuật nén mới được gọi tẳt là LoVVPAN IPHC va LoW PAN_NHC (gọi tắt ià IPHC và NHC). Kỹ thuật nén IPHC nhiều khả năng sẽ trở thành kỹ thuật nén tiêu đề được sứ dụng bởi lớp thích ứng 6LoWPAN. IPHC ECN Res “ O.v a:»ei CIÍS t>:s |fC N DSC? 'F * • : Hinh 5.9: Mã hóa IPHC: nén nhãn luồng và lưu lượng 148
  16. Việc m ã hóa IPHC được mô tả trong hình 5.9. IPHC yêu cầu 13 hit, 5 bit trong đó được lấy từ phần cuối cùng bên phải cùa đoạn dispatch byte và một byte bô sung tùy chọn được thêm vào. Tất cả các trường tiêu đề không nén được luôn xuất hiện theo đúng thứ tự như các tiêu đề IPv6 không nén. Trường phiên bản được bò qua và trường độ dài tài trọng IPv6 được suy ra từ các trường độ dài cùa khung IEEE 802.15.4 hoặc từ tiêu đề phân mành 6LoW PAN khi nó xuất hiện. Byte IPHC bao gồm: • Các bit 3 và 4 (TF: Loại lưu lượng): Các bit này cho phép xác định việc nén các trường nhăn luồng và lớp lưu lượng trong tiêu đề IPv6. Trường lớp lưu lượng 8 bit được chia làm hai phần bao gồm 2 bit ECN (Explicit Congestion Notiíication) và 6 bit DSCP (Differentiated Services Code Point). Khi TF bàng: - 00: Cả hai trường lóp lun lượng và nhãn luồng được mang đi theo trong tuyến như trong hình 5.9. Lưu ý rằng 4 bit đã được thêm vào (dự trữ) cho đủ 4 byte. - 01: Trường lớp lun lượng được nén với 2 bit (ECN - Explicit C ongesúon Notification) và truờng nhãn luồng không được nén. Bời vì các bit ECN được mã hóa bằng cách sừ dụng 2 bit và trường nhãn luồng không được nén, điều này dẫn đến 22 bit trong đó 2 bit đệm được thêm vào (dự trữ) cho đủ 3 byte. - 10: Trường nhãn luồng đã được nén (được bỏ qua hoàn toàn) và trường lóp lưu lượng không được nén. - 11: Các trường lóp lưu lượng và nhãn luồng đã được nén. • Bit 5 (tiêu đề kế tiếp): - 0: 8 bit đầy đủ của tiêu đề kế tiếp được mang theo trong tuyến. - 1: Trường tiêu đề kế tiếp IPv6 được bỏ qua và một cơ chế mã hóa khác (gọi là mà hóa tiêu đề kế tiếp NHC - Next Header Coding) được thêm vào. • Các bit 6 và 7 (HLIM, giới hạn bước nhày): Ngược lại với kỹ thuật nén HC1 thi IPHC cho phép nén các trường giới hạn bước nhảy cùa tiêu đê IPvỏ. 149
  17. - 00: Trường giới hạn bước nhảy của gói tin IPv6 được mang theo trong tuyến. - 01: Trường giới hạn bước nhảy được bỏ qua và giới hạn hước nhảv bàng 1. - 10: Trường giới hạn bước nhảy được bò qua và giới hạn bước nhảy bàng 64. - 1 1 : Trường giới hạn bước nhảy được bỏ qua và giới hạn bước nhảy bàng 255. • Bit 8 (nhận diện ngữ cảnh m ở rộng; CID - Context Identiíier). - 0: Không sừ dụng thông tin ngữ cànti bồ sung. - 1 : 1 byte nhận diện ngữ cảnh bổ sung được thêm vào theo ngay sau trường chế độ địa chi đích đến DAM (Destination Address Mode). • Bit 9 (nén địa chi nguồn; SAC - Source Address Compression). - 0: Nén địa chì phi trạng thái. - 1: Nén địa chi có trạng thái dựa trên ngữ cảnh. • Các bit 10 và 11 (chế độ địa chi nguồn; SAM - Source Address Mode). NếuSAC = 0: - 00: Địa chi 128 bit đầy đủ được mang theo trên tuyến. - 01: 64 bit đầu tiên của địa chi IPv6 được bò qua và giá trị của 64 bit là tiền tố liên kết cục bộ, được độn bằng các số 0, 64 bit còn lại được mang theo trên tuyến. - 10: 112 bit đầu tiên của địa chi IPv6 được bỏ qua và giá trị cùa các bit này là tiền tố liên kết cục bộ, được độn bằng các số 0, 16 bit còn lại được mang theo trên tuyến. - 1 1 : Địa chì được bỏ qua hoàn toàn. 64 bit đầu tiên là tiền tố liên kết cục bộ, 64 bit còn lại được suy ra từ khung IEEE 802.15.4 (tương tự như HC1). Nếu SAC = 1: - 00: Địa chi là địa chi không xác định 150
  18. - 01: Địa chi tiền tố 64 bit được lấy từ các thông tin ngữ cảnh và 64 bit còn lại được mang theo trên tuyến. - 10: Địa chi tiền tố 112 bit được lấy từ các thông tin ngữ cành và 16 bit còn lại được mang theo trên tuyến. - 1 1 : Địa chi được lấy từ thông tin ngữ cành và lớp liên kết có thể. Không có bit nào được m ang theo trên tuyến. • Bit 12 (nén multicast, M). - 0: Địa chỉ đích đến không phải là một địa chi multicast. - 1: Địa chỉ đích đến là m ột địa chi multicast. • Bit 13 (nén địa chi đích đến; DAC - Destination Address Com pression). - 0: N én đ ịa chỉ đ ích đ ến ph i trạn g thái. - 1: N én địa chi đ ích đ ến c ó trạ n g th ái v à đ ư ợ c d ự a trên n g ữ cảnh. • Các bit 14 và 15 (Chế độ địa chi đích đến, DAM - Destination Address Mode). Nếu DA c = 0: - 00: Địa chì 128 bit đầy đủ được m ang theo trong tuyến. - 01: 64 bit đầu tiên của địa chì IPv6 được bỏ qua và giá trị của 64 bit là tiền tố liên kết cục bộ, được độn bàng các số 0. 64 bit còn lại được m ang theo trên tuyên. - 10: 112 bit đầu tiên của địa chỉ IPv6 được bỏ qua và giá trị của 112 bit là tiền tố liên kết cục bộ, được độn bằng các số 0, 16 bit còn lại được m ang theo trên tuyến. - 1 1 : Địa chì được bỏ qua hoàn toàn. 64 bit đầu tiên là các tiền tố liên kết cục bộ và 64 bit còn lại được suy ra từ khung IEEE 802.15.4 (tưưng tự như HC1). N ểu D A C = 1: - 00: Dự phòng. - 01: Địa chì tiền tố được suy ra từ các thông tin ngữ canh và 64 bit được m ang theo trên tuyến. - 10: Địa chi tiền tố được lấy từ các thông tin ngữ cảnh và 16 bit được m ang theo trên tuyến. - 1 1 : Địa chỉ được lấy từ các thông tin ngừ cảnh và lớp liên kết tiềm năng và không có bit nào được m ang theo trên tuyến. 151
  19. N ếu M - I và DA c = 0: - 00: Địa chi đầy đù được mang theo trên tuyến (128 bit). - 01: Địa chỉ được mã hoá bằng cách sử dụng 48 bit và có dạng FFXX:: 00XX: XXXX: x x x x . - 10: Địa chi được mã hoá bằng cách sử dụng 32 bit và có dạng FFXX:: 00XX: x x x x . - 11: Địa chi được mã hoá bàng cách sừ dụng 8 bit và có dạng FF02::00XX. Nếu M = 1 và DA c = 1: - 00: Địa chi được mã hoá bằng cách sử dụng 48 bit và có dạng FFXX:: XXLL: PPPP: PPPP: PPPP: PPPP: XXXX: x x x x . X ký hiệu 4 bit được m ang theo trong tuyến, p ký hiệu 4 bit để mã hóa các tiền tố (ví dụ, được đưa ra bởi ngữ cảnh cụ thể) và L ký hiệu 4 bit được sử dụng đề mã hóa độ dài tiền tố. Các thông tin tiền tố p và L được suy ra từ ngữ cảnh của nó. - 01: Dự trữ. - 10: Dự trữ - 11: Dự trữ. 5.2.3.4. Nhận d ạ n g n g ữ c ả n h IPHC dựa trên khái niệm về chia sẻ ngữ cành giữa nút gửi (thực hiện nén gói tin IPv6) và nút nhận (thực hiện giài nén gói tin IPv6). Đặc tả kỹ thuật hiện tại chưa mô tả cách thức để chia sẻ và duy trì các ngữ cảnh. Trong tương lai có thể có những sự mở rộng giao thức hoặc có giao thức mới cho việc cấu hình động và chuyển đổi các ngữ cành đuợc chia sẻ. Như đã được trình bày ở phần trước, trường CID trong mã hóa LoWPAN_IPHC chi ra rằng một byte bồ sung được thêm sau byte IPHC và đứng trước các trường tiêu đề IP được mang theo trên tuyến. Byte bồ sung này được sử dụng để xác định ngữ cành, xác định nguồn và đích tương ứng. 4 bit đầu tiên được gọi là nhận dạng ngữ cành nguồn 152
  20. SCI (Source C ontext Identiíìer) được sừ dụng cho địa chi nguồn. 4 bit theo sau gọi là nhận dạng ngữ cảnh đích DCI (Destination Context Identiíìer) được sừ dụng cho địa chì đích. Vì có 4 bit được sừ dụng đê xác định ngữ cành, nên nó cho phép xác định tới 16 ngữ cảnh. 5 .2 .3 .5 . N é n tiê u đ ề l P v ó k é t iế p N hư đã biết, IPv6 sừ dụng các tiêu đề xếp chồng trong đó trường tiêu đề kế tiếp được sử dụng để cho biết loại tiêu đề theo ngay sau đó. Tương tự như HC1 ờ đó thông tin tiêu đề tiếp theo được mã hóa trong byte HC1 (bit 5 và 6) thì IPHC xác định một cơ chế nén mới để bỏ qua trường tiêu đề kế tiếp IPv6. Nén tiêu đề kế tiếp IPv6 được xác định bàng cách thiết lập bit 5 của byte IPHC và bằng cách thêm một byte mới được gọi là byte LoW PAN_NHC. Nó theo sau trường tiêu đề không được nén (được mang theo trên tuyển) như trong hình 5.10. Byte NHC có độ dài thay đổi tùy thuộc vào loại tiêu đề kế tiếp. Điều đó cho phép m ột kỹ thuật nén hiệu quả và linh hoạt hơn. Như hình 5.10 thì 7 bit đầu tiên của byte NHC được sừ dụng để xác định các tiêu đề kế tiếp theo sau. Trường nhận dạng tiêu đề mở rộng (EID - Extension header ID) cho biết tiêu đề IPv6 m ở rộng nào theo ngay sau. 2-3 bytes (3 bytes wrth the Contaxt ldentifi«r Extenstons) IPMC NHC ■ •000*10 n M M rM i m mm ẹ h *a » v»r C om orM M d Potentíally other NHC encodirtg NHC 10 1 NHC byte for IPv6 next heaơer 1 1 0 ẼID NH encoding * Next header (compressed or not) (1 txt) A IPv 6 extans»on header ID (3 bits) Hình 5.10: Gói tin IPv6 sử dụng nén Lo W P A N JP H C và LoW PAN_NHC 153
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
7=>1