복습
- 1개 PKT ⇒ RDT ⇒ (sol) Error & Loss
- TCP Header의 Field에는 이미 내장되어 있는 기능 ⇒ TCP가 RDT 가능
PKT 묶음으로 Reliable Data Transfer (RDT)
- TCP → RDT 고려
- Go Back N ⇒ 한 묶음으로 전달하는 과정, 양 ⇒ Window Size 고려해서 진행
- Window Size 안에 있는 패킷 → Sender가 기억한다.
- 하지만, 이미 지나간 패킷 → 기억하지 않는다.
- Window Size 안에 있는 패킷 → 모두 타이머를 지니고 있고, 유실되는 경우에는
⇒ Timeout 되는 시점에서 알아차리기 때문에, 다시 전송 진행
- 그런데, 비효율적인 부분은 유실된 패킷 + Window Size에 있는 모든 패킷 재 전송된다. ⇒ 그래서 위와 같은 이름을 얻게 되었다.
- Selective Repeat ⇒ Go Back N의 단점인 부분 해결 (유실된 패킷만 재 전송)
- 유실된 경우 원래 Discard + ACK (받은 Seq Num), 수신자는 버퍼가 없다.
- 이와 같은 경우 ⇒ 유실된 경우에도 그 뒤에 오는 패킷 받아서 ACK로 전송하고, 수신자의 버퍼에 저장한다.
- 그래서 유실된 패킷만 재 전송 가능하다.
- Sequence Number와 Window Size로 Number 조정 ⇒ 왜냐하면, Header 너무 커지면 Overhead 발생 → 성능 저하 발생 ⇒ 최대한 효율적인 Sequence Number 설정 진행