전송 후 대기 프로토콜
개념
- 데이터를 하나씩 전송한 후, 수신자로부터 확인 응답(ACK)을 받을 때까지 대기한다.
- 한 번에 하나의 데이터만 처리하므로 구조가 단순하다.
동작 방식
- 송신자는 데이터를 전송한 뒤 수신자의 ACK 응답을 기다린다.
- 수신자가 데이터를 정상적으로 받았다는 ACK를 송신자에게 보내면 다음 데이터를 전송한다.
- ACK가 일정 시간 내에 도착하지 않으면 해당 데이터를 다시 전송한다.
장점
- 구현이 간단하다.
- 데이터 전송의 신뢰성을 보장한다.
단점
- 한 번에 하나의 데이터만 처리하므로 전송 효율이 낮다.
- 네트워크 지연 시간이 큰 환경에서 성능이 떨어진다.
- 예시 : 패킷을 전송하고, 수신자가 이를 확인했음을 알릴 때까지 대기하는 과정을 반복하는 상황을 떠올리면 된다.
파이프라인 프로토콜
개념
- 데이터를 여러 개 연속적으로 전송하면서 수신자의 확인 응답(ACK)을 기다리지 않고 다음 데이터를 전송하는 방식이다.
- 데이터를 "파이프"처럼 연속적으로 흐르게 하여 전송 효율을 높인다.
동작 방식
- 송신자는 여러 데이터를 연속적으로 전송한다.
- 수신자는 받은 데이터를 처리하며 ACK를 송신자에게 순차적으로 보낸다.
- 송신자는 수신자가 보낸 ACK를 기반으로 손실된 데이터를 재전송하거나 전송을 이어간다.
장점
- 여러 데이터를 동시에 처리하여 전송 효율이 높아진다.
- 네트워크 지연 시간의 영향을 적게 받는다.
단점
- 데이터 손실이나 오류 처리를 위한 추가적인 관리가 필요하다.
- 구현이 복잡하다.
- 예시 : 화물 열차가 여러 칸의 화물을 동시에 보내는 것처럼 데이터를 전송하는 과정을 떠올리면 된다.
전송 후 대기 프로토콜 vs 파이프라인 프로토콜
| 구분 | 전송 후 대기 프로토콜 | 파이프라인 프로토콜 |
|---|
| 전송 방식 | 데이터 1개 전송 후 ACK 대기 | 여러 데이터를 연속적으로 전송 |
| 전송 효율 | 낮음 | 높음 |
| 구현 난이도 | 간단함 | 복잡함 |
| 적합한 환경 | 신뢰성 우선 환경 | 속도와 처리량이 중요한 환경 |
