Định tuyến là quá trình quá trình lựa chọn và chỉ ra con đường để gói tin truyền từ nguồn tới đích trong một mạng liên kết xác định. Giải thuật định tuyến là thuật toán dùng để lựa chọn con đường nói trên. Thuật toán định tuyến có vai trò quan trọng bởi một số lý do sau. (i) Thuật toán định tuyến giúp cân bằng tải trong quá trình truyền tin. Nghĩa là lượng thông tin được tuyền qua mỗi kết nối là tương đương nhau trong quá trình hoạt động của mạng liên kết. Từ đó, việc tranh chấp tài nguyên và tắc nghẽn (deadlock) được giảm thiểu. (ii) Một thuật toán định tuyến tốt sẽ giúp cho các gói tin được truyền đi theo con đường ngắn nhất có thể. Qua đó góp phần làm giảm thiểu độ trễ truyền tin. (iii) Ngoài ra, thuật toán định tuyến tốt còn có khả năng chịu lỗi khi một hay một vài nút mạng, liên kết xảy ra sự cố và không thể họat động. Trong trường hợp này, một thuật toán định tuyến phải loại bỏ các phương án lựa chọn đường đi bao gồm các liến kết bị lỗi và phải lựa chọn những đường đi khác nhằm đảm bảo sự họat động của mạng liên kết.
Có rất nhiều cách phân loại thuật toán định tuyến khác nhau. Dựa trên số lượng đích tới của một gói tin, unicast routing chỉ các thuật toán định tuyến các gói tin đuợc gửi từ một nút nguồn tới một đích. Trong khi đó multicast routing chỉ các thuật toán gửi tin tới hai hay nhiều đích trong mạng liên kết.
Thuật toán định tuyến cũng có thể được phân loại dựa trên địa điểm mà quyết định định tuyến được thực hiện. Một cách đơn giản, con đường truyền tin có thể được quyết định ngay tại nguồn (source routing), tại một bộ điều khiển tập trung (centralized routing) hoặc được quyết định môt cách phân tán tại các nút mạng trong quá trình truyền tin (distributed routing).
Giải thuật định tuyến được cài đặt theo nhiều cách khác nhau. Một vào cách phổ biến nhất được áp dụng đó là sử dụng bảng định tuyến (table lookup routing) hay sử dụng máy trạng thái hữu hạn (finite-state machine routing). Trong cả hai trường hợp này thuật toán định tuyến đều có thể là deterministic hoặc adaptive. Deterministic
routing là các thuật toán định tuyến mà đường đi giữa nút nguồn s và nút đích d được chọn trước và không đổi trong mọi lần định tuyến (kể cả trong trường hợp có nhiều còn đường từ s đến d) Còn adaptive routing là phương pháp định tuyến dựa vào trạng thái của mạng liên kết để xác định con đường chính xác tại mỗi lần lựa chọn. Trạng thái này bao gồm thông tin về các nút mạng, các liên kết trong mạng (bị lỗi hay không), thông tin về yêu cầu sử dụng các liên kết…
Trong quá trình định tuyến, nếu tất cả các con đường đuợc lựa chọn đều là ngắn nhât, chúng ta gọi là minimal routing. Ngược lại, giải thuật có tính chất non-minimal. Hình 5 (nguồn [7]) là một ví dụ về thuật toán định tuyến trên mạng liên kết 4-ary 2- dimentional torus. Trong đó thuật toán định tuyến trong Hình 5a là minimal do chỉ ra con đường ngắn nhất từ nút mạng 01 đến nút mạng 22 còn Hình 5b là non-minimal. Nếu các con đường định tuyến được xác định tại nút mạng 01 (ngay từ đầu) thì đó là source routing. Nếu con đuờng từ 01 đến 22 luôn luôn không đổi tại mọi thời điểm định tuyến, thuật toán này gọi là deterministic routing. Source routing và deterministic routing thường được cài đặt sử dụng bảng định tuyến (table lookup routing).