본문 바로가기
Network tech/라우팅(Routing)

[라우팅테이블] 라우팅 테이블(Routing table)은 무엇인가?

by 어깨 :) 2024. 2. 6.
728x90

 

1. 라우팅 테이블(routing table)이란?

(라우팅 테이블 전체를 주기적으로 모든 Neighbor에게 브로드캐스트 주소로 업데이트한다)

 

라우팅 테이블(영어: routing table)은 컴퓨터 네트워크에서 목적지 주소를 목적지에 도달하기 위한 네트워크 노선으로 변환시키는 목적으로 사용된다. 라우팅 프로토콜의 가장 중요한 목적이 바로 이러한 라우팅 테이블의 구성이다.

가장 단순한 모델인 hop-by-hop 라우팅 방식에서, 각 라우터의 라우팅 테이블은 모든 목적지 정보에 대해 해당 목적지에 도달하기 위해서 거쳐야 할 다음 라우터의 정보를 가지고 있다. 라우팅 테이블이 일관적이라고 가정하면, 패킷을 받은 다음, 라우팅 테이블을 검사해서 다음 라우터를 찾은 뒤, 해당 라우터로 패킷을 넘겨주는 이러한 단순한 알고리즘만으로 네트워크상의 어느곳으로라도 데이터를 전송할 수 있다. 하지만 실제로는, hop-by-hop 라우팅 방식은 MPLS와 같은 계층적 아키텍처에 밀려나서 급격히 사라지는 추세이다. 계층적 아키텍처에서는 한번의 테이블 검사로 몇 번의 전달과정을 대체할 수 있으며, 이는 테이블 검사시간을 감소시키며 따라서 네트워크의 성능을 증가시킨다.

제한된 저장공간에 수많은 목적지로의 노선을 저장해야하는 요구사항은 라우팅 테이블 구성에서 큰 어려움으로 다가온다. 라우팅에서 하나의 중요한 기본 가정은 비슷한 주소의 목적지는 인접해있으리라는 것이며, 이는 다수의 목적지 주소를 하나의 라우팅 테이블 항목에 관리할 수 있게 해준다. 다수의 목적지를 하나의 항목에 넣는 이러한 그룹 방법은 이제까지 많이 바뀌어 왔으며, 아직도 활발한 연구 과제로 남아 있다. 인터넷에서 현재 가장 널리 사용되는 그룹 기법은 사이더(Classless Inter-Domain Routing, CIDR)라고 불리는 비트단위 접두어 비교방식이다.

네트워크상의 각 라우터에서는 일관된 라우팅 테이블 정보를 가지고 있어야 하며, 그렇지 않을 경우 루프가 발생할 수 있다. 이는 특히 hop-by-hop 라우팅 방식에서 크게 문제가 되는데, 이는 각 라우터가 올바른 라우팅 테이블을 가지고 있는 것처럼 보여도 서로 패킷을 무한히 주고받게 되기 때문이다. 라우팅 루프를 피하는 것은 라우팅 프로토콜을 설계할 때 중요한 문제의 하나이다.

https://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9A%B0%ED%8C%85_%ED%85%8C%EC%9D%B4%EB%B8%94

 

라우팅 테이블 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 라우팅 테이블(영어: routing table)은 컴퓨터 네트워크에서 목적지 주소를 목적지에 도달하기 위한 네트워크 노선으로 변환시키는 목적으로 사용된다. 라우팅 프

ko.wikipedia.org

 

 

2. 라우팅 테이블 예시

 

 

 

[그림 1]은 몇 개의 네트워크로 나누어져 있나요? “router는 네트워크를 분할한다”는 개념을 파악한다면, 3개의 네트워크로 나누어 졌음을 알 수 있습니다.

그럼 R1 router는 3개 네트워크 중 어떤 정보를 알고 있을까요? 자신에게 직접 연결된 10.1.1.0/24만 알고 있습니다.

그럼 R2는 무엇을 알고 있을까요? 자신에게 직접 연결된 10.1.1.0/24, 10.1.2.0/24만 알고 있습니다.

그럼 R3는 무엇을 알 고 있을까요? 자신에게 직접 연결된 10.1.2.0/24, 10.1.3.0/24만 알고 있겠죠.

 

[그림 2-a]에서 빨간색 선으로 표현을 한 것이 각각의 router가 최초에 알고 있는 네트워크, 즉 직접 연결된 네트워크입니다. 그럼 router의 routing table을 확인해 볼까요? cisco 장비에서는 “show ip route" 명령어로 알 수 있습니다. routing table을 확인 해보니, [그림 2-b]의 결과를 보여주며, 직접 연결된 네트워크를 directly connected라고 표현되어 있음을 알 수 있습니다.

 

 

그럼 R1이 직접 연결이 안 된 네트워크(10.1.2.0/24, 10.1.3.0/24)에 대한 정보를 알 수는 없을까요? 이것을 가능하게 하는 방법에는 2가지가 있습니다. 첫 번째는 관리자가 수동으로 routing table을 만드는 방법이 있는데 이것을 static routing이라고 하며, 두 번째 는 routing protocol을 동작시켜서 자동으로 routing table을 만드는 dynamic routing 방식입니다.

 

 

참고블로그: http://tech.kobeta.com/wp-content/uploads/2016/10/23616.pdf

 

 

 

 

3. 라우팅 테이블 구성요소

 

목적지 주소(Layer 3 address, Ex. IP address)
-  목적지 네트워크 주소
-  라우터는 자원 절약을 위해, 호스트 주소 단위가 아닌, 목적지 네트워크 단위로 저장 관리 함

 - 목적지 네트워크  : 목적지 네트워크에 대한 여러 관련 정보(IP 주소,서브넷 등)


Next-Hop 인터페이스
- (방향)  패킷의 입출력 관계
- 목적지 네트워크 주소로 가기위한 라우터의 출구 포트에 대한 정보
- Next Hop 주소    : 목적지 네트워크까지 가기위한 바로 다음의 라우터 IP 주소



Administrative Distance (=Distance)  
 목적지 라우팅을 위한 메트릭 정보

- 보통, 6개 정도까지의 최적 루트(best-path)를 계산해내며,이들 사이에 트래픽을 로드 밸런싱(Load Balancing) 함

- 만일, 동일 목적지 경로에 대한 정보가 인접 라우터들로부터 여럿 수신될 때, 비용이 더 적게 소요되는 기준값 정보 취함
- 결국, 모든 목적지 네트워크 마다, 최적 경로가 결정된 표를 만들게 됨
  각 원격 네트워크 경로에 대해 계산된 어떤 수치 값(메트릭 값)을 갖음
- Administrative Distance : 위 학습방법이 신뢰되는 정도 (수치 작을수록 더 신뢰됨)

 


Metric (=Cost)
 . 라우팅 메트릭  : 최적 경로 서열 값

 

 

 

 4. 라우팅 테이블의 갱신


  ㅇ 이웃 라우터끼리 라우팅 테이블 항목을 주고 받으며, 각 라우터는 자신의 테이블을 갱신

  ㅇ 만일, 라우팅 테이블에 수신된 패킷의 목적지 주소가 없으면, 라우터는 이 패킷을 폐기함
       이때, 라우터는 Destination Unreachable 라는 ICMP 메세지를 출발지에 보냄

 


5. 라우팅 테이블의 효율성 관리


  ㅇ 라우팅 테이블은, 통상 라우터에서 비교적 빠른 RAM 상에 위치함
      라우팅 테이블을 빠르고 효율적으로 관리하는 것이 사실 좋은 라우터의 조건임

  ㅇ 규모 큰 네트워크의 경우에, 수천개 이상의 경로가 존재할 수 있으므로, 라우팅 테이블이 비대해지면 경로 검색을              위한 시간 및 프로세싱 자원이 많이 필요
      따라서, 경로 요약(Route Summarization)과 같은 기능이 필요하게 됨


http://www.ktword.co.kr/test/view/view.php?m_temp1=1327

 

라우팅 테이블

  Routing Table, Forwarding Table   라우팅 테이블, 포워딩 테이블(2023-05-27)

www.ktword.co.kr


참고사항


생성과정
1. Metric이 먼저 학습 선출
2. preference
3. longest match

테이블 우선순위
1. longest match
2. preference
3. Metric

라우팅 테이블의 공통 필드(라우팅 테이블은 사별로 상이하나 공통적인 필드를 기입)
서브넷마스크, 네트워크 주소(net), 다음 홉 주소(next-hop), 인터페이스, 플레그, 참조횟수, 사용

 

 

728x90