ADNL 프로토콜
구현:
개요
TON의 초석은 추상 데이터그램 네트워크 레이어(ADNL)입니다.
이는 IPv4(향후 IPv6)에서 UDP 위에 실행되는 오버레이, P2P, 신뢰할 수 없는(작은 크기) 데이터그램 프로토콜이며, UDP를 사용할 수 없는 경우 선택적으로 TCP 폴백을 사용할 수 있습니다.
ADNL 주소
각 참가자에게는 256비트 ADNL 주소가 있습니다.
ADNL 프로토콜을 사용하면 ADNL 주소만 사용하여 (신뢰할 수 없는) 데이터그램을 보내고 받을 수 있습니다. IP 주소와 포트는 ADNL 프로토콜에 의해 숨겨집니다.
ADNL 주소는 기본적으로 256비트 ECC 공개 키와 동일합니다. 이 공개 키는 임의로 생성할 수 있으므로 노드에 필요한 만큼 다양한 네트워크 ID를 생성할 수 있습니다. 그러나 수신자 주소를 대상으로 하는 메시지를 수신(및 해독)하려면 해당 개인 키를 알고 있어야 합니다.
실제로 ADNL 주소는 공개 키 자체가 아니라 생성자에 따라 여러 유형의 공개 키와 주소를 설명할 수 있는 직렬화된 TL 개체의 256비트 SHA256 해시입니다.
암호화 및 보안
일반적으로 전송된 각 데이터그램은 발신자가 서명하고 암호화하여 수신자만 메시지를 해독하고 서명을 통해 무결성을 확인할 수 있습니다.
이웃 테이블
일반적으로 TON ADNL 노드에는 추상 주소, 공개 키, IP 주소 및 UDP 포트와 같은 다른 알려진 노드에 대한 정보가 포함된 "이웃 노드 테이블"이 있습니다. 시간이 지남에 따라 이러한 알려진 노드에서 수집한 정보를 사용하여 이 테이블을 점차 확장할 것입니다. 이 새로운 정보는 특정 쿼리에 대한 답변의 형태이거나 때로는 더 이상 사용되지 않는 레코드의 제거일 수 있습니다.
ADNL을 사용하면 지점 간 채널 및 터널(프록시 체인)을 설정할 수 있습니다.
TCP와 유사한 스트림 프로토콜을 ADNL에 구축할 수 있습니다.
다음 단계는 무엇인가요?
- 로우레벨 ADNL 문서](/학습/네트워킹/로우레벨-adnl)에서 ADNL에 대해 자세히 알아보세요.
- TON 백서](https://docs.ton.org/ton.pdf) 3.1장.