정의 이더넷 흐름 제어는 이더넷 네트워크에서 데이터 송신자와 수신자 간의 데이터 전송 속도를 조절하여 수신 측의 버퍼 오버플로를 방지하고 데이터 손실을 막기 위한 메커니즘이다. 이는 주로 OSI 모델의 데이터 링크 계층(Layer 2)에서 작동하며, 전이중(full-duplex) 통신 환경에서 사용된다.
개요 네트워크 통신에서 송신자는 수신자보다 빠르게 데이터를 전송할 수 있으며, 이로 인해 수신자의 버퍼가 가득 차 데이터가 손실될 위험이 있다. 이더넷 흐름 제어는 이러한 문제를 해결하기 위해 고안되었다. 가장 널리 사용되는 이더넷 흐름 제어 방식은 IEEE 802.3x 표준에 정의된 PAUSE 프레임(Pause Frame) 기반의 방식이다.
PAUSE 프레임 방식은 수신 측 포트의 버퍼가 특정 임계값에 도달하면, 해당 수신 측이 송신 측으로 PAUSE 프레임을 전송하여 일정 시간 동안 데이터 전송을 중단하도록 요청한다. 송신 측은 이 PAUSE 프레임을 받으면 지정된 시간 동안 해당 포트로의 데이터 전송을 멈추고, 시간이 만료되거나 재개 프레임을 받으면 다시 전송을 시작한다. 이 방식은 데이터 손실을 효과적으로 방지할 수 있지만, 헤드 오브 라인(Head-of-Line, HOL) 블로킹과 같은 문제점을 야기할 수 있어 특정 환경에서는 개선된 흐름 제어 방식이 사용되기도 한다.
어원/유래 '이더넷(Ethernet)'은 1970년대 제록스 파크(Xerox PARC)에서 개발된 근거리 통신망(LAN) 기술의 이름에서 유래했다. '흐름 제어(Flow Control)'는 데이터 통신 분야에서 보편적으로 사용되는 용어로, 송수신 간 데이터 처리 속도 불균형을 관리하는 일반적인 개념을 의미한다.
'이더넷 흐름 제어'라는 용어는 이더넷 기술 표준인 IEEE 802.3에 데이터 링크 계층의 흐름 제어 기능이 통합되면서 확립되었다. 특히 1997년에 승인된 IEEE 802.3x 표준은 전이중 이더넷 환경을 위한 흐름 제어 메커니즘을 정의하면서 이 개념을 구체화했다.
특징 이더넷 흐름 제어의 주요 특징은 다음과 같다.
- PAUSE 프레임 (IEEE 802.3x):
- 전이중(full-duplex) 이더넷 환경에서만 작동한다.
- MAC 제어 프레임의 일종으로, 표준 이더넷 프레임 포맷을 따른다.
- 수신 장치가 버퍼 오버플로가 임박했을 때 송신 장치로 PAUSE 프레임을 전송한다.
- PAUSE 프레임에는 'PAUSE 타임(pause_time)'이라는 16비트 필드가 포함되어 있으며, 이는 데이터 전송을 중단할 시간을 쿼드 비트 시간 단위(512 비트 시간)로 명시한다.
- 송신 장치는 PAUSE 프레임을 받으면 해당 시간 동안 데이터 전송을 일시 중지한다.
- PAUSE 타임이 0인 PAUSE 프레임(재개 프레임)은 즉시 전송을 재개하라는 신호로 사용된다.
- 작동 계층: 주로 데이터 링크 계층(OSI Layer 2)에서 링크 단위로 작동한다.
- 장점:
- 구현이 비교적 간단하다.
- 수신 버퍼 오버플로로 인한 데이터 손실을 효과적으로 방지할 수 있다.
- 단점:
- 헤드 오브 라인(Head-of-Line, HOL) 블로킹: 특정 포트에서 혼잡이 발생하여 PAUSE 프레임이 전송되면, 해당 포트를 통해 전송되는 모든 트래픽(혼잡하지 않은 트래픽 포함)이 일시적으로 중단된다. 이는 지연에 민감한 트래픽에 부정적인 영향을 미칠 수 있다.
- 전역적(global) 효과: 스위치와 같은 공유 장비에서는 특정 포트의 PAUSE 프레임이 전체 스위치의 성능에 영향을 줄 수 있다.
- 비효율성: 장거리 네트워크나 다중 홉(multi-hop) 환경에서는 PAUSE 프레임의 전파 지연으로 인해 효과가 반감되거나 오히려 비효율적일 수 있다.
- 개선된 방식 (우선순위 기반 흐름 제어, PFC):
- 데이터센터 환경에서 PAUSE 프레임의 HOL 블로킹 문제를 해결하기 위해 IEEE 802.1Qbb 표준에 정의된 우선순위 기반 흐름 제어(Priority-based Flow Control, PFC)가 도입되었다.
- PFC는 802.1Q VLAN 태그에 포함된 우선순위 값(PCP 필드)을 기반으로 특정 트래픽 클래스에 대해서만 흐름 제어를 적용할 수 있도록 한다. 이를 통해 HOL 블로킹 없이 특정 트래픽(예: FCoE)에 대한 비손실(lossless) 전송을 보장할 수 있다.
관련 항목
- 이더넷 (Ethernet)
- 흐름 제어 (Flow Control)
- IEEE 802.3
- IEEE 802.3x
- IEEE 802.1Qbb (Priority-based Flow Control, PFC)
- 데이터센터 브릿징 (Data Center Bridging, DCB)
- 비손실 이더넷 (Lossless Ethernet)
- 헤드 오브 라인 블로킹 (Head-of-Line Blocking)