네트워크

개요

시스템 자원을 사용하고자 한다면 사용자는 항상 물리적인 공간에 제약을 받아왔습니다.

필자가 학교에 다닐 무렵에 프린터가 없었던 이유로 아래아 한글로 문서작업을 한 후에

문서 파일을 플로피 디스켓에 저장한 후에 학과 사무실의 프린터가 달려 있는 컴퓨터에서

플로피 디스켓에 저장된 문서를 아래아 한글로 읽어 들여서 프린트를 하고는 했습니다.

필자의 컴퓨팅 환경에는 문서 작업을 할 수 있는 애플리케이션은 있었지만 결과물로 만들

어진 문서를 출력할 수 있는 프린터가 없었기 때문에 실제 프린터를 이용하려고 한다면

데이터를 플로피 디스크 등 이동이 가능한 매체에 저장한 후 실제 프린터가 있는 컴퓨터로

물리적으로 이동을 한 후에 프린트를 해야만 했습니다.

 

비단 프린터라는 시스템 자원 뿐만 아니라 기본적인 오피스 제품을 사용하거나, 일반

데이터등을 읽고 쓰고자 할 때는 실제의 시스템 자원이나 데이터 소스의 물리적인 공간에

제약을 받았습니다. 이는 상당히 불편할 뿐 만 아니라 컴퓨팅 능력이 매우 제한 된다는 것

을 경험하셨을 것입니다.

실제로 많은 비용을 들여서 장만한 컴퓨터를 문서 편집기나 오락기기로 사용하는 대부분

의 이유가 이런 물리적인 제약을 가지고 있기 때문입니다.

친구집에 있는 좋은 그림이나 좋은 동영상을 보고 싶다거나 좋아하는 사람에게 글을 써서

보낸다거나 하는 것은 불가능했으니까요.

 혹 의지가 대단한 분이라면 플로피 디스크 수백장을 주고 받았을지 모르겠습니다만

 

하지만 만약에 이런 시스템 자원, 혹은 데이터 소스가 물리적인 공간에 전혀 제약을 받지

않을 수만 있다면,물리적으로 점유한 컴퓨터에서 다른 공간에 있는 컴퓨터의 시스템 자원을

이용할 수 있다면 물리적으로 점유한 컴퓨터에서 읽고 쓰기가 아주 자연스러운 것처럼 다른

공간에 있는 컴퓨터에서도 마찬가지로 읽고 쓰기가 아주 자연스럽게 된다면 얼마나 좋을까

하는 생각을 가지게 되는 것은 당연한 것일 것입니다.

 

 이런 생각은 네트워크라는 개념으로 정착되었습니다. 즉 네트워크에 참여하는 컴퓨터는

물리적으로 점유한 컴퓨터에서 데이터를 읽고 쓰는 것이 당연하고, 애플리케이션을

실행시켜서 원하는 일을 하는 것이 당연한 것처럼 네트워크에 참여하고 있는 컴퓨터라면

물리적인 제약을 넘어서 언제든 데이터를 읽고,쓰는 것이 가능하고, 애플리케이션 서비스를

제공 할 수 있도록 하는 것입니다.

 최근에는 네트워크에 참여하지 않는 컴퓨터는 거의 문서편집기나 오락기기로 생각될 만큼

스스로만 존재하는 컴퓨터는 의미를 많이 잃어가고 있습니다.

 왜냐하면 네트워크에 참여하는 컴퓨터들이 가진 분산 저장된 정보는 독자분들의 컴퓨터에

저장된 정보에 비한다면 바가지에 퍼담은 물의 양과 태평양에 있는 물의 양을 비교하는

것과 같으니까요. 최근의 모든 기술들은 네트워크 기반을 기본으로해서 성장하고 있습니다.

여기서는 네트워크기반 프로그램을 작성하는데 필요한 기본적인 개념에 대해서 알아보도록

하겠습니다.

Posted by
,