라우팅(Routing)
라우팅이란, 패킷에 포함된 주소(ip 등) 등의 상세 정보를 이용하여 목적지까지 데이터를 체계적으로 다른 네트워크에 전달하는 경로 선택(Path Determination)과 스위칭(Switching)하는 과정이다.
쉽게 말해,
데이터가 전달되는 과정에서 여러 네트워크들을 통과해야하는 경우가 생길 수 있는데, 여러 네트워크들의 연결을 담당하고 있는 라우터(Router)가 데이터의 목적지가 어디인지 확인하여 빠르고, 정확한 길을 찾아 전달해주는 것이다.
현실과 비교한 라우팅
예를 들어 자신이 새로 생긴 맛집에 찾아가려고 한다고 가정해보자.
우리가 가장 먼저 하는 것은 아마 목적지에 어디에 있는 지 주소를 확인하는 것일 것이다. 그런 뒤에 목적지로 가기 위한 다양한 방법 중에서 가장 편하고 빠른 교통수단과 경로는 무엇인 지를 생각할 것이다. 지하철을 타기로 했다면 어느 방향으로 가는 것을 타야하는지 정확한 확인한 후 에 선택한 교통수단을 이용하여 목적지로 출발한다.
위의 과정을 라우터가 수신한 패킷을 전달하기 위한 과정으로 비교하여 생각해보자.
- 우리가 맛집의 정확한 위치를 파악한 것처럼 전달받은 패킷을 전달하기 위해 라우터도 가장 먼저 목적지가 어디인지 IP주소를 확인한다.
- 가장 빠른 경로가 어디인 지를 확인하고, 그 경로로 가기 위해서는 자신의 어느 인터페이스로 내보내야 하는 지 결정할 것이다.
- 결정한 인터페이스로 패킷을 전달하면 그 패킷은 또 다른 라우터로 전달되어 위와 같은 과정을 목적지 네트워크에 도착할 때까지 반복할 것이다.
이처럼 데이터를 목적지까지 전달하기 위한 모든 일련의 과정을 통틀어 라우팅(Routing)이라고 한다.
라우팅을 하기 위해 필요한 것
- 출발/목적지의 네트워크 정보
- 만약 정보의 목적지를 모른다면 경로를 설정할 수 없을 것이고, 전달 또한 불가능해질 것이다. - 목적지로 가는 모든 경로
- 출발지와 목적지 사이의 모든 경로를 알아야 그 중에서 최적의 경로를 선택할 수 있다.
- 최적의 경로
- 경로 중에서 네트워크에서 설정한 최적의 조건에 맞는 경로를 선택한다. 이 경로를 저장하는 곳을 라우팅 테이블(Routing Table)이라고 부르며 L3장비는 이 Table정보를 사용하여 패킷을 전달한다. - 지속적인 네트워크 상태 확인
- 데이터를 전달해주려는 경로가 어딘 지는 알지만 만약 그 경로를 사용할 수 없는 경우라면? Routing Table에 저장된 경로로 데이터를 전달할 수 있는 가능한 상태인지 지속적으로 네트워크 상태를 확인해서 네트워크 정보를 항상 올바른 최신 정보로 유지해야한다.
라이팅 테이블에 대한 것은 아래 포스팅을 통해 참고할 수 있다.
[네트워크] 라우팅 테이블(Routing Table)이란?
라우팅 테이블(Routing Table) 라우팅 테이블이란, IP 네트워크를 통해 이동하는 데이터 패킷이 어디로 향하게 될지 결정하는데 사용되는 일련의 규칙이다. 보통은 Table 형식으로 표시된다. 라우터
sangcheon02.tistory.com
정적 라우팅 vs 동적 라우팅
정적 라우팅 | 동적 라우팅 | |
의미 | 수동으로 라우팅 테이블을 만드는 방법 | 접하는 라우터들이 라우팅 정보를 서로 교환하여 라우팅 테이블을 자동으로 만드는 방법 |
장점 | - 관리자에 의한 라우팅 정보만을 참조하기 때문에 라우터 자체의 부담이 없어 속도가 빠르며 안정적이고, 메모리 소모도 적다. - 라우터간의 데이터 교환이 없으므로 네트워크의 대역폭을 절약할 수 있다. - 외부에 자신의 정보를 알리지 않기 때문에 보안에도 강하다. |
- 라우터가 서로 라우팅 정보를 주고받아 자동으로 라우팅 테이블을 작성하기 때문에 관리자는 초기 설정만 해주면 돼서 간단하다. - 네트워크 규모가 커져도 자동으로 라우팅 테이블을 갱신하기 때문에 규모가 큰 네트워크에서 사용이 가능하다. |
단점 | - 네트워크에 대한 각 경로를 일일이 수동으로 추가해주어야하므로 매우 번거롭다. - 정해진 경로에 장애가 발생할 경우 네트워크 전체에 장애가 발생할 수 있다. |
- 다른 라우터들과 계속 통신하기 때문에 많은 대역폭을 소비한다. |