YOMEDIA
ADSENSE
Tìm hiểu các mạnh cảm biến không dây trên nền giao thức định tuyến IP: Phần 2
12
lượt xem 4
download
lượt xem 4
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Nối tiếp nội dung phần 1, phần 2 cuốn sách "Mạng cảm biến không dây trên nền kiến trúc IP" trình bày các nội dung: IPv6 cho mạng cảm biến không dây, lớp thích ứng 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 nội dung chi tiết.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tìm hiểu các mạnh cảm biến không dây trên nền giao thức định tuyến IP: Phần 2
- Chương 4 IPv6 CHO MẠNG CẢM BIẾN KHÔNG DÀY Trong thời gian qua, đã có một số cuốn sách được xuất bàn viết về IPv6. Chương này sê giới thiệu về ứng dụng IPv6 cho các mạng cảm biến không dây. Để có được các thông tin chi tiết về ứng dụng IPv6 cho các mạng cảm biến không dây, bạn đọc cỏ thể tìm hiểu thêm trong các tài liệu RFC IPvỏ được quy định bời IETF. IPv6 đóng vai trò nền tảng trong kiến trúc "Internet o f Things" nói chung và mạng cảm biến không dây nói riêng. Chương này cũng sẽ giới thiệu một số động lực thúc đẩy chính cùa việc lụa chọn IPv6 cho các mạng cảm biến không dây. 4.1. GIỚI THIỆU VÈ IPv6 IPv6 đóng một vai trò quan trọng đối với các mạng cảm biến không dây 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. EPv6 chi 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. Mặc dù có một số hạn chế nhưng IPv4 đã đạt được một sự thành công rất lớn. 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 triển một loạt các cơ chế nhằm cho phép chuyển đổi dễ dàng từ IPv4 sang IPv6. Một số đặc điểm chính của IPv6 bao gồm: • K hông gian đ ịa chỉ lớn hơn và đáp ứng được yêu cầu đổi với các m ạn g có quy mô lớn: Mặc dù trong một số trường hợp ứng dụng, mạng cảm biến không dây có thể chì bao gồm vài chục nút. Tuy nhiên, trong một số trường hợp ứng dụng khác thì số lượng các nút cảm biến có thể lên tới vài trăm ngàn nút. Với sự cạn kiệt địa chi IPv4 thì IPv6 sẽ là sự lựa chọn tất yếu. Với việc mờ rộng không gian địa chi từ 32 bit lên 128 bit thì IPv6 cho phép một lượng lớn không gian địa chi dành cho 98
- các nút cảm biến và cùng với đó sẽ cỗ nhiều mức phân cấp địa chi cũng như các đặc điẻm tự động cấu hình. Nhưng đây không phải là lý do duy nhất cho việc lựa chọn IPv6. • T ự động cấu hình: Đối với các mạng có quy mô lớn thì việc quán lý (bao gồm việc dự phòng, cấu hình, quàn lý lỗi, thong 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 trong IPv6 là một lý do khác dẫn đến việc sừ dụng IPv6 trong các mạng cảm biến không dây. • Sự thay đổi tiêu đề: 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 một tiêu đề cố định có thể thêm vào các tiêu đề m ở rộng tùy chọn. Các trường mới cũng đã được thêm vào (ví dụ như trường nhãn luồng). • Nhận thực và bảo m ật: Các phần mở rộng được định nghĩa nhằm 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. 4.2. CÁC TIÊU ĐỀ GÓI TIN IPv6 4.2.1. Tiêu đề IPv6 cố định (IPv6 Fixed Header) Cách tốt nhất để bẳt đầu học một giao thức là đầu tiên chúng ta nên tìm hiểu về trường tiêu đề gói tin. Định dạng tiêu đề gói tin IPv6 được minh họa trong hình 4 1. Varsion I Traff*c d a ss I Flow label Paytoad length I Next header Hop Hmit Source address * '' Destination address Hình 4.1: Đinh dạng tiẽu đề gỏi tin IPv6. 99
- Các trường trong tiêu đề gói tin IPv6 bao gồm: - Version (4 bit): IP phiên bàn 6. - Traffĩc class (8 bit): Trường 8 bit này được dùng để xác định lớp dịch vụ (Class o f Service) cùa gói tin. - Flow label (20 bit): Nhãn luồng có thể được sừ dụng bời một nút nguồn để tham chiếu đến một chuỗi các gói tin nhàm xác định một luồng mà nó đòi hỏi việc xừ lý các gói tin riêng biệt bời các bộ định tuyến dọc theo tuyến đường tới đích của nó. Nhãn luồng nên được tạo ra ngẫu nhiên để hỗ trợ việc thực hiện chức năng khóa băm trên bộ định tuyến trung gian. Giả thiết rằng tại bất cứ thời điểm nào nút nguồn không sử dụng cùng một giá trị nhãn luồng cho hai luồng khác nhau. Lưu ý rằng, việc sử dụng trường này chủ yếu vẫn là thứ nghiệm. - 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). Chú ý rằng độ dài của các tiêu đề mờ rộng cũng có trong độ dài tải trọng. - Next header (8 bit): Trường này nhận dạng tiêu đề theo sau tiêu đề gói tin IPv6. Điều này tạo ra sự linh hoạt trong việc thêm vào các tiêu đề tùy chọn sừ dụng một chuỗi tiêu đề nối tiếp nhau. - Hop limit (8 bit): Trường này giảm đi một sau mỗi lần gói tin được chuyển tiếp bởi một nút mạng. Khi trường này bằng 0 thì gói tin sẽ bị loại. - Source Address: Gồm 128 bit địa chi nguồn của gói tin IPv6. - Destination Address: Gồm 128 bit địa chi đích của gói tin IPv6. Qua đó, chúng ta thấy rằng tiêu đề gói tin IPvó là cố định (không có tùy chọn) có độ dài 40 byte so với tiêu đề 20 byte của gói tin IPv4. Độ dài tiêu đề gói tin tăng lên có thể là một trở ngại đối với mạng cảm biến không dây sử dụng chuẩn truyền thông vật lý IEEE 802.15.4. Đâ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 nhằm giảm kích thước tiêu đề. Trái ngược với IPv4, không có trường tổng kiểm tra trong tiêu đề gói tin IPv6. N hư vậy tất cả các giao thức lớp giao vận phải tính toán một tổng kiêm tra có tính đến tiêu đề gói tin IPv6. Điều này cũng được thực hiện bởi UDP. Do vậy, tổng kiểm tra UDP (tùy chọn trong IPv4) là bát buộc trong 100
- IPv6. Đối với IPv4, tất cả các giao thức lớp cao đều hơn sử dụng 32 bit địa chỉ IPv4 để tính toán tổng kiểm tra của chúng. Vì vậy các giao thức này cần được thay đổi để sử dụng 128 bit địa chi IPv6. 4.2.2. Tiêu đề mở rộng (Extended Header) IPv6 có một tiêu đề cố định và theo sau là một chuỗi nối tiếp các tiêu đề tùy chọn được gọi là các tiêu đề m ở rộng. Các tiêu đề tùy chọn theo sau tiêu đề cố định và đứng trước tiêu đề lớp giao vận. Giá trị trường tiêu đề kế tiếp chì đom giản là để xác định loại tiêu đề nào theo sau nó. Chúng ta cùng quan tâm đến ví dụ được m inh họa ở hình 4.2. Trong trường hợp đầu tiên, giá trị trường tiêu đề kế tiếp là bằng 6, nó chi ra rằng một tiêu đề TCP theo ngay sau tiêu đề cố định (không có tiêu đề mở rộng trong trường hợp này và đơn vị dữ liệu gói tin lớp giao vận PDƯ theo ngay sau tiêu đề cố định). Trong trường hợp thứ ba có ba tiêu đề m ở rộng theo sau tiêu đề IPv6 cố định tạo thành chuỗi nối tiếp. Giá trị tiêu đề IPv6 kế tiếp bằng 43 chỉ ra rằng tiêu đề m ở rộng đầu tiên là một tiêu đề định tuyến. Ta thấy rằng tiêu đề tiếp theo chứa m ột trường tiêu đề kế tiếp với giá trị là 51 cho biết sự hiện diện của một tiêu đề nhận thực. Case 1: no extended header Next header = 6(TCP) n TCP header + payload ĩ a S S 5i__ Case 2' with a routing header --------- £9----■ 4ềề^ấ ~T Next header = 43{rout!ng) Next header s 6 (TCP) TCP header * payload Case 3: vvith a routing headerand authentication headers Hình 4.2: M ột tiêu đề IPv6 m ờ rộng. 101
- Tiêu đề lóp giao vận được quy định bởi giá trị 6 (ám chỉ đên một TCP) trong trirờng tiêu đề kế tiếp của tiêu đề nhận thực. Cơ chế này tạo ra một kiến trúc rất linh hoạt đó là chi thêm tiêu đề khi cần thiết. Lưu ý ràng các tiêu đề phải xuất hiện theo một thứ tự rõ ràng và không được xử lý bời các bộ định tuyến trung gian dọc theo tuyến đường dữ liệu ngoại trừ tiêu đề tùy chọn từng bước nhảy (hop-by-hop). Tiêu đê từng bước nhảy là tiêu đề duy nhất cần phải được xử lý bởi tất cả các bộ định tuyến dọc theo tuyển đường từ nguồn đến đích. Đỏ là lý do tại sao khi xuất hiện, nó phải theo ngay sau tiêu đề cố định (sự có mặt của nó được chi định bởi giá trị 0 trong trường tiêu đề kế tiếp cúa tiêu đề cố định). Tất cà việc triển khai IPv6 phải hỗ trợ các tiêu đề mở rộng sau đây: - Các tùy chọn từng bước nhảy. - Định tuyến (loại 0). - Phân mành. - Các tùy chọn điểm đến. - Nhận thục. - Đóng gói tải bảo mật (Encapsulating security payload). Các tùy chọn trong các tiêu đề: Có hai tiêu đề mờ rộng (tiêu đề tùy chọn từng bước nhày và tiêu đề tùy chọn điểm đến) mang một số giá trị tùy chọn định dạng TLVs (Type-Length-Values) thay đổi cho phép xác định một số tùy chọn cho tiêu đề. Trường nhận dạng kiểu tùy chọn (giá trị T - 8bit) xác định kiều tùy chọn và hai bit thứ tự cao nhất để xác định những gì mà một nút sẽ thực hiện nếu tùy chọn không được nhận ra như là bỏ qua, âm thầm loại bò, loại bỏ và gửi một gói tin ICMP (Internet Control Message Protocol),... Bit cao nhất thứ 3 xác định xem liệu dừ liệu tùy chọn có thể được thay đổi dọc theo tuyến đường dữ liệu hay không. Trường độ dài (giá trị L - 8 bit) xác định độ dài dữ liệu tùy chọn tính bàng đơn vị octet. 4.2.3. Tiêu đề tùy chọn từng buóc nhảy (Hop-by-Hop Option Header) Các tiêu đề tùy chọn từng bước nhảy được sứ dụng để mang thông tin bồ sung và phải được xử lý bời tất cá các bộ định tuyến dọc theo tuyến đường đi của gói tin bao gồm cả nguồn và đích đến cùa gói tin IP. cấu trúc cùa nó được mô tả trong hình 4.3. Ta thấy 8 bit đầu tiên xác định tiêu đề kế 102
- tiếp, theo sau là m ột trường 8 bit xác định độ dài tài trọng không bao gồm 8 bit đâu tiên, theo sau là tải trọng có độ dài thay đổi bao gồm một tập hợp các giá tri tuy chọn định dạng TLVs. 4.2.4. Tiêu đề định tuyến (R outing Header) Tiêu đề định tuyến được sừ dụng để xác định một tập họp các nút mà gói tin phải được đi qua dọc theo tuyến đường đến nút đích. Hai trường đầu tiên hoàn toàn giống với hai trường đầu tiên của tiêu đề tùy chọn từng bước nhảy. Trường segm ent left cho biết số đoạn đường còn lại trước khi đến được nút đích. Trường type-specific data là trường có độ dài thay đổi của loại định tuyến được xác định bởi giá trị trường loại định tuyến (routing type). M ột ví dụ cụ thể của một tiêu đề định tuyến loại 0 được trình bày trong hình 4.3. Tiêu đề định tuyến là loại 0 và chì mang các địa chi unicast. Việc xử lý tiêu đề định tuyến cần phải được quan tâm bời vì nó không chỉ được sừ dụng để liệt kê tập hợp các nút cần phải đi qua mà nó còn lưu lại tập hợp các nút đã đi qua. IPv6 extended headers Option Hop-by-hop option heeder n r im im r r a g . ? r r n iB " - r n r m ị Routing header T ýp » -s p *c M c < M a ---------------------------------- N « d h w j0r I H d r « r tln f l» I 0 I SgqmenH A đ d re s s 1 Routing header type 0 A d d re s s n Hình 4.3: Các tiêu đề định tuyến và từng bước nhảy 103
- Một hạn chế với tiêu đề định tuyến loại 0 (RHO) là các vấn đề an ninh mạng. Thật vậy, một tiêu đề RHO có thê chứa nhiều bộ định tuyến hoặc các host trung gian và nó được phép chứa cùng một địa chi nhiều lần. Điều này có nghĩa là một gói tin có thể chạy vòng và được xừ lý nhiều lần bới các bộ định tuyến hoặc các host. Điều đó sẽ dẫn đến khả năng một cuộc tấn công từ chối dịch vụ (DoS). Do đó, các loại tiêu đề định tuyến khác đã được sử dụng. Tiêu đề định tuyến loại 1 đã được thử nghiệm và tiêu đề định tuyến loại 2 cũng đã được xác định cho IPv6 di động. 4.2.5. Tiêu đề phân mảnh (Fragment Header) Trái ngược với IPv4 đó là các bộ định tuyến dọc theo tuyến đường dữ liệu không bao giờ thực hiện bất kỳ hình thức phân mảnh nào. IPv6 yêu cầu mỗi liên kết phải có khả năng mang các gói tin 1280 byte. Điều này không phù hợp đối với mạng cảm biến không dây. Cụ thể là MTU của các liên kết IEEE 802.15.4 bàng 127 byte. Trong trường hợp này, 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. Cơ chế này sẽ được mô tả ở chương 5. IPv6 sẽ hỗ trợ các cơ chế để phát hiện ra MTƯ tối thiểu 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 được gọi là phát hiện đơn vị truyền tài tối đa đường truyền (PMTƯ: Path Maximum Transmission ư nit 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ữ trong một bảng trên host cùa mỗi điểm đến và phải thuờng xuyên được phát hiện lại bởi vì các tuyến đường có thể thay đổi do phải định tuyến lại khi các nút mạng bị lỗi. Một nút nguồn IPv6 phân mảnh một gói tin mỗi khi kích thước cùa nó lớn hơn MTƯ nhò nhất dọc theo tuyến đường đến đích. Định dạng của tiêu đề phân mành được thể hiện trong hình 3.5. Tiêu đề phân mảnh được xác định bởi giá trị 44 xuất hiện trong trường tiêu đề kế tiếp cùa tiêu đề trước đó (có thể là tiêu đề IPv6 cố định hoặc cũng có thể là tiêu đề định tuyến, nếu nó xuất hiện). Giá trị tiêu đề kế tiếp (next header) 104
- giống với loại tiêu đề kế tiếp của gói tin bị phân mảnh ban đầu. Độ lệch phân manh (fragm ent offset) để xác định độ lệch của phân mảnh (trong các đơn vị 8 octet) so với phan đầu tiên có thề được phân mành của gói tin ban đầu. Trường nhận dạng (identiíĩcation) là một giá trị mă hóa 32 bit được chọn bời nút nguồn đề nhận dạng gói tin bị phân mảnh sẽ được tái tạo lại bời nút đích. Mỗi lần nút nguồn phân mành một gói tin nó sừ dụng một số nhận dạng khác nhau cho mỗi gói tin bị phân mành. Nút nguồn được giả thiết ràng nó chỉ sừ dụng m ột số nhận dạng duy nhất cho mỗi gói tin được gửi đi trong thời gian tồn tại dự kiến của mỗi gói tin. Một bộ đếm vòng đơn giản thực hiện cơ chế m ã hóa 32 bit cho số nhận dạng. Trường Reserved (2 bit) được thiết lập là 0 và bit M được sừ dụng để cho biết đã là phân mảnh cuối cùng hay chưa (M = 1: còn nhiều phân mành khác, M = 0: là phân mảnh cuối cùng). Bây giờ chúng ta xem ví dụ minh họa quá trình phân mảnh cùa m ột gói tin. Gói tin ban đầu có một phần không thề phân mành được cấu thành từ tiêu đề ban đầu và các tiêu đề mở rộng cần phải được xừ lý bời các nút dọc theo tuyến đường đến đích. Phần còn lại cùa gói tin là phần có thể phân mành. Định dạng cùa mỗi phân mành được thể hiện trong hình 4.4. Mỗi phân mãnh bao gồm phần không thể phân mảnh cùa gói tin ban đầu, tiêu đề phân m ảnh và tải trọng cùa phân mảnh. Nếu quan sát tiêu đề phân mảnh, chúng ta thấy nó chứa một giá trị tiêu đề kế tiếp để xác định tiêu đề đầu tiên của phần có thể phân mảnh trong gói tin ban đầu. Trường tiêu đề kế tiếp của tiêu đề cuối cùng trong phần không thể phàn mảnh được thiết lập là 44. 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 có 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 manh phải nhận được trong vòng 60 giây sau khi tiếp nhận được phân m ánh đầu tiên. Sau thời điểm hết hạn mà tất cả phân mành không nhận được đầy đù thi một thù tục đơn giàn đó là dừng và loại bỏ tất cả các phân mảnh. Sau đó m ột bàn tin báo lỗi ICMP được gửi đến nguồn cùa gói tin. Các trường hợp lỗi khác (ví dụ, độ dài gói không chính xác ...) cũng được kiểm soát. 105
- FragmflMon procMi tM M v I hMnad M “ Opta M g E X Ịg Ongn* packai to ba tBgrmnM Ị U tagm rtẩếpl Ị Fi«gro»rth—dw Ị Pagimrti I Ị ÙrÉymnÌÉbpl ' Ị ỉnợ m tìm ắK ( Pngnart? I Ị Úr*yn»fÉÌbl»p«f1 I RỊgmrthãrig' Ị 'ãiọrmrtn ] Hình 4.4: Các tiêu đề phân mảnh 4.2.6. Tiêu đề tùy chọn đích (Destỉnation Option Header) Tiêu đề tuỳ chọn đích được sử dụng để mang thông tin tùy chọn được xử lý bời nút đích và đuợc nhận dạng trong trường tiêu đề kế tiếp của tiêu đề trước đó bởi một giá trị là 60. Định dạng của tiêu đề tùy chọn đích tương đối dễ hiểu bao gồm: Một trường tiêu đề kế tiếp 8 bit, theo sau là 8 bit trường độ dài xác định độ dài của tiêu đề trong các đon vị 8 octet, không bao gồm 8 octet đầu tiên. Tài trọng bao gồm một hoặc nhiều giá trị tùy chọn định dạng TLVs. Thông tin tùy chọn được mã hóa theo hai cách khác nhau: Bằng cách sử dụng một tùy chọn định dạng TLV được mang trong tiêu đề tùy chọn đích hoặc bàng cách xác định một tiêu đề mở rộng mới. Hai bit bậc cao nhất được sừ dụng để xác định hành vi cùa điểm đích khi nó không nhận diện được tùy chọn. 4.2.7. Tiêu đề nhận thực và tiêu đề đóng gói 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, tính bảo mật cùa một gói tin và để xác định những thông tin liên quan đến mã hoá dữ liệu. 106
- 4.2.8. Ticu đề kết thiíc (No Next Heađer) Tiêu đề này (giá trị = 59) được sử dụng đề cho thấy rằng không có gì theo sau tiêu đề này. 4.3. KI ÉN T R Ú C ĐỊA C H Ỉ IPv6 4.3.1. Khái niệm về Unicast, Anycast và M ulticast Một địa chỉ unicast xác định duy nhất m ột giao diện (interface). Một giao diện có thể có nhiều địa chỉ unicast và phải có ít nhất một địa chỉ liên kết cục bộ. Địa chi liên kết cục bộ là địa chi được sừ dụng trên một liên kết giữa hai nút. Trong m ột số trường hợp, các địa chi liên kết cục bộ là đủ nếu nút không cần phải gửi các gói dữ liệu vượt ra ngoài một liên kết cục bộ. Lưu ý rằng m ột nút có thể gán một địa chỉ unicast (hoặc một tập hợp các địa chi unicast) cho hơn m ột giao diện khi và chi khi nó xừ lý chúng như một giao diện khi xuất hiện tại lớp mạng. Điều này có thể hữu ích nhằm cân bằng tài lưu lượng trên m ột tập họp các giao diện vật lý. Một địa chỉ anycast xác định một tập các giao diện: Một gói tin được gửi đến một địa chi anycast chi được gửi tới một trong các giao diện của tập hợp này và thường là giao diện gần nhất được tính theo các thước đo định tuyến. Ngược lại, một gói tin được gửi tới một địa chi multicast sẽ được gửi đến tất cà các giao diện được xác định bởi địa chi multicast. Không có quàng bá trong IPv6, do đó các địa chỉ multicast được sừ dụng. Ví dụ, các gói tin điều khiển định tuyến trong IPv4 sử dụng các địa chi quảng bá trong khi đó các địa chỉ multicast lại được sử dụng trong IPv6. 4.3.2. Bicu diễn các địa chỉ IPv6 Các địa chi IPv4 32 bit được biểu diễn dưới dạng sau đây: x.y.z.t (ví dụ: 124.4.12.3). Một phần cùa địa chi đại diện cho phần m ạng và phần còn lại cùa địa chi đại diện cho phần host. Các địa chi 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). ví dụ: 2020:CA2S:0000:0000:0023:0222:0000:2900. 107
- Vì các địa chỉ này có thể khá dài nên có một cách khác để đơn giàn hóa việc biểu diễn. Ví dụ, 0000 có thế được biểu diễn là 0 hoặc thậm chí khôno viết gì cả. Tất cả một chuỗi 16 bit đều bằng 0 có thể được biểu diễn là cách này chỉ có thể được biểu diễn một lần trong một địa chi. Trở lại ví dụ trước, địa chỉ này có thể được biều diễn lại là 2020:CA28::23:222:0:29. Địa chi ::1 tượng trưng cho địa chì vòng lặp (tương đương với địa chỉ 127.0.0.1 cho các địa chỉ ỈPv4) và :: là địa chí không xác định. Địa chỉ này không được gán cho bất kỳ nút nào và chỉ đơn giản là xác định một trường hợp địa chi không có, ví dụ :: có thể được sử dụng như là địa chi nguồn của nút mà chưa biết địa chỉ unicast của riêng nó và không được sử dụng như là một địa chỉ đích hoặc không được sừ dụng trong tiêu đề định tuyến. IPv6 không áp đặt bất kỳ m ột ranh giới cụ thế nào cho phần mạng, điều này tương tự như định tuyến liên miền không phân lớp (CIDR: classless inter-dom ain routing) được sừ dụng trong IPv4. Trong môi trường trộn lẫn giữa IPv4 và IPv6, đôi khi lại thuận lợi khi sử dụng định dạng sau: 2020:CA28::222:124.4.12.3 (xem bảng 4.1). Báng 4.1: Sự cấp phát ban đầu của các dải tiền tố A lo ca tlo n Prvftx (bỉnary) R acỉion of address space Reserved 0000 0000 1/256 Unassígned 0000 0001 1/256 Reserved for MSAP allocation 0000 001 1/128 Reserved for PX alkxation 0000 010 1/128 Unaságned 0000 011 1/128 Unassigned 0000 1 1/32 Unassigned 0001 1/16 Aggregatable global unicasĩ aơơresses 001X xxxx 1/8 Unassígned 010x xxxx 1/8 Unaságneờ 011x xxxx 1/8 Unasãgneơ 10Ox xxxx 1/8 Unasãgned 101x xxxx 1/8 Unassigneơ 1lOx xxxx 1/8 Unassigned 1 1 1 0 xxxx 1/16 Unassểgned 1111 Oxxx 1/32 Unasagned 1111 10xx 1/64 Unassigneơ 1111 110x 1/128 Unassigned 1111 11100 1/512 Unk-tocal unicast aoơresses 1111 1110 10 1/1024 Srte-tocal unicast aơơresses 1111 1110 11 1/1024 Muiticast aơơresses 1111 1111 1/256 108
- Bảng 4.1 cho thấy việc cấp phát ban đẩu của dải tiền tố. Loại địa chi IPv6 được quy định bởi giá trị của các bit đầu cùa địa chi. Ví dụ, địa chi multicast luôn luôn bắt đầu bang 11111111 (FF). Các địa chỉ Anycast là một phần của không gian địa chi unicast. 4.3.3. Các địa chỉ IPv6 Unicast Một địa chỉ unicast được tạo ra từ một tiền tố mạng con (Subnet Preíĩx) và m ột nhận dạng giao diện (Interface ID). Các nhận dạng giao diện được sử dụng để nhận dạng m ột giao diện trên một liên kết và do vậy phải là duy nhất trên liên kết đó, thông thường nhận dạng giao diện giống với địa chi lớp Hên kết cùa giao tiếp. Đặc điểm này được sử dụng cho việc nén tiêu đề khi m ang các gói tin IPvó trên các liên kết IEEE 802.15.4. 4.3.3.1. Địa chỉ ìPv6 Unicast toàn cầu (Global Unicast IPv6 Addresses) Trong bảng 4.1 ta thấy các địa chỉ unicast toàn cầu có 3 bit tận cùng bên trái của chúng thiết lập là 001. Bởi vậy, một địa chỉ unicast toàn cầu thuộc trong phạm vi từ 2000: đến 3FFF: FFFF: FFFF: FFFF: FFFF: FFFF: FFFF: FFFF. Trong hầu hết các trường hợp, 64 bit tận cùng bên trái được sử dụng đề nhận dạng phần của địa chì mạng (vì vậy ngầm định độ dài tiền tố là /64) và 64 bit ngoài cùng bên phải được sử dụng để nhận dạng phần địa chỉ của host. Để cho phép kết hợp địa chi nhàm giảm kích thước bảng định tuyến trên mạng Internet, IPv6 cho phép sử dụng các địa chỉ được cung cấp bời các nhà cung cấp dịch vụ. Phần mạng cùa địa chi được chia ra thành: • Trường 48 bit tương ứng với tiền tố được cung cấp bởi nhà cung cấp dịch vụ. • Trường 16 bit được sử dụng bởi nhà quản trị mạng để phân bổ các m ạng con trong một địa điểm (như vậy, kết quà là có 2 16 mạng con). • Trường 64 bit tương ứng với phần host (nhận dạng giao tiếp). Trường này cho phép nhúng 48 bit địa chỉ MAC, điều này vô cùng thuận tiện cho việc tự động cấu hình địa chỉ sẽ được trình bày trong m ục 4.7. Quá trình xây dựng nhận dạng giao diện được trình bày chi tiết trong mục 4.7. 109
- 4.3.3.2. Địa chi 1P\ 6 Unicast cục bộ (Local Unicast IP\’6 Adíỉresses) Có hai loại địa chỉ IPv6 unicast cục bộ đó là liên kết cục bộ và mạng cục bộ. Các địa chi unicast liên kết cục bộ được sứ dụng trên một liên kết duy nhất để tự động cấu hình, phát hiện nút lân cận hoặc trong trường hợp không có bộ định tuyến. Vì phạm vi là cục bộ, các gói dừ liệu trong phạm vi liên kết cục bộ không bao giờ được chuyên tièp bới bộ định tuyên nằm ngoài phạm vi liên kết. Địa chỉ mạng cục bộ là một địa chỉ được chuyển tiếp trong phạm vi một mạng mà không cần phải ra ngoài Internet (do vậy không cần một tiền tố định tuyến toàn cầu). Bởi vậy, các gói tin với các địa chi như vậy sẽ không được chuyển tiếp bời các bộ định tuyến bên ngoài mạng. Định dạng của địa chỉ IPv6 unicast liên kết cục bộ và mạng cục bộ được mỏ tả trong hình 4.5. 10 bits 54 bits 64 bits « ----------------- M --------------------------------M ------------------------------------------------------------*■ 1111111010 0 Interiace ID F o rm a t of lin k -lo c a l u n ic a st IP v 6 a d d r e s s 10 bits 38 bits 16 bits 64 bits 1111111011 0 Subnet ID Intertace ID Format of site-local unicast IPv6 address Hình 4.5: Định dạng các địa chỉ IPv6 unicast mạng cục bộ và liên kết cục bộ. Do đó, một địa chi unicast phạm vi liên kết cục bộ luôn luôn bắt đầu với FE80:0:0:0 tiếp theo sau là nhận dạng giao tiếp. Các địa chỉ ưnicast cục bộ duy nhất Khái niệm về các địa chi cục bộ duy nhất nghĩa là duy nhất trên toàn cẩu và được dành cho truyền thông cục bộ (không có khả năng định tuyến trên mạng Internet). Một địa chi unicast cục bộ duy nhất có dạng như hình 4.6. 110
- Theo mặc định thì phạm vi của các địa chi unicast cục bộ duy nhất là toàn cầu. N hững địa chí này có thề được sừ dụng trong một m ạng hoặc thậm chí giữa nhiều m ạng, mặc dù chúng không có khả năng định tuyến trên m ạng Internet. Việc lựa chọn tiền tố dài 7 bit cung cấp khoảng 2,2 nghìn tỷ địa chi trong khi chỉ sử dụng 0,781% không gian địa chi IPv6. Việc cấp phát nhận dạng toàn cầu (Global ID) phải sử dụng một thuật toán giả ngẫu nhiên. Việc gán địa chi được tự tạo ra với một xác suất duy nhất rất cao. Một thuật toán giả ngẫu nhiên được đề xuất như sau: • Lấy thời gian hiện tại cùa ngày trong giao thức thời gian m ạng (NTP: N etw ork Tim e Protocol) 64 bit. • Lấy nhận dạng EUI-64 từ hệ thống đang chạy thuật toán này. Neu một EUI-64 không tồn tại, một EUI-64 khác có thể được tạo ra từ m ột địa chi MAC 48 bit theo quy định tại mục 4.7.1. Nếu một EƯI-64 không thể được lấy được hoặc không thể tạo ra được thì một nhận dạng phù hợp duy nhất nên được sử dụng (ví dụ như số serial hệ thống). • Ghép thời gian của ngày với nhận dạng hệ thống cụ thể để tạo ra một khóa. • Tính toán SHA-1 digest trên khóa. Giá trị của kết quả là 160 bit. • Sừ dụng 40 bit có nghĩa nhất như là ID toàn cầu. • G hép FC00::/7, bit L đặt là 1 và 40 bit ID toàn cầu để tạo ra m ột tiền tố địa chi IPv6 cục bộ. Các xung đột vẫn còn tồn tại nhưng với một xác suất rất nhỏ. Xác suất xung đột xấp xi là 1,81.10''2 cho 2 kết nối; 4,54.10'9 cho 100 kết nối; và 4,5 4 10'5 cho 10.000 kết nổi. 8 bits _ 40 bits ^lebrts 64 bits Prelbt Ị l Ị Global ID S ubnet ID 1ntBrfac.fi ID “ ------- -------------- FCOO::/7 Subnet within a site ▼ Used to create a gtoòally unique prefix L * 1: preíĩx locaUy assigned L = 0 deíined in th« íuture Hình 4.6: Đ ịnh dạng cùa các địa chi unicast cục bộ duy nhát. 111
- 4.3.4. C ác địa chỉ IPv6 A nycast Địa chi anycast là một địa chì được cấp cho một tập họp các giao diện và thông thường chúng thuộc về các bộ định tuyến khác nhau. IChi một gói tin được xác định đến một địa chi anycast, nó được chuyển đến giao diện gần nhất có địa chỉ anycast này, trong đó thuật ngữ "gần nhất" được xác định bời giao thức định tuyến. Một địa chỉ anycast phải được gán cho một bộ định tuyến chứ không phải là một host và không thể được sử dụng như là một địa chì nguồn. Các địa chi anycast là các địa chi unicast khi một giao diện được cấu hình với một địa chi anycast và nó phải được cấu hình một cách rõ ràng trên bộ định tuyến có giao diện đó. Điều này cần được thực hiện bởi vì các địa chi anycast không thể phân biệt được với bất kỳ địa chì unicast nào khác. Ví dụ về một địa chi anycast là địa chi anycast định tuyến mạng con. Đ ịnh dạng địa chi này được hình thành bởi một tiền tố m ạng con gồm n bit để xác định một liên kểt cụ thể, theo sau là (128 - n) bit thiết lập về 0. Vì vậy, trong ví dụ này, một gói tin được gửi đến địa chỉ anycast định tuyến m ạng con sẽ được chuyển đến một trong các bộ định tuyến trên liên kết m ạng con đó. 4.3.5. Các địa chỉ IPv6 Multicast Các địa chi multicast được sử dụng trong nhiều ngữ cành và rất quan trọng. Một địa chi multicast xác định một nhóm các nút được gọi là một nhóm multicast và không được sừ dụng như một địa chi nguồn hoặc trong một tiêu đề định tuyến. Định dạng của một địa chì multicast được biểu diễn ở trong hình 4.7. Tất cả các các địa chì multicast bát đầu với FF (8 bit đầu tiên cùa địa chi), tiếp theo là trường cờ 4 bit, một trường phạm vi 4 bit để xác định phạm vi của địa chi multicast (ví dụ, liên kết cục bộ, nút cục bộ, mạng cục bộ,...) và một nhận dạng nhóm 112 bit. Một số các địa chi multicast được dự trữ như FF00:0:0:0:0:0:0:(), FF01:0:0:0:0:0:0:0, FF02:0:0:0:0:0:00:00, FF03:0:0:0:0!():0:0, FF04:0:0:0: 0:0:0:0, FF05: 0:0:0:0:0:0:0, FF06: 0:0:0:0:0:0:0, FF07: 00:0:0:0:0:0, 112
- FF08: FF09: 0:0:0:0:0:0:0, FFOA: 0:0:0:0:0:0:0, FFOB: 0:0:0:0:0:0 0 FF0C: 0:0:0:0:0:0: 0, FF0D: 0:0:0:0:0:0:0, FF0E: 0:0:0:0: 0:0:0 và FFOF: 0:0:0:0:0:0:0. 8 txts 4 b»ts 4 btts < ►« -----►« -----M Bíiyilílấ>IC3S5J Group to ValiM for ttw scopa: OỂ] 0 reservad 1 noỏ»-locaJ scope T « 0 : p e rm a n e n tty asstgnod 2 link-tocal soope T* 1 3 (unassigoed) 4 (unasãgned) 5 sit»-tocal scope 6 (unaMignad) 7 (urtasstgned) 8 cxganizatiorvlocal acope 9 (unaMignad) A (unasaiọned) B (unasstgnad) c (unasaigned) 0 (unassigned) E gtoòal scope F reserv®d Hình 4.7: Định dạng của m ột địa chỉ m ulticast IPv6. Một số địa chỉ khác được định nghĩa trước hay được sử dụng bao gồm: • Địa chỉ m ulticast cho tất cả các nút IPv6 nút cục bộ (phạm vi được giới hạn cho nút): F F01: 0:0:0:0:0:0:1. • Địa chỉ multicast cho tất cả các nút IPv6 liên kết cục bộ: FF02: 0:0 :0 0 :0:0: 1. • Địa chi m ulticast cho tất cà các bộ định tuyến IPv6 nút cục bộ: FF01: 0 :0 :0 :0 :0 :0 2 . • Địa chi m ulticast cho tất cà các bộ định tuyến IPv6 liên kết cục bộ: F02:0:0:0:0:0:0:2. • Địa chỉ multicast cho tất cả các bộ định tuyến IPv6 mạng cục bộ: F05:0:0:0:0:0:0:2. 113
- Các địa chi multicast khác cũng được định nghĩa cho các giao thức định tuyến: • Địa chỉ rnulticast cho tất cà các bộ định tuyến RIP (Routing Iníormation Protocol) liên kết cục bộ: FF02: 0:0:0:0:0:0:9. • Địa chi multicast cho tất cà các bộ định tuyến OSPF (Open Shortest Path First) liên kết cục bộ: FF02: 0:0:0:0:0:0:5. • Địa chi multicast cho tất cà các bộ định tuyến OSPF DR (Designated Router) liên kết cục bộ: FF02:0:0:0:0:0:0:6. • Địa chi multicast cho tất cả các bộ định tuyến PIM (Protocol Independent Multicast) liên kết-cục bộ: FF02: 0:0:0:0:0:0:D. Địa chi nút yêu cầu là một địa chi multicast có định dạng FF02:0:0:0:0:1: FFXX: x x x x và được tính toán từ các địa chi unicast và anycast của nút. 24 bit thấp hơn của địa chi unicast hoặc anycast được gắn thêm tiền tố FF02: 0:0:0:0:1: FF00::/104. Địa chỉ nút yêu cầu được sử dụng trong thủ tục phân giải địa. Trong IPv4, khi một nút cần lấy địa chi lớp liên kết (địa chỉ MAC) của một nút khác nó sử dụng một thù tục được gọi là giao thức phân giải địa chỉ (ARP - Address Resolution Protocol). Nút đó sẽ gửi một bản tin quàng bá trên liên kết. Điều này gây nhiễu cho tất cả các nút bao gồm cả những nút không chạy IPv4. Với IPv6. nút đó có thể sử dụng một địa chi multicast cho tất cá các nút trên liên kết cục bộ. Tuy nhiên, tối ưu hơn nữa đó là sử dụng địa chi nút yêu cầu trong bàn tin yêu cầu láng giềng. 4.4. GIAO THỬC ICMP CHO IPv6 ICMP đã được sử dụng ở mạng Internet trong một thời gian dài đê thông báo và chuẩn đoán lỗi. ICMP hỗ trợ một số các tính năng như là yêu cầu/trả lời lặp lại, thông báo các lỗi (như đã vượt quá TTL, không thể kết nối được đích...), chuyển hướng,... ICM Pvó là một thành phần quan trọng của kiến trúc IPv6. Nó không chi hỗ trợ hầu hết các tính năng sẵn có ờ IPv4 mà còn được bồ sung thêm m ột số tính năng được hỗ trợ bởi các giao thức không phải là ICMP khác như ARP (A ddress R esolution Protocol) và IGM P (Internet 114
- G roup M em bership Protocol) cũng như các chức năng mới được sư dụng dẻ hỗ trợ các tính năng tự động cấu hình trong IPv6 RPL là giao thức định tuyến cho mạng cảm biến không dây, cũng sừ dụng ICMPvó. ICM Pvó được nhận dạng bới một loại giao thức mới (loại 58) được chi rõ ngay trong trường tiêu đề trước đó. ICMPvó chi rõ hai kiểu bản tin là bản tin báo lồi và ban tin thông tin. Mồi bản tin ICMP có cấu trúc như sau: • Trường kiều 8 bit: Chỉ ra kiểu bản tin. • Trường mã 8 bit: Được sử dụng để cung cấp chi tiết bồ sung cho một loại bàn tin ICMP cụ thể. • Tồng kiểm tra 16 bit: Lý do phải thêm một tồng kiểm tra là tiêu đề IPv6 không có bất kỳ tống kiểm tra nào. • Trường dữ liệu độ dài thay đổi. 4.4.1. Bản tin thông báo lỗi ICMPvó Trường kiểu cùa các bản tin báo lỗi là một giá trị từ 0 đến 127. Bàng 4.2 liệt kê các loại bản tin báo lỗi ICMPvó cùng với sụ mô tả ngấn gọn về các loại bàn tin này. Bùng 4.2: C ác bả n tin báo lỗ i IC M P v ó T ype C ode Mô tà Không thẻ đến 1 0 Không có tuyến đường nào đến đích. Điều đích này không bao gồm việc lỗi mất gối tin do tắc nghẽn 1 Truyền thông với đích bị cấm (ví dụ một tường lửa không thẻ chuyển tiếp gói tln bời vi việc lọc gói tin được kích hoạt) 3 Địa chỉ không thẻ kết nối được bởi các lý 115
- do khác với cấc lý do đư ơc liêt kê ờ trên 4 Cổng không thẻ kết nối Gói tin quá lớn 2 0 Kích thước gói tin vượ t quá MTU cùa liên kết V ượ t quá số lần 3 0 Đ ư ợc gửi khi trường giới hạn bước nhảy (sau khi giảm ) bẳng 0 hoặc gói tin nhận được có trường giới hạn bư ớ c nhảy bằng 0 Vấn đề thông số 4 0 Trường tiêu đề sai (ván đề đối với 1 Loại tièu đề tiếp theo không đư ợc nhận ra tiêu đề IPv6 hoặc tiêu đề mờ rộng) 2 Tùy chọn IPv6 không đư ợc nhận ra Tất cả các gói tin nhận đựợc bị lỗi trong tiêu đề IPv6 hoặc trong tiêu đề mở rộng phải cần được loại bỏ và một bản tin báo lỗi ICMP được gứi đi. 4.4.2. Bản tin thông tin ICMPvó Trường kiểu của các bàn tin thông tin là một giá trị từ 128 đên 255. Báng 4.3 liệt kê một số các bàn tin thông tin ICMPvó. Do IPv6 vẫn tiếp tục được phát triển, nên các chức năng mới có thê được bổ sung và các mã ICMP mới cần phải được quy định rõ. Bảng 4.3: Các bản tin th ô n g tin IC M P v ó T ype C ode Echo request 128 0 Echo reply 129 0 R outer soliciation (R S) 133 Router ad vertisem ent (RA) 134 N eighbor solicitation (NS) 135 Neighbor ad vertisem ent (NA) 136 Redirect 137 I 116
- Các bàn tin ICMPvó RS, RA, NS và NA rất quan trọng để tự động cấu hình. Các bàn tin này sẽ được mô tả chi tiết ở mục 4.7. 4.5. GIAO T H Ú C KHÁM PHÁ LÁNG GIÊNG Giao thức khám phá láng giềng (Neighbor Discovery Protocol) cung cấp các tính năng tự động cấu hình cho IPv6 như là khám phá sự có m ặt cùa các nút láng giềng trên một liên kết, khám phá các bộ định tuyến trên liên kết mà chúng cung cấp các thông tin quan trọng như tiền tố mạng, khám phá các địa chi lớp liên kết, hoặc duy trì thông tin về các tuyến đường đến các nút láng giềng đang hoạt động. Giao thức ND đóng một vai trò quan trọng trong mạng cảm biến không dây trên nền kiến trúc IP. Giao thức ND cung cấp một số dịch vụ bao gồm: • Khám phá bộ định tuyến: Khám phá bộ định tuyến có khả năng chuyển tiếp các gói tin được chuyển đến các địa chi ngoài liên kết. • Khám phá tiền tố: Khám phá các địa chi trên liên kết bằng việc sử dụng tiền tố mạng. • Phát hiện tham số: Phát hiện MTU, các giới hạn bước nhảy,... • T ự động cấu hình địa chi: Là quá trình nút có thể tính toán địa chi toàn cầu duy nhất của nó. • Phân giải địa chì: Phát hiện địa chi lóp liên kết. ARP được sừ dụng trong IPv4 để phát hiện địa chi lớp liên kết để m ột nút biết được địa chi IPv4 cùa nó. Trong IPv6, chức năng như vậy được thực hiện bời ND, nó cũng dược sử dụng đe phat hiện một nut có một đìa chi lớp liên kết mới. • Xác định bước nhảy tiếp theo: Thuật toán để tìm bước nhảy IP tiếp theo được sừ dụng để chuyển tiếp một gói tin cho một đích đến cụ thể. • Phát hiện khả năng không thế kết nối được láng giềng (NUD - Neighbor Ư nreachability Detection): Quá trình một bộ định tuyến xác định được m ột nút láng giềng không thể kết nối được. • Phát hiện trùng lặp địa chi (DAD): Quá trình xác m inh bảo đàm ràng địa chi một nút đang có ý định sử dụng không được sừ dụng bời một nút khác. 117
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn