Một giao thức định tuyến tốt phải có khả năng cân bằng giữa sự đáp ứng nhanh của mạng với hiệu quả sử dụng năng lượng. Để đạt được sự cân bằng này thì khả năng tính toán và truyền dẫn phải được lựa chọn phù hợp. Tuy nhiên, mỗi giao thức định tuyến hoạt động lại dựa trên các nguyên tắc khác nhau và nó chỉ hiệu quả với một số hoàn cảnh, điều kiện nhất định. Ngược lại, phạm vi ứng dụng của mạng WSNs là rất lớn, do vậy việc phân loại các giao thức định tuyến là cần thiết.
Có nhiều cách để phân loại các giao thức định tuyến, tuy nhiên hiện nay có 4 cách phân loại chính. Thứ nhất, phân loại dựa trên cách gửi gói tin thông qua con đường để tới bên nhận, các giao thức định tuyến được phân thành 3 loại: loại chủ động, loại phản ứng và các giao thức lai. Trong các giao thức chủ động, tất cả các con đường được tính toán trước khi chúng thực sự là cần thiết, trong khi các giao thức phản ứng, các con đường được tính toán theo yêu cầu. Các giao thức lai sử dụng kết hợp cả 2 ý tưởng này. Do hạn chế về khả năng lưu trữ và số nút mạng có thể rất lớn nên các nút cảm biến không có khả năng lưu trữ được không gian “khổng lồ” của các bảng định tuyến. Do đó các giao thức định tuyến phản ứng và lai thì phù hợp hơn trong các mạng WSNs.
Thứ hai, phân loại dựa theo kiểu tham gia của các nút cảm biến, các giao thức định tuyến được chia thành 3 loại: các giao thức truyền thông trực tiếp (Directed communication), các giao thức phẳng (Flat-Architecture Protocols), và các giao thức phân bậc (Hierarchical Protocol). Trong các giao thức truyền thông trực tiếp hay còn gọi là truyền đơn chặng, một nút cảm biến sẽ gửi dữ liệu trực tiếp tới sink mà không thông qua bất kỳ một nút trung gian nào khác. Theo loại giao thức này, nếu đường kính của mạng là lớn, thì năng lượng của các nút cảm biến ở xa sẽ bị tiêu hao rất
nhanh chóng. Hơn nữa, số lượng các nút cảm biến tăng thì xung đột sẽ trở thành trở ngại lớn tới mục đích truyền dữ liệu. Theo các giao thức phẳng, tất cả các nút trong mạng được đối xử bình đẳng. Khi 1 nút cần gửi dữ liệu, nó có thể tìm thấy một con đường thông qua một vài nút khác để tới được sink vì vậy các giao thức này còn được gọi là giao thức truyền đa chặng (multi-hop). Thông thường xác suất tham gia vào quá trình truyền dữ liệu của các nút xung quanh sink cao hơn các nút ở xa. Vì vậy các nút xung quanh sink thường hết năng lượng sớm hơn các nút khác. Để đạt được hiệu quả sử dụng năng lượng cao và duy trì thời gian hoạt động lâu dài của mạng, các nút cảm biến thường được tổ chức phân bậc bằng cách gộp chúng lại thành các nhóm riêng biệt mà ở đó dữ liệu được xử lý nội bộ tại mỗi nút đứng đầu nhóm (cluster head node) trước khi được gửi về sink. Các giao thức sử dụng kiến trúc phân bậc này được gọi chung là các giao thức phân bậc.
Thứ ba, tùy thuộc xem giao thức định tuyến có khả năng nhận thức được vị trí hay không, các giao thức định tuyến được phân thành 2 loại: giao thức định tuyến nhận thức được vị trí, và giao thức định tuyến không nhận thức được vị trí. Cách phân loại này rất hữu ích cho các ứng dụng cần xác định vị trí xảy ra hiện tượng đang quan tâm hay lân cận với một điểm đặc biệt nào đó trong vùng hoạt động của mạng.
Cách phân loại cuối cùng dựa trên chất lượng dịch vụ, cơ chế định tuyến của các giao thức này được xác định dựa trên một số hiểu biết về tài nguyên có thể sử dụng (băng thông) trong mạng cũng như yêu cầu chất lượng dịch vụ (mức độ tiêu thụ tài nguyên, trễ, độ tin cậy,…) của luồng dữ liệu.
Thiết kế các giao thức định tuyến trong mạng WSNs phải xem xét đến các đặc trưng riêng của mạng. Hiện nay, nhiều giao thức định tuyến cho WSNs đã được đưa ra và áp dụng. Các giao thức này được phân thành 4 loại đặc trưng như được mô tả trong hình 2.1 dưới đây:
Hình 2.1: Tổng quan về các giao thức định tuyến của mạng WSN.
Các giao thức định tuyến của mạng WSN Phẳng và tập trung dữ liệu Flooding, Gossiping, SPIN, Directed Difusion Phân bậc LEACH, PEGASIS, Static-Cluster, TEEN, APTEEN Địa lý MECN, SMECN, GFSLL, PRADA, GAF, GEAR Dựa theo chất lƣợng dịch vụ SAR, MCPF, SPEED