asynchronous layered coding(alc) protocol instantiation

22
Asynchronous Layered Coding(ALC) Protocol Instantiation Apr. 14. 2010 Topics on Computer Networks Seminar(4/14) Database and Information Systems Lab at HUF Hwayoung Choe([email protected] Network Working Group Request for Comments: 3450 Category: Experimental

Upload: lilian

Post on 07-Feb-2016

216 views

Category:

Documents


0 download

DESCRIPTION

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 ([email protected]). Contents. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Asynchronous Layered Coding(ALC) Protocol Instantiation

Asynchronous Layered Coding(ALC) Protocol Instantia-

tionApr. 14. 2010

Topics on Computer Networks Seminar(4/14)

Database and Information Systems Lab at HUFS Hwayoung Choe([email protected])

Network Working GroupRequest for Comments: 3450Category: Experimental

Page 2: Asynchronous Layered Coding(ALC) Protocol Instantiation

2

Contents

Architecture Definition• LCT building block • Multiple rate congestion control building block• FEC building block• Session Description• Packet authentication building block

Introduction• Delivery service models• Scalability• Environmental Requirements & Considerations

Functionality Definition• Packet format used by ALC• Detailed Example of Packet format used by ALC• Header-Extension Fields• Sender Operation• Receiver Operation

Page 3: Asynchronous Layered Coding(ALC) Protocol Instantiation

3

Abstract

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

ALC Protocol (RFC 3450)

FLUTE(RFC 3926)

LCT Building Block(RFC 3451)

WEBRC Building Block(RFC 3738)

FEC Building Block(RFC 3452)

Packet Authentication Building Block

Page 4: Asynchronous Layered Coding(ALC) Protocol Instantiation

4

Introduction• Delivery service models• Scalability• Environmental Requirements & Considerations

Page 5: Asynchronous Layered Coding(ALC) Protocol Instantiation

5

Delivery service models

Push service model 파일 및 특정 컨텐츠 전송 할 경우 수신자는 자신의 수신속도에 적합한 채널은 선택 , 세션에 참가 수신 종료 후에도 대기 >> 다음 파일 에 대한 연결 및 정보 제공 받음 ( 세션유

지 )

On-demand content delivery model 여러 수신자가 요구하는 컨텐츠를 충분한 시간 동안 반복해서 패킷 전송 수신 종료 후 세션 leave Software update service model

Other service models

Page 6: Asynchronous Layered Coding(ALC) Protocol Instantiation

6

Scalability

ALC Protocol Scalability 어떠한 손실도 없이 기존 IP 에서 확장 네트워크에 우호적임

Feature 각 세션의 leave & join 에 따라 전송속도의 변화가 없음 피드백 패킷이 요구되지 않음 대부분의 패킷은 세션에서 수신자로 전송되는 과정에서 혼잡 발생 - 세션은 링크를 공유함으로써 경쟁적인 flow 를 공평하게 함

Page 7: Asynchronous Layered Coding(ALC) Protocol Instantiation

7

Architecture Definition• LCT building block • Multiple rate congestion control building block• FEC building block• Session Description• Packet authentication building block

Page 8: Asynchronous Layered Coding(ALC) Protocol Instantiation

8

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 관련 정보를 추가

Page 9: Asynchronous Layered Coding(ALC) Protocol Instantiation

9

Multiple rate congestion control building block

Multiple rate congestion control building block LCT Header 의 CCI(Congestion Control Information) 필드 안에 정의 송신자는 세션 안에 다수의 채널을 사용 , 각각 다른 속도로 패킷 전송 모든 수신자의 수신률은 각각 독립적으로 결정됨 .

Page 10: Asynchronous Layered Coding(ALC) Protocol Instantiation

10

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 방식을 알기 위함

Page 11: Asynchronous Layered Coding(ALC) Protocol Instantiation

11

Session Description

수신자가 ALC 세션에 참가하기 전에 얻어야 하는 Session Description

Session Description 전달 형태 및 방법 RFC2327 : SDP RFC3023 : XML Metadata RFC2068 : HTML/Mime Header Format RFC2974 : 정의된 SAP 로 브로드캐스팅

The multiple rate congestion control building block to be used for the session

The sender IP address

The number of channels in the session

The address and port number used for each channel in the session

The Transport Session ID(TSI) to be used for the session

An indication of whether or not the session carries packets for more than one object

If Header Extensions are to be used, the format of these Header Extension.Enough information to determine the packet authentication scheme being used, if it is be-ing used.

Page 12: Asynchronous Layered Coding(ALC) Protocol Instantiation

12

Packet authentication building block

특정 공격으로부터 프로토콜을 보호하기 위해 패킷 인증관련 기술

ALC Protocol 의 패킷 인증 사용 LCT building block 안에 제공되는 패킷 인증에 대해서는 확장된 헤더 포멧을 사용 각각의 패킷들을 차별화 하지 않아야 함 .

Page 13: Asynchronous Layered Coding(ALC) Protocol Instantiation

13

Functionality Definition• Packet format used by ALC• Detailed Example of Packet format used by ALC• Header-Extension Fields• Sender Operation• Receiver Operation

Page 14: Asynchronous Layered Coding(ALC) Protocol Instantiation

14

Packet format used by ALC

Page 15: Asynchronous Layered Coding(ALC) Protocol Instantiation

15

Detailed Example of Packet format used by ALC

V C r S O H T R A B HDR_LEN Codepoint(CP)

Page 16: Asynchronous Layered Coding(ALC) Protocol Instantiation

16

ALC Header Format(1)

ALC 는 LCT 기반의 프로토콜로서 세션관리 기능 수행 LCT 에서 정의된 패킷 형식을 그대로 사용

V C r S O H T R A B HDR_LEN Codepoint(CP)

LCT version number (V) 4 bits LCT 헤더의 버전

Congestion control flag (C) 2 bits CCI field 의 길이를 32bits 단위로 표현

Reserved (r) 2 bits Reserved for future use. Sender 는 0 으로 설정

Transport Session Identifier flag (S) 1 bit TSI field 의 길이 표현 : 32*S + 16*H

Transport Object Identifier flag (O) 2 bits TOI filed 의 길이 표현 : 32*O + 16*H

Half-word flag (H) 1 bit A multiples of a half-word

Sender Current Time present flag (T) 1 bit 0 일 경우 , SCT 필드가 표시되지 않음을 의미

Expected Residual Time present flag (R)

1 bit0 일 경우 , ERT 필드 사용하지 않는다는 것을 의미 (Sender 가 설정 )

Close Session flag (A) 1 bit 1 로 설정하여 Session 의 종료를 Receiver 에게 알림

Close Object flag (B) 1 bit Object 의 전송 종료를 1 로 설정하여 Receiver 에게 알림

LCT Header length (HER_LEN) 8 bits LCT Header 의 길이

Codepoint (CP) 8 bits FEC Payload ID 의 정보를 확인 할 수 있는 필드

Page 17: Asynchronous Layered Coding(ALC) Protocol Instantiation

17

ALC Header Format(2)

Congestion Control Information(CCI, Length = 32 bits)

Transport Session Identifier (TSI, Length = 32 bits)

Transport Object Identifier (TOI, Length = 32 bits)

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 , 하나의 파일 전송시

Page 18: Asynchronous Layered Coding(ALC) Protocol Instantiation

18

ALC Header Format(3)

FEC Payload ID FEC Payload ID 의 길이와 형태는 FEC building block 이 기술된 FEC ENCOD-

ING ID 에 의해 결정

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 의 정보를 포함하는 심볼

Page 19: Asynchronous Layered Coding(ALC) Protocol Instantiation

19

Header-Extension Fields

Extended-size versions of already existing header fields Sender and Receiver authentication information.

Header Extension Type(8bits)

Header Extension Length(8bits)

Variable Length

Fixed Length

Page 20: Asynchronous Layered Coding(ALC) Protocol Instantiation

20

Sender Operation

Session Description 을 통해서 컨텐츠 오브젝트의 정보를 전달

Sender 는 정의한 여러 채널을 통해서 패킷을 순서대로 전송 CCI 필드의 정보에 따라서 여러 채널에 적합한 속도로 패킷 전송 세션 내의 모든 패킷에 대해서 동일한 TSI 사용

하나 이상의 컨텐츠 오브젝트가 존재할 경우 Sender 는 TOI 필드를 사용하여 컨텐츠 오브젝트 구분 같은 컨텐츠는 동일한 TOI, FEC 페이로드 ID 사용

컨텐츠 오브젝트의 모든 전송이 끝날 때까지 패킷 전송 지정된 시간까지의 완료 확인 패킷 순서번호와 네트워크 대역폭까지 확인 후 전송

전송 Packet Size MTU(maximum Transmission Unit) 고려

Page 21: Asynchronous Layered Coding(ALC) Protocol Instantiation

21

Receiver Operation

Receiver 의 패킷 수신 절차

1. ALC 패킷의 헤더 확인 - 부적합 패킷은 버림2. TSI 와 함께 IP 주소 확인 - Session Description3. Multiple Rate Congestion Control building block 의 CCI 확인 후 처리4. 하나 이상의 컨텐츠 오브젝트의 패킷 수신할 경우 >> TOI 확인5. 패킷의 나머지 처리 후 , FEC 페이로드 ID 와 인코딩 심볼을 사용해서 컨텐츠

오브젝트를 복원6. 패킷 인증 사용 – 3 단계를 처리하기 전에 패킷 인증을 확인

Page 22: Asynchronous Layered Coding(ALC) Protocol Instantiation

22

Q & A