릭라이더 전송 프로토콜
Licklider Transmission Protocol인터넷 프로토콜 제품군 |
---|
응용 계층 |
전송층 |
인터넷 계층 |
링크 레이어 |
![]() |
Ricklider Transmission Protocol은 딥 스페이스 링크에서 사용하기 위한 포인트 투 포인트 프로토콜이다. LTP는 일반적으로 번들 프로토콜(RFC 5050)에 대한 표준 기반 융합 계층 프로토콜로 보이며, 광범위한 네트워크를 지원한다.
LTP는 미국의 컴퓨터 과학자 조셉 칼 로브넷 릭라이더를 기리기 위해 이름 지어졌다.
디자인
LTP는 데이터 링크 계층(예: AOS(Advanced Currenting Systems) Space Data Link Protocol[2])에서 직접 실행되도록 설계되었다. 또한 UDP(User Datagram Protocol)에서 실행될 수 있다. 예를 들어 센서 네트워크에서 사용되는 경우, 프라이빗 네트워크(대역폭 경쟁이 문제가 되지 않는 경우)에서 또는 소프트웨어 디버그 목적으로 실행될 수 있다. 따라서, 라우팅이나 혼잡통제와 같은 문제는 다루지 않는다. 그것은 원래 행성간 네트워크에서 "장거리" 전송을 지원하도록 설계되었다. 그것의 설계는 CCSDS 파일 전송 프로토콜(CFDP)과의 경험을 바탕으로 한다.
우주 통신을 위해 개발된 이 제품의 특징은 다음과 같다.
- 중요한 데이터(예: 파일 헤더)에 대한 신뢰할 수 있는 데이터 전송
- 덜 중요한 데이터(예: 영상 픽셀)에 대한 신뢰할 수 없는 데이터 전송, 손상된 픽셀을 극복할 수 있음
- 협상을 수행할 메시지 교환 없음. 이 프로토콜은 높은 왕복 운행 시간으로 인한 지연을 피하기 위해 이 과정을 피한다. 또한 링크 저활용을 방지한다.
- 연결이 가능한 경우에만 전송하고 중요 데이터와 중요하지 않은 데이터를 구별하기 때문에 에너지 효율.
- 타이머는 통신 스케줄과 함께 작동하며 예정된 링크 중단이 발생할 때마다 중단될 수 있다.
- 기본적으로 MIB(Management Information Base)가 필요한 링크 계층 가용성, 왕복 시간 및 통신 스케줄에 대해 정보를 얻을 필요가 있다. LTP는 매우 위정적이다.
- 단방향 전송 세션, 높은 왕복 시간 우회 또는 피어 통신 노드의 전송 불가
신청서는 전송하기 위해 데이터를 두 부분으로 나눈다(둘 중 어느 한 부분은 크기가 0일 수 있음):
- 빨간 부분: 신뢰할 수 있게 전송해야 하고, 수신자가 승인해야 하며, 승인될 때까지 이용할 수 있어야 하는 데이터가 수록되어 있다. 이는 예를 들어, 다음과 같은 데이터를 해독하는 데 중요한 정보를 포함하는 헤더일 수 있으며, 그 데이터 손상으로 인해 다음 데이터가 모두 무용지물이 될 수 있다.
- 녹색 부분 신뢰할 수 있는 전송이 필요하지 않은 데이터를 포함하고 있다. 이 자료의 수신이 인정되지 않기 때문에 전송 후 폐기할 수 있다.
프로토콜
LTP 엔진은 데이터를 큐에 저장하고, 목적지를 향한 링크를 사용할 수 있는지 확인하고, 있다면 전송을 시작한다. 링크를 사용할 수 없는 경우, 데이터는 대기열에 남아 있고 기본 링크 계층 또는 관리 정보 베이스에서 이른바 "링크 상태 큐"가 도착하는 즉시 전송이 시작된다. 전송할 적색 데이터가 지정되면 적색 데이터의 마지막 세그먼트에 "적색 데이터의 끝" 플래그가 표시되고 해당 세그먼트에 대한 타이머가 시작된다. 전송할 녹색 데이터가 없으면 "블록 끝" 플래그가 설정되고 그렇지 않으면 녹색 데이터가 전송되고 이 파트의 마지막 세그먼트에 "블록 끝" 플래그가 표시된다. 수신자는 "적색 데이터의 끝" 세그먼트를 수신하고 모든 데이터가 완료되면 송신자에 대한 보고서 세그먼트를 발행한다. 보고서 세그먼트가 전송되면 타이머가 시작된다. 보고서 세그먼트가 도착하면 송신자는 타이머를 취소하고, 수신기에 대한 보고서 승인을 대기열에 넣고, 모든 적색 데이터가 성공적으로 전송되었음을 애플리케이션에 알린다. 수신기는 일단 보고서 승인을 받으면 타이머를 취소하고 적색 데이터의 전송이 완료된다. "블록의 끝" 세그먼트가 도착하면 전송이 완료된다.
구현
참조 구현
LTP에 대한 두 가지 참조 구현은 다음과 같다.
- 제트추진연구소가 C로 작성하고 오하이오 대학에서 유지 관리한다.
- 더블린의 트리니티 칼리지가 C로 쓴 LTPlib.
기타 구현
참조
- ^ W. 리처드 스티븐스, TCP/IP 일러스트레이티드, 제1권: 프로토콜, 애디슨 웨슬리, 1994, ISBN 0-201-63346-9.
- ^ "AOS SPACE DATA LINK PROTOCOL" (PDF). The Consultative Committee for Space Data Systems (CCSDS). CCSDS. Retrieved 18 December 2019.
- ^ "Scapy". GitHub. 18 November 2021.
- ^ Scapy: the Python-based interactive packet manipulation program & library. Supports Python 2 & Python 3.: secdev/scapy, SecDev, 2019-03-05, retrieved 2019-03-05