dtls 예제

예제 프로그램을 실행하려면 필요한 서버 및 클라이언트 인증서가 인증서 하위 폴더에 있어야 합니다. 타이머 값은 구현의 선택이지만 타이머를 잘못 처리하면 심각한 혼잡 문제가 발생할 수 있습니다. 예를 들어 DTLS의 많은 인스턴스가 일찍 시간을 지정하고 혼잡한 링크에서 너무 빨리 다시 전송하는 경우입니다. 구현은 초기 타이머 값 100msec(RFC 6298 [RFC6298]에 정의된 최소값)을 사용하고 각 재전송시 값을 두 배로 늘려야 하며, 최대 60초의 RFC 6298보다 더 적게 사용해야 합니다. 사물 인터넷 환경에 사용되는 것과 같은 응용 프로그램 별 프로필은 더 긴 타이머 값을 권장할 수 있습니다. 시간에 민감한 응용 프로그램의 대기 시간을 개선하려면 3초 RFC 6298 기본값이 아닌 100msec 타이머를 권장합니다. DTLS는 데이터 흐름이 아닌 핸드셰이크에 대해서만 재전송을 사용하므로 혼잡에 미치는 영향은 최소화해야 합니다. 이 리포지토리에는 SCTP 및 UDP를 통한 DTLS에 대한 예제가 포함되어 있습니다. src의 각 응용 프로그램을 클라이언트 또는 서버로 사용할 수 있습니다.

이 자습서와 구현에 대해 설명하는 함수를 사용 가능한 완료된 예제 코드와 비교하면 예제 코드에서 이러한 함수가 누락된 것을 알 수 있습니다. 함수는 코드가 선형으로 읽고 더 이해하기 쉽도록 main()에 결합되었습니다. 이 자습서에서는 동일한 기능을 구현하기 위해 언급된 함수를 추가할 수 있습니다. 모든 함수는 단순히 기본 함수 내에 숨겨져 있습니다. 대부분의 경우 원래 함수 이름으로 주석처리됩니다. 이 자습서는 이 에 맞게 더 적절 하 게 업데이트 하는 중입니다. 이 단계는 예제 서버에 필요하지 는 아니지만 close()를 호출하여 쉽게 수행할 수 있습니다. >PyDTLS 사용자의 관점에서 볼 때 성능 편차를 제외하고는 demux 구현 간의 이러한 선택과 차이점이 투명해야 합니다.

그러나 이 투명성에는 몇 가지 제한이 있습니다: 예를 들어 라우터가 사용 중일 때 accept 메서드는 None을 반환할 수 있습니다. 이 문제는 SSLConnection에서 demux가 수락을 통해 새 피어에 대한 연결을 시작한 대신 알려진 연결로 데이터그램을 전달한 것을 감지할 때 발생합니다.