본문 바로가기
CS/Network

[네트워크] 라우터

by haerr 2025. 6. 6.

Router Architecture (라우터 구조)란?

라우터는 네트워크의 교통 정리 요원이다.

인터넷에서 데이터가 목적지로 가려면 라우터들이 경로를 잘 잡아줘야 한다.

 

 

라우터의 두 가지 큰 역할

길을 어떻게 갈지 정하기 (제어 평면, Control Plane)

소프트웨어가 하는 일
⇒ 어디로 보낼지 지도처럼 경로를 미리 계산해둠

 

  • 사용하는 지도 앱: OSPF, RIP, BGP 같은 라우팅 알고리즘
  • 계산 담당: 라우팅 프로세서
  • 계산 결과: 포워딩 테이블이라는 안내표를 만듦

 

실제로 데이터 보내기 (데이터 평면, Forwarding Plane)

하드웨어가 하는 일
⇒ 들어온 데이터(패킷)를 계산된 경로에 따라 빠르게 전송

 

입력 포트란?

들어오는 문이라고 볼 수 있다.

여기서 데이터(패킷)가 들어오고, 어디로 보낼지 빠르게 결정한다.

 

주요 기능

  • 비트 수신 (0과 1의 신호를 받아들임)
  • 이더넷 등 링크 계층 처리
  • 목적지 IP를 보고 포워딩 테이블을 찾아 출력 포트를 결정
  • 속도가 너무 빠를 땐 → 대기열에 쌓임 (Queue)

 

Switching Fabric (스위칭 패브릭)

입력 포트와 출력 포트를 이어주는 고속 교차로

 

 

3가지 방식

방식 설명 병목 문제
메모리 방식 CPU가 패킷을 메모리에 복사해 이동 메모리가 느림
버스 방식 모든 포트가 버스를 공유 버스가 병목
인터커넥션 방식 고속 네트워크 구조 (예: 크로스바) 고성능, 고가

 

출력 포트란?

출구. 데이터가 나가려면 대기할 수도 있다.

 

 

기능

  • 버퍼: 한꺼번에 많은 데이터가 오면 일단 저장
  • 스케줄링: 어떤 데이터를 먼저 보낼지 결정
  • 혼잡하면 → 버퍼가 넘쳐서 데이터 유실

 

데이터가 대기하거나 손실되는 이유

출력 포트 큐잉

  • 들어오는 속도 > 나가는 속도 → 대기 발생
  • 너무 많이 쌓이면 → 패킷이 버퍼 밖으로 밀려 손실

 

입력 포트 큐잉

  • 포트는 잘 받는데 스위칭 패브릭이 느리면 → 대기
  • HOL 블로킹: 맨 앞에 있는 패킷이 막히면 뒤에 있는 것도 못 감

 

버퍼 크기 계산

예전 방식:

평균 버퍼 = 링크속도 × 왕복지연시간(RTT)
예: 10Gbps × 0.25초 = 2.5Gb

 

 

최근 주장:

플로우가 많으면 √N으로 나눠도 충분하다!

'CS > Network' 카테고리의 다른 글

[네트워크] CIDR와 서브넷 마스크  (0) 2025.06.06
[네트워크] IP  (0) 2025.06.06
[네트워크] 데이터그램, 가상회선  (0) 2025.06.06
[네트워크] Network Layer 개요  (0) 2025.06.05
[네트워크] TCP Congestion Control  (0) 2025.04.22