1. 라우팅 테이블이란?
라우팅 테이블은 네트워크 장비에서 사용되는 데이터베이스로, 패킷의 출발지와 목적지 사이의 경로를 결정하는 데 사용됩니다. 간단히 말해, 라우팅 테이블은 패킷을 전달할 때 어느 경로를 선택해야 하는지를 알려주는 지침서 역할을 합니다.
라우팅 테이블은 일반적으로 라우터나 스위치와 같은 네트워크 장비에 저장되어 있습니다. 이 테이블은 라우팅 프로토콜에 의해 자동으로 업데이트되거나 관리자에 의해 수동으로 구성될 수 있습니다.
각 항목은 목적지 네트워크에 대한 정보와 해당 네트워크로 패킷을 전달하는 데 사용되는 출구 인터페이스(출발지와 목적지 사이의 링크)로 구성됩니다. 이 정보는 일반적으로 IP 주소 또는 서브넷 마스크와 관련된 형식으로 표현됩니다.
라우팅 테이블은 패킷이 도착한 인터페이스의 IP 주소를 기반으로 최적의 경로를 결정합니다. 패킷의 목적지 IP 주소를 확인하여 해당 주소에 가장 가까운 항목을 찾고, 해당 경로에 따라 패킷을 전달합니다. 이를 통해 패킷은 네트워크를 효율적으로 통과하고 목적지에 도달할 수 있습니다.
라우팅 테이블은 대규모 네트워크에서 특히 중요합니다. 여러 라우터가 연결된 복잡한 네트워크에서는 각 라우터가 최신의 라우팅 정보를 가지고 있어야 하며, 라우팅 테이블은 네트워크의 효율성과 안정성에 영향을 미칩니다.
1) 라우팅 테이블 예시 1
2) 라우팅 테이블 예시 2
라우팅 테이블을 윈도우에서 확인해 봅니다.
ip를 활용하여 통신하는 네트워크 단말들은 라우팅 정보를 저장하는 라우팅 테이블을 가지고 있습니다.
윈도 + R 키를 입력하여 실행창에 cmd 입력하여 cmd 창을 실행합니다.
이번에는 리눅스 환경에서 라우팅 테이블을 확인해 봅니다.
우분투 리눅스와 칼리 리눅스 프로그램을 통해 정보를 확인해 봤습니다.
두 프로그램에 같은 명령어를 입력해 보면 결과는 똑같이 나오는 것을 볼 수 있습니다.
2. 라우팅 종류
라우팅은 사람이 수동으로 설정하는 정적 라우팅과 라우팅 프로토콜로 인해 자동으로 할당받는 동적 라우팅이 있습니다.
1) 정적 라우팅 (Static Routing):
º 수동으로 라우팅 테이블을 구성하는 방식입니다.
º 네트워크 관리자가 수동으로 경로를 설정하고 관리합니다.
º 정적 경로는 수동으로 입력하며, 일반적으로 고정된 경로에 사용됩니다.
º 경로 변경이 필요한 경우에는 수동으로 라우팅 테이블을 업데이트해야 합니다.
º 작은 네트워크나 특정한 상황에서 사용되는 경우가 많습니다.
º 메모리가 적게 들고, 속도가 빠릅니다.
º 구성 변경 시 다시 세팅해야 됩니다.
º 수동적이라 번거롭지만 보안에 강합니다.
2) 동적 라우팅 (Dynamic Routing):
º 라우팅 프로토콜을 사용하여 자동으로 경로를 할당하는 방식입니다.
º 네트워크 장비 간에 라우팅 정보를 교환하고 동적으로 라우팅 테이블을 구성합니다.
º 라우팅 프로토콜은 네트워크 상태를 모니터링하고 최적의 경로를 자동으로 결정합니다.
º 네트워크 변화에 따라 라우팅 테이블이 자동으로 업데이트되므로 유연하고 확장성이 좋습니다.
º OSPF(Open Shortest Path First), BGP(Border Gateway Protocol) 등이 동적 라우팅 프로토콜로 사용됩니다.
º 대규모 네트워크나 네트워크가 자주 변동되는 환경에서 주로 사용됩니다.
º 속도가 정적 라우팅에 비해 느립니다.
º 구성 변경이 용이합니다.
동적 라우팅은 네트워크의 규모와 변동성을 다루는 데 더 적합하며, 경로의 동적인 조정과 오류 복구에 유리합니다. 반면에 정적 라우팅은 작은 네트워크에서 단순하고 예측 가능한 경로 설정이 필요한 경우에 사용될 수 있습니다. 선택할 라우팅 방식은 환경과 요구 사항에 따라 달라질 수 있으며, 일반적으로는 동적 라우팅이 더 많이 사용됩니다.
3. 라우팅 우선순위 경로 결정 순서
Longest Match Rule → AD(Adminstrative Destance) → Metric(Routing Metric)
라우팅 경로 순서는 일반적으로 "Longest Match Rule", "Administrative Distance (AD)", 그리고 "Metric"의 순서로 결정됩니다.
Longest Match Rule
라우팅 테이블에 저장된 다음에는 패킷의 목적지 주소와 라우팅 테이블에 있는 네트워크 주소가 가장 길게 일치되는 경로를 먼저 선택하는 방식이다. "ping 1.1.1.2"를 입력하였을 때, 네트워크 장비가 다음의 라우팅 테이블 정보를 가진 라우터로 송신 요청을 한다고 가정하자.
- #show ip route
- s 1.0.0.0/8 s0/0
- s 1.1.0.0/16 s0/1
- s 1.1.1.0/24 s0/2
목적지 주소가 1.1.1.2일 경우 가장 옥텟이 길게 매칭되는 "s0/2"로 경로를 선택하는 것이 Logest Match Rule이다.
어떤 major network의 subnet으로 향하는 패킷을 수신한 경우 정확히 일치하는 route가 라우팅 테이블에 없을 때, 라우터는 이 패킷을 Default Route로 보내는 데, 이것을 "ip classless"라고 한다. 이는 서브넷을 사용하여 통신을 하겠다는 의미이다. 즉, 목적지 주소가 만약 1.1.1.2이고 라우팅 테이블에는 1.0.0.0/8과 1.1.0.0/16 밖에 존재하지 않으면 Longest Match Rule에 따라 1.1.0.0/16로 보내주게 되는 것이다.
반대로 정확히 일치하는 route가 라우팅 테이블에 없는 subnet을 향하는 패킷을 막기 위해서는 "no ip classless" 설정을 한다. 이는 네트워크 통신에 대해 서브넷을 사용하지 않고, classful 하게 사용하겠다는 의미이다.
AD (Adminstrative Distance) 값
AD 값은 라우터 간의 약속된 "관리자 거리 값"을 나타낸다. 이는 관리자가 라우팅 정보 소스의 신뢰성에 대해 정해 놓은 비율로서 여러 가지 라우팅 프로토콜을 운영할 경우 동일 목적지에 대한 여러 개의 경로 중에서 어떤 프로토콜에 의해 얻은 정보를 우선할 것인지 그 값을 정해놓은 것이다. 다음은 동적 라우팅 프로토콜 중 "RIP"로 설정된 라우팅 테이블의 정보이다.
RIP 라우팅 테이블
붉은색으로 표시된 부분에 [] 값 사이에 "120"이라는 값이 존재한다. 해당 값이 바로 AD 값이다. AD 값은 임의로 설정된 값(120)을 라우터 사이의 거리 값으로 약속하는 것이다. 이 값은 프로토콜마다 디폴트 설정값이 다르며 조정이 가능하다. 복수 개의 라우팅 프로토콜들이 계산한 특정 네트워크가 라우팅 테이블에 저장되어 있을 때에는, 해당 거리 값이 줄어들수록 우선순위는 높아지며, 속도는 빨라진다.
디폴트 설정값은 다음과 같다.
Route Source (Protocol) | Default Distance |
Directly Connected Interface | 0 |
Static | 1 |
EIGRP Summary Route | 5 |
BGP | 20 |
EIGRP (Internal) | 90 |
IGRP | 100 |
OSPF | 110 |
IS-IS | 115 |
RIP | 120 |
EIGRP (External) | 170 |
iBGP | 200 |
Unkown | 255 |
Metric 값
위의 표에 있는 라우팅 테이블의 붉은색으로 표시된 부분에 [] 값 사이에 "1"이라는 값이 바로 메트릭 값이다. 메트릭 값은 앞의 AD 값을 몇 번 측정했는가를 나타낸다. 메트릭 값은 정해진 출발지에서 목적지까지 가는 임의의 단위이며 값의 단위는 프로토콜에 따라 달라진다. 쉽게 말해서 목적지까지 가기 위한 "거리 비용"이라고 생각할 수 있다. 작을수록 송신하고자 하는 라우터와 가깝고, 클수록 멀다고 볼 수 있다. 동일 라우팅 프로토콜 내에서 목적지로 가는 경로가 복수 개 있을 경우, 메트릭 값이 작을수록 우선순위가 높아진다.
https://itaeheon.tistory.com/34
'Network tech > 라우팅(Routing)' 카테고리의 다른 글
[라우팅] 정적라우팅(static routing) vs 동적라우팅(dynamic routing) (0) | 2024.02.11 |
---|---|
[라우팅테이블] 라우팅 테이블(Routing table)은 무엇인가? (0) | 2024.02.06 |
[라우팅] 정적라우팅 실습 예시(feat.Cisco router) (0) | 2024.02.06 |
[라우팅] 정적 라우팅 (Static routing) (2) | 2024.02.06 |
[라우팅] 외부 네트워크로 데이터를 전송 (0) | 2023.07.31 |