흐름 제어(데이터)

Flow control (data)

데이터 통신에서 흐름 제어는 두 노드 간의 데이터 전송 속도를 관리하는 프로세스로, 빠른 송신기가 느린 수신기를 과부하시키는 것을 방지합니다.수신측 노드가 송신 노드로부터의 데이터로 과부하가 되지 않도록 수신측에서 전송 속도를 제어하는 메커니즘을 제공합니다.흐름 제어는 폭주가 실제로 발생했을 때 데이터 흐름을 [1]제어하기 위해 사용되는 폭주 제어와 구별해야 합니다.플로우 제어 기구는, 수신 노드가 송신 노드에 피드백을 송신하는지 아닌지에 의해서 분류할 수 있다.

플로우 제어는 송신지 컴퓨터가 수신 및 처리할 수 있는 속도보다 빠른 속도로 정보를 전송할 수 있기 때문에 중요합니다.이 문제는 수신 시스템이 송신 시스템에 비해 트래픽 부하가 크거나 수신 시스템이 송신 시스템에 비해 처리 능력이 낮은 경우에 발생할 수 있습니다.

정지 및 대기

Stop-and-Wait 흐름 제어는 흐름 제어의 가장 단순한 형태입니다.이 방법에서는 메시지는 여러 프레임으로 분할되며 수신자는 데이터 프레임을 수신할 준비가 되어 있음을 나타냅니다.송신자는, 지정된 시간(타임 아웃이라고 불린다) 동안, 모든 프레임 후에 수신 확인 응답(ACK)을 기다립니다.수신측은 ACK 를 송신해, 데이터의 프레임이 올바르게 수신되고 있는 것을 송신자에게 통지합니다.그 후, 송신측은 ACK 후에만 다음 프레임을 송신합니다.

운용

  1. 송신자:한 번에 1 프레임씩 송신합니다.
  2. 송신측은, 타임 아웃 이내에 ACK 를 수신할 때까지 대기합니다.
  3. 수신기:프레임을 수신하면 ACK 를 송신합니다.
  4. ACK 를 수신했을 경우, 또는 타임 아웃이 히트 했을 경우는, 순서 1 로 진행됩니다.

프레임 또는 ACK 가 송신중에 없어지면, 프레임이 재발송신 됩니다.이 재전송 프로세스는, ARQ(자동 반복 요구)라고 불립니다.

Stop-and-Wait 의 문제는, 송신측이 ACK 를 수신할 때까지는 새로운 패킷을 송신할 수 없기 때문에, 한 번에 송신할 수 있는 프레임은 1 개뿐이며, 그 때문에, 전송 효율이 저하하는 경우가 많습니다.이 시간 동안 송신측과 채널은 모두 사용되지 않습니다.

정지 및 대기 장단점

장점

이 흐름 제어 방식의 유일한 장점은 단순함입니다.

단점

송신측은, 송신하는 프레임 마다 ACK 를 기다릴 필요가 있습니다.이것은 비효율의 원인입니다.전파 지연이 전송 [2]지연보다 훨씬 긴 경우 특히 나빠집니다.

또, 정지해 대기하면,[3] 장시간의 송신시에 효율이 저하하는 일이 있습니다.전송 시간이 길어지면 이 프로토콜에서 오류가 발생할 가능성이 높아집니다.메시지가 짧으면 오류가 조기에 검출될 가능성이 높아집니다.단일 메시지가 별도의 프레임으로 분할되면 전송 시간이 [4]길어지기 때문에 비효율성이 높아집니다.

미닫이창

수신기가 송신기에 창문이 가득 찰 때까지 데이터를 송신할 수 있는 권한을 부여하는 흐름 제어 방법.창이 가득 차면 수신기가 더 큰 [5]창을 애드버타이즈할 때까지 송신기는 전송을 정지해야 합니다.

슬라이딩 윈도우 흐름 제어는 버퍼 크기가 제한되고 사전 설정된 경우에 가장 적합합니다.송신측과 수신측 사이의 통상의 통신중에, 수신측은 n 프레임(n은 프레임 단위의 버퍼 사이즈)에 버퍼 영역을 할당합니다.송신자는 확인 응답을 기다릴 필요 없이 송신할 수 있으며 수신자는 n개의 프레임을 받아들일 수 있습니다.확인 응답을 수신한 프레임을 추적하기 위해 시퀀스 번호가 프레임에 할당됩니다.수신자는 예상되는 다음 프레임의 시퀀스 번호를 포함한 확인 응답을 전송함으로써 프레임을 확인합니다.이 확인 응답은 수신자가 지정된 수부터 시작하여n 개의 프레임을 수신할 준비가 되어 있는 것을 통지합니다.송신측과 수신측 모두, 이른바 윈도우를 유지합니다.창의 크기가 버퍼 크기보다 작거나 같습니다.

슬라이딩 윈도우 플로우 제어는 스톱 앤 웨이트 플로우 제어보다 훨씬 뛰어난 성능을 발휘합니다.예를 들어 무선 환경에서는 데이터 레이트가 낮고 노이즈레벨이 매우 높은 경우 전송되는 모든 패킷에 대한 확인 응답을 기다리는 것은 그다지 실현 가능하지 않습니다.따라서 데이터를 대량으로 전송하면 throughput이 높아집니다.

슬라이딩 윈도우 흐름 제어는 현재 데이터 전송이 완료될 때까지 다른 엔티티가 통신을 시도하지 않는다고 가정하는 포인트 투 포인트 프로토콜입니다.송신자가 관리하는 창에는, 송신할 수 있는 프레임이 표시됩니다.송신측은, 창내의 모든 프레임을 송신해, 확인 응답을 기다립니다(프레임 마다의 확인 응답이 아닙니다).그 후, 송신측은 창을 대응하는 시퀀스 번호로 이동해, 현재의 시퀀스 번호로부터 개시하는 윈도우내의 프레임을 송신할 수 있는 것을 나타냅니다.

되돌아가다N

Automatic Repeat Request(ARQ; 자동 반복 요구) 알고리즘.오류 수정에 사용됩니다.부정 확인 응답(NACK)에 의해, 다음의 N-1 워드의 재발송신이 발생합니다.통상, N 워드의 송신에 걸리는 시간이 송신기에서 수신기로의 라운드 트립 지연보다 짧아지도록, N 의 값이 선택됩니다.따라서 수신측에서는 버퍼가 필요 없습니다.

정규화된 전파 지연 (a) =전파 시간(Tp)은 전송 시간(Tt)을 나타냅니다. 여기서 Tp = 길이(L)/전파 속도(V) 및 Tt = 비트레이트(r)/프레임레이트(F)).따라서 a =LF δVr.

사용률을 얻으려면 창 크기(N)를 정의해야 합니다.N이 2a + 1 이상일 경우 전송 채널의 사용률은 1(전체 사용률)입니다.2a + 1보다 작을 경우 [6]N11+2a 방정식을 사용하여 사용률을 계산해야 합니다.

선택 반복

선택적 반복은 송신기와 수신기가 모두 시퀀스 번호의 창을 갖는 연결 지향 프로토콜입니다.프로토콜에는 승인 없이 보낼 수 있는 최대 메시지 수가 있습니다.이 창이 가득 차면 가장 빠른 미결 메시지에 대한 확인 응답을 수신할 때까지 프로토콜이 차단됩니다.이 시점에서 송신기는 더 많은 [7]메시지를 보낼 수 있습니다.

비교

이 섹션은 정지 및 대기, 슬라이딩 윈도우와 되돌아가기N 선택 반복의 서브셋을 비교하기 위한 것입니다.

정지 및 대기

오류 없음: + [citation needed]

오류 발생: - a + ({[citation needed]

선택 반복

throughput T는 전송 블록당 전달되는 평균 블록 수로 정의합니다.블록을 통신하는 데 필요한 평균 전송 횟수(0)를 계산한 다음 b = 1 b = 1 b {1} { [citation needed] } 에서 T를 구하는 것이 더 편리합니다.

송신 흐름 제어

송신 흐름 제어는 다음과 같습니다.

  • 데이터 단말 장치(DTE)와 스위칭 센터 간에 데이터 회선 종단 장치(DCE)를 통해 직접 상호 연결된 반대 타입의 데이터 단말 장치(DTE)와 스위칭 센터(Switching Center)를 사용합니다.
  • 또는 같은 타입의 2개의 디바이스(2개의 DTE 또는2개의 DCE)간에 크로스 케이블로 상호 접속됩니다.

전송 레이트는, 네트워크 또는 DTE 의 요건에 의해서 제어되는 경우가 있습니다.송신 플로우 제어는, 데이터 전송의 2방향으로 독립적으로 실시할 수 있기 때문에, 한쪽 방향의 전송 레이트를 다른 방향의 전송 레이트와 달리 할 수 있습니다.송신 흐름 제어는

흐름 제어 실행 가능

하드웨어 흐름 제어

일반적으로 RS-232에는 하드웨어 흐름 제어라고 하는 제어 라인의 쌍이 있습니다.

하드웨어 흐름 제어는 일반적으로 DTE 또는 "마스터 엔드"에 의해 처리됩니다.마스터 엔드는 처음에 다른 쪽을 명령하기 위해 회선을 올리거나 어설션하기 때문입니다.

  • RTS 제어 흐름의 경우 DTE는 반대쪽 끝(DCE 등의 슬레이브 끝)에 신호를 보내는 RTS를 설정하여 데이터 입력 회선의 감시를 시작합니다.데이터 준비가 되면 슬레이브 엔드는 보완 회선(이 예에서는 CTS)을 올립니다.이것은 마스터가 데이터 전송을 시작하고 마스터가 슬레이브의 데이터 출력 회선 감시를 시작하도록 신호를 보냅니다.어느 한쪽이 데이터를 정지할 필요가 있는 경우는, 각각의 「데이터 준비」행은 낮아집니다.
  • PC-to-modem 및 이와 유사한 링크의 경우 DTR/DSR이 모뎀세션 전체에 대해 올라가고(예를 들어 DTR이 올라가고 모뎀이 다이얼을 하고 접속이 완료되면 DSR이 모뎀에 의해 올라가고), 블록 데이터별로 RTS/CTS가 올라갑니다.

하드웨어 흐름 제어의 예로는 반이중 무선 모뎀과 컴퓨터인터페이스가 있습니다이 경우 모뎀과 컴퓨터의 제어 소프트웨어는 모뎀이 수신을 검출했을 때 CTS를 낮춤으로써 컴퓨터로부터의 발신 데이터가 일시 정지되도록 착신 무선 신호에 우선순위를 부여하도록 기술될 수 있습니다.

  • 극성:
    • RS-232 레벨 신호는 드라이버 IC에 의해 반전되므로 라인 극성은 TxD-, RxD-, CTS+, RTS+(HI, 데이터 1이 LO일 때 전송 클리어)
    • 마이크로프로세서 핀의 경우 신호는 TxD+, RxD+, CTS-, RTS-(LO, 데이터 1이 HI일 때 전송 클리어)입니다.

소프트웨어 흐름 제어

반대로 XON/XOFF는 보통 소프트웨어 흐름 제어라고 불립니다.

개방 루프 흐름 제어

오픈 루프 플로우 제어 메커니즘은 수신기와 송신기 사이에 피드백이 없는 것이 특징입니다.이 간단한 제어 수단은 널리 사용되고 있습니다.자원 할당은 "사전 예약" 또는 "홉 투 홉" 유형이어야 합니다.

오픈 루프 플로우 제어에는 네트워크리소스의 사용률을 최대화하는 고유의 문제가 있습니다.리소스 할당은 CAC(Connection Admission Control)를 사용하여 접속 셋업 시 이루어지며, 이 할당은 접속 라이프 타임 중에 이미 "오래된" 정보를 사용하여 이루어집니다.대부분의 경우 리소스가 과도하게 할당되어 예약되었지만 사용되지 않은 용량이 낭비됩니다.오픈 루프 플로우 제어는 CBR, VBRUBR 서비스에서 ATM에 의해 사용됩니다(「트래픽 계약 및 congestion 제어」[1]를 참조).

개방 루프 흐름 제어에는 컨트롤러와 레귤레이터의 두 가지 컨트롤이 포함되어 있습니다.레귤레이터는 컨트롤러로부터의 신호에 따라 입력 변수를 변경할 수 있습니다.오픈 루프 시스템에는 피드백 또는 피드 포워드 메커니즘이 없기 때문에 입력 및 출력 신호는 직접 관련되지 않으며 트래픽 변동성이 증가합니다.이러한 시스템에서는 도착률이 낮고 손실률도 높아집니다.개방형 제어 시스템에서는 컨트롤러가 레귤레이터를 정기적으로 작동할 수 있지만 출력 변수를 원하는 수준으로 유지할 수 있다는 보장은 없습니다.이 모델을 사용하는 것이 더 저렴할 수 있지만, 오픈 루프 모델은 불안정할 수 있습니다.

폐쇄 루프 흐름 제어

클로즈드 루프 플로우 제어 메커니즘은 보류 중인 네트워크 congestion를 트랜스미터에 보고할 수 있는 것이 특징입니다.그 후, 이 정보는 송신기에 의해서 기존의 네트워크 상태에의 액티비티를 적응시키기 위해서 다양한 방법으로 사용됩니다.폐쇄 루프 플로우 제어는 ABR에 의해 사용됩니다(「트래픽 계약 및 congestion 제어」[1]를 참조).위에서 설명한 송신 흐름 제어는 폐쇄 루프 흐름 제어의 한 형태입니다.

이 시스템에는 센서, 송신기, 컨트롤러 및 레귤레이터와 같은 모든 기본 제어 요소가 통합되어 있습니다.센서는 프로세스 변수를 캡처하는 데 사용됩니다.프로세스 변수는 트랜스미터로 전송되고 트랜스미터는 변수를 컨트롤러로 변환합니다.컨트롤러는 원하는 값에 대한 정보를 검사하고 필요에 따라 수정 액션을 시작합니다.그런 다음 컨트롤러는 출력 변수 값이 원하는 값과 일치하는지 확인하기 위해 필요한 조치를 레귤레이터에 전달합니다.따라서 출력 변수를 원하는 수준으로 유지할 수 있다는 높은 확신이 있습니다.폐쇄 루프 제어 시스템은 피드백 또는 피드 포워드 시스템일 수 있습니다.

피드백 클로즈드 루프 시스템은 입력 신호와 출력 신호를 직접 관련짓는 피드백 메커니즘을 가진다.피드백 메커니즘은 출력 변수를 모니터링하여 추가 보정이 필요한지 여부를 판단합니다.역방향으로 공급되는 출력 변수 값은 레귤레이터에서 수정 액션을 시작하는 데 사용됩니다.업계에서 대부분의 제어 루프는 피드백 유형입니다.

피드포워드 클로즈드 루프 시스템에서 측정된 프로세스 변수는 입력 변수이다.측정된 신호는 피드백 시스템과 동일한 방식으로 사용됩니다.

Closed-Loop 모델에서는 손실률 및 큐잉 지연이 낮아지고 congestion 응답 트래픽이 발생합니다.폐루프 모델은 액티브 최저값의 수에 경계가 있기 때문에 항상 안정적입니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b c 네트워크 테스트 솔루션, ATM 트래픽 관리 화이트 페이퍼에서는 2005년 3월 15일에 마지막으로 액세스했습니다.
  2. ^ "ERROR CONTROL" (PDF). 28 September 2005. Retrieved 10 November 2018.
  3. ^ arun (20 November 2012). "Flow Control Techniques". angelfire.com. Retrieved 10 November 2018.
  4. ^ "last accessed 1 December 2012". people.bridgewater.edu. 1 December 2012. Retrieved 10 November 2018.
  5. ^ Webster Dictionary 정의는 2012년 12월 3일에 마지막으로 액세스되었습니다.
  6. ^ 포커스 텔레커뮤니케이션 사전, 포커스 프레스는 2012년 12월 3일에 마지막으로 접속했다.
  7. ^ Selective Repeat Protocol을 사용한 보조 HF 무선 통신 시스템을 통한 데이터 전송은 2012년 12월 3일에 마지막으로 액세스되었습니다.

슬라이딩 윈도우:

  • [1]은(는) 2012년 11월 27일에 마지막으로 액세스했습니다.

외부 링크