요약

  • RFC 1008은 ISO 전송의 선택적 흐름 제어 확인을 설명한다. 닫힌 신용 창을 다시 여는 AK가 사라졌을 때 받는 쪽은 짧은 간격으로 AK를 재전송하고, 보내는 쪽의 FCC 매개변수가 담긴 AK를 받으면 빠른 재전송을 멈출 수 있다.
  • Wayne McCoy는 1987년 6월 당시 FCC의 실제 사용 경험이 보고되지 않았다고 적었다. 답이 없으면 빠른 재전송은 정해진 최대 횟수에서 끝나고 보통 창 타이머가 다시 일을 맡는다.

전송이 끝나기를 기다리는 사람에게는 아무 일도 일어나지 않는 시간이다. 장비 안에서는 두 쪽 모두 지시를 잘 지키고 있다. 받는 쪽 버퍼가 차자 더 이상의 신용을 내주지 않았고, 보내는 쪽은 멈췄다. 시간이 지나 버퍼가 비자 받는 쪽은 창을 열었다는 AK를 보냈다. 그 한 장짜리 허가증만 도중에 없어졌다. 보내는 쪽은 여전히 멈추라는 마지막 지시를 기억한다. 받는 쪽에는 공간이 넉넉하다. 연결은 살아 있지만 쓸 수 있는 공간이 노는 정적이다.

Wayne McCoy는 1987년 6월 RFC 1008에서 이런 상황을 구현 문제로 다뤘다. ISO 전송 프로토콜 구현자를 위한 안내서로 배포된 문서다. AK는 도착한 데이터를 확인하는 역할을 하면서, 다음에 얼마나 보낼 수 있는지도 알릴 수 있다. 닫혔던 창을 여는 AK와 신용 축소 뒤에 오는 일부 AK는 특히 중요하다. 그 메시지 하나에 뒤따를 데이터의 통행권이 실려 있기 때문이다.

AK가 사라져도 빈 버퍼는 사라지지 않는다. 사라지는 것은 보내는 쪽이 그 공간에 대해 가진 지식이다. 보통 창 타이머가 나중에 양쪽 상태를 다시 맞출 수 있지만 McCoy는 그 기간이 비교적 길다고 보았다. FCC, 곧 흐름 제어 확인은 이 빈 시간을 줄이려는 선택적 방법이었다. 받는 쪽이 중요한 AK를 짧은 간격으로 반복하면서 신용 상태 확인을 요청한다. 보내는 쪽이 FCC 매개변수를 넣은 AK로 답하면 빠른 재전송은 끝난다.

답이 없다고 계속 두드리지는 않는다. 정해 둔 최대 횟수에서 멈추고 보통 창 타이머로 돌아간다. FCC는 선택 사항이며 데이터 송신자는 답할 의무가 없다. McCoy는 빠른 재전송 동안 멈춰 있는 기존 창 타이머를 재사용하자고 제안했다. 형식적 설명에서는 이해를 돕기 위해 두 타이머를 따로 그렸다. 빠른 간격은 양방향 네트워크 지연의 합인 Erl + Elr 정도로 잡는 방안도 제시했다.

이 절차가 돈값을 하는지는 환경에 달렸다. 신용이 얼마나 자주 줄어드는가, TPDU는 얼마나 잃는가, 보통 창 타이머는 얼마나 긴가, 창은 얼마나 크고 AK 정책은 어떤가. 제어 메시지를 늘리면 처리와 전송 비용이 든다. 오래 멈춰 있으면 쓸 수 있는 용량이 논다. McCoy는 FCC와 빠른 AK 재전송의 운영 경험이 보고되지 않아 실제 이득이 구현 수고를 정당화할지 알 수 없다고 분명히 했다.

흐름 제어를 신호등이라 생각하면 이 장면은 단순하다. 파란불이 켜졌지만 운전자가 보지 못했다. 받는 쪽이 불빛을 다시 보여 주고 “봤다”는 대답을 들을 수 있다. 사람의 눈에는 멀쩡한 연결이 계속 멈춘 것처럼 보인다. 버퍼가 비어 있다는 사실만으로는 전송이 재개되지 않는다. 보내는 쪽이 모르는 열린 창은 보내는 쪽 입장에서 닫힌 창과 다를 바 없다.