c. Quá trình nố i tách:
3.2.2 Thuật toán Flooding
Flooding là một thuật toán định đ−ờng tĩnh, trong đó mọi gói đ−a vào một nút đ−ợc gửi tới tất cả các đ−ờng ra trừ đ−ờng nó đã tới. Flooding đã tạo ra một số l−ợng lớn các bản sao. Do đó cần có một công cụ để ngăn cản quá trình tăng này. Một giới hạn nh− vậy là bộ đếm hop (hop counter), chứa trong header của mỗi gói, và nó đ−ợc giảm mỗi khi đi qua một node. Khi bộ đếm hop có giá trị zero thì gói sẽ bị huỷ. Bộ đếm hop phải đ−ợc phải đ−ợc khởi tạo ban đầu với giá trị hop bằng với khoảng cách từ nguồn tới đích. Nếu không biết độ dài đ−ờng đi này thì nó đ−ợc tính với tr−ờng hợp xấu nhất, đó là tính theo giá trị đ−ờng kính lớn nhất của mạng. Nh− vậy, trong Flooding tất cả các đ−ờng đều đ−ợc thử nên các bản sao đến đ−ợc đích theo một đ−ờng đi ngắn nhất.
Một kĩ thuật “làm đập” ngăn Flood là theo dõi những gói đã đ−ợc Flooding, không gửi nó đi lần thứ hai. Ng−ời ta cho phép Router nguồn đặt một số thứ tự trong mỗi gói mà nó nhận đ−ợc từ nguồn của nó. Mỗi node cần một danh sách ứng với mỗi node nguồn cho biết các số thứ tự của các gói hình thành tại nguồn đã đ−ợc xem xét. Nếu gói mới đến có trong danh sách thì nó không Flood, nếu là bản sao thì sẽ bị huỷ.
Tóm lại, Flooding là một thuật toán định đ−ờng tĩnh (vì nó không có sự cập nhật thông tin trong quá trình định đ−ờng). Tuy nhiên, khi trong mạng có một node bị hỏng thì Flooding vẫn làm việc tốt,mặc dù nó định đ−ờng không tối −u và th−ờng gây tắc nghẽn trong mạng.
Giả sử có một gói đi từ nút 1 đến nút 6, tại hop đầu tiên có 3 bản sao đ−ợc tạo ra và gửi tới các nút 2,3 và 4. ậ hop thứ 2 có 9 bản sao đ−ợc tạo ra. Đến hop thứ 3 đã có tất cả 22 bản sao. Nút 6 sẽ nhận đ−ợc 4 bản sao.