Computer Networks Practice - Content Centric Network 1 이지민 (jmlee@mmlab.snu.ac.kr) 장동현 (dhjang@mmlab.snu.ac.kr) 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에게 이메일 로 통보. • ne-ta@mmlab.snu.ac.kr 중복 선택은 불가하며, 선착순 배정. 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를 모니터링 해서 네트워크 통계치를 작성하는 툴을 구현