sunhokim28 2024. 10. 25. 19:56

ICN(Information-centric networking)

 TCP/IP 기반의 인터넷의 한계를 나타내기 위해 제안된 네트워킹 방식으로 현재는 사용되지 않는 기술이다.

TCP/IP는 End-to-end 모델을 채택하고 있었기에 IP는 지역에 기반한 식별자로 사용되었다.하지만 점점 무선통신기술이 발달하자 IP가 고정되지 않게되었다.그리고 인터넷 트래픽 트랜드를 보면 비디오 영상의 트래픽이 급성장하고 있기고 중복되는 데이터가 많아졌다.

Cisco 인터넷 트래픽 분석

이러한 상황에서 데이터를 보다 효과적으로 전달하고 무선 기기에 대한 서비스를 개선하기 위한 움직임이 등장했다.그것이 ICN으로 구상도는 다음과 같다.

기존의 네트워크

 

ICN네트워크

TCP/IP 기반의 네트워크에서는 결국 IP가 어디에 컨텐츠가 있는지를 요청했다면 ICN에서는 컨텐츠가 무엇인지에 집중한다.

TCP/IP vs ICN

즉,ICN은 사용자가 거대한 인터넷에 어떤 컨텐츠를 원하는지를 인터넷을 큰 데이터베이스라 간주하고 Query를 통해 컨텐츠를 주고 받는다.

ICN 동작원리

ICN의 주요개념은 다음과 같다.

  1. 수신자 중신 통신(Receiver-driven Communication):ICN에서는 요청자가 통신을 시작하고,수신자가 필요로 하는 데이터를 요청한다.TCP/IP는 반면 송신자 중심 통신(Sender-driven Communication)이다.
  2. 콘텐츠는 이름을 기반으로 주소화(Content is Addressed by its ID):ICN은 데이터가 위치가 아닌 이름(content ID)을 통해 식별된다.
  3. 네트워크 내 캐싱(In-network Caching):ICN에서는 네트워크 내의 모든 노드(라우터..)에서 데이터를 캐시할 수 있다.캐싱을 통해 동일한 데이터 요청이 있을때,가까운 캐시에서 데이터를 제공할 수 있다.

ICN Architectures

 ICN은 EU와 미국에서 각각 다른 구조로 제안되었다.

 

Centralized architecture(중앙집중형 구조)

 

 EU에서 채택한 구조로 다음과 같은 특징을 갖는다.

  1. Pub/sub Internet Routing Paradigm:발행/구독 모델을 기반으로 데이터를 요청하고 배포하는 구조
  2. Flat Name Structure:계층적인 도메인 이름 체계와 달리,데이터가 고유한 식별자로 관리되는 구조이다.
  3. Cashes at the Edge Routers:엣지 라우터에 캐시를 배치하여 더 가까운 위치에서 데이터를 가져올 수 있도록 한다.
  4. Name Resolution System(NRS):데이터를 찾기 위해 이름을 위치로 변환하는 역할을 한다.

Centralized architecture

하지만 중앙집중형 구조는 NRS시스템의 오버헤드가 매우 크다는 한계점을 지닌다.NRS는 데이터를 찾기도하고 등록도 해야한다.따라서 요청이 몰리면 병목현상이 발생할 수 있다.또한 민감한 개인정보가 캐싱되는 것도 문제될 수 있다.

 

Decentralized architecture(분산형 구조)

 

 미국에서 제안된 구조로 크게 Named data networking(NDN),Content centric networking(CCN)으로 나뉜다.둘다 거의 비슷하나

CCN은 미국의 회사(Parc)가 소유권을 갖고 나서부터는 어느순간부터 조금씩 달라졌다.반면 NDN은 CCN을 오픈소스로 개방하여 연구하고 있다.

NDN

 NDN은 데이터를 위치가 아닌 이름을 통해 요청하고 라우팅한다.즉,IP주소 기반 라우팅을 대체하는 것 이다.

예를 들어 다음과 같이 표기된다.

 

example of NDN

NDN messages

 NDN에서는 쿼리 패킷,데이터 패킷을 이용해 네트워킹을 한다.

Query Packet은 Interest로 불리며 다음과 같은 구조를 갖는다.

Query packet

Name에는 식별자로 데이터를 찾는 기준이된다.Nonce에는 패킷의 고유성을 보장하는 값으로 네트워크에서 중복된 요청을 방지한다.

Selectors에는 특정 데이터를 찾기 위한 추가적인 조건,필터를 지정한다.마지막으로 Guiders에는 패킷의 라우팅 및 전달에 관련된 정보로 패킷의 범위와 생존시간을 정의한다.

 

반면 송신받는 Data packet은 Response로 불리며 다음과 같은 구조를 갖는다.

response

Name에는 마찬가지로 해당되는 데이터의 이름으로 요청시의 name과 일치해야한다.MetaInfo에는 데이터의 부가 정보를 포함한다.예를들어 데이터 유형,데이터 유효기간이 들어간다.Content에는 실제 데이터가 포함된 부분이다.Signature는 데이터의 무결성과 신뢰성을 보장하기 위한 섹션으로 데이터가 위조되지 않았음을 증명한다.

NDN Data Structures

  NDN에서는 크게 3가지의 중요한 데이터 구조를 사용한다.

  1. Forwarding Information Base(FIB):Interest 패킷을 전달하는 데 사용되는 라우팅 테이블과 유사한 구조다.이름 접두사를 사용하여 포워딩한다.
  2. Pending Interest Table(PIT):Interest 패킷의 요청을 추적하고,해당 요청에 대한 응답이 돌아올 때 그 경로를 기억하여 Data 패킷을 적절한 방향으로 전달한다.
  3. Content Store(CS):노드에 캐시된 데이터를 저장하는 공간이다.

NDN Data structures

 

만일 Interest가 요청되면 FIB가 이름 접두사로 매칭된 포트로 패킷을 내보내면서 Interest를 PIT에 저장한다.이후 Responser가 오면 PIT와 매칭한후 기록된 해당 인터페이스로 패킷을 내보낸다.이때 reponse는 CS -> PIT -> FIB순으로 탐색된다.

이러한 포워딩 과정을 요약하면 다음과 같다.

Forwarding comparison

 

NDN forwarding process summary

NDN을 무선통신기술에 대입을 해보면 굉장히 효과적이다.우선 연결이라는 개념이 없기 때문에 데이터를 가까운데서 받기만 하면된다.

Mobillity

또한 현재는 잘 사용되지 않지만 무선기기간의 통신은 양쪽다 유동적으로 움직이기에 TCP/IP는 한계가 존재한다.하지만 ICN은 이를 잘 대응할 수 있다.이를 위해 고안된 모델들은 다음과 같다.

ICN에서의 Mobility지원

 이 처럼 ICN은 좋은 구조를 가지고 있지만 현재는 사용이 되지 않는다.가장 결정적인 문제는 가격의 문제로 ICN인프라를 기존의 잘쓰이고 있는 인프라를 걷어내고 설치했을때의 ISP의 이득이 없다 판단되었고 결국은 채택되지 않았다.하지만 무선이동통신이 더 확장되면 도입될 가능성이 높은 기술이다.또한 ICN에서 제안된 여러 요소들이 다른 네트워크 아키텍처에 많은 영향을 끼쳤다.