MC LC
2.4.1.2. Kết quả mô phỏng
Hiệu quả thông lượng và độ trễ trung bình được xác định, các kết quả mô phỏng được thấy trong Hình 2.8 và Hình 2.9
Hình 2.1 Lưu lượng yêu cầu và thông lượng của pure-ALOHA
Khi “hiệu ứng lấn át” không được xem xét đến, thông lượng gần với giá trị lý thuyết thậm chí nếu số lượng người dùng là 100. Hơn thế nữa, khi ảnh hưởng hiệu ứng lấn át được xem xét, thông lượng này lớn hơn trường hợp không xem xét ảnh hưởng hiệu ứng lấn át. Thêm vào đó, độ trễ trung bình cũng giảm đi. Trong trường hợp pure-ALOHA, sự xung đột xuất hiện, do đó hiệu ứng lấn át là lý do tăng thông lượng hệ thống.
2.4.2. hương trình và kết quả mô phỏng thuật toán slot-ALOHA 2.4.2.1. Tham số và cấu trúc chương trình
Chương trình mô phỏng slot-ALOHA về cơ bản giống chương trình mô phỏng pure-ALOHA, tuy nhiên, có sự định thời (timing) để việc truyền gói được đồng bộ với khe thời gian. Tham khảo định thời trong chương trình mô phỏng slot-ALOHA trong phụ lục 1.
2.4.2.2. Kết quả mô phỏng
Hình 2.4 Lưu lượng yêu cầu và độ trễ trung bình của slot-ALOHA
Những kết quả mô phỏng thông lượng và độ trễ trung bình được chỉ ra trong Hình 2.10 và 2.11. Tác động của hiệu ứng lấn át là đáng kể trong việc tăng thông lượng mạng và giảm trễ truyền.
hương 3: Ã HÓA ẠNG KHÔNG DÂY SỬ D NG GIAO THỨC ALOHA 3.1. Thiết kế mức cao của COPE [4, 31]
COPE là một hệ thống mạng không dây được đề xuất [4] để ứng dụng các giải thuật mã mạng. Bởi vì truyền kiểu truyền quảng bá, mạng vô tuyến sẽ xuất hiện sự dư thừa thông tin, có một lượng lớn sự chồng lấn thông tin tại các nút. Khi một gói tin truyền qua nhiều hop trong mạng không dây, nhiều nút sẽ thu được nó. Sự dư thừa thông tin sẽ tiếp tục tăng lên vì tại mỗi hop sẽ truyền cùng gói tin tới nhiều nút khác nữa trong khoảng không gian của nút truyền. COPE sử dụng chính sự dư thừa này để nén dữ liệu, tăng luồng thông tin trên một lần truyền, do đó cải thiện thông lượng toàn mạng. Ta minh họa hoạt động của COPE qua một ví dụ đơn giản Hình 3.1.
Hình 3.1 Ví dụ minh họa cách COPE tăng thông lượng
Xem xét tình huống trong Hình 3.1 khi S1 và D1 cần trao đổi một cặp gói tin. Vì hai nút không trong vùng nghe thấy nhau, router sẽ giúp chuyển tiếp các gói tin tới đích tương ứng. Với kỹ thuật chuyển tiếp gói hiện tại, S1 gửi gói tin tới router, và router truyền tới D1, còn D1 cũng gửi gói tin của mình tới router, router truyền tới S1. Quá trình này cần 4 lần truyền.
COPE sử dụng mã hóa mạng để giảm số lần truyền cần thiết cho hai gói tin. Với COPE, S1 và D1 gửi các gói tin tới router trong các khe thời gian khác nhau. Router sẽ sử dụng mã hóa mạng biến đổi hai gói tin thay vì chỉ truyền hai gói tin riêng rẽ. Phép toán mã hóa là phép hoặc tuyệt đối XOR hai gói tin. Router quảng bá kết quả XOR hai gói tin vừa thực hiện tới S1 và D1. Vì S1 và D1 đã có gói tin nó truyền đi ban đầu, nên nó có thể tái tạo gói tin của người kia gửi qua phép XOR gói nhận được từ router vừa quảng bá với gói tin đã có. Do đó COPE truyền hai gói tin tới S1 và D1 chỉ với 3 khe thời gian so với 4 khe thời gian của kỹ thuật hiện tại. Khe thời gian tiết kiệm được có thể sử dụng để truyền các dữ liệu khác, giúp tăng cường thông lượng vô tuyến.
COPE là một kỹ thuật mới cho chuyển tiếp gói tin mạng lưới không dây sử dụng mã hóa mạng. Nó chèn thêm lớp mã hóa ở giữa lớp mạng và lớp liên kết, lớp này tìm cơ hội mã hóa và thực hiện để chuyển tiếp nhiều gói tin trong cùng một lần truyền. Trước hết ta xem xét các thuật ngữ được sử dụng trong mục sau của chương này tại Bảng 2.1
Thiết kế COPE theo mô đun cho phép nhà thiết kế mạng thử nghiệm với những giao thức định tuyến đa dạng cũng như phần cứng lớp vật lý. COPE có thể làm việc với nhiều giao thức định tuyến khác nhau, điều kiện duy nhất là nút phải biết hop kế tiếp của mỗi gói tin trong hàng đợi của nó. Hơn nữa, nhà thiết kế mạng có thể mong muốn điều chỉnh các định tuyến, hoặc giao vận để tăng cơ hội mã hóa và do đó sẽ tăng thông lượng mạng.
Thuật ngữ Định nghĩa
Gói tin gốc Một gói tin không mã hóa
Gói tin mã hóa hoặc đã được XOR Một gói tin thu được từ XOR nhiều gói tin gốc Hop tiếp theo của gói tin mã hóa Thiết lập hop tiếp theo cho XOR các gói tin để tạo
ra gói tin mã hóa
Id gói tin Một giá trị băm 32 bit của địa chỉ IP gói tin nguồn và số thứ tự gói tin IP
Hàng đợi đầu ra Một hàng đợi FIFO tại mỗi nút giữ các gói tin cần thiết để chuyển tiếp
Bộ trữ gói tin Một bộ đệm, nơi một nút lưu trữ tất cả các gói tin nghe trong T giây đã qua.
Hiệu suất mã hóa Tỷ lệ số lượng truyền đi theo yêu cầu của phương pháp không mã hóa hiện tại và số lượng truyền đi được sử dụng bởi COPE để cung cấp cùng một tập hợp các gói tin.
Hiệu suất mã hóa + MAC Hiệu suất đạt được thông lượng mong đợi với COPE khi MAC 802.11 được sử dụng, và tất cả các nút được dự trữ.
Bảng 3.1 Định nghĩa các thuật ngữ sử dụng trong chương này.
Trong mục này, chúng ta miêu tả thiết kế COPE hoạt động ở mức cao. COPE có ba thành phần chính là: nghe, mã hóa và học. Các mục dưới đây sẽ đi vào chi tiết từng thành phần.
3.1.1. Nghe
COPE yêu cầu các nút lắng nghe và lưu các gói tin có thể cần sử dụng sau này cho giải mã các gói tin mã hóa. Có hai nguồn cung cấp những gói tin này:
a) Các gói tin mà bản thân nút đó quảng bá. Chẳng hạn trong ví dụ S1 truyền ở sơ đồ Hình 3.1, S1 và D1 giữ một bản sao của các gói tin mà họ truyền tới router. Sau đó họ sử dụng những gói tin này để giải mã gói tin mã hóa từ router.
b) Các gói tin mà nút nhận được do quảng bá từ nút khác. Vì mạng vô tuyến là quảng bá, nó tạo ra nhiều cơ hội cho các nút nhận được các gói tin không phải gửi cho nó với các an ten đẳng hướng. Các gói tin thường được gửi tới chỉ một hop kế tiếp, và các nút sẽ loại bỏ gói tin nhận được nhưng không có ý nghĩa với chúng. Tuy nhiên với COPE, các nút xử lý mọi thông tin trên đường truyền vô tuyến và lưu các gói tin trong một khoảng thời gian xác định T. Giá trị của T sẽ lớn hơn giá trị lớn nhất của trễ một chiều trong mạng (mặc định T = 0,5s).
3.1.2. ã hóa
COPE cho phép các nút trung gian (chuyển tiếp) mã hóa gói tin cùng nhau để tối đa hóa thông lượng. Mỗi nút duy trì một hàng đợi gói tin kiểu FIFO (First In First Out) lưu trữ các gói để truyền tới hop kế tiếp. Khi kênh vô tuyến thông báo cơ hội để gửi một gói tin, nút lấy gói tin tại đầu hàng đợi, kiểm tra xem nó có thể mã hóa với các gói khác trong hàng đợi không. Câu hỏi đặt ra là: có thể mã hóa những gói tin nào cùng nhau?
Cách lựa chọn được minh họa tốt nhất thông qua một ví dụ. Xem xét ví dụ trong Hình 3.2(a), nút B có 4 gói trong hàng đợi là p1, p2, p3 và p4. Các nút lân cận đã nhận được một vài gói tin trong số này và được lưu trong bộ trữ gói tin. Bảng trong Hình 3.2(b) chỉ ra các hop tiếp theo của mỗi gói trong hàng đợi của B. Khi MAC cho phép B truyền, B lấy gói tin p1 ở đầu hàng đợi và cố gắng để mã hóa nó với những gói tin khác trong hàng đợi. Cả mã hóa và giải mã đều sử dụng phép XOR. Cho rằng B biết những gói tin nào mà các nút lân cận có, có một số lựa chọn mã hóa như chỉ ra trong Hình 3.2(c)
Hình 3.2 Ví dụ của mã hóa cơ hội
a) Gửi p1⊕ p2. Vì nút C đã có p1, nó có thể XOR p1 với p1⊕ p2 để thu được gói tin gốc chưa mã hóa p2. Tuy nhiên, nút A không có p2, do đó không thể giải mã gói tin XOR. Nên, việc gửi p1⊕ p2 chỉ cho một nút lân cận được lợi.
b) Gửi p1⊕p3. Cả A và C có thể giải mã và đạt được gói tin mong muốn từ một lần truyền, vì chúng đã có gói tin khác trong bộ trữ gói tin. Đây là một lựa chọn tốt hơn phương pháp ở trên, vì hai nút lân cận thu lợi từ một lần truyền.
c) Gửi p1⊕p3⊕p4. Tất cả ba hop A, C và D có thể tái tạo các gói tin có ý nghĩa với chúng, vì chúng có 2 gói tin khác trong bộ trữ gói tin của chúng. Ví dụ, nút A có thể XOR gói tin mã hóa nhận được với p3 và p4 từ bộ trữ gói tin để thu được p1, gói tin có ý nghĩa với nó. Đây là lựa chọn tốt nhất vì ba nút lân cận có lợi từ một lần truyền.
Ví dụ này cho ta lựa chọn phương án tối ưu để thực hiện. Để đạt được thông lượng cực đại, một nút cần tối đa hóa số lượng các gói tin tham gia mã hóa trong một lần truyền, với ràng buộc là mỗi hop tiếp theo có đủ thông tin để giải mã các gói tin có ý nghĩa với nó. Điều này được tổng kết thành quy tắc sau đây:
Để truyền n gói p1,…,pn tới n hop kế tiếp r1,…,rn thì một nút có thể XOR n gói với nhau chỉ nếu mỗi hop kế tiếp ri có tất cả n-1 gói pj với j ≠ i.
Quy tắc này cũng minh họa rõ ràng sự khác biệt giữa mã hóa mạng lý thuyết và thuật toán mã hóa mạng COPE. Các gói từ nhiều luồng unicast có thể được mã hóa cùng nhau tại một số hop trung gian. Nhưng đường đi của chúng có thể bị lệch tại hop kế tiếp, tại đó chúng cần được giải mã. Nếu không, dữ liệu không cần thiết sẽ được chuyển tiếp tới những nơi không có các nút nhận quan tâm, gây lãng phí băng thông. Do đó thuật toán mã hóa COPE bảo đảm rằng tất cả các hop kế tiếp của một gói tin mã hóa có thể được giải mã gói tin tương ứng mà chúng cần. Lý thuyết mã hóa mạng truyền thống chủ trương kết hợp ngẫu nhiên tất cả gói tin, làm cho chúng không thể giải mã được tại hop kế tiếp. Do đó, mã hóa mạng truyền thống phải giới hạn chỉ mã hóa các gói tin thuộc cùng luồng. COPE mở rộng mã hóa mạng với nhiều luồng unicast.
3.1.3. Học
Để thực hiện kỹ thuật mã hóa miêu tả ở trên, các nút của COPE cần biết các nút lân cận có những gói tin nào trong Bộ trữ gói tin của chúng. COPE đạt được điều này nhờ hai kỹ thuật:
a) Thông báo nhận: Các nút quảng bá thông báo nhận để báo các nút lân cận những gói tin chúng đã lưu trong bộ trữ gói tin. Thông báo nhận được gửi để chú thích gói dữ liệu nút truyền. Một nút không có gói dữ liệu để truyền sẽ tuần hoàn gửi thông báo nhận trong các gói điều khiển đặc biệt.
b) Dự đoán: Nếu một nút không nhận được thông báo nhận cho một gói cụ thể trong hàng đợi của nó, nó dự đoán một nút lân cận đã có nó. Để có thể dự đoán chính xác, ta phân mức tính toán định tuyến. Các giao thức định tuyến của mạng vô tuyến tính toán xác suất truyền giữa từng cặp nút và sử dụng nó để tìm ra đường đi tốt. Ví dụ, ETX metric [24] tuần hoàn tính toán xác suất truyền và xem mỗi đường truyền một trọng số bằng một (xác suất truyền). Những trọng số này được quảng bá tới tất cả các nút trong mạng và được giao thức định tuyến trạng thái đường truyền sử dụng để tính đường đi ngắn nhất. Chúng ta tận dụng những xác suất này để dự đoán. Nếu thiếu thông tin quyết định, COPE ước lượng xác suất mà một nút lân cận nào đó có một gói tin như xác suất sử dụng đường truyền giữa hop trước của gói tin và lân cận.
Phương pháp dự đoán cho phép COPE hoạt động hiệu quả khi các thông báo nhận bị mất hoặc bị trễ. Ví dụ, tại thời điểm tắc nghẽn, các thông báo nhận có thể bị mất, còn tại thời điểm lưu lượng ít, chúng có thể không đến trước khi một nút phải quyết định mã hóa với một gói tin xác định. COPE không ngừng hoạt động trong những tình huống như vậy, vì phương pháp dự đoán đưa ra một bức tranh tương đối chính xác của trạng thái lân cận. Đôi khi, một nút có thể dự đoán không chính xác làm cho gói tin mã hóa không thể giải mã được tại một số hop kế tiếp. Trong trường hợp này, gói chưa được mã hóa liên quan được truyền lại, có thể mã hóa với một tập các gói khác.
3.2. Kiến trúc hệ thống [4, 31]
Mục này, ta thiết kế hệ thống mã hóa mức cao trong mục 3.1 như trong thực tế. Như đã trình từ trước, COPE không làm thay đổi tới các lớp trên lớp mạng và dưới lớp liên kết. Lớp COPE có 4 module chính: mã hóa/giải mã, tin cậy, nghe, dự đoán. Ta miêu tả chi tiết mỗi thành phần như dưới đây.
3.2.1. Mục đích thiết kế
Để xây dựng một hệ thống có tính thực tế, chúng ta phải quyết định một số tiêu chí. a) Tính trong suốt: COPE không mong muốn có bất cứ thay đổi nào với các lớp ở trên và ở dưới nó. Mục đích thiết kế cơ bản là có thể thêm COPE vào bất cứ mạng nào. Điều này nghĩa là, dù sẽ có lợi khi điều chỉnh lớp định tuyến hoặc lớp vật lý, COPE lựa chọn không làm vậy vì tính mô đun và sự đơn giản trong thiết kế.
b) Độ trễ: Như sẽ thấy ở sau, COPE có thể tăng thông lượng bởi làm trễ gói tin trong hàng đợi. Nhưng để tránh những hậu quả không mong muốn với những ứng dụng cần thời gian nhanh, COPE không bao giờ có ý định làm trễ gói tin.
c) Truyền tin cậy: COPE cố gắng bảo đảm mức độ tin cậy tới mọi gói tin được mã hóa cũng như các gói tin khi được truyền riêng rẽ.
Các mục dưới đây sẽ xem những mục đích thiết kế này ảnh hưởng như thế nào tới thiết kế thực tế của COPE.
3.2.2. ô đun ã hóa/ Giải mã
Mô đun mã hóa/ giải mã xử lý công việc nhận biết cơ hội để mã hóa nhiều gói tin với nhau và gửi chúng trong cùng một lần truyền. Nó cũng thực hiện nhiệm vụ giải mã ở bên nhận. Mô đun giúp duy trì hàng đợi đầu ra FIFO, nơi các gói tin không mã hóa và các gói vừa giải mã được thêm vào. Khi lớp MAC thông báo một cơ hội để gửi dữ liệu, nếu có thể, nó lựa chọn những gói tin từ lối ra của hàng đợi để mã hóa và truyền đi. Câu hỏi đặt ra là: Những gói tin nào sẽ được mã hóa với nhau từ đầu ra hàng đợi? Nhớ lại mục 3.1 rằng để mã hóa n gói tin với nhau, một nút phải bảo đảm rằng n hop kế tiếp phải có đủ n-1 gói tin còn lại. Nhưng sự lựa chọn gói tin mã hóa phụ thuộc vào 3 yếu tố: mục đích thiết kế, trạng thái lân cận và kích thước gói tin.
3.2.2.1. ơ hội mã hóa
Một trong những mục đích thiết kế là không làm trễ gói tin cần truyền. Do đó, với COPE, bất cứ khi nào kênh vô tuyến sẵn sàng, nút sẽ lấy gói tin tại đỉnh hàng đợi, kiểm