프로토콜이란?

2017. 2. 12. 06:20네트워크 해킹 및 보안/네트워크 기본

프로토콜(Protocol)


네트워크 프로토콜이란 컴퓨터나 통신 장비 사이에서 메시지를 주고 받기 위해 설계된 일련의 규칙 체계입니다. 이 프로토콜이 있음으로 인해 수많은 장비들이 메시지를 해독하고 처리할 수가 있는 거죠. 네트워크 프로토콜은 논리적으로 데이터의 표현 형식 단위인 프레임의 구조, 프레임 안에 있는 각 헤더정보를 구성하고 있으며, 물리적으로는 케이블같은 전송매체의 규격이나 전송 신호를 정하고 있습니다. 이 프로토콜을 정의하는 기관으로는 대표적으로 IEEEISO 등이 있고, 여러 IT회사들이 독자적으로 개발한 프로토콜도 있습니다.

 

현재 가장 널리 쓰이는 네트워크 모델 중에 TCP/IP라는 모델이 있습니다. 이 모델은 클라이언트와 서버 사이에서 이루어지는 통신과정을 여러 개의 프로토콜로 나누어 서로 다른 역할을 수행합니다. 각각의 프로토콜은 컴퓨터나 통신 장비의 하드웨어나 소프트웨어에 의해 제어됩니다.


왼쪽에 보이는 부분이 클라이언트, 오른쪽에 있는 것이 서버입니다. 클라이언트/서버의 통신과정은 클라이언트에서 특정 서비스를 요청해서 서버가 이를 수용하고 응답하는 과정입니다. 클라이언트는 위에서 밑으로 일을 처리하고, 서버는 밑에서 위로 일을 처리하죠. 위 그림에서 클라이언트는 Application을 시작으로 Link까지 프로토콜들을 거치면서 특정 메시지와 각종 네트워크 정보를 담은 헤더정보를 만들어내게 됩니다. 이렇게 만들어낸 데이터를 케이블을 통해서 원격에 있는 서버로 보내게 되고, 서버는 Link에서부터 Application까지순으로 수신한 데이터를 분석 및 해독하여 클라이언트가 원하는 서비스가 무엇인지 파악하게 됩니다.

 

  • Application Protocol(응용 프로토콜): 클라이언트와 서버 응용프로세스 간에 정보교환이 이루어집니다. 대표적인 프로토콜로써 HTTP, SMTP, DNS, FTP, TELNET 등이 있습니다.
  • Transport Protocol(전송 프로토콜): 호스트 간에 메시지의 교환과 관리가 이루어지며, TCPUDP가 전송 프로토콜입니다. TCP는 연결형 서비스에 오류 제어와 흐름 제어를 하고, UDP는 비연결형 서비스이지만 오류 제어나 흐름 제어는 실시하지 않습니다.
  • Network Protocol(네트워크 프로토콜): 인터넷에서 목적지에 도착하기 위한 패킷의 경로 제공 및 관리의 역할을 합니다. 주요 프로토콜은 IPv4, IPv6, IPSec 등이 있습니다.
  • Network Access Protocol(네트워크 접속 프로토콜): 케이블 같은 물리적 전송매체를 이용하여 패킷을 전송하는 역할을 합니다. 주 프로토콜은 이더넷, Point to Point Protocol(PPP) 등이 있습니다.

위 그림은 HTTP로 동작하는 웹의 클라이언트/서버 과정입니다. 클라이언트는 브라우저를 이용해 서버에 특정 서비스를 요청하게 됩니다. 이 과정에서 클라이언트 운영체제가 서버로 보내기 위한 네트워크 정보를 담는 헤더를 만들어내게 됩니다. 그렇게 케이블을 통해서 서버를 보내면, 서버 운영체제는 이 데이터 패킷이 어디서부터 왔는지 등 네트워크 정보를 파악하고 최종적으로 서버 소프트웨어가 이 요청 메시지의 목적을 파악하여 그에 알맞은 서비스를 보내주게 됩니다.


---------------------------------------------------------------------------------

이해 안되는 부분이나 틀린 부분이 있다면 지적해주시면 감사하겠습니다^^