CS
신뢰적 데이터 전송의 원리
jbilee
2024. 12. 5. 19:13
전송 후 대기 프로토콜
전송 후 대기 프로토콜(Stop-and-Wait Protocol)은 데이터 전송 과정에서 한 번에 하나의 프레임만 전송하고, 수신자로부터 ACK 응답을 기다린 후 다음 프레임을 전송하는 간단한 흐름 제어 방식으로, 아래와 같이 동작한다:
- 송신자는 하나의 프레임을 전송
- 수신자는 프레임을 수신한 후, 제대로 수신했음을 알리는 ACK를 송신자에게 전달
- 송신자가 ACK를 받으면 다음 프레임을 전송
- ACK가 도착하지 않으면 일정 시간 후 프레임을 재전송
전송 후 대기 프로토콜은 일종의 흐름 제어 방식이다. 구조 자체가 간단해서 쉽게 구현할 수 있는 반면 송신자가 ACK를 기다리는 동안에는 대기 시간이 발생해 대역폭 사용률이 낮다는 단점이 있다. 또한 네트워크 대기 시간이 길어질 수록 전송 속도가 느려진다.
파이프라인 프로토콜
파이프라인 프로토콜(Pipeline Protocol)은 여러 프레임을 동시에 전송해 대역폭 사용률을 높이고 전송 속도를 개선하는 방식이다.
- 송신자는 ACK를 기다리지 않고 여러 프레임을 연속적으로 전송
- 수신자는 ACK를 개별 프레임마다 보내거나, 누적 ACK로 여러 프레임의 수신을 확인
- 네트워크에서 손실 또는 오류가 발생하면, 특정 프레임 이후의 데이터를 재전송
파이프라인 프로토콜에서 사용하는 주요 기법으로는 Go-Back-N과 Selective Repeat가 있다.
Go-Back-N (GBN)
- 송신자는 특정 개수의 프레임을 전송하고 하나의 누적 ACK 응답을 기다림
- 오류 발생 시 문제가 발생한 프레임부터 모든 후속 프레임을 재전송
- 네트워크 자원을 낭비할 가능성이 있음
Selective Repeat (SR)
- Go-Back-N과 달리 오류가 발생한 프레임만 선택적으로 재전송
- ACK는 각 프레임마다 별도로 보내진다. 더 효율적이지만 구현이 복잡
파이프라인 프로토콜은 대역폭이 큰 네트워크 환경에서 성능을 극대화하기 위해 사용된다.