Trong hoạt động định tuyến, người ta chia làm hai loại là định tuyến trực tiếp và định tuyến gián tiếp. Định tuyến trực tiếp là định tuyến giữa hai máy tính nối với nhau vào một mạng vật lý. Định tuyến gián tiếp là định tuyến giữa hai máy tính ở các mạng vật lý khác nhau nên chúng phải thực hiện thông qua các Gateway.
Để kiểm tra xem máy đích có nằm trên cùng một mạng vật lý với máy nguồn không thì người gửi phải tách lấy địa chỉ mạng của máy đích trong phần tiêu đề của gói dữ liệu và so sánh với phần địa chỉ mạng trong phần địa chỉ IP của nó. Nếu trùng thì gói tin sẽ được truyền trực tiếp nếu không cần phải xác định một Gateway để truyền các gói tin này thông qua nó để ra mạng ngoài thích hợp.
Hoạt động định tuyến bao gồm hai hoạt động cơ bản sau:
• Quản trị cơ sở dữ liệu định tuyến: Bảng định tuyến (bảng thông tin chọn đường) là nơi lưu thông tin về các đích có thể tới được và cách thức để tới được đích đó. Khi phần mềm định tuyến IP tại một trạm hay một cổng truyền nhận được yêu cầu truyền một gói dữ liệu, trước hết nó phải tìm trong bảng định tuyến, để quyết định xem sẽ phải gửi Datagram đến đâu. Tuy nhiên, không phải bảng định tuyến của mỗi trạm hay cổng đều chứa tất cả các thông tin về các tuyến đường có thể tới được. Một bảng định tuyến bao gồm các cặp (N,G). Trong đó:
+ N là địa chỉ của IP mạng đích
+ G là địa chỉ cổng tiếp theo dọc theo trên đường truyền đến mạng N Bảng 2.2. Định tuyến của một cổng truyền
Đến Host trên mạng Bộ định tuyến Cổng vật lý
10.0.0.0 Direct 2 11.0.0.0 Direct 1 12.0.0.0 11.0.0.2 1 13.0.0.0 Direct 3 13.0.0.0 13.0.0.2 3 15.0.0.0 10.0.02 5
đích. Trong bảng định tuyến còn có những thông tin về các cổng có thể tới đích nhưng không nằm trên cùng một mạng vật lý. Phần thông tin này được che khuất đi và được gọi là mặc định (default). Khi không tìm thấy các thông tin về địa chỉ đích cần tìm, các gói dữ liệu được gửi tới cổng truyền mặc định.
• Thuật toán định tuyến: Được mô tả như sau:
+ Nếu địa chỉ đích là một trong các địa chỉ IP của các kết nối trên mạng thì xử lý gói dữ liệu IP tại chỗ.
+ Xác định địa chỉ mạng đích bằng cách nhân (AND) mặt nạ mạng (Network Mask) với địa chỉ IP đích.
+ Nếu địa chỉ đích không tìm thấy trong bảng định tuyến thì tìm tiếp trong tuyến đường mặc định, sau khi tìm trong tuyến đường mặc định mà không tìm thấy các thông tin về địa chỉ đích thì huỷ bỏ gói dữ liệu này và gửi thông điệp ICMP báo lỗi “mạng đích không đến được” cho thiết bị gửi.
+ Nếu địa chỉ mạng đích bằng địa chỉ mạng của hệ thống, nghĩa là thiết bị đích đến được kết nối trong cùng mạng với hệ thống, thì tìm địa chỉ mức liên kết tương ứng với bảng tương ứng địa chỉ IP-MAC, nhúng gói IP trong gói dữ liệu mức liên kết và chuyển tiếp gói tin trong mạng.
+ Trong trường hợp địa chỉ mạng đích không bằng địa chỉ mạng của hệ thống thì chuyển tiếp gói tin đến thiết bị định tuyến cùng mạng.