이전 포스팅에서 프로토콜이란 서로 연결된 두 대 이상의 컴퓨터가 장치가 데이터를 주고받는 통신을 하기 위한 약속이나 규약이라는 것에 대해 알아보았습니다. 이러한 프로토콜은 사용되는 분야나 목적에 따라 분류되기도 하는데 이번 포스팅에서는 네트워킹, 통신, 응용 계층 적인 측면에서 프로토콜의 종류에 대해 자세히 알아보도록 하겠습니다.

네트워킹 프로토콜
IP(인터넷 프로토콜)
일반적으로 IP(인터넷 프로토콜)란 인터넷이 원활하게 동작할 수 있도록 하는 통신 프로토콜의 모음입니다. IP는 네트워크를 통한 데이터 전송을 기반으로 하며 인터넷에 연결된 장치 간의 정보 공유를 용이하게 합니다. IP는 안정적이고 효율적인 성능의 통신을 가능하도록하기 위해 작동하는 여러 프로토콜로 구성됩니다.
인터넷 프로토콜 제품군의 주요 프로토콜 중 하나는 바로 인터넷 프로토콜(IP) 그 자체입니다. 인터넷 프로토콜은 상호 연결된 네트워크의 송신 장치에서 수신 장치로 데이터를 보내는 데 필요한 주소 지정 및 라우팅 메커니즘을 제공합니다. 네트워크에 연결된 각 장치에 고유한 IP 주소를 할당함으로써 데이터를 원하는 주소에 올바르게 전달할 수 있습니다.
TCP(전송 제어 프로토콜)
TCP(전송 제어 프로토콜)는 인터넷 프로토콜 제품군의 또 다른 핵심 프로토콜입니다. IP 네트워크를 통해 장치 간에 안정적인 연결을 통해 효율적인 통신을 가능하도록합니다. 또한 TCP는 데이터를 패킷으로 분할하여 전송하고 수신 장치에 성공적으로 전달하는 역할을 합니다.
TCP는 데이터 전송이 시작되기 전에 두 장치 간에 안정적인 연결을 위한 설정은 전송 제어 프로토콜의 주요 기능 중 하나입니다. 이 프로세스에는 클라이언트와 서버가 특정한 메시지를 주고받으며 연결을 설정하는 3방향 핸드쉐이크를 포함하고 있습니다. 연결 설정이 완료되면 두 장치가 데이터 교환을 완료할 때까지 설정을 유지합니다.
UDP(사용자 데이터그램 프로토콜)
UDP(사용자 데이터그램 프로토콜)은 TCP/IP의 비 연결형 경량 전송 프로토콜입니다. 안정적이고 연결 지향적인 프로토콜인 TCP(Transmission Control Protocol)와 달리 UDP는 데이터 수신 확인, 손실된 패킷에 대한 재전송 또는 순서대로 패킷을 전달하는 것을 보장하지 않습니다. 대신 UDP는 단순성과 낮은 오버헤드를 중요시함으로써 실시간 스트리밍, 온라인 게임 등과 같이 소량의 데이터 손실을 허용하더라도 최소한의 지연이 필요한 애플리케이션 서비스에 적합한 프로토콜입니다
이러한 연결에 있어서 심플하면서도 속도적인 부분에서의 장점에도 불구하고 오류 복구 메커니즘이 없기 때문에 UDP는 모든 유형의 애플리케이션에 적용하기에는 적합하지 않습니다. 신뢰성과 흐름 제어 메커니즘이 부족함으로 안정적인 데이터 전달이 보장되어야 하거나 대량의 트래픽을 처리해야 하는 분야에 적합하지 않고 오히려 이러한 경우에는 TCP를 적용하는 것이 더 적절합니다.
HTTP(하이퍼텍스트 전송 프로토콜)
HTTP(Hypertext Transfer Protocol)는 인터넷에서 널리 사용되는 프로토콜 중 하나입니다. HTTP는 HTML 문서 형식의 하이퍼텍스트의 전송을 용이하게 하는 상태 비 저장 텍스트 기반 프로토콜입니다. 이것은 인터넷상에서 데이터를 주고 받기위한 서버/클라이언트 모델을 따르는 애플리케이션 레벨의 프로토콜로써 TCP/IP 위에서 동작합니다.
하이퍼텍스트(Hypertext)를 기반으로 하는 데이터를 전송하겠다는 것은 다시 말해 링크를 기반으로 원하는 데이터를 얻을 수 있다는 의미입니다. 웹 서핑을 하다 보면 종종 텍스트에 링크가 걸려 있는 것을 종종 볼 수 있는데 이것이 바로 하이퍼텍스트이며 이 글을 클릭하면 텍스트, 이미지, 동영상 등의 데이터로 이동하는 것을 경험해 보았을 것입니다. 이처럼 HTTP는 어떤 종류의 데이터를 간단한 링크 하나로 전송할 수 있도록 설계된 프로토콜입니다.
통신 프로토콜
범용 직렬 버스(USB)
USB(Universal Serial Bus)는 오늘날 컴퓨터와 주변 장치 간에 데이터를 전송하고 저장하는 데 널리 사용되는 산업 표준입니다. USB는 크기가 작고 사용이 편리하며 지원할 수 있는 장치의 범위가 넓은 장점으로 인해 장치 연결을 위한 사실상의 표준이 되었습니다.
USB는 외장 하드 드라이브와 같은 저장 장치와 키보드 및 마우스와 같은 입력 장치 그 외의 프린터, 스캐너, 카메라, 스마트폰 등 기타 여러 장치를 연결하는 데 있어서 다양한 유형의 장치를 지원하는 표준화된 인터페이스를 제공함에 따라 장비마다 독립적인 특수 커넥터 및 케이블 없이 안정적이고 효율적으로 장치 연결이 가능한 장점이 있습니다.
장치별 드라이버나 복잡한 설정 없이 호스트 시스템에서 장치를 자동으로 인식할 수 있는 플러그 앤 플레이 기능은 USB의 주요 기능 중 하나입니다. 장치가 연결되면 호스트 시스템은 장치를 감지하고 고유한 주소를 할당하며 필요한 경우 필요한 드라이버를 로드합니다. 이러한 사용의 편의성은 USB가 오늘날 널리 사용되는데 기여했습니다.
블루투스
블루투스는 짧은 거리에 있는 장치 간에 데이터 및 정보를 교환할 수 있는 무선 통신 기술로써 2.4GHz 주파수 대역에서 작동하며 전파를 사용하여 장치 간 연결을 설정합니다.
케이블이나 물리적 연결 없이도 무선 연결을 제공할 수 있다는 것은 블루투스의 가장 큰 장점입니다. 스마트폰, 태블릿, 노트북, 헤드폰, 스피커, 심지어 자동차와 같은 장치가 서로 원활하게 연결되고 통신할 수 있습니다. 오늘날 블루투스 기술은 가전제품에도 다양하게 적용되고 있습니다.
블루투스는 마스터 역할을 하는 장치와 슬레이브 역할을 하는 장치를 통해 마스터-슬레이브 구조를 사용합니다. 마스터 장치는 장치 간의 통신을 제어하고, 슬레이브 장치는 마스터의 명령에 의해 데이터를 전송합니다. 예를 들어 스마트 폰으로 차량과 통신하여 음악을 듣는다고 가정해 보면 스마트폰이 마스터가 되어 음악을 재생하면 자동차의 스피커는 슬레이브가 되어 그 음악을 차량용 스피커로 출력하게 되는 것입니다.
블루투스 연결을 설정하려면 장치가 먼저 페어링이라는 과정을 거쳐야 하는데 페어링하는 동안 장치는 보안 키를 교환함으로써 암호화된 연결을 보장합니다. 한번 페어링된 장치는 별도로 블루투스 모드를 해제하지 않는 이상 나중에 자동으로 다시 연결됨으로 사용자의 연결 프로세스를 간소화할 수 있습니다.
Wi-Fi
Wi-Fi는 Wireless Fidelity의 약자로 물리적인 케이블 없이 장치가 인터넷에 연결되고 서로 통신할 수 있는 무선 통신 기술을 말합니다. 가정, 사무실, 공공장소 및 기타 다양한 환경에서 끊김이 없는 연결을 가능하게 하여 오늘날 일상생활의 필수적인 요소가 되었습니다. Wi-Fi는 WLAN(무선 근거리 통신망)의 사양을 정의하는 IEEE 802.11 표준을 기반으로 하고 있습니다.
Wi-Fi는 전파를 사용하여 장치 간에 데이터를 송수신하는 방식으로 무선 및 셀룰러 네트워크와 같은 다른 무선 통신 기술과 원리는 동일하지만 주파수 범위가 더 짧은 특징이 있습니다. 스마트폰, 랩톱, 태블릿, 스마트 홈 장치와 같이 Wi-Fi를 지원하는 장치에는 Wi-Fi 네트워크에 연결할 수 있는 Wi-Fi 어댑터 또는 NIC(네트워크 인터페이스 카드)가 내장되어 있습니다.
Wi-Fi 연결을 설정하려면 장치가 무선 액세스 포인트(AP) 또는 무선 라우터 범위 내에 있어야 합니다. AP는 장치 간의 통신을 용이하게 하고 인터넷 연결을 제공하는 중앙 허브 역할을 합니다. 무선 액세스 포인트를 벗어나는 넓은 공간에서 연결을 위해서는 추가적인 공유기를 통해 확장하기도 합니다.
이더넷
이더넷은 LAN(Local Area Network) 내에서 장치를 연결하고 통신할 수 있도록 널리 사용되는 네트워킹 기술입니다. 안정적이고 효율적으로 데이터를 전송할 수 있는 수단으로써 오늘날 가정이나 회사의 사무실에서 가장 많이 사용되고 있는 유선 통신 기술입니다. 이더넷은 빠른 전송 속도, 확장성 및 광범위한 호환성으로 인해 유선 네트워킹의 표준이 되었습니다.
이더넷 네트워크에서 컴퓨터, 서버, 스위치 및 라우터와 같은 장치는 이더넷 케이블을 사용하여 연결됩니다. 연선 케이블이라고도 하는 이러한 케이블은 간섭을 줄이기 위해 일반적으로 꼬인 구리 선 또는 광섬유 케이블을 사용합니다.
이더넷 표준은 네트워크를 통해 데이터를 전송하기 위한 프로토콜과 규칙을 정의합니다. 이더넷 표준은 IEEE(Institute of Electrical and Electronics Engineers)에 의해 개발되었으며 오늘날 가장 널리 사용되고 있는 표준은 IEEE 802.3입니다. 이 표준은 이더넷 프로토콜의 물리적 및 데이터 링크 계층을 지정하고 케이블의 전기 및 신호 특성은 물론 데이터 전송에 사용되는 프레이밍 및 주소 지정 체계를 설명합니다.
응용 계층 프로토콜
FTP(파일 전송 프로토콜)
FTP(파일 전송 프로토콜)는 네트워크에서 클라이언트와 서버 간에 파일을 주고받는 데 사용되는 표준이 되는 네트워크 프로토콜입니다. FTP는 파일을 업/다운 로드하고 파일을 관리하는 데 필요한 다양한 작업을 수행하는 방법을 제공합니다. FTP는 수십 년 동안 인터넷을 통한 파일 전송을 위해 널리 사용되어 왔습니다.
FTP는 클라이언트가 프로그램을 통해 서버에 연결하고 파일 전송 요청을 시작하는 클라이언트-서버 모델에서 작동합니다. FTP는 별도의 채널을 사용해 제어 및 데이터 전송을 함으로써 효율적이며 안정적인 파일 전송을 가능하도록합니다.
FTP는 클라이언트가 다양한 파일 작업을 수행할 수 있도록 다양한 명령을 제공합니다. 이러한 명령에는 서버에 파일 업로드(PUT), 서버로부터 파일 다운로드(GET), 파일명 변경, 파일 삭제, 디렉토리 생성, 디렉토리 내용 표시 등이 포함됩니다. FTP는 중단된 파일 전송을 재개하거나 파일에 대한 권한을 설정할 수도 있습니다.
FTP는 안정적이고 널리 사용된다는 장점이 있는 반면에 몇 가지 단점도 갖고 있습니다. 예를 들어 FTP는 기본적으로 대용량 파일의 전송이 중단되었을 경우 전송 재개를 기본적으로 지원하지 않으며 FTP의 제어 및 데이터 연결은 네트워크 문제 및 방화벽의 영향을 받을 수 있습니다. 또한 표준 FTP의 암호화 부족으로 인해 보안 문제가 발생할 수 있습니다.
SNMP(단순 네트워크 관리 프로토콜)
SNMP(Simple Network Management Protocol)는 네트워크 장치 및 시스템의 모니터링을 통해 쉽게 관리할 수 있도록 하는 애플리케이션 계층 프로토콜입니다. 네트워크 관리 시스템에서 장치에 대한 정보를 수집하고 모니터링을 통해 동작을 제어하는 데 유용하게 사용됩니다.
SNMP는 네트워크 장치가 클라이언트 역할을 하고 중앙 관리 시스템이 서버 역할을 하는 클라이언트-서버 모델에서 작동합니다. 서버는 클라이언트와 통신하여 정보를 검색하고 리소스를 관리합니다.
네트워크 관리자가 네트워크 장치를 모니터링하고 제어할 수 있는 표준화된 방법을 제공하는 것은 SNMP의 주요 목적입니다. 이를 통해 관리자는 장치의 상태, 구성 설정 및 성능 통계와 같은 다양한 유형의 정보를 얻을 수 있습니다. 또한 관리자는 SNMP를 통해 네트워크 장치를 원격으로 구성하고 펌웨어를 업데이트함으로써 기타 관리 작업을 수행할 수 있습니다.
POP(우체국 프로토콜)
POP(Post Office Protocol)는 컴퓨터 네트워크에서 이메일을 검색하는 데 사용되는 프로토콜입니다. 사용자는 원격 서버에서 이메일에 액세스할 수 있습니다. POP은 일반적으로 클라이언트가 수신 메시지를 다운로드하기 위해 서버에 연결하는 클라이언트-서버 모델에서 작동합니다.
메일 서버에서 사용자의 장치로 전자 메일을 쉽게 전송하는 것은 POP의 주요 기능 중 하나입니다. 사용자가 응용프로그램인 이메일 클라이언트를 실행하고 새로운 메시지를 확인하면 클라이언트는 POP 서버와의 연결을 설정하고 서버는 사용자 확인 절차를 통해 사서함에 대한 액세스 권한을 부여합니다. 확인 절차가 마무리되면 클라이언트는 이메일 다운로드를 시작할 수 있습니다.
POP은 이메일을 검색하고 관리하기 위해 다양한 기능을 제공합니다. 가장 대표적인 기능은 클라이언트가 서버에서 이메일 사용자의 장치로 가져와 로컬로 저장하는 메시지 “검색”입니다. 일반적으로 POP은 메시지를 클라이언트의 받은 편지함으로 다운로드하고 서버에서 메시지를 제거합니다. 그러나 일부 이메일 클라이언트는 서버에 메시지 사본을 남겨 놓을 수 있는 옵션을 제공합니다.
IMAP(인터넷 메세지 액세스 프로토콜)
IMAP(Internet Message Access Protocol)는 클라이언트가 메일 서버에서 이메일 메시지를 검색하고 관리하는 데 사용하는 인터넷 표준 프로토콜입니다. 기존의 POP(Post Office Protocol) 프로토콜에 비해 더 발전된 기능을 제공하는 이메일 관리 프로토콜입니다.
IMAP 또한 POP과 마찬가지로 클라이언트-서버 모델에서 작동합니다. 여기서 이메일 클라이언트는 클라이언트 역할을 하고 서버 역할을 하는 원격 메일 서버와 통신합니다. POP은 이메일 클라이언트를 실행해야 했지만 IMAP는 전자 메일 클라이언트가 클라이언트 장치에 다운로드하지 않고도 서버에 저장된 전자 메일 메시지에 액세스하고 조작할 수 있습니다.
사용자가 모든 장치에서 메시지를 동기화할 수 있고 여러 장치에서 자신의 이메일 계정에 액세스할 수 있다는 것이 IMAP의 주요 이점 중 하나입니다. 이메일을 읽거나 삭제하고 로컬장치의 폴더로 이동하면 이러한 변경 사항들은 동일한 이메일 계정으로 로그인된 모든 장치에 반영됩니다.
IMAP의 또 다른 중요한 기능은 서버의 저장소와 함께 작동한다는 점입니다. 이메일 메시지를 클라이언트 장치로 다운로드하고 서버에서 제거하는 POP과는 달리 IMAP는 사용자가 원하는 기간 동안 메시지를 서버에 저장할 수 있습니다. 이 기능은 여러 장치에 이메일 계정을 로그인 해두고 사용하거나 메시지를 서버에 보관하는 것을 선호하는 사용자에게 특히 유용합니다.