Transcript 1 - MMLab

Computer Networks Practice
- Content Centric Network 1
 이지민 ([email protected])
 장동현 ([email protected])
2011-10-05
Multimedia & Mobile Communications Lab.
The Advent of Network

Networking was invented for sharing resources
not for data

A user connects to server to use resources in machines
Internet

Original motivation for Internet is to share
computing resources


The Internet communication model is host-tohost conversations


Remote login, file transfer
An IP address indicates a host
It has been working 40 years

TCP/IP has been so flexible for diverse host based
applications
Evolution of Network

However, overwhelming use of today’s
network is for a machine to acquire data




Internet traffic is already content-oriented
Video stream is over 60% in Internet traffic
Multimedia, P2P..
Data communication today is about moving
content

Internet was moving dozens of exabytes a month
Need for New Network

IP datagram can only name communication
endpoints


Users/applications care ‘WHAT TO RECEIVE’



Current network-architecture is not appropriate for current
usage
Don’t care ‘FROM WHERE or FROM WHOM’
Host-based comm. Model is outdated
Propose an new internet architecture by
removing this restriction

Content Centric Network
Architecture Principle

Hourglass architecture


Routing and forwarding plane separation


‘thin waist’ has been a key enabler for internet’s explosive
growth
Similar to current one
Security is built into the architecture

By signing all named data
NDN Architecture

Component

Messages
•
•

FIB (Forwarding Information Base)
•

Similar to routing table
PIT (Pending Interest Table)
•

Interest
Data
Store interests for data
Content Store
•
Space for cached data
NDN Architecture
NDN Basic Operation
Interest
MMLAB.kr/member/tjchung/
profile/v/s0
MMLAB.kr/member/tjchung/profile/v/s0
No Cache!
MMLAB.kr/member/tjchung/profile/v/s0
/MMLAB.kr
1
0
DATA:/
MMLAB.kr/member/tjchung/
profile/v/s0
NDN Supports

Automatically support various functionality
without extra infrastructure

Content Distribution
•

Mobility
•

Many users requesting the same data at different time
User request data at different location
Delay-Tolerant Networking
•
Data is cached close to user
Architecture 1) Name

Names are flexible


Allows each application to choose the name scheme that fits its
need
Hierarchically structured name

Example
•

http://www.sonystudio.com/spiderman3.avi
To retrieve dynamically generated data, it needs


Deterministic algorithm between consumer and producer
Partial name supports
•
mmlab/lecture/CNpratice -> mmlab/lecture/CNpractice/2011/
Architecture
2) Routing and Forwarding

Routing packets on name, which solves

1) Address space exhaustion
•
•

2) Mobility
•

Think about current IP address..
Unbound namespaces
No longer breaks communication
3) Scalable address management
•
Address assignment & management is no longer required in local
network
Architecture 3) Caching

CCN router buffers data packet



Cache - Router
In-network caching
Benefits

Both of static and dynamic data could be got benefits
•

In case of dynamic data, retransmission cost is eased
Alleviation of privacy problem concerns
•
•
In today’s network, one can figure out WHAT data is, WHO
wants data from by inspecting header
NDN router doesn’t know who originates the request
Architecture 4) Security


Security is not ‘opt-out’ but mandatory
Every data carries a signature

Data publisher information enables provenance
CCN conclusion
CCN conclusion
CCN conclusion
팀별 주제 정하기
상
중
하
Video Conference
Game Center
Cache Monitoring
토폴로지 자동완성
Interest Trace
파일 탐색기
네트워크 통계치 분석
Web-hard
Random Chatting
팀 별 주제 정하기

팀 별 위의 주제 중 하나를 선정한다.


10월 12일(수) 까지 선정.
수업시작 전 까지 TA에게 이메일 로 통보.
•


[email protected]
중복 선택은 불가하며, 선착순 배정.
10월 19일 (수), 팀 별 해당 주제에 대한 이해도
체크를 위한 팀 별 발표가 있으므로 신중히 선택.
'하' - Cache Monitoring



Router에 존재하는 Cache Storage의 상태를
알려주는 툴을 작성
여러 대의 Router를 하나의 서버에서 모니터링 할
필요는 없고 한 Router에 설치되어 설치된 Router의
Cache Storage 상태만 파악하면 됨
Cache Storage의 상태란 Cache Storage에 어떤
Chunk들이 캐쉬되어 있고 각 청크의 Timeout은
언제이며 어느 정도의 크기를 갖는지 등등을 의미
Content3
Content2
Content1
'하' - 파일탐색기

기존의 CCNx에서는 Repository에 있는
Contents의 목록만 볼 수 있는 툴이 있는데, 이 툴을
업그레이드하여 현재 윈도우의 파일 탐색기와 같이
Contents를 실행할 수 있고 미리보기 할 수 있으며,
Content의 등록정보를 볼 수 있는 툴을 작성
'하' - Random Chatting


요새 스마트폰의 앱으로 많이 존재하는 Random
Chatting을 CCNx 상에서 구현
이 때 기존의 IP 네트워크에서의 구현과 다른 점은
중앙 서버가 없다는 점임
'중' - Game Center



여러 사람들과 함께 간단한 게임을 할 수 있는 Game
Center를 구축
이 때 Game Center는 IP 네트워크에서와 같이
하나의 서버로 동작하지 않음. 즉, CCN의 특성을
살려서 중앙서버가 없이 동작하는 Game Center를
구축.
Game Center에는 두 사람 이상이 같이 할 수 있는
게임 - 예를 들어 Baseball Game, 빙고 게임,
끝말잇기 게임, etc - 을 3가지 이상 구현
'중' - Interest Trace



기존에 존재하는 Traceroute와 같은 프로그램을 CCNx에서
구현
Traceroute는 Packet을 추적해서 어느 Router를 거치는지
알아내는 프로그램인데, 이것의 CCN 버전을 만드는 것임.
즉, Interest Packet이 어느 Router를 거치는지 알아내는
프로그램을 구현
'중' - Webhard


Dropbox나 다음클라우드 같은 웹하드를 CCNx 상에
구현
단순히 파일의 업로드, 다운로드 뿐만 아니라
로컬드라이브와 웹하드와의 Syncronization도 구현
'상' - Video Conference

말그대로 CCNx 상에서 화상으로 회의를 열 수 있게
해주는 툴을 의미
'상' - 토폴로지 자동완성

CCNx로 테스트 베드를 구현시에 테스트 베드가 어떤
토폴로지로 구성되어 있는지 분석해 주는 툴을 구현
'상' - 네트워크 통계치 분석


얼마나 많은 Interests와 Content chunks가 오고
갔는지와 Throughput, Latency, Cache Storage
사용 현황, FIB, CS, PIT의 변화 현황 등등을 하나의
서버에서 확인할 수 있음
즉, 각각의 Router를 모니터링 해서 네트워크
통계치를 작성하는 툴을 구현