reliable udp 예제

자세한 내용은 예제를 확인하십시오. 이 라이브러리는 아직 완전히 안정적이지 않으며 API에 대한 주요 변경 내용이 있을 수 있습니다. 층상 사용의 고급 예는 자수정 네트워크 상자에서 확인할 수 있습니다. 이 변경이 간단해 보일 수 있듯이 패킷의 올바른 처리와 관련하여 치명적인 결함이 발생합니다. 예를 들어, 두 개의 신뢰할 수 있는 패킷이 잘못된 순서로 전달되는 경우를 생각해 보십시오. 이렇게 하면 시퀀스 번호 매기기 문제가 크게 줄어듭니다: (pow 2 k) 패킷이 수신되는 즉시 분해하는 대신, 시스템은 더 이상 (pow 2 (k – 1)) 패킷이 단일 인스턴스에서 수신되는 한 올바르게 작동합니다. 예를 들어, 수신기가 응용 프로그램에 패킷을 전달하기 전에 1/60초 분량의 패킷을 버퍼링한다고 가정합니다. 실질적으로 악의적인 발신자가 빈 UDP 데이터그램을 전송하여 시퀀스 번호가 오버플로되도록 의도적으로 시도했다고 가정하면, 이를 위해 보낸 사람이 32768 * (40 + 8) = 1572864 옥텟 또는 대략 1/60의 데이터 1.572864메가바이트를 보내야 합니다. 초.

이는 약 1572864 * 60 = 94371840 옥텟/94.37184메가바이트의 전송 속도를 수반합니다. 이 쓰기시 인터넷을 통해 상품 하드웨어에서 발생 하지 않을, 하지만이 여전히 우려 하는 경우, 시퀀스 번호는 단순히 확장 될 수 있다 24 또는 32 비트 3. 본질적으로, RDP(신뢰할 수 있는 데이터 프로토콜)는 전송 계층 프로토콜로서 제안되었다; UDP 및 TCP에 대한 피어로 스택에 위치했습니다. 그것은 RFC (의견 요청)로 제안되었지만 표준이 될 수있는 자체 권리로 성숙하지 않았습니다. 실제로 RDP는 신뢰할 수 있는 UDP 프로토콜(RUDP)에 의해 1990년대 후반에 가려진 것으로 보이며, 시스코와 마이크로소프트는 특정 작업을 위해 스택 내에서 RUDP 버전을 출시했습니다. 그러나 RUDP 구현의 „작업 별” 특성 때문에 RUDP는 공식적인 표준이 되지 않았으며 „초안” 상태를 넘어서는 것은 아닙니다. 신뢰할 수 없는 패킷의 배달을 지연시키는 손실된 신뢰할 수 있는 패킷의 문제를 완화하는 한 가지 방법은 신뢰할 수 있고 신뢰할 수 없는 패킷을 별도로 시퀀스하는 것입니다.

reliable udp 예제