네트워크 프로토콜은 장치가 네트워크를 통해 서로 통신하는 데 사용하는 규칙 집합입니다.
이는 사람들이 서로 대화할 때 특정 행동과 절차를 따르는 방식과 비슷합니다.
데이터 패킷을 구성하는 방법, 장치를 식별하는 방법, 오류 및 충돌을 처리하는 방법 등을 지정합니다.
네트워크 프로토콜은 통신, 보안, 관리의 세 가지 주요 유형으로 분류할 수 있습니다.
목차
#1. 통신 프로토콜
이러한 프로토콜은 네트워크의 장치 간에 데이터 및 정보를 교환하는 데 중점을 둡니다. 효과적인 통신을 보장하는 데이터 형식, 전송 및 수신 방법을 결정합니다. 예로는 HTTP/HTTPS, FTP, TCP 및 UDP가 있습니다.
#2. 보안 프로토콜
보안 프로토콜은 데이터가 네트워크를 통과할 때 데이터의 기밀성과 신뢰성을 보호하도록 설계되었습니다. 이는 통신을 위한 보안 채널을 구축하고 중요한 정보가 가로채기나 변조에 취약하지 않도록 합니다.
예를 들어 암호화를 위한 SSL/TLS, 보안 원격 액세스를 위한 SSH, SMTPS 및 POP3S와 같은 이메일 프로토콜의 보안 변형 등이 있습니다.
#삼. 관리 프로토콜
관리 프로토콜은 네트워크 장치/리소스의 관리, 모니터링 및 제어에 사용됩니다. 이는 네트워크 관리자가 네트워크 구성 요소를 효율적으로 구성하고 문제를 해결하는 데 도움이 됩니다.
몇 가지 예로는 동적 IP 주소 할당을 위한 DHCP, 네트워크 장치 관리를 위한 SNMP, 진단 목적을 위한 ICMP, 라우팅 및 연결 가능성 정보를 위한 BGP 등이 있습니다.
각 범주의 몇 가지 일반적인 프로토콜에 대해 논의해 보겠습니다.
통신 프로토콜
HTTP
HTTP는 하이퍼텍스트 전송 프로토콜을 나타냅니다.
웹 브라우저와 서버 간의 통신에 사용되는 기본 프로토콜입니다.
OSI 모델 위에서 작동하는 애플리케이션 계층 프로토콜입니다.
웹 브라우저에 URL을 입력하고 Enter 키를 누르면 웹 서버에 HTTP 요청이 전송되고 웹 서버는 요청을 처리한 후 요청된 정보가 포함된 HTTP 응답을 다시 보냅니다.
이는 웹페이지, 이미지, 비디오 또는 서버에서 호스팅되는 기타 리소스일 수 있습니다.
HTTP는 상태 비저장 프로토콜입니다. 이는 클라이언트에서 서버로의 각 요청이 독립적이고 격리된 트랜잭션으로 처리됨을 의미합니다.
서버는 동일한 클라이언트의 이전 요청에 대한 정보를 유지하지 않습니다. 이러한 단순성은 HTTP가 널리 사용되는 이유 중 하나입니다.
HTTP는 GET(데이터 검색), POST(처리할 데이터 전송), PUT(리소스 업데이트), DELETE(리소스 제거) 등을 포함한 여러 요청 방법을 정의합니다. 이러한 메서드는 클라이언트가 서버에서 수행하려는 작업 유형을 결정합니다.
일반적으로 HTTP 응답에는 요청 결과를 나타내는 상태 코드가 포함됩니다.
예를 들어 상태 코드 200은 요청 성공을 나타내고, 404는 요청한 리소스를 찾을 수 없음을 나타냅니다.
그리고 HTTP는 수년에 걸쳐 여러 버전이 있었으며, HTTP/1.1은 오랫동안 가장 널리 사용되는 버전 중 하나였습니다.
HTTP/2 및 HTTP/3(QUIC라고도 함)은 성능을 향상시키기 위해 개발되었습니다.
HTTPS
HTTPS는 Hypertext Transfer Protocol Secure를 의미합니다.
이는 컴퓨터 네트워크를 통한 보안 통신에 사용되는 HTTP 프로토콜의 확장입니다.
SSL/TLS와 같은 암호화 프로토콜을 사용하여 브라우저와 웹 서버 간에 교환되는 데이터를 암호화하여 표준 HTTP에 보안 계층을 추가합니다. 누군가가 전송되는 데이터를 가로채더라도 쉽게 읽거나 해독할 수 없습니다.
HTTPS에는 서버 인증 형식이 포함됩니다.
브라우저가 HTTPS를 통해 웹사이트에 연결되면 웹사이트는 신뢰할 수 있는 인증 기관(CA)에서 발급한 디지털 인증서를 제공합니다.
이 인증서는 웹사이트의 신원을 확인하여 클라이언트가 악의적인 서버가 아닌 의도한 서버에 연결되어 있는지 확인합니다.
HTTPS를 사용하는 웹사이트는 URL 시작 부분에 “https://”가 표시됩니다. 이 접두어를 사용하면 웹 사이트가 보안 연결을 사용하고 있음을 나타냅니다.
HTTPS는 일반적으로 통신에 포트 443을 사용하는 반면 HTTP는 포트 80을 사용합니다. 웹 서버는 이러한 구별을 사용하여 보안 연결과 비보안 연결을 쉽게 구분할 수 있습니다.
Google과 같은 검색 엔진은 검색 순위에서 HTTPS를 사용하는 웹사이트의 우선순위를 정합니다.
보안 HTTPS 웹페이지에 보안되지 않은 HTTP 연결을 통해 제공되는 요소(이미지 또는 스크립트)가 포함되어 있는 경우 브라우저는 사용자에게 경고할 수도 있습니다. 이는 “혼합 콘텐츠”로 알려져 있으며 보안을 손상시킬 수 있습니다.
다음은 웹사이트용 SSL 인증서를 얻는 방법에 대한 자세한 기사입니다. 이 페이지를 방문해 보세요.
FTP
FTP(파일 전송 프로토콜)는 컴퓨터 네트워크의 클라이언트와 서버 간에 파일을 전송하는 데 사용되는 표준 네트워크 프로토콜입니다.
FTP는 클라이언트-서버 모델에서 작동합니다. 이는 클라이언트가 파일을 요청하고 전송하기 위해 다른 컴퓨터(서버)에 대한 연결을 시작한다는 것을 의미합니다.
FTP는 통신을 위해 두 개의 포트를 사용하며 활성 모드와 수동 모드의 두 가지 모드로 작동할 수 있습니다.
포트 21은 클라이언트와 서버 간에 명령과 응답이 전송되는 제어 연결에 사용됩니다.
활성 모드는 클라이언트-서버 모델의 원리에 따라 작동하는 전통적인 모드입니다. 여기에서 데이터 전송을 위해 추가 포트(일반적으로 1024-65535 범위)가 열립니다.
반면, 수동 모드는 클라이언트가 방화벽이나 NAT 장치 뒤에 있고 서버가 데이터 전송을 위해 무작위로 높은 번호의 포트를 열 때 사용되는 경우가 많습니다.
FTP에서는 일반적으로 서버의 파일에 액세스하려면 인증이 필요합니다. 사용자는 로그인하려면 사용자 이름과 비밀번호를 제공해야 합니다.
일부 FTP 서버는 익명 액세스도 지원합니다. 따라서 사용자는 “익명” 또는 “FTP”와 같은 일반 사용자 이름으로 로그인하고 이메일 주소를 비밀번호로 사용할 수 있습니다.
FTP는 ASCII 모드와 바이너리 모드의 두 가지 데이터 전송 모드를 지원합니다.
ASCII 모드는 텍스트 파일에 사용되고 바이너리 모드는 이미지 및 실행 파일과 같은 텍스트가 아닌 파일에 사용됩니다. 모드는 전송되는 파일 유형에 따라 설정됩니다.
기존 FTP는 사용자 이름과 비밀번호를 포함한 데이터를 일반 텍스트로 전송하므로 보안 프로토콜이 아닙니다.
SFTP(보안 FTP) 및 SSL/TLS를 통한 FTP(FTPS)는 중요한 정보를 보호하기 위해 데이터 전송을 암호화하는 보다 안전한 대안입니다.
다음은 SFTP와 FTPS 및 사용할 프로토콜에 대한 자세한 기사입니다.
TCP
TCP(전송 제어 프로토콜)는 IP 제품군의 주요 전송 계층 프로토콜 중 하나입니다.
이는 IP 네트워크를 통해 장치 간에 안정적이고 질서 있는 데이터 전송을 제공하는 데 중요한 역할을 합니다.
TCP는 데이터 전송이 시작되기 전에 발신자와 수신자 간의 연결을 설정합니다. 이 연결 설정에는 3방향 핸드셰이크(SYN, SYN-ACK, ACK)와 데이터 교환이 완료되면 연결 종료 프로세스가 포함됩니다.
또한 설정된 연결 내에서 데이터를 양방향으로 동시에 보내고 받을 수 있는 전이중 통신을 지원합니다.
일반적으로 TCP는 네트워크 상태를 모니터링하고 전송 속도를 조정하여 네트워크 정체를 방지합니다.
이 프로토콜에는 전송 중 데이터 손상을 감지하고 수정하는 오류 검사 메커니즘이 포함되어 있습니다. 데이터 세그먼트가 손상된 것으로 발견되면 수신자는 재전송을 요청합니다.
TCP는 포트 번호를 사용하여 장치의 특정 서비스나 응용 프로그램을 식별합니다. 포트 번호는 들어오는 데이터를 올바른 애플리케이션으로 라우팅하는 데 도움이 됩니다.
TCP 연결의 수신자는 데이터 세그먼트 수신을 확인하기 위해 승인(ACK)을 보냅니다. 발신자가 특정 시간 내에 ACK를 받지 못하면 데이터 세그먼트를 다시 전송합니다.
TCP는 송신측과 수신측 모두에서 연결 상태 정보를 유지합니다. 이 정보는 데이터 세그먼트의 순서를 추적하고 연결을 관리하는 데 도움이 됩니다.
IP
IP는 인터넷 프로토콜을 의미합니다.
우리가 인터넷으로 알고 있는 글로벌 네트워크를 포함한 컴퓨터 네트워크에서 통신 및 데이터 교환을 가능하게 하는 핵심 프로토콜입니다.
IP는 숫자 주소 지정 시스템을 사용하여 네트워크의 장치를 식별합니다. 이러한 숫자 주소를 IP 주소라고 하며 IPv4 또는 IPv6일 수 있습니다.
IPv4 주소는 일반적으로 4개의 10진수 집합(예: 192.168.1.1) 형식인 반면, IPv6 주소는 더 길고 16진수 표기법을 사용합니다.
IP는 서로 다른 네트워크에 있는 장치 간에 데이터 패킷을 라우팅합니다.
라우터 및 스위치는 IP 주소를 기반으로 이러한 패킷을 의도한 대상으로 전달하는 데 중요한 역할을 합니다.
일반적으로 IP는 패킷 교환 방법을 사용합니다. 이는 데이터가 네트워크를 통한 전송을 위해 더 작은 패킷으로 분할된다는 것을 의미합니다. 각 패킷에는 라우터가 전달 결정을 내릴 수 있도록 하는 소스 및 대상 IP 주소가 포함되어 있습니다.
IP는 연결 없는 프로토콜로 간주됩니다. 데이터를 전송하기 전에 송신자와 수신자 사이에 전용 연결을 설정하지 않습니다.
각 패킷은 독립적으로 처리되며 목적지에 도달하기 위해 서로 다른 경로를 사용할 수 있습니다.
UDP
UDP는 사용자 데이터그램 프로토콜을 나타냅니다.
공식적인 연결을 설정하지 않고 네트워크를 통해 데이터를 보내는 방법을 제공하는 비연결형 경량 프로토콜입니다.
TCP 프로토콜과 달리 UDP는 데이터를 보내기 전에 연결을 설정하지 않습니다. 단순히 데이터를 데이터그램으로 패키징하여 대상으로 보냅니다.
데이터 전달을 보장하지 않으며 오류 감지 및 수정을 위한 메커니즘을 구현하지 않습니다. 패킷이 손실되거나 순서에 맞지 않게 도착하는 경우 이를 처리하는 것은 애플리케이션 계층에 달려 있습니다.
UDP는 흐름 제어, 오류 수정 또는 승인과 같은 기능을 포함하지 않기 때문에 TCP보다 오버헤드가 적습니다. 이로 인해 속도가 빨라지지만 안정성이 떨어집니다.
또한 정체 제어 메커니즘이 내장되어 있지 않으므로 잠재적으로 정체를 유발할 수 있는 UDP 트래픽으로 네트워크를 넘치게 할 수 있습니다.
UDP는 보장된 전달보다 낮은 대기 시간과 고속 데이터 전송이 더 중요한 상황에서 일반적으로 사용됩니다. 몇 가지 일반적인 예로는 실시간 오디오 및 비디오 스트리밍, 온라인 게임, DNS 및 일부 IoT 애플리케이션이 있습니다.
UDP의 가장 좋은 점은 멀티플렉싱 기능입니다. 이를 통해 동일한 장치의 여러 응용 프로그램이 포트 번호를 사용하여 데이터 스트림을 구별하는 동일한 UDP 포트를 사용할 수 있습니다.
간단한 예를 통해 UDP를 이해해 봅시다.
통통 튀는 공을 사용하여 시끄러운 놀이터 건너편에서 친구에게 메시지를 보내고 싶다고 상상해 보세요. 공식적인 대화 없이 공을 던지는 것과 같은 UDP를 사용하기로 결정했습니다. 작동 방식은 다음과 같습니다.
- 종이에 메시지를 적고 공에 감습니다.
- 당신은 친구의 방향으로 공을 던졌습니다. 당신은 친구가 그것을 잡거나 그것을 받았다고 인정할 때까지 기다리지 않습니다. 그냥 던지고 그들이 잡기를 바라면 됩니다.
- 공이 튕겨져 공을 잡으려는 친구에게 닿습니다. 하지만 때로는 소음 때문에 손에서 튕겨 나가거나 순서대로 도착하지 않을 수도 있습니다.
- 친구가 종이에 적힌 메시지를 읽고 공을 성공적으로 잡으면 메시지를 받습니다. 그렇지 않으면 놓칠 수도 있고 확인할 방법이 없기 때문에 알 수 없습니다.
따라서 이 예에서는 다음과 같습니다.
공은 공식적인 연결을 설정하지 않고 데이터를 보내는 UDP 프로토콜을 나타냅니다.
응답을 기다리지 않고 공을 보내는 것은 UDP가 연결이 없고 전달을 보장하지 않는 것과 같습니다.
공이 튕기거나 길을 잃을 가능성은 UDP의 신뢰성 부족을 상징합니다.
메시지를 읽는 친구는 UDP를 통해 수신된 데이터를 처리하는 애플리케이션 계층과 같으며 누락된 데이터를 처리할 수도 있습니다.
보안 프로토콜
SSH
SSH는 Secure Shell을 의미합니다.
보안되지 않은 네트워크를 통해 클라이언트와 서버 간의 보안 통신에 사용되는 네트워크 프로토콜입니다. 높은 보안 수준으로 명령줄 인터페이스를 통해 장치에 원격으로 액세스하고 관리하는 방법을 제공합니다.
SSH는 암호화 기술을 사용하여 클라이언트와 서버를 모두 인증합니다. 이를 통해 귀하가 올바른 서버에 연결하고 있는지, 그리고 서버가 액세스를 허용하기 전에 귀하의 신원을 확인할 수 있는지 확인합니다.
SSH 연결을 통해 전송되는 모든 데이터는 암호화되므로 통신을 가로채는 사람이 교환되는 데이터를 도청하는 것이 어렵습니다.
이미지 출처: 스택 오버플로
SSH는 인증을 위해 키 쌍을 사용합니다. 키 쌍은 공개 키(서버와 공유)와 개인 키(비밀로 유지)로 구성됩니다.
작동 방식에 대한 기사는 다음과 같습니다. SSH 비밀번호 없는 로그인
SSH 서버에 연결하면 클라이언트는 개인 키를 사용하여 신원을 증명합니다.
이와 함께 기존 사용자 이름 및 비밀번호 인증도 지원합니다. 그러나 이는 보안 수준이 낮기 때문에 권장되지 않는 경우가 많습니다. 특히 인터넷 연결 서버의 경우 더욱 그렇습니다.
SSH는 기본적으로 통신에 포트 22를 사용하지만 보안상의 이유로 변경될 수 있습니다. 포트 번호를 변경하면 자동화된 공격을 줄이는 데 도움이 될 수 있습니다.
SSH는 일반적으로 원격 서버 관리, 파일 전송(SCP 및 SFTP와 같은 도구 사용) 및 원격 명령줄 인터페이스에 대한 보안 액세스에 사용됩니다.
이는 Unix 계열 운영 체제의 관리에 널리 사용되며 다양한 소프트웨어 솔루션을 통해 Windows에서도 사용할 수 있습니다.
SMTP
SMTP는 단순 메일 전송 프로토콜을 의미합니다.
클라이언트 또는 이메일 서버에서 수신자 측의 이메일 서버로 보내는 이메일 메시지를 보내는 역할을 담당하는 표준 프로토콜입니다.
SMTP는 이메일 통신의 기본 부분이며 IMAP/POP3와 같은 다른 이메일 프로토콜과 함께 작동하여 이메일 메시지 전송, 수신 및 저장을 포함한 전체 이메일 수명주기를 활성화합니다.
이메일 클라이언트에서 이메일을 작성하고 “보내기”를 클릭하면 SMTP를 사용하여 이메일 제공업체의 서버로 메시지를 중계합니다.
암호화되지 않은 통신에는 포트 25를 사용하고 암호화된 통신에는 포트 587을 사용합니다(STARTTLS 사용). 포트 465는 암호화된 SMTP 통신에도 사용되었지만 덜 일반적입니다.
많은 SMTP 서버에서는 무단 사용을 방지하기 위해 이메일을 보내려면 인증이 필요합니다. 사용자 이름 및 비밀번호와 같은 인증 방법이나 OAuth와 같은 보다 안전한 방법이 사용됩니다.
이러한 SMTP 서버는 종종 릴레이로 사용됩니다. 즉, 클라이언트(예: 이메일 앱)에서 보내는 이메일을 수락하고 이를 수신자의 이메일 서버로 전달한다는 의미입니다. 이는 인터넷을 통해 이메일을 라우팅하는 데 도움이 됩니다.
TLS 또는 SSL을 통한 암호화를 사용하여 통신을 보호할 수 있습니다. 특히 이메일을 통해 민감하거나 기밀 정보를 보낼 때 더욱 그렇습니다.
관리 프로토콜
POP3
POP3는 Post Office Protocol 버전 3을 나타냅니다.
이는 메일 서버에서 이메일 클라이언트 애플리케이션으로 이메일 메시지를 가져오는 데 사용되는 가장 일반적인 이메일 검색 프로토콜 중 하나입니다.
POP3는 “저장 후 전달” 방식으로 작동하도록 설계되었습니다. 서버에서 이메일을 검색한 다음 일반적으로 클라이언트 장치에 복사본을 저장한 후 서버에서 삭제합니다.
일부 이메일 클라이언트는 서버에 이메일 사본을 남겨둘 수 있는 옵션을 제공하지만 이는 기본 동작이 아닙니다.
암호화되지 않은 통신에는 포트 110을 사용합니다. 포트 995는 일반적으로 TLS/SSL을 사용하는 보안 POP3 통신에 사용됩니다.
POP3는 상태 비저장 프로토콜입니다. 이는 이미 다운로드한 이메일을 추적하지 않는다는 의미입니다. 서버에 연결할 때마다 읽지 않은 모든 메시지를 검색합니다. 여러 장치에서 이메일에 액세스하면 동기화 문제가 발생할 수 있습니다.
POP3는 주로 받은 편지함에서 이메일을 검색하도록 설계되었습니다. 보낸 항목이나 초안 등 서버의 다른 폴더에서 이메일 검색을 지원하지 않을 수 있습니다.
POP3는 서버와 클라이언트 간에 이메일 폴더를 동기화하지 않으므로 한 장치에서 수행된 작업(예: 이메일 삭제)은 다른 장치에 반영되지 않습니다.
보안을 강화하기 위해 이메일 클라이언트와 서버 간의 통신을 암호화하는 보안 버전의 POP3(POP3S 또는 SSL/TLS를 통한 POP3)를 사용하는 것이 좋습니다.
POP3는 IMAP(인터넷 메시지 액세스 프로토콜)에 비해 오늘날 덜 일반적으로 사용됩니다. 폴더 동기화와 같은 고급 기능을 제공하며 여러 장치에서 동일한 사서함을 보다 효과적으로 관리할 수 있습니다.
BGP
BGP는 경계 게이트웨이 프로토콜을 나타냅니다.
자율 시스템(AS) 간에 라우팅 및 연결 가능성 정보를 교환하기 위해 네트워킹에 사용되는 표준화된 외부 게이트웨이 프로토콜입니다.
자율 시스템은 인터넷에 공통 라우팅 정책을 제공하는 단일 조직의 통제하에 있는 IP 네트워크 및 라우터의 모음입니다.
BGP는 경로 벡터 프로토콜입니다. 이는 데이터 패킷이 목적지에 도달하기 위해 사용하는 경로(자율 시스템 목록)를 추적한다는 의미입니다. 이 정보는 BGP 라우터가 정책 및 경로 속성을 기반으로 라우팅 결정을 내리는 데 도움이 됩니다.
이는 다양한 조직이나 ISP가 운영하는 여러 네트워크를 통과할 때 데이터가 통과할 수 있는 최상의 경로를 결정하는 데 주로 사용됩니다.
또한 여러 IP 접두사를 단일 경로 알림으로 요약하여 글로벌 라우팅 테이블의 크기를 줄이는 데 도움이 되는 경로 집계를 지원합니다.
BGP 프로토콜은 라우팅 루프를 방지하기 위해 AS 경로 속성 및 분할수평 규칙.
공용 인터넷과 사설 네트워크 모두에서 사용됩니다.
공용 인터넷에서는 ISP와 대규모 네트워크 간에 라우팅 정보를 교환하는 데 사용됩니다. 개인 네트워크에서는 내부 라우팅과 경계 라우터를 통한 인터넷 연결에 사용됩니다.
DHCP
DHCP는 동적 호스트 구성 프로토콜을 나타냅니다.
TCP/IP 네트워크의 장치에 IP 주소 및 기타 네트워크 구성 설정을 자동으로 할당하는 데 사용됩니다.
DHCP 프로세스에는 일반적으로 다음 네 가지 주요 단계가 포함됩니다.
DHCP 검색
장치가 네트워크에 연결되면 사용 가능한 DHCP 서버를 찾기 위해 DHCP Discover 브로드캐스트 메시지를 보냅니다.
DHCP 제공
네트워크의 DHCP 서버는 DHCP 제안을 통해 DHCP Discover 메시지에 응답합니다. 각 서버는 IP 주소 및 관련 구성 옵션을 제공합니다.
DHCP 요청
장치는 DHCP 제공 중 하나를 선택하고 제공된 IP 주소를 요청하는 선택된 서버에 DHCP 요청 메시지를 보냅니다.
DHCP 승인
DHCP 서버는 IP 주소 할당을 확인하는 DHCP 승인 메시지를 보내 요청을 승인합니다.
간단한 예를 통해 DHCP 작동 원리를 이해해 봅시다.
홈 Wi-Fi 네트워크가 있고 각 장치의 네트워크 설정을 수동으로 설정하지 않고도 장치(휴대폰, 노트북 등)를 해당 네트워크에 연결하고 싶다고 가정해 보세요. DHCP가 들어오는 곳은 다음과 같습니다.
- 스마트폰이 방금 홈 Wi-Fi 네트워크에 연결되었다고 가정해 보겠습니다.
- 스마트폰은 “안녕하세요, 나 여기 처음 왔어요. 누군가 나에게 IP 주소와 기타 네트워크 세부 정보를 알려줄 수 있나요?”
- DHCP 서버 역할을 하는 Wi-Fi 라우터가 요청을 듣습니다. “물론입니다. 사용 가능한 IP 주소가 있습니다. 여기에 서브넷 마스크, 기본 게이트웨이, DNS 서버 등 필요한 다른 네트워크 설정이 있습니다.”라는 메시지가 표시됩니다.
- 스마트폰은 이 정보를 수신하고 제공된 IP 주소 및 네트워크 설정을 자동으로 설정합니다.
이제 스마트폰은 인터넷을 사용하고 홈 네트워크의 다른 장치와 통신할 준비가 되었습니다.
ICMP
ICMP(인터넷 제어 메시지 프로토콜)는 통신을 활성화하고 네트워크 작동 상태에 대한 피드백을 제공하기 위해 IP 제품군에서 사용되는 네트워크 계층 프로토콜입니다.
ICMP는 주로 IP 패킷 처리와 관련된 오류 보고 및 진단 정보 제공에 사용됩니다.
예를 들어, 라우터가 IP 패킷을 전달하는 동안 문제가 발생하면 ICMP 오류 메시지를 생성하고 이를 패킷 소스로 다시 보냅니다.
일반적인 ICMP 오류 메시지에는 “대상에 연결할 수 없음”, “시간 초과” 및 “매개변수 문제”가 포함됩니다.
ICMP의 가장 잘 알려진 용도 중 하나는 “ping” 명령(호스트 연결 가능성을 확인하는 데 사용됨)입니다.
이 ping 명령은 ICMP 에코 요청 메시지를 대상 호스트로 보내고, 호스트에 연결할 수 있으면 ICMP 에코 응답 메시지로 응답해야 합니다. 이는 네트워크 연결을 테스트하는 간단한 방법입니다.
ICMP는 PMTU(경로 최대 전송 단위) 검색에도 사용됩니다. PMTU는 경로를 따라 조각화 없이 전송될 수 있는 IP 패킷의 최대 크기입니다.
“조각화가 필요함” 및 “패킷이 너무 큼”과 같은 ICMP 메시지는 조각화를 방지하고 데이터 전송을 최적화하는 데 도움이 되는 특정 경로에 대한 적절한 MTU를 결정하는 데 사용됩니다.
또한 이러한 메시지를 사용하여 패킷이 소스에서 대상으로 이동한 후 다시 돌아오는 데 걸리는 시간을 추적할 수 있습니다. 이 목적으로 “Time Exceeded(시간 초과)” 메시지가 사용됩니다.
SNMP
SNMP는 단순 네트워크 관리 프로토콜을 의미합니다.
네트워크 장치/시스템을 관리하고 모니터링하기 위한 애플리케이션 계층 프로토콜입니다.
SNMP는 관리자-에이전트 모델을 사용하여 작동합니다. 두 가지 주요 구성 요소가 있습니다.
SNMP 관리자
관리자는 SNMP 에이전트로부터 정보를 요청하고 수집하는 일을 담당합니다. 또한 에이전트에 대한 구성 매개변수를 설정할 수도 있습니다.
SNMP 에이전트
에이전트는 네트워크 장치에서 실행되는 소프트웨어 모듈 또는 프로세스입니다. 장치의 구성 및 성능에 대한 정보를 저장합니다. 에이전트는 SNMP 관리자의 요청에 응답합니다.
MIB(Management Information Base)는 네트워크 장치에서 관리되는 개체의 구조와 구성을 정의하는 계층적 데이터베이스입니다. 이는 SNMP 관리자와 에이전트 모두에 대한 참조 역할을 하여 서로의 데이터를 이해할 수 있도록 해줍니다.
널리 사용되는 SNMP 버전에는 세 가지가 있습니다.
SNMPv1: 인증을 위해 커뮤니티 문자열을 사용하는 원래 버전의 SNMP입니다. 보안 기능이 부족하고 보안 수준이 낮은 것으로 간주됩니다.
SNMPv2c: 추가 데이터 유형 지원 및 향상된 오류 처리를 통해 SNMPv1보다 개선되었습니다.
SNMPv3: 암호화, 인증 및 액세스 제어를 제공하는 가장 안전한 SNMP 버전입니다. 이는 이전 버전의 많은 보안 문제를 해결합니다.
SNMP는 대역폭 활용도 모니터링, 장치 가동 시간 추적, 네트워크 장치 원격 구성, 특정 이벤트 발생 시 경고 수신(예: 시스템 오류 또는 임계값 위반)과 같은 다양한 네트워크 관리 작업에 사용됩니다.
결론✍️
이 기사가 다양한 네트워크 프로토콜에 대해 배우는 데 매우 유용했기를 바랍니다. 네트워크 분할과 이를 구현하는 방법에 대해 알아보는 데 관심이 있을 수도 있습니다.