라우터는 OSI 7 계층 모델의 3계층인 네트워크 단계에 속한 네트워크 접속 장치로 라우팅을 하는 네트워크 접속장치로 논리적 주소에 따라 네트워크 트래픽의 방향을 지정하는 게이트웨이와 유사하다. 라우팅은 IP주소를 바탕으로 데이터가 도착지까지 갈 수 있는 최적의 경로를 검사 및 선택하는 기술을 의미한다.
라우터는 어떻게 도착지까지 가는 빠르고 확실한 경로를 알 수 있을까?
- 라우터는 이를 위해서 내부에 라우팅 테이블이라는 것을 갖고 있다. 해당 테이블에는 목적지 호스트가 속한 네트워크 정보와 해당 네트워크에 도달하기 위해 경유해야 하는 라우터들의 정보가 담겨있다. 라우터는 라우팅 테이블에 있는 정보들을 토대로 여러 갈래의 여러 갈래의 길에서 최적의 경로를 추천해줄 수 있다.
그렇다면 라우팅 테이블에는 어떻게 정보가 입력되는 것일까?
- 라우팅 테이블에 정보는 정적 라우팅과 동적 라우팅을 통해 입력된다.
정적 라우팅은 말 그대로 정적인 라우팅으로 자동으로 되는 것이 아닌 개발자 혹은 사용자가 패킷 전송이 이루어지기 전에 직접 라우팅 테이블에 경로 정보를 저장하는 것을 의미한다. 반면에 동적 라우팅은 라우터의 경로 정보가 네트워크 상황에 따라 적절히 조절되는 것을 의미한다.
정적 라우팅
- 정적 라우팅은 사용자가 입력한 경로 정보만을 갖고 있기 때문에 동적 라우팅보다 빠르게 통신이 가능하다는 장점이 있다. 하지만 전송하고 싶은 곳에 대한 경로 정보가 입력되어 있지 않으면 데이터를 전송할 수 없다는 단점이 있다. 또한, 경로가 변경되거나 끊긴 경우, 경로를 다시 지정하기 어렵다. 따라서 정적 라우팅은 집과 같은 작은 네트워크망 내에서 빠른 속도로 데이터를 전송할 때 유리하지만 규모가 크고 복잡한 네트워크망은 일일이 경로를 입력하는 것이 힘들기 때문에 적합하지 않다고 볼 수 있다.
동적 라우팅
- 동적 라우팅은 설명한 것 처럼 사용자가 라우팅 테이블에 경로 정보를 입력하지 않더라도 알아서 해당 라우터가 다른 라우터들과 정보를 교환하면서 라우팅 테이블에 데이터를 수집한다. 따라서 원하는 곳에 데이터 전송하는 것이 자동으로 이루어지기 때문에 편리하다는 장점이 있다. 다만, 라우팅 테이블에 원하지 않는 경로의 정보들이 저장되어 있어 경로 탐색에 있어서 속도가 느리다는 단점이 있다. 또한, 주기적으로 HELLO/ECHO 패킷 전송을 통해 주변 경로 정보를 파악해야 하며, 주기적으로 라우터 사이의 전송 지연 시간을 측정하여 경로에 문제가 없는지 확인해야 한다. 이는 라우터에 부담을 줄 수 있다는 단점이 있다.