SPIN cung cấp các kỹ thuật hiệu quả để các nút cảm biến truyền bá thông tin nó quan sát được cho các nút mạng khác quan tâm. Kết quả là, lưu lượng trong SPIN được bắt đầu từ các nút cảm biến và kết thúc tại sink. Tuy nhiên, loại lưu lượng này không phù hợp cho các ứng dụng mà nguồn lưu lượng được bắt đầu từ phía người dùng (sink) khi cần đưa ra các truy vấn tới các nút cảm biến cụ thể. Do đó, mô hình truyền dữ liệu bằng cách khuếch tán trực tiếp đã được phát triển để đáp ứng cho các loại ứng dụng này. Hoạt động xác định đường đi giữa sink và các nút cảm biến trong mô hình khếch tán trực tiếp được thực hiện qua 4 giai đoạn như hình 17: (a)_tuyêntruyền các gói tin interest, (b)_thiết lập gradient, (c)_củng cố lại đường đi reinforcements và cuối cùng (d)_truyền dữ liệu data.
Các yêu cầu về thông tin được bắt đầu từ Sink bằng cách gửi lan truyền các gói tin Interest tới tất cả các nút cảm biến trong mạng như hình 17 (a). Các gói tin Interest hoạt động như các gói tin thăm dò để tìm ra các nút chứa dữ liệu phù hợp cho các nhiệm vụ cụ thể. Trong giai đoạn này, Sink tiếp tục phát quảng bá các gói tin Interest theo định kỳ trong mạng.
Khi nhận được gói tin Interest, các nút cảm biến sẽ lưu nó vào trong bộ nhớ Interest cache của mình. Bộ nhớ Interest cache chứa các trường như: mốc thời gian (timestamp), tốc độ và hướng dữ liệu (Gradient), khoảng thời gian (interval) và thời hạn (duration). Trường timestamp cho biết mốc thời gian nút cảm biến nhận được gói tin Interest. Trường Gradient được sử dụng để xây dựng con đường ngược trở lại từ nút cảm biến tới Sink. Trường Interval cho biết chu kỳ gửi gói tin Interest và mỗi gói tin Interest được lưu trong bộ nhớ Interest Cache với một khoảng thời gian cụ thể được quy định trong trường Duration. Sau khi nhận được gói tin Interest, nút cảm biến sẽ chuyển tiếp gói tin này tới các nút lân cận theo hướng ra xa sink hơn. Sự chuyển tiếp này có thể giống như Flooding hay giới hạn hơn tùy theo mô tả công việc. Các Gradient được thiết lập thông qua các quy tắc cục bộ và theo đó nút có năng lượng cao nhất được lựa chọn. Do Interest được truyền đi khắp nơi trong mạng cảm biến nên các Gradient từ nút nguồn quay trở lại Sink được thiết lập như hình 17 (b).Các gói tin Interest cho biết dữ liệu được yêu cầu tại một thời điểm nhất định trong mạng cảm biến. Mỗi nút mạng kiểm tra thông tin mà nó quan sát được và trở thành nút nguồn nếu nó có dữ liệu phù hợp với dữ liệu được yêu cầu trong Interest. Khi đó, nút nguồn sẽ gửi dữ liệu dọc theo con đường dựa trên Gradient của gói tinInterest tương ứng. Một nút nguồn có thể có nhiều Gradient cho cùng một gói tin Interest. Do đó, dữ liệu có thể được gửi thông qua nhiều tuyến đường để tới Sink. Trong trường hợp này, các Sink củng cố 1 tuyến đường cụ thể bằng cách gửi lại gói tin Interest thông qua một nút xác định trên đường truyền như được chỉ ra trong hình 17 (c). Con đường này có thể được lựa chọn dựa trên một vài tiêu chuẩn như: chất lượng liên kết tốt nhất, độ trễ nhỏ nhất hay số lượng gói tin nhận được từ nút lân cận là nhiều nhất,…Mỗi khi một nút xác định được lựa chọn, gói tin Interest chỉ gửi tới nút đó để củng cố con đường liên kết với nút này. Mỗi nút mạng dọc theo con đường sẽ chuyển sự củng cố này
cho các nút mạng kế tiếp. Cuối cùng, một tuyến đường giữa nút nguồn và Sink được thiết lập như hình 17 (d).
Hình 18. Từ chối củng cố đường đi trong khếch tán trực tiếp
Nhờ giai đoạn củng cố lại đường đi mà đường truyền dữ liệu có thể tự động được thay đổi tùy theo những thay đổi trong mạng WSN. Trong trường hợp này, Sink sẽ gửi gói tin củng cố thông qua con đường mới khác với con đường hiện tại. Hơn nữa, các gói tin từ chối củng cố (negative reinforcement) cũng được gửi thông qua đường dẫn hiện hành để ngăn chặn dữ liệu tiếp tục chuyển giao qua con đường này. Mô tả cho quá trình từ chối củng cố được thể hiện như hình 18.
Việc quảng bá gói tin Interest, thiết lập Gradient, củng cố lại đường truyền và gửi dữ liệu được thực thi tuân theo các quy tắc cục bộ. Do đó, các quy tắc cục bộ khác nhau có thể dẫn tới kết quả trong các kỹ thuật truyền là khác nhau. Về cơ bản, khếch tán trực tiếp cung cấp 1 con đường đơn để truyền dữ liệu. Tuy nhiên, Sink có thể lựa chọn nhiều con đường trong giai đoạn củng cố để truyền nhận đa đường. Tương tự như vậy, các thông tin cảm biến có thể được gửi đến nhiều Sink tùy theo sự quảng bá gói tin Interest và các kỹ thuật thiết lập Gradient. Một chi phí quan trọng trong giao thức khếch tán trực tiếp là hoạt động Flooding các gói tin Interest. Hoạt động này gồm 2 pha tính từ khi các Sink bắt đầu truyền thông. Với các ứng dụng mà dữ liệu được bắt đầu từ các cảm biến thì giao thức khuếch tán trực tiếp sẽ bỏ qua pha quảng bá Interest, thay vào đó các nút cảm biến sẽ quảng bá dữ liệu của nó tới Sink giống như hoạt động của SPIN. Khi nhận được các quảng bá này, Sink sẽ gửi các gói tin củng cố để thiết lập tuyến đường giữa nút nguồn và Sink. Một chi phí khác cũng khá lớn liên quan tới việc lưu trữ dữ liệu tại các nút cảm biến. Tổng các chi phí này sẽ kéo theo chi phí của một nút cảm biến tăng cao.