Checksum(검사합)
- 전송된 Segment의 오류를 검출하기 위한 수단
- Segment의 내용을 16bit씩 끊어서 더한 결과에 1의 보수를 취한 것
Checksum로 오류 찾는 과정
-
Sender(송신자)
- checksum을 구해 패킷에 넣어 보냄.
- checksum 구하는 과정
- Segment의 내용을 16bit씩 끊는다.
- 16bit씩 끊긴 내용들의 합을 구한다.
2-1. 더하는 과정에서 overflow가 발생하면, 규칙에 따라 버리거나 wraparound 한다.
- 결과값의 1의 보수를 수행한다.
-
Receiver(수신자)
- Segment를 수신 후 checksum을 포함한 모든 16bit의 내용들을 더한다.
- 결과값이 모두 1(1111 1111 1111 1111)이면 에러가 없는 것이다.
- checksum은 결과값의 1의 보수이기 때문에 결과값과 checksum을 더하면 모든 자리가 1이 나온다.
두 개의 16bit 수의 checksum 구하는 과정
- 여기서는 overflow 발생 시 wraparound를 하였다.
6개의 8비트 수의 checksum 구하는 과정
- 본인 영문이름 앞 6글자의 ASCII코드(2진수)를 사용하였다.
- overflow 발생 시 wraparound를 하였다.