:: ADVANCE ::

[데이터 통신] Flow control 본문

Study/Network

[데이터 통신] Flow control

KSJ14 2014. 12. 4. 06:41
반응형

[데이터 통신] Flow Control   

 

Data link layer 에서는 physical layer에서 보낸 bit를 처리한다.

수신단에서 받은 데이터가 송신단에서 보낸 데이터와 같은지를 처리하는 과정인 Error controlFlow control을 한다. 이는 수신되는 데이터를 buffer에 쌓고 처리를 하는데 이 때 buffer size를 초과하였는데도 수신을 한다면 data overflow로 인해 data 손실이 있을 수 있다. 이를 방지하기 위해 하는 작업이 Flow control이다..

 

Flow control에는 3가지 방식이 있다.

-  RTS / CTS ( Request to Send / Clear to Send )

-  Stop & Wait

-  Sliding window

 

 

 

1. RTS / CTS

- RT-232

  송신단에서 data를 전송하기 전 전송해도 되냐는 의미의 RTS 전송

  수신단에서는 송신단에서 보낸 RTS를 받고 data를 받을 수 있는 상태이면 

(buffer가 가득차지 않았다던가 하는)

  송신단에게 CTS를 전송한다.

  송신단에서는 CTS를 수신하면 data를 전송한다.

  data를 전송한 뒤 모두 전송하였다는 의미의 CTS_off를 전송한다.

- 이 과정은 주로 Data link layer 중에서 MAC packet에 많이 쓰이고 있다.

 

 

2. Stap & Wait

- 가장 간단하여 flow control의 기본이 되는 방식이다.

 

  송신단에서 data frame 전송, ACk 신호를 Wait

  수신단에 frame 도착, ACK 신호를 전송

  송신단에서 ACK 신호를 받고서 다음 frame을 전송한다.

 

  이 때 송신단에서는 ACK 신호를 무작정 기다릴 수 없으므로

  time limit를 두어 그 시간이 지났을 경우 다시 같은 frame을 전송한다.

 

이  방식은 두 가지 경우에 대해 생각해 볼 수 있다.

* Propagation time (전파 지연 / 전파 시간) :

- 송신단에서 출발하여 수신단에 도착하기 까지 걸리는 시간 또는 지연 시간

* Transmission time (전송 시간) :

- 송신단에서 송신하기 위해 data를 모두 내보내는데 걸리는 시간

  data를 모두 전송하는데 걸리는  시간

 

① Propagation time < Transmission time  

  : 전송은 금방하지만, 전송하기 위해 통과하는 시간이 오래걸릴 때

  => 상대적으로 채널을 거의 점유하였기 때문에 성능이 더 좋다고        할 수 있다.

  => 동기화 하기에 적합하다

 Propagation time > Transmissin time

: 통과 시간은 금방이나 전송하는 도중의 시간이 오래 걸릴 때 

  -> 장거리 전송인 경우, high data rate

  => 이 경우에는 channel utilization 이 좋지 않다 

      채널 점유량을 늘리기 위해서 data를 일정하게 전송하면 된다.

 

 

반응형

'Study > Network' 카테고리의 다른 글

IP와 MAC 주소  (2) 2016.10.22
[데이터 통신] Flow control _Sliding window  (0) 2014.12.04
[데이터 통신] CRC 2 (hardware)  (0) 2014.12.04
[데이터 통신] CRC 1  (0) 2014.12.04
[데이터 통신] OSI 7  (0) 2014.10.16
Comments