TCP checksum 을 계산하는 방법
글쓴이: urmajest / 작성시간: 금, 2003/05/16 - 4:11오전
안녕하세요.
TCP header에 보면 Checksum filed가 있죠.
그 checksum이 TCP header + payload의 checksum인데,
저의 목적은 header의 checksum을 빼버리고,
payload만의 checksum을 계산하는 것입니다.
TCP header의 checksum 방식이 어떤건지 찾아봤는데 -_-
자세한 설명이 없네요..(몇몇은 이해하기 어렵고 -_-)
가르쳐주세요 -_-
그리고 빠르게 계산할 수 있는 방법이 있다면 그것도 ^^
그럼 즐거운 하루 되세요~
Forums:
TCP checksum
초심으로
참고 자료
TCP/IP illustrated. vol 2에 보시면 원하시는 내용을 찾으실 수 있을 겁니다.
거기 보시면, 기본적인 checksum 알고리즘(1's complement checksum)과 이걸 folding 기법을 써서 속도를 향상시키는 방법에 대해 나와 있습니다. 위에 분이 코드 잘 올려 놓으셨네요.
물론 정말로 "최적"의 속도를 내고 싶으시다면, 각 머신의 특성에 맞게 구현을 수정하셔야 합니다. (memory align 등등)
그래서 실제로 커널에 있는 checksum 함수는 이해하기가 매우 어렵습니다.
댓글 달기