동위 교환
Peer exchangePEX는 BitTorrent 파일 공유 프로토콜을 강화하는 통신 프로토콜이다. 그것은 협력하고 있는 사용자(또는 피어) 그룹이 주어진 파일을 공유하여 더 빠르고 효율적으로 할 수 있도록 한다.
BitTorrent 파일 공유 프로토콜의 원래 설계에서, 파일 공유 그룹("swarm"으로 알려진)의 피어(사용자)는 트래커라는 중앙 컴퓨터 서버에 의존하여 서로를 찾고 떼를 유지했다. PEX는 각 피어가 현재 피어가 집단 내에 있는 다른 피어를 직접 업데이트하도록 허용함으로써 추적기에 대한 피어의 의존도를 크게 줄인다. 중앙집중식 추적기에 대한 의존도를 줄임으로써 PEX는 비트토렌트 프로토콜의 속도, 효율성, 견고성을 높인다.
설명
일반적으로 파일의 복사본을 얻고자 하는 사용자는 공유될 파일을 설명하는 토렌트 파일과 현재 .torrent 파일에 설명된 파일을 공유하는 피어 목록을 유지하는 추적기라는 하나 이상의 중앙 컴퓨터의 URL을 먼저 다운로드한다. 원래의 BitTorrent 설계에서 동료들은 서로를 찾고 무리를 유지하기 위해 이 중앙 추적기에 의존했다. 나중에 DHT(분산 해시 테이블)가 개발되면 피어의 부분 목록이 군집 내 다른 컴퓨터에 의해 유지될 수 있고 중앙 추적기 컴퓨터의 부하가 감소할 수 있다는 것을 의미했다. PEX는 무리의 동료들이 추적기 컴퓨터나 DHT를 요청하지 않고 직접 무리에 대한 정보를 교환할 수 있도록 한다. 이를 통해 PEX는 사용자가 연결된 피어의 주소를 묻는 방식으로 피어에 대한 지식을 활용한다. 이것은 하나의 트래커에만 의존하는 것보다 빠르고 효율적이며 트래커의 처리 부하를 감소시킨다. 그것은 또한 추적기가 내려갔을 때 떼를 지어 함께 유지한다.[1]
동료 교환은 무리에게 새로운 동료를 소개하기 위해 단독으로 사용될 수 없다. 군집과 처음 접촉하려면 각 피어가 ".torrent" 파일을 사용하여 추적기에 연결하거나, 또는 군집 피어의 목록을 설명하는 분산 해시 테이블(DHT)을 찾기 위해 부트스트랩 노드라는 라우터 컴퓨터를 사용해야 한다. 대부분의 비트토렌트 사용자는 사용자가 비트토렌트 클라이언트를 시작하고 .토렌트 파일을 연 후에 DHT와 PEX가 자동으로 작동하기 시작할 것이다. 눈에 띄는 예외는 자유롭게 이용할 수 없는 "개인용 급류"이다. 이러한 급류들은 일반적으로 DHT를 무력화시킨다.
피어 Exchange 규약
PEX와 같은 비트토렌트로의 확장은 일반적으로 AZMP[2] 또는 LTEP라는 두 가지 공통 확장 프로토콜 중 하나를 사용하여 구현된다.[3] 두 가지 유형의 피어 교환은 군집에 추가할 피어 그룹과 제거할 피어 그룹을 포함하는 메시지를 전송한다.
위의 메커니즘 중 하나를 구현하는 고객은 PEX 메시지를 보낼 때 다음 한도를 따르도록 노력한다는 것이 Azureus와 μTorrent 개발자들 사이에 합의되었다.[4]
- 주어진 PEX 메시지에서 전송된 50개 이상의 추가 피어와 제거된 피어가 없어야 한다.
- 피어 교환 메시지는 1분에 한 번 이상 자주 전송되지 않아야 한다.
일부 클라이언트는 이러한 제한을 적용하고 이를 무시하는 클라이언트로부터 연결을 끊도록 선택할 수 있다.[4]
DHT
균일하게 분산된 피어 선택을 제공하는 PEX 프로토콜을 생성하기 위해서는 토렌트의 로컬에 있는 소형 분산 해시 테이블(DHT)을 구성할 수 있다. 원하는 각 새 피어에서 임의 키를 찾아보고 키를 담당하는 노드를 새 피어로 사용한다. 이것은 개념적으로 간단하지만 약간의 간접비가 필요할 것이다.[citation needed]
"추적자 없는" 급류의 경우, 간선 DHT가 필요에 따라 부하를 분산시킬 수 있기 때문에 PEX가 어떤 값을[citation needed] 제공하는지는 명확하지 않다. 추적기 역할을 하는 각 DHT 노드는 피어의 하위 집합만 저장할 수 있지만, 이것들은 단일 피어 보기보다는 DHT 노드 부하에 의해서만 제약되는 최대 하위 집합이다. 개인 토렌트는 일반적으로 DHT를 비활성화하며, 이 경우 피어가 트래커로부터 충분한 피어를 얻을 경우 PEX가 유용할 수 있다.
버전
호환되지 않는 세 가지 PEX 구현이 있다(집합하여 구별되는 "네트워크"를 만드는 것)[citation needed]
- Vuze – Azureus에 소개
- BitComet – 독점 – BitComet에 소개된 버전 1.19부터 메인라인과[6] 호환되는 [5]BEP11 지원
- 메인 라인 – μTorrent에 소개
피어 교환을 지원하는 클라이언트
이 섹션은 검증을 위해 추가 인용구가 필요하다. (2010년 7월) (이 과 시기 |
대부분의 BitTorrent 클라이언트는 추적기와 DHT 외에 또래들을 모으기 위해 PEX를 사용한다. 3.0.5.0 Vuze 릴리즈와 함께, 모든 주요 비트토렌트 클라이언트는 이제 호환 가능한 피어 교환을 갖게 되었다.
이러한 각 클라이언트는 다음과 같은 일부 버전의 피어 교환을 구현한다.
- 아리아2, μTorrent PEX 지원[7]
- Vuze, 이전의 Azureus, 그리고 그것을 기반으로 하는 클라이언트(The Vuze PEX는 Transmission 클라이언트와만 호환된다. 다른 클라이언트와의 PEX는 3.0.4.3 이후 Vuze 및 Azureus에 구현됨)
- 비트코메트는 이전 버전에서 독점 프로토콜을 사용하여 PEX를 지원한다.[9] v.1.19부터 확장 프로토콜에 근거한 PEX의 μTorrent/Mainline 구현에 대한 지원도 추가했다.[10]
- 비트플루[11]
- 비트토렌트[12]
- KTorrent는 2.1 RC1[13] 기준으로 전체 μTorrent PEX 지원을 구현했다.
- libtorrent 및 이를 기반으로 하는 고객(Delugge,[14] qBittorrent,[15] MoPolice[16])은 μTorrent와 호환된다.
- 틱사티
- μ토렌트[17]
- Opera 9.5, μTorrent PEX 지원[18]
- qBittorrent, μTorrent PEX 지원[19]
- 토렌트[20]
- 전송(μTorrent 및 Vuze 구현과 모두 호환)[21]
- 전송 소스 코드를 기반으로 하는 XTorrent 버전 1.0(v40)[22]을 기준으로 Vuze 및 μTorrent 구현을 완전히 지원
참조
- ^ "Peer Exchange - VuzeWiki".
- ^ "Azureus messaging protocol - VuzeWiki". wiki.vuze.com. Retrieved 2019-11-20.
- ^ "extension_protocol.rst". www.rasterbar.com. Retrieved 2019-11-20.
- ^ a b "BitTorrentPeerExchangeConventions - Theory.org Wiki". wiki.theory.org. Retrieved 2019-11-20.
- ^ <the8472.bep@infinite-source.de>, The 8472. "bep_0011.rst_post". www.bittorrent.org. Retrieved 2021-05-23.
- ^ "Bitcomet - Changelog".
{{cite web}}
: CS1 maint : url-status (링크) - ^ "Archived copy". Archived from the original on 2015-04-02. Retrieved 2015-03-29.
{{cite web}}
: CS1 maint: 타이틀로 보관된 사본(링크) - ^ "utorrent PEX in Vuze". Vuze Wiki website. Retrieved 2010-08-15.
- ^ "PEX in BitComet". BitComet Wiki website. Retrieved 2010-02-23.
- ^ "Release notes for BitComet". BitComet official website. Retrieved 2010-02-23.
- ^ "Bitflu configuration example". Retrieved 2007-03-30.
- ^ BitTorrent 사용 설명서 - 부록 A: BitTorrent 인터페이스 - 기타 - Torrent 속성 - 일반 - 기타 설정 - Wayback Machine에 보관된 피어 Exchange 2014-07-06
- ^ "What's new in 2.1?". KTorrent official website. Archived from the original on 2006-04-02. Retrieved 2007-03-30.
- ^ "Deluge 0.5.1 Beta 1 changes". Archived from the original on 2008-12-25. Retrieved 2007-09-11.
- ^ "qBittorrent official website". Retrieved 2007-05-14.
- ^ "MooPolice official website". Retrieved 2007-03-30.
- ^ "μTorrent 1.4.1 beta and 1.4.2 beta changes". Archived from the original on 2006-11-25. Retrieved 2007-09-11.
- ^ "Opera 9.5 BitTorrent support". Retrieved 2007-09-04.
- ^ "Details of qBittorrent package". Debian Packages. Retrieved 2011-04-15.
μTorrent-compatible Peer eXchange (PeX)
- ^ "libTorrent 0.11.8 and rTorrent 0.7.8 Changelog". Archived from the original on 2007-11-03. Retrieved 2007-09-11.
- ^ "NEWS (rev 1579)". Transmission SVN. Archived from the original on 2007-08-24. Retrieved 2007-03-30.
- ^ Xtorrent P2P(Mac OS X의 경우)