레알 그지깽깽이같은 TFTP Network

TFTP Server를 직접 구현하던 중 정말 거지같은 경우를 발견했다.

보내려는 TFTP 데이터의 크기가 정확히 512의 배수일 때

문제의 테스트 파일: ㅁㅁ.doc(38,912 바이트. 풀어서 말하면 512 * 76 바이트)

이렇게 512의 배수의 크기인 파일을 찾는 것도 정말 쉽지 않을것이다.

512보다 작은 데이터 패킷을 마지막 ACK 패킷으로 여기는 TFTP의 특성

해당 테스트 파일을 get 할 경우 host가 ACK 76을 날리고 계속 ACK 76을 날리다 사망한다.

왜냐하면 host는 마지막 ACK 패킷이 아닌 줄 알거든(마지막 패킷 크기가 512라 마지막이라 인식을 못함)

1 2 3 4 5 6 7 8 9 10 다음