728x90
신뢰기반 데이터 전송 프로토콜이란?
신뢰기반 데이터 전송 프로토콜은 네트워크 상에서 데이터가 손실되거나 손상되지 않고, 정확한 순서로 전송될 수 있도록 보장하는 통신 방식입니다. 특히 데이터가 손실되기 쉬운 비신뢰적인 채널을 사용할 때, 이러한 프로토콜은 중요한 역할을 합니다.
주요 개념과 용어
- 체크섬(Checksum): 전송된 패킷 내 비트 오류를 탐지하기 위한 값입니다. 송신자는 데이터를 전송하기 전에 체크섬을 계산하여 패킷에 포함시키고, 수신자는 수신된 데이터의 체크섬을 확인해 오류 여부를 판단합니다.
- 재전송(Retransmission): 수신자가 송신자의 패킷을 제대로 수신하지 못했을 때, 수신자는 송신자에게 해당 패킷의 재전송을 요청합니다.
- 순서 번호(Sequence Number): 송신자가 보내는 각 패킷에 부여하는 고유 번호로, 수신자가 수신된 패킷의 순서를 확인하고 손실된 패킷을 감지할 수 있도록 합니다.
- 확인응답(ACK): 수신자가 송신자로부터 받은 패킷이 정상적으로 수신되었을 때 이를 알리는 응답 메시지입니다.
- 부정확인응답(NAK): 패킷이 손상되거나 제대로 수신되지 않았을 때 수신자가 송신자에게 비정상 수신 상태를 알리는 메시지입니다.
재전송 기반 에러 제어: ARQ(Automatic Repeat Request)
ARQ는 재전송을 통해 데이터 전송의 신뢰성을 확보하는 방식입니다. 송신자는 패킷을 전송한 후, 일정 시간 동안 수신자로부터 ACK(정상 수신 확인 응답)을 기다립니다. 만약 해당 시간 내에 ACK가 수신되지 않으면 송신자는 패킷을 다시 전송합니다.
ARQ 방식에는 다음과 같은 종류가 있습니다:
- 정지대기(Stop and Wait) ARQ: 송신자가 한 번에 한 개의 패킷만 전송한 후, ACK를 기다렸다가 다음 패킷을 전송하는 방식입니다. 단순하지만 비효율적일 수 있습니다.
- Go-Back-N ARQ: 송신자는 여러 개의 패킷을 연속적으로 전송한 후, 수신자로부터 가장 마지막 패킷에 대한 ACK를 받으면 그 이후의 패킷을 전송합니다. NAK를 받을 경우, 그 시점부터 모든 패킷을 다시 전송합니다.
- Selective Repeat ARQ: 수신자는 오류가 발생한 패킷만을 재전송하도록 요청하며, 수신한 패킷을 순서대로 상위 계층에 전달하기 위해 버퍼링합니다.
신뢰기반 데이터 전송의 단계적 구현
신뢰기반 데이터 전송 프로토콜은 다양한 단계로 발전할 수 있습니다. RDT 1.0에서 RDT 3.0까지는 채널의 신뢰성에 따라 다르게 동작하며, 비트 오류가 없는 채널에서는 간단한 전송이 가능하지만, 오류가 있는 채널에서는 체크섬, 재전송, 순서 번호 등을 통해 신뢰성을 보장합니다.
파이프라이닝(Pipelining)과 성능 향상
파이프라이닝은 송신자가 수신자의 ACK를 기다리지 않고 여러 개의 패킷을 연속적으로 전송하는 방식입니다. 이를 통해 전송 후 대기 시간으로 인한 채널의 비효율성을 해결할 수 있습니다. Go-Back-N과 Selective Repeat는 파이프라이닝 방식의 대표적인 예입니다.
728x90
'전공 공부 > 컴퓨터네트워크' 카테고리의 다른 글
TCP 흐름 제어 (1) | 2024.10.03 |
---|---|
연결지향형 트랜스포트 : TCP (2) | 2024.10.03 |
비연결형 트랜스포트 : UDP (1) | 2024.10.03 |
다중화와 역다중화 (0) | 2024.10.03 |
트랜스포트 계층 (3) | 2024.10.03 |