라우터에서 어떤 일이 벌어지는지를 이해시키기 위한 도입 슬라이드.
네트워크 계층이 수행하는 핵심 기능인 forwarding과 routing을 구분해서 소개한다.
Forwarding: 개별 라우터가 패킷을 어느 출력 포트로 보낼지 결정하는 기능
Routing: 출발지에서 목적지까지 어떤 경로를 거칠지 전체 경로를 설정하는 기능
🐣 여행 갈 때 경로 전체를 짜는 게 routing, 각 고속도로 나들목에서 어디로 빠질지 결정하는 게 forwarding
앞에서 소개한 forwarding과 routing 개념을 좀 더 구조적으로 정리한 슬라이드.
Network layer는 두 부분으로 나뉜다: Data plane과 Control plane
Data plane
로컬, 라우터 하나 내에서 작동
패킷이 들어오면 어떤 출력 포트로 나갈지를 결정
즉, forwarding 기능 담당
Control plane
네트워크 전체의 경로 결정 로직
패킷이 어떤 경로를 따라갈지 계산하는 global 기능
forwarding 동작에 필요한 forwarding table을 제공
→ 이 구분은 이후 라우터 구조나 SDN의 이해를 위한 핵심 기반이다.
두 가지 control-plane 구현 방식도 함께 강조됨
traditional routing algorithms: 각 라우터에서 자체적으로 실행됨
software-defined networking (SDN): 중앙 서버에서 계산해서 라우터에 전달됨
🐣 Data plane은 “택배 상자를 어느 출입문으로 내보낼지 결정하는 자동 분류기”이고,
Control plane은 “어떤 경로로 배송할지 전체 배송 전략을 짜는 관리자”와 같아
전통적인 라우팅 방식 설명.
각 라우터에 라우팅 알고리즘이 독립적으로 존재하고 서로 통신하며 라우팅 테이블을 계산한다.
각 라우터가 control plane 기능을 자체적으로 수행함
대표적인 구현 예: RIP, OSPF
🐣 마치 각 지역 경찰서가 자체적으로 범죄 예방 계획을 세우고 주변 경찰서와 협력하는 방식
SDN(Software Defined Networking)의 기초 개념을 소개.
라우터의 control 기능을 중앙 서버에서 관리하는 구조다.
로컬 control agent(CA)가 중앙 controller와 통신
라우팅 로직은 중앙에서 수행되고 각 라우터로 전달됨
🐣 각 지역 경찰이 직접 판단하는 대신, 중앙청에서 모든 경찰서를 통제하는 구조
이제 "Network Layer가 사용자에게 어떤 서비스를 제공할 수 있는가"에 대한 질문을 던진다.
이는 네트워크 설계 시 고려되는 목표들을 정리한 부분.
개별 datagram에 대해: 보장된 도착, 지연 시간 제한 등
흐름(flow)에 대해: 순서 보장, 최소 대역폭, 간격 유지 등
위 슬라이드의 개념을 구체적인 네트워크 아키텍처 별로 나열한다.
Internet, ATM 등에서 어떤 서비스 모델을 제공하는지를 비교한다.
-Internet: best effort (보장 없음)