라우터의 전체 구조를 한눈에 보여주는 도입 슬라이드.
앞서 나온 data/control plane 개념이 하드웨어 구조에 어떻게 대응되는지 설명하기 위해 등장.
🐣 택배 분류 공장으로 치면,
포장 상자를 자동 분류기에 태우는 작업이 data plane,
배송 경로를 컴퓨터로 계산하는 관리자가 control plane이야
라우터의 입력 포트에서 어떤 일이 벌어지는지 설명.
Decentralized switching 개념이 핵심.
여기서 두 가지 forwarding 방식이 구분되어 소개됨:
Destination-based forwarding
→ 전통적 방식, 목적지 IP 주소만을 기반으로 출력 포트 결정
Generalized forwarding
→ 다양한 헤더 필드 조합(IP, 포트 등)을 기반으로 출력 포트 결정
→ SDN 등에서 활용됨
🐣 주소지만 보고 택배를 보내는 게 destination-based라면,
택배 종류, 무게, 시간대 등을 다 고려해서 보내는 게 generalized forwarding이야
Decentralized switching 방식의 구체 예시.
IP 주소 범위에 따라 출력 포트를 정하는 방식이다.
전통적인 destination-based forwarding 방식의 문제를 해결하기 위해 사용.
주소가 여러 범위와 매치될 수 있을 때, 가장 긴 prefix로 매칭한다.
🐣 “서울시 마포구 상암동”과 “서울시 마포구”가 동시에 후보일 때,
더 구체적인 상암동 주소를 선택하는 것처럼 작동해
입력 포트에서 출력 포트로 패킷을 실제로 이동시키는 하드웨어 구성
스위칭 속도에 따라 전체 성능이 좌우됨
가장 오래된 방식.
CPU가 직접 메모리에 패킷을 복사하여 처리하는 구조.
공유 버스를 통해 포트 간 이동
하나의 버스를 공유하므로 병목 발생 가능
crossbar, banyan network 등 고속 연결 네트워크 사용
버스 대역폭 한계를 해결하려는 고급 설계
🐣 백화점 물류창고에서 컨베이어 벨트를 여러 줄로 나눠 더 많은 상자를 동시에 처리하는 구조와 비슷해
스위칭 패브릭이 입력 속도를 따라가지 못할 경우 큐잉 발생
여기서 중요한 문제: Head-of-Line (HOL) blocking
🐣 출입문에서 앞사람이 멈춰서 있으면 뒷사람도 못 나가는 상황과 같아
출력 포트도 버퍼링이 필요함.
스위칭 패브릭에서 나오는 속도가 링크 송신 속도보다 빠를 경우 큐잉 발생
실제 큐 동작 예시를 보여주는 슬라이드.
입력 → 출력으로 넘어가면서 발생하는 큐잉과 패킷 손실을 시각적으로 설명
버퍼는 얼마나 필요할까에 대한 기준 제시
출력 포트에서 어떤 패킷을 먼저 보낼지 결정하는 정책들 소개
우선순위를 기반으로 한 스케줄링
🐣 응급환자가 병원 대기열에서 먼저 진료 받는 것과 비슷해
여러 스케줄링 방식의 추가 설명