Flooding là một kỹ thuật phổ biến, được sử dụng cho quá trình tìm đường và phân phối thông tin trong các mạng có dây và ad hoc không dây. Giải pháp định tuyến này rất đơn giản, không cần chi phí duy trì cấu trúc topo mạng tốn kém và các thuật toán tìm đường phức tạp. Flooding sử dụng phương pháp tiếp cận phản ứng do mỗi node sau khi nhận gói điều khiển hoặc gói dữ liệu, sẽ gửi gói này đến đến tất cả các node lân cận. Sau khi truyền xong, gói sẽ đi theo tất cả các đường có thể. Trừ khi bị mất mạng, nếu không các gói sẽ tới được đích. Ngoài ra, khi cấu trúc mạng thay đổi thì gói được truyền sẽ đi theo các tuyến mới. Hình 2.2 biểu diễn khái niệm về flooding trong mạng giao tiếp dữ liệu [3].
A B D C H E F
Cao học kỹ thuật viễn thông K20-2 Trần Trọng Nam
Hình 2.2: Flooding trong các mạng giao tiếp dữ liệu.
Như trong hình 2.2, trong cấu trúc đơn giản nhất, flooding có thể khiến các gói được các node mạng sao chép liên tục. Để ngăn ngừa các gói được lặp vô hạn trong mạng, một trường đếm số chặng được thêm vào trong mỗi gói. Ban đầu, trường này sẽ được thiết lập giá trị xấp xỉ với tham số của mạng. Với các gói được truyền trong mạng, trường đếm sẽ giảm đi 1 khi gói đi qua mỗi node. Khi trường đếm trở về 0 thì gói sẽ bị loại bỏ. Một phương pháp tương tự được thực hiện bằng cách sử dụng trường thời gian sống (time – to – live) để ghi lại khoảng thời gian mà gói được phép tồn tại trong mạng. Khi khoảng thời gian này kết thúc, gói sẽ không được chuyển tiếp. Phương pháp flooding có thể được tăng cường bằng cách xác định các gói dữ liệu duy nhất và các node mạng phải loại bỏ tất cả các gói mà nó đã chuyển tiếp. Giải pháp này yêu cầu phải duy trì lịch sử lưu lượng hiện tại để biết được gói nào đã được chuyển tiếp.
Cao học kỹ thuật viễn thông K20-2 Trần Trọng Nam
Mặc dù các quy tắc chuyển tiếp và duy trì với chi phí thấp được yêu cầu, nhưng flooding vẫn tồn tại một số nhược điểm khi được sử dụng trong các mạng cảm biến không dây. Nhược điểm đầu tiên của flooding là dễ bùng nổ lưu lượng như trong hình 2.3 [3].
Hình 2.3: Vấn đề về bùng nổ lưu lượng với flooding.
Những ảnh hưởng không mong muốn do các gói dữ liệu hoặc điều khiển được sao chép sẽ được gửi lại đến cùng một node. Nhược điểm thứ hai của phương pháp này là vấn đề về chồng lấn, được biểu diễn trong hình 2.4 [2]. (A, p) (A, p) (A, p) A B D C (A, p) (q, r) r r q s B A C (s, r)
Cao học kỹ thuật viễn thông K20-2 Trần Trọng Nam
Hình 2.4: Vấn đề về chồng lấn lưu lượng trong flooding.
Chồng lấn xảy ra khi hai node bao phủ cùng một khu vực và gửi đi các gói chứa thông tin tương tự nhau đến cùng một node. Vấn đề thứ ba và cũng là vấn đề nghiêm trọng nhất của flooding là “resource blindness”. Nguyên tắc chuyển tiếp đơn giản mà flooding sử dụng để định tuyến các gói tin không xem xét đến những giới hạn về mặt năng lượng của các node cảm biến. Do đó, năng lượng của node có thể bị giảm đột ngột, dẫn đến thời gian sống của mạng cũng giảm.
Để giải quyết các vấn đề của flooding, một phương pháp tiếp cận khác là “gossiping” được đưa ra. Giống với phương pháp flooding, gossiping sử dụng nguyên tắc chuyển tiếp đơn giản và không yêu cầu các thuật toán tìm đường phức tạp hoặc duy trì cấu trúc mạng với chi phí tốn kém. Khác với flooding với gói dữ liệu được quảng bá đến tất cả các node lân cận, gossiping yêu cầu mỗi node gửi gói đến một node lân cận được chọn ngẫu nhiên. Với gói thu được, node lân cận được chọn sẽ tiếp tục chọn một trong các node lân cận của nó và chuyển tiếp gói tin đến node được chọn đó. Quá trình xử lý sẽ tiếp tục được lặp lại đến khi gói tin đến được đích hoặc vượt quá trường đếm số chặng tối đa. Gossiping giúp tránh được vấn đề về bùng nổ lưu lượng bằng cách giới hạn số lượng gói tin sao chép mà mỗi node gửi đến node lân cận của nó xuống 1 gói. Trễ để gói tin đến được đích có thể
Cao học kỹ thuật viễn thông K20-2 Trần Trọng Nam
rất cao, đặc biệt là với mạng lớn, do đặc tính ngẫu nhiên của giao thức với chỉ một đường ở một thời điểm.