진짜 개발자
본문 바로가기

CS(Computer Science)/Network

Network - checksum(검사합) 이란?

728x90

CheckSum 이란?

- 네트워크를 통해 전달된 값이 변경되었는지를 검사하는 값으로 무결성을 제공한다


- 네트워크를 통해 전달되는 값이 중간에 해커를 통해서든 , 네트워크의 오류로 변질되는 경우를 대비하여

  체크섬값을 같이 보내어 무결성을 제공하게 된다



계산방법


1. 수신측에서 IP헤더를 16비트(2byte = 16진수 4개)씩 나눈다


2. 나눈 비트중 체크섬은 메시지를 보낸쪽에서 체크섬을 구해서 포함시켜 보낸값이므로 이 체크섬 값으로는 

내가 구한 체크섬값과 비교를위해 사용한다 따라서 체크섬 값을 제외하고 나머지를 모두 더한다

- 그림에서 체크섬(b1e6)을 제외한 나머지 값을 더한다 => 2 4E17

  

3. 캐리값이 발생하면 더한다

- 4E17 + 2 => 4E19


4. 1의 보수를 취한다

- 0100 1110 0001 1001 

 => 1011 0001 1110 0110(Check sum) == b 1 e 6


5. 구한 값과 전달받은 체크섬을 비교한다

- b1e6 == b1e6