Network·2025. 06. 13
Generalized Forwarding
-
패킷 헤더의 특정 비트를 검사(match)하고, 그에 따른 동작을 수행(action)하는 방식
-
기존에는 단순히 목적지 IP 주소만 보고 전달했지만, 이제는 더 많은 필드를 보고, 더 다양한 행동을 할 수 있음
-
패킷이 도착하면, 헤더 값을 추출함. 플로우 테이블에서 일치하는 규칙(match)을 찾고 해당 행동(action)을 수행
구분 전통적인 Forwarding Generalized Forwarding 기준 필드 목적지 IP 주소 IP 외에도 MAC, 포트 번호, 프로토콜 등 다양한 헤더 필드 가능한 동작 전달 (forward) 전달, 삭제(drop), 복사(copy), 수정(modify), 로그(log), 컨트롤러로 전달 구현 위치 라우터 내 고정 로직 프로그래머블한 흐름 테이블 기반 표 형식 포워딩 테이블 플로우 테이블 (flow table)
Flow table
-
Flow Table은 라우터나 스위치 내부에 있는 테이블로 “어떤 조건의 패킷이 들어오면, 어떤 동작을 해라” 라는 규칙들이 들어 있음
항목 설명 match 어떤 헤더 필드 값들과 일치하는지를 나타냄 action 일치 시 수행할 동작 (forward, drop, modify, controller로 전송 등) priority 여러 규칙이 동시에 일치할 때 어떤 것을 우선 적용할지 counters 해당 규칙에 일치한 패킷 수, 바이트 수 등 통계 정보 유지 -
동작 흐름
- 패킷이 도착하면 Flow Table에서 match 조건을 순서대로 검사함
- 가장 우선순위 높은 일치하는 규칙 찾고, 그에 따라 지정된 action 수행
- 해당 카운터 증가
-
장점
- 특정 사용자, 특정 포트, 특정 서비스에 따라 맞춤 처리
- 컨트롤러가 동적으로 flow rule을 설정 가능 (e.g., OpenFlow)
- 어떤 플로우가 얼마나 많은 데이터를 쓰는지 추적 가능
- 미리 설정된 규칙으로 위험 패킷을 차단하거나 감시 가능