-
애플리케이션 계층2TodayILearned/네트워크 2021. 8. 16. 17:39
Reliable 데이터 전송의 원리
- 패킷 유실, 에러를 처리하여 reliable하게 만듦
완벽한 reliable 채널을 이용했다고 친다면, sender가 보내는 패킷은 모두 receiver에게 도달하게 될 것임.
그러나
channel이 에러가 발생한다면
- 에러의 발생 유무를 확인한다.
- 피드백을 보낸다.
- ACKs(Acknowledgements)
- NACKs(Negative acknowledgements)
- 재전송
- NAK에 대한 패킷을 재전송한다.
Feed back error
만약 feedback 자체에 에러가 있는 경우, 위의 프로세스는 부적절하다.
아래의 프로세스를 따르게된다.
- Sender는 각각의 패킷에 sequence Number를 붙인다.
- Sender는 에러가 발생한 ACK/NAK에 대해 재전송한다.
- Receiver는 sequence Number를 확인해 중복된 패킷을 버린다.
NAK가 없는 프로세스
- 마지막에 받은 ACK Number를 확인해 에러 여부를 판단한다.
메시지 유실
- Sender는 Receiver로부터 아무 메세지도 받지 못하게 됨.
- Timer 개념 도입, 패킷을 보내고 일정 시간 이후 응답을 받지 못하면 재전송함
- 만약 패킷이 지연되었을 뿐이라면, sequence number를 확인해 핸들링한다.
'TodayILearned > 네트워크' 카테고리의 다른 글
전송계층 -1 (0) 2021.08.16 컴퓨터 네트워크 기본2 (0) 2021.08.16 컴퓨터네트워크 기본1 - 컴퓨터네트워크 및 인터넷 역사 (0) 2021.08.16