정의 : 송신시가 확인 응답(ACK)을 기다리기 전에 보낼 수 있는 데이터의 양을 제한시키기 위해 사용되는 기법
목적(아래 두가지 방지 목적)
- 수신 장치에서 유입되는 데이터 처리 속도보다 유입속도가 더 빠르면 버퍼를 초과하여 (overflow)로 인한 데이터의 손실 생김
- 데이터 손실은 재전송을 유발하며 이는 네트워크 자원을 낭비하게됨
[흐름 제어의 종류] Xon / Xoff , RTS / CTS, Sliding Window 기법
Xon / Xoff
단순한 흐름제어 통신방법
ANSI/IA5 문자중 Ctrl-Q(DC1)와 Ctrl-S(DC3)로 표현?
컴퓨터와 주변기기간의 비동기 통신 제어에 사용되는 프로토콜
모뎀에서 데이터의 흐름제어를 위해 사용
(1) 특징
- 컴퓨터와 주변기기간의 상이한 전송속도로 인해 발생되는 통신상의 문제를 해경
- 부호화된 문자로 비트통신에서 인식되지 않을 가능성
- 수신측이 송신측의 데이터 송신을 제어
- 수신측이 주가된다
(2) 동작과정
① 컴퓨터는 프린터에게 출력할 데이터를 전송
② 컴퓨터가 보내는 속도보다 프린터가 출력하는 속도가 느리기 떄문에 프린터는 버퍼가 꽉차게 되면 Xoff를 보내어 컴퓨터의 송신을 잠시 멈춤
③ 버퍼에 여유가 생기면 프린터는 다시 컴퓨터에게 송신을 하라는 Xon을 전송
④ 컴퓨터는 데이터를 계속해서 송신
⑤ 이러한 과정이 컴퓨터가 데이터를 모두 송신할 떄 까지 계속
RTS / CTS ( Request To Send / Clear To Send )
주로 EIA-232에 사용
모뎀을 이용해 서로 상이한 보오율(baud rate) 상에서 통신할 떄 보오율을 맞추기 위해 사용되기도 함
산업용 네트워크에서 사용
(1) 특징
- 네트워크상 통신이 없는 상황에서도 충돌방지를 위해 상호간 전송예비신호 전송
- 특정 핀을 이용하여 원하는 신호 전달
(2) 동작과정
- A는 보내고자 하는 데이터가 있을 때 4번 핀을 이용해 RTS신호 set(raising:1)
- B는 이에 받을 준비가 되었다는 CTS 5번 핀을 set(raising:1)
- A는 응답을 받고, 2번 핀을 이용하여 실제 데이터를 전송
- 이때 B측이 데이터를 더 이상 받지 않기를 원하면 5번 핀을 reset(lowering:0)
- A는 이를 알아채로 데이터 송신 중단
Sliding-window (연속적 ARQ)
송신측의 송신된 하나의 프레임과 수신측의 수신확인 프레임간의 1:1 대응 방식을 탈피
- 송수신측에 버퍼를 이용한 전송방식
- 수신측의 응답방식은 포괄적 수신확인 허용
포괄적 수신확인 : 1~4번 프레임까지 정상적으로 받았으면, ACK5 라고 보내, 4번까지 잘 받았고 5번 받을 차례임을 알린다.
(1) 특징
- 수신측으로부터 응답 메시지가 없더라도 미리 약속한 윈도우크기 만큼의 데이터 프레임을 전송
- 송수신측 모두 같은 크기의 윈도우 크기 갖음
- 수신측은 ACK를 이용하여 송신측 윈도우의 크기를 조절 전송속도 제한
(2) 동작과정(예시)
① 처음 송, 수신측은 프레임0 부터 7개의 프레임을 송신할 수 있는 윈도우를 가진다(윈도우 크기는 8로 정의함)
② 송신측은 응답없이 2개의 프레임을 전송한 후, 윈도우를 5개로 줄인다.
③ 수신측은 ACK2(포괄적수신) 전송.
- 1번 프레임까지 잘받았고 2번프레임 수신준비
- 2번 프레임부터 7개 프레임 수신 준비(2~7, 0프레임)
④ 송신측은 2번프레임 전송하고 ACK3 받고 다시 3,4,5번 프레임 전송하게 되고 ACK6 수식
'컴퓨터공학1학년 > 데이터통신' 카테고리의 다른 글
[데이터 링크 프로토콜] 비동기 데이터 링크 프로토콜 (0) | 2020.06.09 |
---|---|
[데이터 링크 프로토콜] 회선제어방식 (0) | 2020.06.08 |
[에러 복구] ARQ와 FEC를 이용한 에러 (0) | 2020.06.02 |
[에러 제어] 해밍 코드 (0) | 2020.06.02 |
[에러 복구]에러 복구 방법 (0) | 2020.06.02 |
3년차 WPF 개발자입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!