UDP 기반 데이터 전송 프로토콜
UDP-based Data Transfer Protocol개발자 | 윤홍구 |
---|---|
안정된 릴리스 | 4.11 / 2013년 2월 23일 ( |
저장소 | sourceforge |
기입처 | C++ |
유형 | 프로토콜(컴퓨팅) |
면허증. | BSD 라이선스 |
웹 사이트 | udt |
UDP 기반 데이터 전송 프로토콜(UDT)은 대용량 데이터 세트를 고속 광역 네트워크를 통해 전송하도록 설계된 고성능 데이터 전송 프로토콜입니다.이러한 설정은 일반적으로 더 일반적인 TCP 프로토콜에 불리합니다.
초기 버전은 초고속 네트워크(1기가비트/초, 10기가비트/초 등)에서 개발 및 테스트되었습니다.그러나 최신 버전의 프로토콜은 상용 인터넷도 지원하도록 업데이트되었습니다.예를 들어 프로토콜은 UDP를 사용하여 NAT 방화벽을 통과하는 데 적합한 기능인 랑데부 연결 설정을 지원합니다.
UDT에는 오픈소스 구현이 있으며 SourceForge에서 확인할 수 있습니다.고속 데이터 전송을 지원하는 가장 인기 있는 솔루션 중 하나이며 많은 연구 프로젝트와 상용 제품의 일부입니다.
배경
UDT는 Robert Grossman 박사의 연구실에 있는 일리노이 대학 국립 데이터 마이닝 센터(NCDM) 박사과정 중 Yunhong[1] Gu에 의해 개발되었습니다.구 박사는 졸업 후에도 의전을 계속 유지하고 개선해 나가고 있다.
UDT 프로젝트는 2001년에 시작되었습니다.저렴한 광네트워크가 보급되어 고속 광역 네트워크상의 TCP 효율 문제에 대한 인식이 확산되었습니다.SABUL(Simple Available Bandwidth Utility Library)이라고도 불리는 UDT의 첫 번째 버전은 개인 네트워크에서의 과학적 데이터 이동을 위해 벌크 데이터 전송을 지원하도록 설계되었습니다.SABUL은 데이터 전송에 UDP를 사용하고 제어 메시지에는 별도의 TCP 연결을 사용했습니다.
2003년 10월 NCDM은 미국 시카고에서 네덜란드 암스테르담으로 초당 6.8기가비트 전송 속도를 달성했습니다.30분간의 테스트 동안 약 1.4TB의 데이터를 전송했습니다.
SABUL은 이후 2004년에 출시된 버전 2.0에서 UDT로 이름이 변경되었습니다.UDT2는 SABUL에서 TCP 제어 연결을 삭제하고 데이터와 제어 정보 모두에 UDP를 사용했습니다.또한 UDT2는 UDT 및 TCP 흐름과 동시에 "공정하고 친숙한" 프로토콜을 실행할 수 있는 새로운 폭주 제어 알고리즘을 도입했습니다.
UDT3(2006)는 프로토콜의 사용을 일반 인터넷까지 확장했습니다.congestion 제어는 비교적 낮은 대역폭도 지원하도록 조정되었습니다.또, UDT3에서는, 시스템 자원(CPU 및 메모리)의 사용도 큰폭으로 삭감되었습니다.또, UDT3 를 사용하면, 유저는 자신의 congestion 제어 알고리즘을 간단하게 정의해 인스톨 할 수 있습니다.
UDT4(2007)에서는 높은 동시성과 방화벽 통과를 보다 효과적으로 지원하기 위해 몇 가지 새로운 기능이 도입되었습니다.UDT4에서는 여러 UDT 접속을 같은 UDP 포트에 바인드할 수 있습니다.또, UDP 홀 펀치를 용이하게 하기 위해서 랑데부 접속 셋업도 서포트되고 있습니다.
다섯 번째 버전의 프로토콜은 현재 계획 단계에 있습니다.사용 가능한 기능에는 단일 연결을 통해 여러 개의 독립된 세션을 지원하는 기능이 있습니다.
게다가 UDT의 시큐러티 기능의 부재가 상업 환경에서의 초기 실장에 문제가 되고 있기 때문에, Bernardo(2011)는 박사 연구의 일환으로서 UDT의 시큐러티 아키텍처를 개발했다.그러나 이 아키텍처는 다양한 네트워크 환경(광네트워크 등)에서 UDT를 지원하기 위해 확장되고 있습니다.
프로토콜 아키텍처
UDT는 UDP(User Datagram Protocol)를 기반으로 구축되어 congestion 제어 및 신뢰성 제어 메커니즘을 추가합니다.UDT는 신뢰할 수 있는 데이터 스트리밍과 부분 신뢰할 수 있는 메시징을 모두 지원하는 연결 지향 이중 프로토콜입니다.
인정하다
UDT 에서는 패킷 전송을 확인하기 위해서 정기적인 확인 응답(ACK)을 사용하고, 패킷 손실을 리포트하기 위해서 마이너스 ACK(손실 리포트)를 사용합니다.정기적인 ACK는 데이터 전송 속도가 높을 때 역방향 경로 상의 제어 트래픽을 줄이는 데 도움이 됩니다.이러한 상황에서는 ACK의 수는 데이터 패킷의 수가 아니라 시간에 비례하기 때문입니다.
AIMD(증가율 감소)
UDT 에서는, AIMD(Additive increase multipliative reducation) 스타일의 congestion 제어 알고리즘이 사용됩니다.증가 파라미터는 사용 가능한 대역폭에 반비례하므로(패킷쌍 기술을 사용하여 추정), UDT는 고대역폭을 신속하게 프로브할 수 있으며 최대 대역폭에 근접하면 안정성이 향상됩니다.감소 인자는 1/8과 1/2 사이의 난수입니다.이를 통해 손실 동기화의 부정적인 영향을 줄일 수 있습니다.
UDT에서는 패킷 전송은 레이트 제어와 윈도 제어 양쪽에 의해 제한됩니다.송신 레이트는, 상기의 AIMD 알고리즘에 의해서 갱신됩니다.congestion 창은, 세컨더리 제어 메카니즘으로서 수신측의 데이터 착신 레이트에 따라서 설정됩니다.
설정 가능한 폭주 제어
UDT 실장에서는 C++ 클래스의 congestion 제어와 관련된 변수 세트가 공개되어 사용자가 이러한 변수를 조작하기 위한 콜백함수 세트를 정의할 수 있습니다.따라서 사용자는 이들 콜백함수의 일부 또는 전부를 덮어쓰기함으로써 제어 알고리즘을 재정의할 수 있습니다.대부분의 TCP 제어 알고리즘은 코드 행이 100 행 미만인 이 기능을 사용하여 구현할 수 있습니다.
랑데부 접속 셋업
UDT는 기존의 클라이언트/서버 접속 셋업(AKA caller/listener, 청취자가 접속을 기다려 복수의 접속 발신자를 수신할 가능성이 있는 경우) 외에 새로운 랑데부 접속 셋업 모드도 지원합니다.이 모드에서는, 양쪽이 포토로 리슨 해, 동시에 피어에 접속합니다.즉, 양쪽이 서로 접속합니다.따라서, 양쪽 모두 접속에 같은 포토를 사용할 필요가 있습니다.또, 양쪽 모두 롤에 상당합니다(기존 셋업에서의 리스너/발신자의 롤과는 대조됩니다).Rendezvous는 양쪽 피어가 방화벽의 배후에 있을 때 방화벽 통과에 널리 사용됩니다.
사용 시나리오
UDT는 광네트워크를 통한 고속 데이터 전송을 지원하기 위해 고성능 컴퓨팅에서 널리 사용되고 있습니다.예를 들어 그리드 컴퓨팅에서 널리 사용되는 데이터 전송 도구인 GridFTP는 UDT를 데이터 전송 프로토콜로 사용할 수 있습니다.
상용 인터넷을 통해 UDT는 와이드 에리어 네트워크를 통한 신속한 파일 전송을 위해 많은 상용 제품에 사용되고 있습니다.
UDT는 순수하게 UDP를 기반으로 하기 때문에 TCP가 UDP에 불리한 많은 상황에서도 사용되고 있습니다.이러한 시나리오에는 피어 투 피어 애플리케이션, 비디오 및 오디오 통신 등이 포함됩니다.
실현 가능한 보안 메커니즘의 평가
UDT는 고속 네트워크에서 데이터를 전송하기 위한 인프라 요건에 대응하는 최첨단 프로토콜로 간주됩니다.그러나 다른 많은 프로토콜과 마찬가지로 TCP(Transmission Control Protocol) 및 UDP와 같은 현재 프로토콜에 대한 기존 보안 메커니즘에만 의존하기 때문에 개발 과정에서 새로운 취약성이 발생합니다.
호주 기술 네트워크의 일원으로 제안된 보안 메커니즘을 사용하여 UDT에 대한 실제 실험과 UDT용 TCP/UDP에 사용되는 다른 기존 보안 메커니즘의 사용을 탐구하는 데 초점을 맞춘 시드니 공과 대학의 Danilo Valeros Bernardo 박사에 의해 수행된 연구는 다양한 네트워크에서 흥미로운 리뷰를 얻었다.nd 보안 과학 커뮤니티.
보안 메커니즘을 분석하기 위해 PCL(Protocol Composition Logic)을 사용하여 적용 가능성을 판단하는 데 도움이 되는 정식 정확성 증명을 수행합니다.이 접근방식은 모듈러형으로 각 프로토콜 섹션의 개별 증빙으로 구성되며[clarification needed] 각 섹션이 안정적으로 사용될 수 있는 네트워크 환경에 대한 통찰력을 제공합니다.또한 다양한 장애 복구 전략 및 기타 구현 및 구성 옵션에 대한 검증이 가능합니다.이러한 기술은 문서의 TLS 및 Kerberos PCL에서 파생됩니다.이들은 리라이트 시스템과 오토마타를 사용하여 보안 아키텍처를 개발하고 검증합니다.
문헌에 처음 나와 있는 그들의 연구결과는 UDT의 보안 아키텍처에 대한 보다 견고한 이론적이고 실용적인 표현이며, 다른 고속 네트워크 프로토콜과 함께 작업할 수 있다.
파생 작품
UDT 프로젝트는 SRT 프로젝트의 기반이 되어 왔습니다.SRT 프로젝트는 공중 인터넷을 통한 라이브 비디오 스트리밍에 전송 신뢰성을 사용합니다.
어워드
UDT 팀은 매년 개최되는 ACM/IEEE Supercomputing Conference(고성능 컴퓨팅, 네트워킹, 스토리지 및 [2][3][4]분석 분야 세계 최초 컨퍼런스)에서 3번 Bandwidth Challenge(대역폭 챌린지)를 수상했습니다.
SC06(Tampa, FL)에서는 UDT를 사용하여 8Gbit/s의 D2D(Disk-to-Disk)로 천문학 데이터셋을 전송했습니다. SC08(Austin, TX)에서는 분산된 4노드 시스템에서 다양한 애플리케이션을 포함하는 복잡한 고속 데이터 전송에 UDT를 사용하는 것을 시연했습니다.디에고호SC09(Portland, OR)에서는 NCDM, Naval Research Lab, ICA의 협업 팀IR에서는 UDT 기반의 와이드 에리어 데이터 집약적인 클라우드 컴퓨팅 애플리케이션을 소개했습니다.
「 」를 참조해 주세요.
- 쓰나미 UDP 프로토콜
- Fast and Secure Protocol(Fast and Secure Protocol(FASP)
- 쿼크
문학.
- 베르나르도, DV와 Hoang, D.B; "경험적 조사:GRID를 위한 고속 프로토콜 데이터 전송 실험 및 구현: 제25회 고급 정보 네트워킹 및 애플리케이션 워크샵에 관한 IEEE 국제회의, 2011년 3월, 싱가포르.
- Yunhong Gu와 Robert L. Grossman, UDT: 고속 광역 네트워크, 컴퓨터 네트워크(Elsevier)를 위한 UDP 기반 데이터 전송.제51권, 제7호2007년 5월