230 likes | 930 Views
Topics on Computer Networks Seminar(4/14). Network Working Group Request for Comments: 3450 Category: Experimental. Asynchronous Layered Coding(ALC) Protocol Instantiation. Apr. 14. 2010. Database and Information Systems Lab at HUFS Hwayoung Choe (hychoe@dislab.hufs.ac.kr). Contents.
E N D
Topics on Computer Networks Seminar(4/14) Network Working Group Request for Comments: 3450 Category: Experimental Asynchronous Layered Coding(ALC) Protocol Instantiation Apr. 14. 2010 Database and Information Systems Lab at HUFS HwayoungChoe(hychoe@dislab.hufs.ac.kr)
Contents • Introduction • Delivery service models • Scalability • Environmental Requirements & Considerations • Architecture Definition • LCT building block • Multiple rate congestion control building block • FEC building block • Session Description • Packet authentication building block • Functionality Definition • Packet format used by ALC • Detailed Example of Packet format used by ALC • Header-Extension Fields • Sender Operation • Receiver Operation
Abstract FLUTE(RFC 3926) ALC Protocol (RFC 3450) LCT Building Block(RFC 3451) WEBRC Building Block(RFC 3738) FEC Building Block(RFC 3452) Packet Authentication Building Block • Asynchronous Layered Coding(ALC) Protocol • massively scalable reliable content delivery protocol • LCT+ FEC + Multiple-rate Control • FLUTE (File Delivery over Unidirectional Transport) • LCT building block : session & channel management • WEBRC building block : Network congestion control • FEC building block : Forward error control
Introduction • Delivery service models • Scalability • Environmental Requirements & Considerations
Delivery service models • Push service model • 파일 및 특정 컨텐츠 전송 할 경우 • 수신자는 자신의 수신속도에 적합한 채널은 선택, 세션에 참가 • 수신 종료 후에도 대기>> 다음 파일 에 대한 연결 및 정보 제공 받음 (세션유지) • On-demand content delivery model • 여러수신자가요구하는 컨텐츠를 충분한 시간 동안 반복해서 패킷전송 • 수신 종료 후 세션 leave • Software update service model • Other service models
Scalability • ALC ProtocolScalability • 어떠한 손실도 없이 기존 IP에서 확장 • 네트워크에 우호적임 • Feature • 각 세션의 leave & join에 따라 전송속도의 변화가 없음 • 피드백 패킷이 요구되지 않음 • 대부분의 패킷은 세션에서 수신자로 전송되는 과정에서 혼잡 발생 • - 세션은 링크를 공유함으로써 경쟁적인 flow를 공평하게 함
Architecture Definition • LCT building block • Multiple rate congestion control building block • FEC building block • Session Description • Packet authentication building block
LCT building block • ALC Protocol에서 세션의 관리 기능 제공 • 세션 내의 수신자에게 전달할 기본적인 정보의 내용과 특징 • LCT 헤더와 확장 헤더의 형식들을 정의 • TSI(Transport Session Identifier) • Receiver IP주소와 UDP port로 세션 내의 채널을 식별 • TOI(Transport Object ID) • 각각의 파일 Object 구분 • CCI(Congestion Control Information) • 사용여부 및 Congestion Control Block 정보를 포함 • Extension Header • 부가 정보 및 FEC 관련 정보를 추가
Multiple rate congestion control building block • Multiple rate congestion control building block • LCT Header의 CCI(Congestion Control Information) 필드 안에 정의 • 송신자는 세션 안에 다수의 채널을 사용, 각각 다른 속도로 패킷전송 • 모든 수신자의 수신률은 각각 독립적으로 결정됨.
FEC building block • ALC의 확장성과 신뢰성을 제공 • ALC 세션 안에서 신뢰적인 컨텐츠 오브젝트 전송을 제공 • FEC 코드를 사용해서 독립적으로 인코딩 됨 • FEC encoding ID & FEC instance ID • LCT Header 내부의 FEC payload ID • 코딩 심볼, 복구 심볼 • FEC object transmission information(FEC OTI) • 파일 object의 총길이, 심볼 사이즈 • 수신자와 송신자 사이에 파일 전송이 일어나기 전에 수신자에게 반드시 전달 • 수신될 패킷의 형태와 FEC 방식을 알기 위함
Session Description • 수신자가 ALC 세션에 참가하기 전에 얻어야 하는 Session Description • Session Description 전달 형태 및 방법 • RFC2327 : SDP • RFC3023 : XML Metadata • RFC2068 : HTML/Mime Header Format • RFC2974 : 정의된 SAP로 브로드캐스팅
Packet authentication building block • 특정 공격으로부터 프로토콜을 보호하기 위해 패킷 인증관련 기술 • ALC Protocol의 패킷 인증 사용 • LCT building block 안에 제공되는 패킷 인증에 대해서는 확장된 헤더 포멧을 사용 • 각각의 패킷들을 차별화 하지 않아야 함.
Functionality Definition • Packet format used by ALC • Detailed Example of Packet format used by ALC • Header-Extension Fields • Sender Operation • Receiver Operation
ALC Header Format(1) • ALC는 LCT기반의 프로토콜로서 세션관리 기능 수행 • LCT에서 정의된 패킷 형식을 그대로 사용
ALC Header Format(2) CCI field format • C flag – 32, 64, 96, or 128 bits • Multiple Rate Congestion Control 정보 포함 • CTSI(Current Time Slot Index) : 8bits • CN(Channel Number): 8bit • PSN(Packet Sequence Number): 16bits TSI - 각 세션의 ID, Sender의 IP 주소와의 쌍으로 구성 TOI - 하나 이상의 컨텐츠전송시, 컨텐츠 구분 - TOI = 0 , 하나의 파일 전송시
ALC Header Format(3) FEC Payload ID Format • SBN(Source Block Number): 32bits • Object의 인코딩 심복의 소스 블록을 지정 • 0 ~ N-1까지의 연속된 숫자 • N : Object 안의 소스 블록의 개수 • ESI(Encoding Symbol ID): 32bits Symbol : FEC 코드에 의해 처리되는 데이터의 단위 Encoding Symbol (= source symbol, repair symbol) : Object의 정보를 포함하는 심볼 • FEC Payload ID • FEC Payload ID의 길이와 형태는 FEC building block이 기술된 FEC ENCODING ID에 의해 결정
Header-Extension Fields Header Extension Length(8bits) Header Extension Type(8bits) Variable Length Fixed Length Extended-size versions of already existing header fields Sender and Receiver authentication information.
Sender Operation • Session Description을 통해서 컨텐츠 오브젝트의 정보를 전달 • Sender는 정의한 여러 채널을 통해서 패킷을 순서대로 전송 • CCI 필드의 정보에 따라서 여러 채널에 적합한 속도로 패킷 전송 • 세션 내의 모든 패킷에 대해서 동일한 TSI 사용 • 하나 이상의 컨텐츠 오브젝트가 존재할 경우 • Sender는 TOI필드를 사용하여 컨텐츠 오브젝트 구분 • 같은 컨텐츠는 동일한 TOI, FEC 페이로드 ID 사용 • 컨텐츠 오브젝트의 모든 전송이 끝날 때까지 패킷 전송 • 지정된 시간까지의 완료 확인 • 패킷 순서번호와 네트워크 대역폭까지 확인 후 전송 • 전송 Packet Size • MTU(maximum Transmission Unit) 고려
Receiver Operation • Receiver 의 패킷 수신 절차 • ALC 패킷의 헤더 확인 - 부적합 패킷은 버림 • TSI와 함께 IP주소 확인 - Session Description • Multiple Rate Congestion Control building block의 CCI 확인 후 처리 • 하나 이상의 컨텐츠 오브젝트의 패킷 수신할 경우 >> TOI 확인 • 패킷의 나머지 처리 후, FEC 페이로드 ID와 인코딩 심볼을 사용해서 컨텐츠오브젝트를 복원 • 패킷인증 사용 – 3단계를 처리하기 전에 패킷 인증을 확인