라우팅 테이블

위키백과, 우리 모두의 백과사전.

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

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

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

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

같이 보기[편집]

외부 링크[편집]