1. 흐름 제어 (Flow Control)
ㅇ 송신측이 수신측의 처리속도 보다 더 빨리 데이타를 보내지 못하도록 제어해 주는 것
- 수신측에서 송신측 발송 데이타의 양이나 속도를 제한 (송신측을 억제하는 형태)
. 이를위해 수신측에서 데이터 넘침을 송신측에 통보하는 피드백 메커니즘 필요
ㅇ 한편, 이를 `속도 조절(pacing)`이라고도 함 (송신,수신의 속도를 일치시키는 것)
2. 흐름제어 방식의 구분
ㅇ 송신제어 방식 ☞ 정지대기방식 (Stop and Wait) : 재전송 기반 에러제어
- 한 번에 1개씩 수신 확인하며, 프레임 단위로 흐름제어하며 전송하는 방식
. 링크상에서 보내고자하는 데이터가 프레임 길이 보다 긴 경우에는 비효율적임
ㅇ 전송률 기반 흐름제어 (Rate-based)
- 데이터 송신률에 대한 임계값 관리에 의한 흐름제어
ㅇ 윈도우 기반 흐름제어 (Window-based) ☞ 슬라이딩 윈도우 (Sliding Window)
- 여러 개의 프레임을 동시에 보내는 흐름제어 기법으로, 효율성을 강조
. 기타 윈도우 방식 : 크레디트(Credit) 윈도우 방식, 페이징(paging) 윈도우 방식
3. 흐름제어 방식의 통신 계층별 특징
ㅇ 데이터링크 계층에서, 흐름제어
- 데이터 링크의 송수신 양단 간에 송신율 및 수신율의 균형을 맞춤
ㅇ 망 계층에서, 흐름제어
- 통신망 종류에 따라, 흐름제어 기능 제공을 할 수도 안할 수도 있음
* IP계층에서 흐름제어 방식
. IP계층에서는 명시적인 흐름제어 기능이 없음
. 그 상위계층(즉, 전송계층)에서 흐름제어 기능을 제공함
. 다만, IP계층에서는 송수신 버퍼 정도의 기능은 제공하게됨
ㅇ 전송 계층에서, 흐름제어
- 단일 데이터 링크 간이 아닌, 전송계층 종단-대-종단 간에 흐름제어 기능을 수행함
* 전송계층 상에서의 흐름제어는 구현이 복잡 ☞ TCP 혼잡제어 참조
. 전송지연이 매우 가변적이므로,
. 링크계층 처럼 단순한 재전송(시간만료) 메커니즘을 사용하기 어려움
* [참고] ☞ 트래픽제어 흐름제어 혼잡제어 비교 참조