라우팅 테이블
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
라우팅 테이블은 네트워크에서 데이터를 목적지까지 전송하기 위한 경로 정보를 담고 있는 데이터베이스이다. 라우팅 테이블은 노드가 다른 노드로 데이터를 전송할 때, 목적지까지의 경로를 결정하는 데 사용되며, 네트워크 식별자, 메트릭, 다음 홉 등의 정보를 포함한다. 라우팅 테이블은 라우터뿐만 아니라 호스트도 가질 수 있으며, 기본 경로, 네트워크 경로, 호스트 경로를 포함한다. 라우팅 테이블은 유니캐스트 역 경로 전달과 같은 보안 작업에도 활용되며, 라우팅 테이블의 크기 및 라우팅 루프 문제와 같은 기술적인 문제점도 존재한다. 현대 라우터는 라우팅 테이블을 사용하여 생성된 전달 테이블을 통해 패킷을 전달하며, 제어 평면과 전달 평면을 분리하여 고성능 전달을 제공한다.
라우팅 테이블은 소포 배달의 배송 지도와 유사하게 작동한다. 노드가 다른 노드로 데이터를 전송해야 할 때, 목적지가 직접 연결되어 있지 않으면 라우팅 테이블에 저장된 경로 정보를 참조하여 다음 홉(Next Hop)으로 데이터를 전송한다.
라우터뿐만 아니라 호스트도 라우팅 테이블을 가질 수 있으며, 이는 패킷을 전달할 최적의 라우터를 선택하는 데 사용된다.[1] 인터넷 프로토콜에서 호스트가 라우팅 테이블을 갖는 것은 선택 사항이며, 이는 오래된 프로토콜인 IPX에서도 마찬가지이다.
라우팅 테이블은 최소한 다음 세 가지 필드를 포함한다.
2. 기본
홉 바이 홉(hop-by-hop) 라우팅은 각 라우팅 테이블이 모든 도달 가능한 목적지에 대해 다음 홉의 주소를 저장하는 방식이다. 이는 IP 인터넷 계층[1] 및 OSI 네트워크 계층의 기본적인 특징이다.[4]
최근의 라우터는 제어 플레인(라우팅 테이블)과 전송 플레인(FIB, Forwarding Information Base)을 분리하는 아키텍처를 사용한다.[5]
3. 기능
라우팅 테이블 항목의 종류는 다음과 같다.4. 라우팅 테이블의 구조
응용 프로그램 및 구현에 따라 경로 선택을 구체화하는 추가 값을 포함할 수도 있다.
다음은 홈 라우터를 통해 인터넷에 연결된 컴퓨터에서 위 표가 어떻게 보일 수 있는지에 대한 예시이다.
네트워크 목적지 | 넷마스크 | 게이트웨이 | 인터페이스 | 메트릭 |
---|---|---|---|---|
0.0.0.0 | 0.0.0.0 | 192.168.0.1 | 192.168.0.100 | 10 |
127.0.0.0 | 255.0.0.0 | 127.0.0.1 | 127.0.0.1 | 1 |
192.168.0.0 | 255.255.255.0 | 192.168.0.100 | 192.168.0.100 | 10 |
192.168.0.100 | 255.255.255.255 | 127.0.0.1 | 127.0.0.1 | 10 |
192.168.0.1 | 255.255.255.255 | 192.168.0.100 | 192.168.0.100 | 10 |
- '''네트워크 목적지'''와 '''넷마스크''' 열은 함께 앞서 언급한 '''네트워크 식별자'''를 설명한다. 예를 들어, 목적지 '''192.168.0.0'''과 넷마스크 '''255.255.255.0'''은 '''192.168.0.0/24'''로 작성할 수 있다.
- '''게이트웨이''' 열에는 '''다음 홉'''과 동일한 정보가 포함되어 있다. 즉, 네트워크에 도달할 수 있는 게이트웨이를 가리킨다.
- '''인터페이스'''는 게이트웨이에 도달하는 데 책임이 있는 로컬에서 사용 가능한 인터페이스를 나타낸다. 이 예에서 게이트웨이 '''192.168.0.1'''(인터넷 라우터)은 주소가 '''192.168.0.100'''인 로컬 네트워크 카드를 통해 도달할 수 있다.
- 마지막으로 '''메트릭'''은 표시된 경로를 사용하는 관련 비용을 나타낸다. 이는 네트워크의 두 지점에서 특정 경로의 효율성을 결정하는 데 유용하다. 이 예에서 주소 '''127.0.0.1'''(''localhost''라고 함)을 사용하여 컴퓨터 자체와 통신하는 것이 '''192.168.0.100''' (로컬 네트워크 카드의 IP 주소)을 사용하는 것보다 더 효율적이다.
라우팅 테이블은 ''유니캐스트 역 경로 전달(uRPF)''과 같은 일종의 보안 조작에서도 중요하다[7]。이 기법에는 몇 가지 변형이 있지만, 라우터가 라우팅 테이블을 사용하여 패킷의 소스 주소를 참조한다. 소스 주소로 되돌아가는 경로가 라우팅 테이블에 없는 경우, 해당 패킷이 어떤 공격을 의도한 것으로 판단하여 전송하지 않는다.
5. 라우팅 테이블의 문제점
라우팅 테이블을 구축할 때 가장 큰 문제는 제한된 메모리 공간에 많은 수의 경로를 기록해야 한다는 것이다.[6] 현재 인터넷에서 널리 사용되는 주소 집약 기술로는 클래스 없는 도메인 간 라우팅(CIDR)이라는 비트 단위의 접두사 매칭 방식이 있다.[6] 슈퍼네트워크 또한 라우팅 테이블 크기를 제어하는 데 사용될 수 있다.
네트워크 내에서 각 노드는 유효한 라우팅 테이블을 가지고 있어야 하며, 이러한 라우팅 테이블 그룹은 일관성을 유지해야 한다. 그렇지 않으면 라우팅 루프가 발생할 수 있다.[6] 이는 홉-바이-홉(hop-by-hop) 형태의 라우팅 모델에서 특히 문제가 되는데, 라우터 간에 라우팅 테이블이 일치하지 않으면 패킷 전송 시 무한 루프에 빠질 수 있기 때문이다.[6] 라우팅 루프는 라우팅에서 오래된 문제이며, 이를 제거하는 것이 라우팅 프로토콜 설계의 중요한 목표가 되고 있다.[6] 전송 시 TTL을 -1씩 감소시켜 0이 되면 해당 패킷을 폐기하는 등의 기법이 사용된다.[6]
6. 전달 테이블 (Forwarding Table)
현대 라우터 아키텍처에서 라우팅 테이블은 패킷 전달에 직접 사용되지 않고, 더 단순한 전달 테이블을 생성하는 데 사용된다. 전달 테이블에는 라우팅 알고리즘이 패킷 전달에 선호하는 경로만 포함된다. 이는 종종 하드웨어 저장 및 조회에 맞게 프로그램 최적화된 압축 또는 사전 컴파일된 형식이다.[3]
이러한 라우터 아키텍처는 라우팅 테이블의 제어 평면 기능과 전달 테이블의 전달 평면 기능을 분리한다.[3] 제어와 전달을 분리하면 중단 없는 고성능 전달이 가능하다. 최근의 라우터는 제어 플레인(라우팅 테이블)과 전달 플레인(전달 테이블) 기능을 분리한 아키텍처를 갖추고 있다.[5]
7. 보안
라우팅 테이블은 유니캐스트 역방향 경로 포워딩(uRPF)과 같은 보안 작업의 핵심적인 역할을 한다.[2] uRPF는 라우터가 패킷의 소스 주소를 라우팅 테이블에서 조회하는 기술이다. 소스 주소로 돌아가는 경로가 없으면, 라우터는 해당 패킷을 잘못 구성되었거나 네트워크 공격에 연루된 것으로 간주하여 삭제한다.[7]
참조
[1]
IETF
Requirements for IPv4 Routers
1995-06-01
[2]
IETF
Ingress Filtering for Multihomed Networks
2004-03-01
[3]
IETF
Forwarding and Control Element Separation (ForCES) Framework
http://www.ietf.org/[...]
2004-04-01
[4]
IETF
Requirements for IPv4 Routers
1995-06-01
[5]
IETF
Forwarding and Control Element Separation (ForCES) Framework
2004-04-01
[6]
웹사이트
ルーティング編 第5回 ルーティングループを防ぐ
https://xtech.nikkei[...]
ITPro
2009-03-24
[7]
IETF
Ingress Filtering for Multihomed Networks
2004-03-01
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com