본문 바로가기

기타/토렌트

Extension Protocol (BEP-0010)

bep_0010.rst_post (bittorrent.org)

 

bep_0010.rst_post

The intention of this protocol is to provide a simple and thin transport for extensions to the bittorrent protocol. Supporting this protocol makes it easy to add new extensions without interfering with the standard bittorrent protocol or clients that don't

www.bittorrent.org

개요

확장 프로토콜은 비트토렌트 프로토콜에서 간단하고(simple) 가볍게?(thin) 확장 기능을 제공하기 위해 구현된 프로토콜이다. 확장 프로토콜을 이용하면 표준 비트토렌트 프로토콜, 확장 기능을 제공하지 않는 클라이언트를 간섭하지 않고 새로운 확장 기능을 추가하기가 쉽다.

 

확장 기능 제공 여부를 다른 사람에게 알리려면 프로토콜 내 예약 공간에서 1 bit를 사용하면 된다.

확장 프로토콜에서는 오른쪽에서 20번째 bit 부분이 해당, 따라서 reserved_byte[5] & 0x10 부분이 확장 기능 제공 여부를 파악할 수 있는 부분이다. (* 해석이 애매하다...)

 

패킷에서 16 bytes씩 끊어서 구분하며 이 중 0010 부분을 의미하는 것 같다.

패킷에서 20번째까지는 헤더(.BitTorrent protocol)이며 그 다음 8 bytes중 6번째 비트(0부터 세기 때문에 5번 byte)가 reserved_byte[5] & 0x10 를 의미한다.

 

출처 : bittorrent - Download the extended handshake response from peers failed by bep10 - Stack Overflow

BitTorrent
    Protocol Name Length: 19
    Protocol Name: BitTorrent protocol
    Reserved Extension Bytes: 0000000000000000
    SHA1 Hash of info dictionary: 7dd228be16c64d996be7a1bd7355cc416284d6dc
    Peer ID: 0401832c018f1ef9f25632c1b3d65d593113edc6
0000   13 42 69 74 54 6f 72 72 65 6e 74 20 70 72 6f 74  .BitTorrent prot
0010   6f 63 6f 6c 00 00 00 00 00 00 00 00 7d d2 28 be  ocol........}.(.
0020   16 c6 4d 99 6b e7 a1 bd 73 55 cc 41 62 84 d6 dc  ..M.k...sU.Ab...
0030   04 01 83 2c 01 8f 1e f9 f2 56 32 c1 b3 d6 5d 59  ...,.....V2...]Y
0040   31 13 ed c6                                      1...

 

* 추가 작성 예정

 

 

 

'기타 > 토렌트' 카테고리의 다른 글

Extension for Peers to Send Metadata Files (BEP-0009)  (0) 2020.12.17
Mainline DHT Protocol (BEP-0005)  (0) 2020.11.30