IPFS 그리고 Web
Internet 그리고 Web
위키피디아를 통해 찾아본 인터넷과 웹의 정의는 아래와 같습니다.
인터넷 은 컴퓨터로 연결하여 TCI/IP (Transmission Control Protocol/Inrternet Protocol) 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크 입니다.
World Wide Web 은 인터넷에 연결된 컴퓨터들을 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간을 말합니다. 이를 간단히 웹 (Web) 이라고 부르는 경우가 많습니다. 이 용어는 인터넷과 동의어로 쓰이는 경우가 많으나 엄격히 말해 서로 다른 개념입니다. 웹은 전자메일과 같이 인터넷 상에서 동작하는 하나의 서비스 입니다.
그런데 우리가 가장 많이 사용하는 웹 프로토콜은 무엇일까요? 아마도 HTTP (HyperText Transfer Protocol) 가 아닐까 합니다.
HTTP 는 WWW 상에서 정보를 주고받을 수 있는 프로토콜 입니다. TCP 와 UDP 를 사용하고 80번 포트를 사용합니다. 결국 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜 입니다.
인터넷, 웹, HTTP, TCP/UDP 등등의 수많은 의미와 기술들은 요청한 파일을 전송하는 목적을 가지고 있습니다.
HTTP Web 의 한계
불안정
HTTP는 클라이언트가 서버에 데이터를 요청하면 서버에서 응답하며 데이터를 보내주는 구조입니다. 그렇기 때문에 서버의 전원이 차단되면 아무것도 할 수 없고 항상 서버 해킹에 대한 걱정을 안고 있어야 합니다. 특히나 해킹으로 인하여 서버의 데이터가 삭제된다면 무척이나 큰 일이 발생합니다.
자주 웹서핑을 하다가 분노를 일으키는 ‘404 Error’ 는 컨텐츠가 삭제되거나 이동하였음을 의미합니다.
가장 심각한 문제는 어떤 이유로든 데이터가 삭제되는 것 입니다. 이러한 문제를 줄이기 위해 이중화, 삼중화로 서버를 구성하고 네트워크보안을 추가하는 등 어마어마한 시간과 노력을 들이고 있지만 해결이 되지 않습니다.
중앙 집중화
인터넷을 기반으로 하는 시스템의 구성은 분산 시스템이지만 역설적이게도 매우 중앙 집중화되어 있습니다. 이는 결국 현재의 문제점을 낳고 말았습니다. 해커는 중앙 집중화된 몇개의 서버를 공격하여 개인정보를 탈취하고, 몇개의 서버를 장악하면 하나의 나라를 감시할 수 있습니다. 즉 중앙 집중화된 구조는 보안에 취약해질 수 밖에 없는 구조입니다.
Latency
지리적으로 가까운 서버에서 데이터를 제공하지 않는다면 속도 문제가 발생합니다. 특히나 지리적으로 너무 멀리 떨어진 서버라면 상상을 초월하는 속도 문제를 경험하게 됩니다. 대부분의 서비스 업체들은 리전이라고 하는 데이터센터를 세계 권역마다 마련하고 있습니다.
최근 매우 인기가 있는 Youtube 를 생각하면 인기 콘텐츠에 대한 요청이 어마어마하게 발생하고 있으며 이에 대한 응답 역시 어마어마하게 발생하고 있습니다. 작은 용량의 데이터가 전송되던 과거의 형태에서 매우 급격하게 증가한 데이터가 전송되고 있습니다. 스트리밍 서비스 영상이 고화질로 증가하면서 용량도 폭증하였습니다. 이는 결국 통신 속도의 저하를 초래하게 됩니다.
해결책은 데이터 분산
비교적 작은 데이터들이 돌아다녔던 과거의 HTTP 환경에서 이제는 매우 큰 데이터들이 어마어마한 트래픽을 발생시키는 환경으로 변화하였습니다. 하지만 아직도 HTTP를 가장 많이 활용하고 있습니다. 새로운 도전거리가 발생한 것 입니다. 즉, 네트워크도 진화하고 변화하여야 합니다.
대략의 진화 방향을 살펴보면 다음과 같습니다.
- 페타 바이트 데이터셋이 호스팅되고 분산됩니다.
- 조직 전체에 걸쳐 대규모 데이터를 기반으로 컴퓨팅 합니다.
- 대규모 데이터셋은 버전처리되어 관리 되고 연결됩니다.
- 중요한 파일이 실수로 사라지는 것을 방지합니다.
앞으로 이러한 변화의 선두에 서있는 IPFS (InterPlanetary File System) 에 대하여 알아보고자 합니다.