[NETWORK] - 라우팅(Routing)이란?

유건우·2025년 6월 2일
0

네트워크

목록 보기
4/4
post-thumbnail

📕 정의

라우팅은 네트워크에서 데이터를 목적지까지 전달하기 위한 최적의 경로를 결정하는 과정입니다. 네트워크 장비(주로 라우터)는 여러 개의 경로 중 가장 효율적인 경로를 선택하여 데이터를 전송합니다.




✅ 라우팅의 기본 개념

라우팅은 네트워크 계층(OSI 7계층 중 3계층)에서 동작하며, 패킷의 출발지 IP 주소목적지 IP 주소를 기반으로 경로를 결정합니다.

  • 라우터(Router) : 네트워크 간 데이터를 전송하는 장치
  • 라우팅 테이블(Routing Table) : 목적지 네트워크까지 가는 최적의 경로 정보를 저장하는 테이블
  • 게이트웨이(Gateway) : 다른 네트워크로 데이터를 전송할 때 경유하는 지점
  • 홉(Hop) : 패킷이 목적지까지 가는 동안 거치는 라우터의 개수





📱 라우팅의 종류

라우팅 방식은 크게 정적 라우팅과 동적 라우팅으로 나뉩니다.

정적 라우팅(Static Routing)

  • 관리자가 직접 라우팅 테이블을 설정하는 방식
  • 장점 : 간단하고 보안성이 높음
  • 단점 : 네트워크 변화에 대한 자동 반응이 어려움
  • 사용 예시 : 소규모 네트워크, 보안이 중요한 환경

동적 라우팅(Dynamic Routing)

  • 라우터가 자동으로 네트워크 상태를 학습하고 최적의 경로를 설정하는 방식
  • 장점 : 네트워크 변화에 빠르게 대응 가능
  • 단점 : 네트워크 부하가 증가할 수 있음
  • 사용 예시 : 대규모 네트워크, 인터넷 서비스 제공망(ISP)





🚀 동적 라우팅 프로토콜

동적 라우팅에서는 라우팅 프로토콜을 사용하여 네트워크 정보를 교환합니다. 주요 프로토콜은 다음과 같습니다.

거리 벡터 라우팅 프로토콜(Distance Vector)

  • 인접 라우터 간 거리 정보를 교환하며 경로를 설정
  • 예시 : RIP(Routing Information Protocol)
  • 특징 : 단순하지만, 대규모 네트워크에는 부적합

  • 전체 네트워크의 링크 상태 정보를 기반으로 최적의 경로를 설정
  • 예시 : OSPF(Open Shortest Path First), IS-IS
  • 특징 : 빠른 수렴 속도, 대규모 네트워크에 적합

경로 벡터 라우팅 프로토콜(Path Vector)

  • 자율 시스템(AS, Autonomous System) 간의 라우팅을 수행
  • 예시 : BGP(Border Gateway Protocol)
  • 특징 : 인터넷의 백본에서 사용됨

⚙️ 라우팅 테이블의 구조

네트워크 주소넷마스크게이트웨이인터페이스거리 비용
192.168.1.0255.255.255.0192.168.1.1eth01
10.0.0.0255.0.0.010.0.0.1eth12
  • 네트워크 주소 : 목적지 네트워크의 주소
  • 넷마스크(Subnet Mask) : 네트워크와 호스트 구분을 위한 마스크
  • 게이트웨이(Gateway) : 해당 네트워크로 가기 위한 다음 라우터
  • 인터페이스 : 해당 경로가 연결된 네트워크 인터페이스
  • 거리 비용(Metric) : 경로의 우선순위를 나타내는 값 (낮을수록 우선순위가 높음)




👨🏻‍💻 라우팅 알고리즘

라우팅 프로토콜이 최적의 경로를 찾기 위해 사용하는 알고리즘입니다.

다익스트라 알고리즘(Dijkstra)

  • 모든 경로를 탐색하여 가장 짧은 경로를 찾음
  • OSPF에서 사용

벨만-포드 알고리즘(Bellman-Ford)

  • 인접 노드 정보를 바탕으로 최적의 경로를 점진적으로 갱신
  • RIP에서 사용

📡 기본적인 라우팅 설정 예시

정적 라우팅 설정 (Linux)

route add -net 192.168.2.0/24 gw 192.168.1.1
  • 192.168.2.0/24 네트워크로 가는 경로를 192.168.1.1 게이트웨이를 통해 설정

라우팅 테이블 확인

route -n

OR

ip route show

🕹️ 기본 정적 라우트 설정

명령어 형식

Router(config)# ip route <목적지 네트워크> <서브넷 마스크> <다음  IP 또는 출구 인터페이스>
  • <목적지 네트워크>: 가야 할 네트워크 주소
  • <서브넷 마스크>: 네트워크의 서브넷 마스크
  • <다음 홉 IP 또는 출구 인터페이스>: 패킷을 전달할 라우터의 IP 또는 인터페이스




🛠️ 정적 라우트 설정 예제

네트워크 환경

(PC1) 192.168.1.0/24 --- (R1) 10.0.0.1 ---- 10.0.0.2 (R2) --- 192.168.2.0/24 (PC2)
  • R1에서 192.168.2.0/24 네트워크로 가는 경로 설정
  • R2에서 192.168.1.0/24 네트워크로 가는 경로 설정

R1에서 정적 라우트 설정

R1(config)# ip route 192.168.2.0 255.255.255.0 10.0.0.2
  • 192.168.2.0/24 네트워크로 가기 위해 10.0.0.2(R2)를 다음 홉으로 지정

R2에서 정적 라우트 설정

R2(config)# ip route 192.168.1.0 255.255.255.0 10.0.0.1
  • 192.168.1.0/24 네트워크로 가기 위해 10.0.0.1(R1)을 다음 홉으로 지정





🔌 기본 정적 라우트 확인

라우팅 테이블 확인

R1# show ip route
S    192.168.2.0/24 [1/0] via 10.0.0.2
  • 정적 라우트는 S(Static)로 표시됨





❌ 정적 라우트 삭제

명령어 형식

Router(config)# no ip route <목적지 네트워크> <서브넷 마스크> <다음  IP 또는 인터페이스>

예제

R1(config)# no ip route 192.168.2.0 255.255.255.0 10.0.0.2
  • 192.168.2.0/24 네트워크로 가는 정적 라우트 삭제





🚨 기본적인 트러블슈팅

연결 확인 (핑)

R1# ping 192.168.2.1
  • 목적지 네트워크와 통신 가능한지 확인

경로 추적

R1# traceroute 192.168.2.1
  • 패킷이 지나가는 경로 확인

네트워크 인터페이스 확인

R1# show ip interface brief
  • 인터페이스 상태 및 IP 주소 확인





🟢 디폴트 라우트(Default Route) 설정

모든 외부 트래픽을 특정 라우터로 전달하는 기본 경로(Default Route) 설정

명령어

R1(config)# ip route 0.0.0.0 0.0.0.0 10.0.0.2
  • 모든 목적지(0.0.0.0/0)를 10.0.0.2(R2)로 보냄

디폴트 라우트 확인

R1# show ip route

출력 예시

S*   0.0.0.0/0 [1/0] via 10.0.0.2
  • S*는 정적(Default) 라우트임을 의미




📕 정리

명령어설명
ip route <목적지> <서브넷 마스크> <다음 홉>정적 라우트 추가
show ip route라우팅 테이블 확인
no ip route <목적지> <서브넷 마스크> <다음 홉>정적 라우트 삭제
ping <IP>네트워크 연결 확인
traceroute <IP>패킷 경로 확인

정적 라우팅은 작은 네트워크에서 효과적이지만, 대규모 네트워크에서는 동적 라우팅 프로토콜(OSPF, EIGRP, BGP 등) 을 고려해야 합니다.








😎 결론

라우팅은 네트워크에서 데이터를 최적의 경로로 전달하기 위한 필수적인 과정입니다. 정적 라우팅과 동적 라우팅이 있으며, RIP, OSPF, BGP 같은 다양한 프로토콜이 사용됩니다. 효율적인 네트워크 운영을 위해 올바른 라우팅 방식을 선택하는 것이 중요합니다.










참고: 다익스트라 알고리즘에 대해

profile
✅ 적당한 추상화를 찾아가는 개발자입니다.

0개의 댓글