RFC3450_ALC_Protocol_Instantiation_0414

advertisement
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
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
2
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
FLUTE(RFC 3926)
LCT Building Block(RFC 3451)
ALC Protocol
(RFC 3450)
WEBRC Building Block(RFC 3738)
FEC Building Block(RFC 3452)
Packet Authentication Building Block
3
Introduction
•
•
•
Delivery service models
Scalability
Environmental Requirements & Considerations
4
Delivery service models
 Push service model
 파일 및 특정 컨텐츠 전송 할 경우
 수신자는 자신의 수신속도에 적합한 채널은 선택, 세션에 참가
 수신 종료 후에도 대기 >> 다음 파일 에 대한 연결 및 정보 제공 받음 (세션유
지)
 On-demand content delivery model
 여러 수신자가 요구하는 컨텐츠를 충분한 시간 동안 반복해서 패킷 전송
 수신 종료 후 세션 leave
 Software update service model
 Other service models
5
Scalability

ALC Protocol Scalability



어떠한 손실도 없이 기존 IP에서 확장
네트워크에 우호적임
Feature




각 세션의 leave & join에 따라 전송속도의 변화가 없음
피드백 패킷이 요구되지 않음
대부분의 패킷은 세션에서 수신자로 전송되는 과정에서 혼잡 발생
- 세션은 링크를 공유함으로써 경쟁적인 flow를 공평하게 함
6
Architecture Definition
•
•
•
•
•
LCT building block
Multiple rate congestion control building block
FEC building block
Session Description
Packet authentication building block
7
LCT building block

ALC Protocol에서 세션의 관리 기능 제공



TSI(Transport Session Identifier)


각각의 파일 Object 구분
CCI(Congestion Control Information)


Receiver IP주소와 UDP port로 세션 내의 채널을 식별
TOI(Transport Object ID)


세션 내의 수신자에게 전달할 기본적인 정보의 내용과 특징
LCT 헤더와 확장 헤더의 형식들을 정의
사용여부 및 Congestion Control Block 정보를 포함
Extension Header

부가 정보 및 FEC 관련 정보를 추가
8
Multiple rate congestion control building block
 Multiple rate congestion control building block
 LCT Header의 CCI(Congestion Control Information) 필드 안에 정의
 송신자는 세션 안에 다수의 채널을 사용, 각각 다른 속도로 패킷 전송
 모든 수신자의 수신률은 각각 독립적으로 결정됨.
9
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 방식을 알기 위함
10
Session Description

수신자가 ALC 세션에 참가하기 전에 얻어야 하는 Session Description
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
being used.

Session Description 전달 형태 및 방법




RFC2327
RFC3023
RFC2068
RFC2974
:
:
:
:
SDP
XML Metadata
HTML/Mime Header Format
정의된 SAP로 브로드캐스팅
11
Packet authentication building block

특정 공격으로부터 프로토콜을 보호하기 위해 패킷 인증관련 기술

ALC Protocol의 패킷 인증 사용


LCT building block 안에 제공되는 패킷 인증에 대해서는 확장된 헤더 포멧을 사용
각각의 패킷들을 차별화 하지 않아야 함.
12
Functionality Definition
•
•
•
•
•
Packet format used by ALC
Detailed Example of Packet format used by ALC
Header-Extension Fields
Sender Operation
Receiver Operation
13
Packet format used by ALC
14
Detailed Example of Packet format used by ALC
V
C
r
S
O
H T R A B
15
HDR_LEN
Codepoint(CP)
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 bit
0일 경우, 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의 정보를 확인 할 수 있는 필드
16
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
Congestion Control Information(CCI, Length = 32 bits)
Transport Session Identifier (TSI, Length = 32 bits)
Transport Object Identifier (TOI, Length = 32 bits)
TSI - 각 세션의 ID, Sender의 IP 주소와의 쌍으로 구성
TOI - 하나 이상의 컨텐츠 전송시, 컨텐츠 구분
- TOI = 0 , 하나의 파일 전송시
17
ALC Header Format(3)
 FEC Payload ID
 FEC Payload ID의 길이와 형태는 FEC building block이 기술된 FEC ENCODING
ID에 의해 결정
FEC Payload ID Format
SBN(Source Block Number): 32bits
•
Object의 인코딩 심복의 소스 블록을 지정
•
0 ~ N-1까지의 연속된 숫자
•
N : Object 안의 소스 블록의 개수
ESI(Encoding Symbol ID): 32bits
18
Symbol : FEC 코드에 의해
처리되는 데이터의 단위
Encoding Symbol
(= source symbol, repair symbol)
: Object의 정보를 포함하는 심볼
Header-Extension Fields


Extended-size versions of already existing header fields
Sender and Receiver authentication information.
Header Extension Length(8bits)
Header Extension Type(8bits)
Variable
Length
Fixed
Length
19
Sender Operation

Session Description을 통해서 컨텐츠 오브젝트의 정보를 전달

Sender는 정의한 여러 채널을 통해서 패킷을 순서대로 전송



하나 이상의 컨텐츠 오브젝트가 존재할 경우



Sender는 TOI필드를 사용하여 컨텐츠 오브젝트 구분
같은 컨텐츠는 동일한 TOI, FEC 페이로드 ID 사용
컨텐츠 오브젝트의 모든 전송이 끝날 때까지 패킷 전송



CCI 필드의 정보에 따라서 여러 채널에 적합한 속도로 패킷 전송
세션 내의 모든 패킷에 대해서 동일한 TSI 사용
지정된 시간까지의 완료 확인
패킷 순서번호와 네트워크 대역폭까지 확인 후 전송
전송 Packet Size

MTU(maximum Transmission Unit) 고려
20
Receiver Operation
 Receiver 의 패킷 수신 절차
1.
2.
3.
4.
5.
ALC 패킷의 헤더 확인 - 부적합 패킷은 버림
TSI와 함께 IP주소 확인 - Session Description
Multiple Rate Congestion Control building block의 CCI 확인 후 처리
하나 이상의 컨텐츠 오브젝트의 패킷 수신할 경우 >> TOI 확인
패킷의 나머지 처리 후, FEC 페이로드 ID와 인코딩 심볼을 사용해서 컨텐츠 오브
젝트를 복원
6. 패킷 인증 사용 – 3단계를 처리하기 전에 패킷 인증을 확인
21
Q&A
22
Download