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

205 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