2011-10-03 3 views
3

TCP/UDP에서 보낸 사람 xors 16 비트 단어와 최종 결과는 체크섬을 얻기 위해 다시 보완됩니다. 이제 수신기가 데이터와 체크섬을 사용하여 체크섬을 다시 계산하고 결과가 모두 1 인 경우 오류가 없음을 확신 할 수 있습니다 (거의!). 내 질문은 왜 우리는 보낸 사람에게 결과의 최종 보완을해야만할까요? 수신기가 체크섬을 다시 계산할 때, 다른 경우와 같이 모든 수신기가 아닌 모든 0을 확인해야합니다.왜 TCP/UDP 체크섬이 마침내 보완됩니까?

답변

0

수신기가 모든 데이터 (체크섬 필드 포함)의 1의 보수 합계를 수행하고 -0 (0xffff)인지 확인하십시오.

+0

왜 수신기가 1의 보수 합계를 취하고 -0 대신 0으로 데이터를 검사 할 수 없습니까? – borncrusader

3

0은 특별한 의미가 있기 때문에. 이것은 체크섬 계산이 무시됨을 나타 내기 위해 사용됩니다.

관련 문제