Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

플러딩(Flooding) vs 고정 라우팅(Fixed Routing): 라우팅 알고리즘 완벽 비교

플러딩(Flooding)과 고정 라우팅(Fixed Routing)은 전송선으로 연결된 여러 중간 라우터를 거쳐 데이터 패킷을 송신지에서 수신지까지 전달하는 방식입니다.

플러딩(Flooding)은 비적응형(non-adaptive) 라우팅 기법으로, 매우 단순한 원리에 따라 동작합니다. 데이터 패킷이 라우터에 도착하면, 해당 패킷이 들어온 링크를 제외한 모든 출력 링크로 패킷을 전송하는 것입니다.

고정 라우팅(Fixed Routing) 알고리즘은 송신지에서 수신지까지 데이터 패킷을 전송하기 위한 고정된 경로를 미리 정해두는 방식입니다. 이때 경로는 수학적으로 계산된 최적 경로, 즉 최소 비용 경로(least-cost path)입니다. 계산된 경로들은 라우팅 테이블(routing table)에 저장되며, 네트워크 토폴로지가 변경될 때에만 갱신됩니다.

예제

예를 들어, 여섯 개의 라우터가 전송선으로 연결되어 있는 아래 그림의 네트워크를 살펴보겠습니다. 라우터 A에서 라우터 F로 데이터 패킷을 전송해야 하는 상황을 가정합니다.

플러딩(Flooding) vs 고정 라우팅(Fixed Routing): 라우팅 알고리즘 완벽 비교

플러딩 기법 사용 시

  • A에 도착한 패킷은 B, C, D로 전송됩니다.

  • B는 패킷을 C와 E로 전송합니다.

  • C는 패킷을 B, D, F로 전송합니다.

  • D는 패킷을 C와 F로 전송합니다.

  • E는 패킷을 F로 전송합니다.

  • F는 패킷을 C와 E로 전송합니다.

반면 고정 라우팅 알고리즘은 수많은 경로 가운데 최적의 경로 하나를 계산합니다. 예를 들어 (A–B–E–F), (A–C–F), (A–D–F), (A–B–C–F) 등 여러 경로가 존재할 수 있는데, 고정 라우팅은 그중 (A–D–F)를 최적 경로로 선택하고 모든 데이터 패킷을 이 경로를 통해 전송합니다.

플러딩과 고정 라우팅 비교

플러딩(Flooding)고정 라우팅(Fixed Routing)
복잡한 알고리즘이 필요 없는 매우 간단한 기법입니다.더 복잡하며 특수한 알고리즘이 필요합니다.
경로를 별도로 생성하지 않으므로 라우팅 테이블이 필요하지 않습니다.알고리즘이 계산한 최적 경로를 라우팅 테이블에 저장합니다.
항상 최단 경로를 찾습니다.최적 경로를 찾으며, 이것이 반드시 최단 경로인 것은 아닙니다.
많은 수의 라우터에 장애가 발생하더라도 패킷은 반드시 목적지에 도달하는 경로를 찾습니다.라우터에 장애가 발생하면 패킷이 목적지에 도달하지 못할 수 있습니다.
대량의 중복 데이터 패킷이 생성됩니다.중복 데이터 패킷이 생성되지 않습니다.
막대한 트래픽이 발생하여 네트워크의 처리량(throughput)이 저하될 수 있습니다.불필요한 트래픽이 발생하지 않습니다.
대역폭을 낭비합니다.대역폭을 낭비하지 않습니다.
브로드캐스트(broadcast) 메시지 전송에 적합합니다.목적지가 하나뿐인 경우에 적합합니다.