본문 바로가기
CS/네트워크

[네트워크] 전송 계층 - 신뢰성 있는 데이터 전송의 5 원리

by DenverAlmighty 2025. 1. 12.



4. 신뢰성있는 데이터 전송을 위한 원칙

1) 신뢰성있는 데이터 전송 매커니즘 

매커니즘 사용
checksum 전송된 패킷의 bit 오류를 찾는다.
Acknowledgment 수신측에서 사용하는데, 전송측에 패킷을 잘 받았다는 것을 알려주기 위해 사용된다. Ack는 프로토콜에따라 개별 패킷에 관한 것일 수도 있고, 누적된 결과에 관한 것일 수 있다.
Negative Acknowledgment 수신측에서 사용하는데, 전송측에게 패킷 전송이 잘못되었다는것을 알려주기위해 사용된다. 
Timer sender가 데이터를 보낸 후 ack, nack가 올 때 까지 기다리는데, 이 때 Timer가 필요하다.
Timer만큼 시간이 지나도 ack, nack가 오지 않으면 데이터가 유실됐다고 가정하고 재전송을 시도한다.
이 때 받은 데이터가 또 올 수도 있다는 점에서 낭비가 발생할 수 있다.

받았던(재전송된) 데이터인지 확인하기 위해 sequence number가 필요없다.
Sequence number 수신된 패킷의 sequence number 간 간격은 패킷 유실을 
중복된 시퀀스 번호를 가진 패킷은 수신자가 패킷의 중복 복사본을 감지할 수 있게 한다.
Window, pipelineing window란 ack을 받지 않고 네트워크(파이프)에 들어갈 수 있는 패킷 수