문제

그것은 UDP 데이터를 당신에게 와서 손상?나는 그것을 알고 있는 것이 가능하실 수 있습니다.

도움이 되었습니까?

해결책

UDP 패킷을 사용하는 16 비트 checksum.그것은 불가능하지 않 UDP 패킷을 손상이지만,그것은 매우 가능성이 있습니다.어떤 경우에는 그에 더 민감하지 않 손상 TCP.

다른 팁

첫째,"IP 검사는"참조 위의 IP 헤더 checksum.지 않을 보호하는 페이로드를 사용합니다.RFC791

둘째,UDP 할 수 있는 전송없이 체크섬,는 것을 의미하는 16 비트 checksum0 으로 설정하면(즉,아무도).RFC768.(는 모든 제로 전송되는 체크섬의 값을 의미하는 송신기의 생성하지 않았습니다.checksum)

셋째,다른 사람으로 언급,UDP16-bit 체크섬,는 가장 좋은 방법은 아을 감지하는 멀티 비트는 오류만이 나쁘지 않다.그것은 확실히 가능한 오류가 발견되지 않은 몰래에,그러나 매우 가능성이 높습니다.

가능한가요?물론입니다.발견되지 않은? 가능성, 이후,UDP 용 체크섬는 것이 필요한 여러 비트 오류로 나타나 유효합니다.오류가 발생한 경우가 감지 시스템을 가능성이 드롭 패킷 등의 위험은 사용하여 UDP.

UDP 패킷을 제공할 수도 있 순서가고,그래서 당신이 고안 프로토콜에서 상단의 UDP 있을 뿐만 아니라.

일반적인 형태의"손상"영향을 미치는 순진한 프로그래머 데이터그램이 잘림.보"Unix 네트워크 프로그래밍"에 의해 스티븐스에 대한 더 많은 정보 페이지(539 에 2nd ed.)

확인할 수 있습니다 MSG_TRUNC 국기...

짧은 대답:그렇습니다.

자세한 답변:

약 7 년 전에(아마도 2011 년?) 우리가 발견 UDP 데이터그램 실수로 변경되었을 때 UDP 데이터그램 교환 사이에 컴퓨터 중국에서 또 다른 하나는 한국에 있습니다.물론,에 체크 UDP 패킷 헤더도 reculculated 관련하여 페이로드를 변경합니다.가 있었 악성 소프트웨어에서는 두 컴퓨터입니다.

우리는 발견하는 것을 의도하지 않은 변경할 경우에만 발생합니다 이러한 조건에 맞:

  • 먼저 여러 가지 바이트의 데이터그램은 유사 이전 데이터그램
  • 만 occurse 때 UDP 데이터그램에서 가 다른 한 국가

지 원인을 정확하게,하지만 난 약 추가 중국 황금 Shield.

그래서 우리는 추가 데이터그램 garbling 알고리즘으로 소프트웨어를 개발하고 문제 멀리 갔다.그것은 어렵지 않을 구현할 수 있습니다.그냥을 인코딩하거나 당황 첫 번째 여러 가지 바이트의 데이터그램.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top