본문 바로가기
IT

네트워크와 프로토콜이란 무엇인가?

by EDMBLACKBOX 2021. 8. 7.
728x90

네트워크와 프로토콜에 대해 알아보자

네트워크의 역사, 프로토콜의 기능에 대해 알아보자

네트워크(Network)는 'net(그물)'과 'work(일하다)'의 합성어로 컴퓨터끼리 서로 정보를 주고받을 수 있도록 연결된 통신망을 뜻합니다. 네트워크를 통하면 언제 어디서든지 원하는 정보를 주고받을 수 있으며, 직접 정보를 전달하는 것보다 시간과 비용이 많이 절약됩니다. 예를 들어 A라는 사람이 영국에 있는 B라는 사람에게 정보를 전달하는 경우를 생각해보면, 인터넷이 대중화되기 전에는 국제우편이나 소포를 통하여 전달하는 데 며칠씩 소요되었으나, 지금은 인터넷을 통해 즉시 원하는 정보를 전달할 수 있습니다. 통신 혁명이 우리 사회에 기적 같은 변화를 가져온 것입니다.

 

 

네트워크의 역사에 대하여

최초에 인류는 원거리에 있는 상대방에게 신호를 전달할 때 봉화대를 사용했습니다. 봉화대는 높은 산 위에 설치되어 불빛이나 연기를 피어오르게 하는 기구로, 사람들은 먼 곳에서 봉화대의 불빛이나 연기를 보고 정보의 종류를 파악할 수 있었습니다. 이는 전화가 발명되기 전에는 아주 긴요하게 사용되던 통신 수단이었습니다.

 

현재 우리가 사용하는 네트워크 시초는 모스(Samuel F. B. Morse)에 의해 발명된 전신(Telegraph) 기술입니다. 1844년에 볼티모어와 오하이오 철도역 간에 모스 부호를 사용하여 유선으로 전보를 타전할 수 있는 최초의 상업용 전신기가 개발되었습니다. 모스 부호는 원거리에 있는 상대방에게 전기신호의 길이와 끊김으로 정보를 전송하는 부호입니다.

 

이후 1876년 알렉산더 벨(Alexander Graham Bell)에 의해 전화가 발명되었고, 이듬해인 1877년 상자 모양의 전화기가 등장했습니다. 벨은 1877년 유럽에 전화기를 전파하면서 빅토리아 여왕 앞에서 직접 통화하는 모습을 시연하기도 했습니다. 벨의 전화 발명으로 시작된 음성통신은 수동 교환기, 자동교환기, 전자교환기의 개발로 이어졌습니다. 우리나라의 경우 조선시대인 1896년 궁중에 궁내부 전용 교환기가 설치되면서 전화가 최초로 등장했고, 1902년 서울에서 인천 간 전화 업무가 개통됨에 따라 일반인도 사용할 수 있게 되었습니다. 아래의 그림은 이승만 대통령이 1960년 영등포 전화국을 방문하여 내부 시설을 둘러보고 있는 모습입니다.

영등포 전화국에 방문한 이승만 대통령

영등포 전화국에 방문한 이승만 대통령의 모습 전 세계적으로 음성통신 서비스인 전화가 널리 보급되는 한편, 1940년대에 컴퓨터가 탄생하면서 여러 분야에서 컴퓨터의 사용이 급격히 증가했습니다. 아울러 컴퓨터 사용자들은 컴퓨터 자체의 정보에 만족하지 않고 컴퓨터 상호 간에 정보를 서로 공유하고자 했습니다. 이것이 컴퓨터 네트워크의 탄생 동기가 됩니다. 컴퓨터 네트워크 기술은 1970년대 미 국방성의 알파넷(ARPANet) 개발 이후 급속히 발달하기 시작했고, 이후 인터넷 기술로 발전했습니다.

 

 

프로토콜이란 무엇인가?

3명의 사람이 있는데, 2명은 국적이 서로 같아서 대화가 잘 통하지만 나머지 한 명은 국적이 달라서 대화가 통하지 않는 상황을 가정해보면 프로토콜을 이해하기 쉽습니다. 네트워크에 연결된 컴퓨터 간의 통신도 이와 유사하다고 볼 수 있습니다.

 

먼저 송신 컴퓨터가 수신 컴퓨터에 데이터를 보내도 되는지 문의합니다. 수신 컴퓨터가 허가하면 송신 컴퓨터는 데이터를 보내고, 불가하면 대기합니다. 그리고 만약 보낸 데이터가 전송 중 오류가 생겼거나 제대로 도착하지 못하면 송신 컴퓨터는 데이터를 다시 보냅니다. 송신 컴퓨터가 모든 데이터를 보내면 데이터 전송을 종료합니다.

 

이와 같이 컴퓨터 네트워크에서 데이터를 주고받을 때 수행되는 절차를 프로토콜이라 합니다. 프로토콜(Protocol)은 원래 국가 간 외교 의전 절차의 의미로 사용되는 용어인데, 컴퓨터 네트워크에서는 서로 다른 기종의 컴퓨터끼리 통신하기 위해서 미리 정해놓은 규칙을 의미합니다. 컴퓨터 간에 데이터를 송수신할 때 데이터 전송 형식이나 전송 절차가 다르면 통신이 불가능하므로 프로토콜이 반드시 필요합니다. 현재 가장 널리 사용되는 프로토콜은 TCP/IP로 인터넷 서비스에서 사용됩니다. 서로 다른 기종의 컴퓨터라도 TCP/IP가 설치되어 있으면 인터넷에 연결하여 데이터를 송수신할 수 있습니다.

 

프로토콜의 기능에 대하여

프로토콜은 컴퓨터 간 데이터 전송의 효율성과 신뢰성을 보장하기 위해 아래와 같은 여러 가지 기능을 수행합니다. 모든 프로토콜이 이 기능을 공통적으로 수행하는 것은 아니지만, 각 프로토콜마다 목적에 맞게 선택해 수행하게 됩니다.

 

1. 주소 지정 - 송신 컴퓨터가 수신 컴퓨터에 데이터를 전송하고자 할 때 수신 컴퓨터의 주소를 알아야 데이터를 정확하게 전송할 수 있습니다. 주소 지정(addressing)이란 송신 컴퓨터가 보낼 데이터에 송신 측과 수신 측의 주소를 추가하는 기능을 말합니다. 주소의 종류에는 MAC(Medium Access Control) 주소, IP(Internet Protocol) 주소, 포트(Port) 주소 등이 있습니다.

 

2. 동기화 - 송신 컴퓨터가 수신 컴퓨터에 데이터를 전송할 때 상호 간의 데이터 전송 속도 및 타이밍이 정확하게 일치해야 하는데, 이를 동기화(Synchronization)라고 합니다. 만일 이러한 요소가 일치하지 않으면 수신 컴퓨터는 송신 컴퓨터가 보낸 데이터를 정확하게 수신하지 못하고 잘못된 데이터를 받을 수 있습니다. 따라서 동기화는 데이터 전송에 매우 중요한 요소입니다.

 

3. 캡슐화 - 송신 컴퓨터가 수신 컴퓨터에 데이터를 전송할 때, 전송 시 필요한 여러 가지 제어 정보를 데이터에 붙이는 것을 캡슐화(Encapsulation)라고 합니다.

 

4. 오류 제어 - 송신 컴퓨터가 전송한 데이터에 오류가 발생하면 수신 컴퓨터는 이를 검출하여 송신 컴퓨터에 데이터의 재전송을 요구하거나, 수신 컴퓨터 스스로 오류를 정정(Correction)합니다. 이를 오류 제어(Error Control)라고 합니다.

 

5. 흐름 제어 - 컴퓨터 간에 데이터를 효율적으로 전송하기 위한 데이터 전송과 응답 방식을 흐름 제어(Flow Control)라고 합니다. 예를 들어 하나의 데이터를 보낼 때마다 응답을 받는 것보다, 여러 개의 데이터를 동시에 보내고 이에 대한 응답을 한 버만 받는 것이 더 효율적입니다. 대표적인 흐름 제어로는 슬라이딩 윈도우 메커니즘(Sliding Windows Mechanism)이 있습니다.

 

6. 데이터 분할 및 조합 - 송신 컴퓨터가 데이터를 전송할 때 한꺼번에 전송하지 않고 여러 개로 나누어서 전송하는 것을 데이터 분할(Segmentation) 및 조합(Reassembly)라고 합니다. 이때 분할된 데이터를 세그먼트(Segment)라고 하는데, 조합이란 분할된 세그먼트를 모두 모아서 다시 원래의 데이터로 조립하는 것을 말합니다.

 

7. 연결 제어 - 컴퓨터 간에 데이터를 전송할 때 연결 설정, 데이터 전송, 연결 해체 단계를 수행하는 것을 연결 제어(Connection Control)라고 합니다. 높은 신뢰도를 요구하는 데이터 전송에 연결 제어를 수행하는데, 이를 연결형 프로토콜(Connection Oriented Protocol)이라 합니다. 그러나 높은 신뢰도를 요구하지 않는 데이터 전송에는 연결 제어 과정 없이 바로 데이터 전송을 수행하며, 이를 비연결형 프로토콜(Connectionless Protocol)이라 합니다.

 

 

프로토콜의 절차

컴퓨터 간에 데이터를 송수신하기 위해서는 연결 설정, 데이터 전송, 연결 해체의 3단계를 거쳐야 합니다.

 

1. 연결 설정 단계 - 컴퓨터 A가 B에게 데이터를 전송하려면 먼저 데이터를 송신해도 되는지 문의해서 허락을 받아야 합니다. 이루어지는 연결 설정 단계라고 합니다.

 

2. 데이터 전송 단계 - 컴퓨터 B가 데이터 수신을 허락하면 컴퓨터 A는 데이터를 일정한 크기의 메시지로 나누어서 전송합니다. 그러면 컴퓨터 B는 잘 받았다는 신호를 컴퓨터 A에게 보냅니다. 이와 같이 데이터 전송과 응답이 이루어지는 단계를 데이터 전송 단계라고 합니다.

 

3. 연결 해제 단계 - 컴퓨터 A가 모든 데이터를 송신하면, 전송이 종료되었음을 알리는 메시지를 컴퓨터 B에게 보내고, 컴퓨터 B는 이에 대한 응답을 컴퓨터 A에게 보냅니다. 이를 연결 해제 단계라고 합니다.

728x90

'IT' 카테고리의 다른 글

네트워크 OSI 참조 모델 7계층(OSI 7 Layer)  (1) 2021.09.05
모바일 데이터베이스에 대해 알아보자  (0) 2021.07.16
SQL 기초 문법 정리  (0) 2021.06.22