컴퓨터가 발명되면서 우리는 컴퓨터를 이용한 네트워크를 이용하는 것을 꿈꾸게 되었습니다. 기존의 라디오나 TV등은 정보수신기 역할만 하고 송신역할은 하지 못하였습니다. 직접 정보를 처리할 수는 있지만 정보를 만들어낼 수 있는 능력은 없었습니다.

 

반면에 컴퓨터는 정보처리, 수신, 송신들 이 모든 기능을 다 수행할 수 있었습니다. 이러한 다재다능한 기능덕분에 '실시간 대량 정보 전송'에 대하여 '양방향 정보 통신'의 길이 열리게 되었습니다. 대중매체에서 수용자는 일방적으로 정보를 수용할 수 밖에 없지만 인터넷 매체에서 수용자는 수용자인 동시에 정보 생산자가 될 수도 있습니다. UCC (User Creative Contents)는 정보 수용자임과 동시에 정보 생산자가 될 수 있음을 보여주는 대표적인 예입니다.

 

컴퓨터의 정보처리 기능은 방산, 군사 분야에서 먼저 쓰이기 시작했습니다. 2차 세계대전 시 연합군은 독일의 암호문(애니그마)을 컴퓨터 프로그램(M-209)을 이용하여 암호를 해독하여 승리를 할 수 있었습니다. 이처럼 컴퓨터는 빠른 데이터 처리 능력 덕분에 종전 이후에도 줄곧 군의 핵심 전술기기로 사용되었습니다. 컴퓨터들은 주로 정보처리의 효율성을 위해서 네트워크로 묶이게 되었습니다. 당시 네트워크로 묶기 위해 여러 각도에서 고심한 결과 분산형 네트워크 구조를 채택하게 되었습니다.

 

이러한 구조를 선택한 이유는 하나의 지휘 통제소가 공격을 받아서 통신 불능 상태가 되더라도 다른 경로들을 통해서 통신을 할 수 있다는 장점이 있기 때문입니다. 밑의 그림처럼 중앙집중형(centralized)의 네트워크 구조일 때 중앙에 있는 지휘 통제소가 통신 불능이 되면 모든 통신이 마비가 됩니다. 그러나 분산 네트워크(Distributed)로 구성하면 다른 여러 개의 지휘 통제소로 갈 수 있는 여러 경로가 생기기 때문에, 어떠한 공격을 해와도 안정적으로 대응을 할 수 있습니다.

 

 

 

 

 

 

군에서 사용하던 '분산형 네트워크 구조'는 인터넷에 도입되었습니다. 이 기술에 대량의 데이터를 주고받는 상업적인 용도의 네트워크 서비스를 위해서 패킷데이터 전송방식이 도입되는데, 이 기술들이 합쳐져서 최초의 시스템 ARPANET(알파넷)이 개발되었습니다. 일반적으로 알파넷을 인터넷의 전신이라고 합니다. 패킷 데이터 전송방식은 데이터를 통으로 보내지 않고, 작은 조각으로 쪼개고 나누어서 보냅니다. 이러한 방식은 여러 사용자가 동시에 데이터 통신으로 참여할 수 있어 네트워크를 대역폭으로 효율적으로 사용할 수 있습니다.

 

 

Arphanet(알파넷)

 

 


 

 

※ 오늘은 TCP/IP 소켓 프로그래밍에서 '인터넷의 역사 및 발전'에 대하여 알아보았습니다.

 

이 포스트는 학부에서 제공하는 기본적인 컴퓨터 공학 강의와 네트워크 프로그래밍 책들을 토대로 알기 쉽게 내용을 작성하였습니다. 하지만 계속 더 유익하고 논문 및 전문 서적을 읽어가며 더 추가돼야 할 내용이 있으면 TCP/IP 네트워크프로그래밍 포스트와 콘텐츠들을 계속 고도화하는 방식으로 진행하려고 합니다.

#컴퓨터공학 #TCPIP #소켓프로그래밍 #네트워크프로그래밍 #네트워크 #인터넷

'프로그래밍 > TCP, IP' 카테고리의 다른 글

[TCP/IP 소켓 프로그래밍] 네트워크 프로그램  (0) 2019.09.29

 

 

 

 

 

TCP/IP 소켓 프로그래밍에서는 주로 네트워크 프로그램의 개발에 대한 내용을 설명합니다.정보 전달은 정보의 종류와 처리하는 방식에 상관없이 수신자, 송신자, 전령 3 가지 구성요소를 가지고 있습니다. 이중에 전령은 매체의 역할을 하며 송신자와 수신자는 정보를 만들고 해석하는 역할을 하게 됩니다. 예를 들자면 방송은 방송죽 (송신자), 전파 (전령), TV (수신자)가 있어야 합니다.

 

일반적으로 매체는 전령의 역할을 할 뿐 그 자체가 정보를 생산하거나 정보를 해석하지는 않습니다. 그러므로 매체를 통해서 전달된 정보를 저장하고, 분석하고, 분류하기 위한 프로그램이 필요합니다. 인터넷이 생기기 이전의 매체에서는 사람이 중심이 되어 프로그램의 역할을 맡아서 진행하였습니다.

 

 

 

그러나 인터넷 시대인 현재는 사람 대신에 컴퓨터가 그 역할을 맡아서 하고 있습니다. (인간의 역할 100%를 대신 한다는 것은 아닙니다.) 즉 인터넷에서는 네트워크 프로그램이 사람을 대신해서 네트워크로 전달된 정보를 저장, 분석, 처리하고 있습니다.

 

 


 

 

네트워크는 주로 '여러 객체가 얽혀서 정보를 교환하는 시스템' 이라고 말할 수 있습니다. 우리는 주로 사회 혹은 기술적인 분야에서 네트워크란 단어를 많이 듣습니다. 때문에 네트워크는 사람이 만든 인공적인 것이라고 생각할 수 있겠지만, 네트워크는 원래 자연에서 찾아볼 수 있습니다. 네트워크의 예는 생명체의 최소 단위라고 할 수 있는 세포 수준에서도 찾아볼 수 있습니다.

 

 

 

위의 그림을 자세히 보면 각 점은 하나의 정보를 저장할 수 있습니다. 네트워크를 이루지 않을 경우 저장할 수 있는 정보는 매우 한정적이지만, 여섯 점이 모두 서로 연결되어 이를 조합하면 매우 많은 정보를 저장할 수 있습니다. 한 점에서 다른 점으로 갈 수 있는 경로가 매우 다양하기 때문입니다. 또한 경로 하나가 차단되더라도 다른 경로를 이용해서 정보에 접근할 수 있으므로 안정성을 높일 수도 있습니다. 사람의 뇌를 구성하는 뉴런도 이러한 네트워크의 형태로 구성되어 있습니다. 덕분에 그렇게 크지 않은 뇌 (약 1300g)로 엄청난 양의 정보를 안정적으로 저장하고 분석까지 할 수 있습니다.

 

이처럼 네트워크를 구성하면 한정된 공간에서 정보를 더 많이 그리고 더 안정적으로 운용할 수 있습니다. 인류의 문명의 발전에 있어서도 네트워크의 활용이 지대한 영향을 미쳤습니다. 인류의 발전은 네트워크와 함께 하고 있다고 해도 과언이 아닙니다. 인간은 다른 동물에게서 볼 수 없는 사회라는 고도의 정보 네트워크를 구축해서,문화를 일구었습니다. 또한 상하수도망과 도로망도 만들었습니다. 모든 길은 로마로 통한다는 말은 네트워크의 중심이 즉 로마에 있었고, 때문에 로마가 문명의 중심에 있었기 때문입니다.

 

네트워크는 보통 정보를 전달하는 매체에 의해서 한계가 주어집니다. 이러한 한계는 대체로 물리적인 요소들 이었습니다. 도로망, 우편망은 도로 및 차량이 가지는 물리적인 한계가 있습니다. 더 좋은 도로와 더 크고 빠른 교통수단들 덕에 상당히 완화되긴 하였지만 여전히 공간과 시간의 정보전달을 방해하고 있습니다.

 

이런 공간과 시간의 한계는 전기/전자 정보통신 기술의 발전과 함께 허물어지기 시작했습니다. 전화, 라디오, TV로 이어지는 매체의 발전은 대량의 정보를 거의 실시간으로 전송할 수 있게 해줬습니다. 방송망 즉 대중매체가 탄생했기 때문입니다. 그러다가 드디어 컴퓨터를 사용하는 컴퓨터의 네트워크인 '인터넷'이 발명되었고, 20세기 후반에 나타난 인터넷은 '제 3의 물결', '정보통신 혁명'이 일어나며 새로운 산업으로 급성장했습니다.

 


 

※ 오늘은 TCP/IP 소켓 프로그래밍에서 '네트워크 프로그램'에 대하여 알아보았습니다.

 

이 포스트는 학부에서 제공하는 기본적인 컴퓨터 공학 강의와 네트워크 프로그래밍 책들을 토대로 알기 쉽게 내용을 작성하였습니다. 하지만 계속 더 유익하고 논문 및 전문 서적을 읽어가며 더 추가돼야 할 내용이 있으면 TCP/IP 네트워크프로그래밍 포스트와 콘텐츠들을 계속 고도화하는 방식으로 진행하려고 합니다.

#컴퓨터공학 #TCPIP #소켓프로그래밍 #네트워크프로그래밍 #네트워크 #인터넷

+ Recent posts