컴퓨터가 발명되면서 우리는 컴퓨터를 이용한 네트워크를 이용하는 것을 꿈꾸게 되었습니다. 기존의 라디오나 TV등은 정보수신기 역할만 하고 송신역할은 하지 못하였습니다. 직접 정보를 처리할 수는 있지만 정보를 만들어낼 수 있는 능력은 없었습니다.
반면에 컴퓨터는 정보처리, 수신, 송신들 이 모든 기능을 다 수행할 수 있었습니다. 이러한 다재다능한 기능덕분에 '실시간 대량 정보 전송'에 대하여 '양방향 정보 통신'의 길이 열리게 되었습니다. 대중매체에서 수용자는 일방적으로 정보를 수용할 수 밖에 없지만 인터넷 매체에서 수용자는 수용자인 동시에 정보 생산자가 될 수도 있습니다. UCC (User Creative Contents)는 정보 수용자임과 동시에 정보 생산자가 될 수 있음을 보여주는 대표적인 예입니다.
컴퓨터의 정보처리 기능은 방산, 군사 분야에서 먼저 쓰이기 시작했습니다. 2차 세계대전 시 연합군은 독일의 암호문(애니그마)을 컴퓨터 프로그램(M-209)을 이용하여 암호를 해독하여 승리를 할 수 있었습니다. 이처럼 컴퓨터는 빠른 데이터 처리 능력 덕분에 종전 이후에도 줄곧 군의 핵심 전술기기로 사용되었습니다. 컴퓨터들은 주로 정보처리의 효율성을 위해서 네트워크로 묶이게 되었습니다. 당시 네트워크로 묶기 위해 여러 각도에서 고심한 결과 분산형 네트워크 구조를 채택하게 되었습니다.
이러한 구조를 선택한 이유는 하나의 지휘 통제소가 공격을 받아서 통신 불능 상태가 되더라도 다른 경로들을 통해서 통신을 할 수 있다는 장점이 있기 때문입니다. 밑의 그림처럼 중앙집중형(centralized)의 네트워크 구조일 때 중앙에 있는 지휘 통제소가 통신 불능이 되면 모든 통신이 마비가 됩니다. 그러나 분산 네트워크(Distributed)로 구성하면 다른 여러 개의 지휘 통제소로 갈 수 있는 여러 경로가 생기기 때문에, 어떠한 공격을 해와도 안정적으로 대응을 할 수 있습니다.
군에서 사용하던 '분산형 네트워크 구조'는 인터넷에 도입되었습니다. 이 기술에 대량의 데이터를 주고받는 상업적인 용도의 네트워크 서비스를 위해서 패킷데이터 전송방식이 도입되는데, 이 기술들이 합쳐져서 최초의 시스템 ARPANET(알파넷)이 개발되었습니다. 일반적으로 알파넷을 인터넷의 전신이라고 합니다. 패킷 데이터 전송방식은 데이터를 통으로 보내지 않고, 작은 조각으로 쪼개고 나누어서 보냅니다. 이러한 방식은 여러 사용자가 동시에 데이터 통신으로 참여할 수 있어 네트워크를 대역폭으로 효율적으로 사용할 수 있습니다.
※ 오늘은 TCP/IP 소켓 프로그래밍에서 '인터넷의 역사 및 발전'에 대하여 알아보았습니다.
이 포스트는 학부에서 제공하는 기본적인 컴퓨터 공학 강의와 네트워크 프로그래밍 책들을 토대로 알기 쉽게 내용을 작성하였습니다. 하지만 계속 더 유익하고 논문 및 전문 서적을 읽어가며 더 추가돼야 할 내용이 있으면 TCP/IP 네트워크프로그래밍 포스트와 콘텐츠들을 계속 고도화하는 방식으로 진행하려고 합니다.
#컴퓨터공학 #TCPIP #소켓프로그래밍 #네트워크프로그래밍 #네트워크 #인터넷
'프로그래밍 > TCP, IP' 카테고리의 다른 글
[TCP/IP 소켓 프로그래밍] 네트워크 프로그램 (0) | 2019.09.29 |
---|