네트워크 구현 시 사용하는 네트워크 프로토콜
- 13분
클라우드로의 전환을 고려한다면, 네트워크의 기본 작동 방식을 숙지해야 합니다. 네트워크의 구성을 이해하는 첫 번째 단계는 네트워크 디바이스가 서로 통신하는 방식을 파악하는 것입니다. 조직의 네트워크도, 웹 같은 더 광범위한 네트워크도 마찬가지입니다. 모든 네트워크에 동일한 보안 원칙이 적용됩니다.
이 단원에서는 인터넷 기반 네트워크를 통한 통신을 구현하는 필수 네트워크 프로토콜에 대해 알아봅니다.
네트워크 프로토콜
네트워크 프로토콜은 네트워크 디바이스가 제공된 네트워크에서 통신하는 방법을 지정하는 조건 및 규칙 세트입니다. 통신 채널을 설정 및 유지 관리하기 위한 공통 프레임워크와 발생하는 오류 또는 장래를 처리하는 방법을 제공합니다. 네트워크 프로토콜을 사용하면 여러 네트워크 지원 디바이스(예: 노트북, 태블릿, 스마트폰, 데스크톱, 서버 및 기타 네트워크 지원 디바이스) 간에 통신할 수 있습니다.
네트워크 프로토콜은 조직의 네트워크 아키텍처를 디자인할 때 없어서는 안 되는 기본 구성 요소입니다. 여러 가지 네트워크 프로토콜을 사용할 수 있습니다. 각 네트워크 프로토콜에는 프로토콜 사용 및 구현을 관리하는 여러 속성이 존재합니다.
자주 사용하는 네트워크 프로토콜을 알아보기 전에 몇 가지 용어를 살펴보겠습니다.
네트워크 주소란?
네트워크 주소는 네트워크 지원 디바이스를 식별하는 고유 식별자입니다. 네트워크 지원 디바이스는 두 개 이상의 주소 유형을 이용할 수 있습니다. 이 논의에서는 두 가지 주소 유형에만 초점을 맞춥니다.
첫 번째 유형은 하드웨어 수준에서 네트워크 인터페이스를 식별하는 MAC(미디어 액세스 제어) 주소입니다. 두 번째 유형은 소프트웨어 수준에서 네트워크 인터페이스를 식별하는 IP(인터넷 프로토콜) 주소입니다.
두 주소 유형에 대해서는 나중에 자세히 살펴보겠습니다.
데이터 패킷이란?
데이터 패킷은 네트워크 상의 두 디바이스가 서로 전송하는 메시지를 설명하는 데 사용하는 단위입니다. 데이터 패킷은 원시 데이터와 헤더로 구성되며, 트레일러가 포함되기도 합니다. 헤더에는 다양한 정보 항목이 포함됩니다. 예를 들어 보낸 사람 및 대상 디바이스 주소, 패킷 크기, 사용한 프로토콜, 패킷 번호 등이 포함됩니다. 데이터 패킷의 트레일러는 오류 검사를 처리합니다.
개념은 한 번에 한 섹션에 다른 사람에게 편지를 보내는 것과 유사합니다. 예를 들어, 하지만 한 봉투에 여러 페이지를 담는 대신, 각 페이지를 별도의 봉투에 담아 보낸다는 점이 다릅니다. 수신자가 모든 페이지를 받은 후에 전체 메시지를 조합할 수 있도록, 각각의 봉투에 충분한 정보를 담아야 합니다.
데이터그램이란?
데이터그램은 데이터 패킷과 동일한 것으로 간주됩니다. 데이터그램은 주로 전송이 보장되지 않는, 신뢰할 수 없는 서비스의 데이터 패킷을 의미합니다.
라우팅이란?
네트워크에서 말하는 라우팅은 데이터 패킷이 다른 네트워크 상의 전송 및 수신 디바이스 간의 올바른 전달 경로를 따르게 하는 메커니즘을 나타냅니다.
예를 들어 현재 사용 중인 PC와, 지금 읽고 있는 페이지를 제공하는 서버에 대해 생각해 보세요. PC와 서버를 여러 네트워크로 연결할 수 있으며, 두 디바이스 간에 다양한 경로가 존재할지도 모릅니다.
프로토콜 범주
다양한 유형의 애플리케이션과 하드웨어 디바이스가 일반적인 네트워크에서 특정한 네트워크 프로토콜을 사용합니다. 예를 들어 웹 브라우저로 인터넷을 검색할 때는 메일을 주고받을 때와는 다른 프로토콜을 사용합니다. 브라우저에 표시되는 데이터를 변환하고 네트워크를 통해 이 정보를 보내려면 다른 프로토콜이 필요합니다.
프로토콜은 세 가지 범주로 나뉩니다.
- 네트워크 통신 프로토콜
- 네트워크 보안 프로토콜
- 네트워크 관리 프로토콜
이러한 범주에 해당하는 몇 가지 프로토콜을 살펴보겠습니다.
네트워크 통신 프로토콜
통신 프로토콜은 디바이스 간의 연결 설정 및 유지 관리에 중점을 둡니다. 다양한 디바이스와 네트워크 서비스를 이용하면, 다양한 네트워크 통신 프로토콜을 사용하게 됩니다.
먼저 모든 인터넷 기반 네트워크의 세 가지 기본 프로토콜을 확인해야 합니다. 세 가지 기본 프로토콜은 TCP(Transmission Control Protocol), IP(인터넷 프로토콜) 및 UDP(User Datagram Protocol)입니다. 이러한 프로토콜은 네트워크를 통한 데이터의 논리적 전송을 처리합니다.
- TCP(Transmission Control Protocol): TCP는 안전하고 빠르게 전송할 수 있는 데이터 패킷으로 데이터를 분할하면서도 데이터 손실 가능성은 최소화합니다. IP 기반 네트워크를 통해 데이터 패킷을 전달하는, 안정적이고 신뢰할 수 있는 메커니즘을 제공합니다. TCP는 효과적인 연결 지향 프로토이지만 오버헤드가 발생합니다.
- IP(인터넷 프로토콜): IP는 데이터 패킷의 주소 지정을 담당합니다. IP는 전달할 데이터 패킷을 캡슐화하고 주소 헤더를 추가합니다. 헤더에는 발신자 및 수신자 IP 주소 관련 정보가 포함되어 있습니다. 이 프로토콜은 패킷이 전송/수신되는 순서는 고려하지 않습니다. 또한 패킷의 전달을 보장하지 않으며, 주소 전달만 보장합니다.
- UDP(User Datagram Protocol): UDP는 짧은 대기 시간과 내결함성 구현을 제공하는 연결이 없는 프로토콜입니다. UDP는 수신자 디바이스에서의 데이터그램 수신 여부를 확인하지 않아도 되는 프로세스에 사용합니다.
여기서 설명할 나머지 프로토콜은 메일 클라이언트 또는 웹 브라우저와 같은 애플리케이션 유형을 기반으로 합니다. 다음은 가장 자주 사용하는 네트워크 통신 프로토콜입니다.
- HTTP(Hypertext Transfer Protocol): HTTP 프로토콜은 TCP/IP를 사용하여 웹 페이지 콘텐츠를 서버에서 브라우저로 전달합니다. HTTP는 원격 서버에서의 파일 다운로드 및 업로드를 처리하는 역할도 합니다.
- FTP(파일 전송 프로토콜): FTP는 네트워크 상의 여러 컴퓨터 간에 파일을 전송하는 데 사용합니다. 일반적으로 FTP는 원격 위치에서 서버로 파일을 업로드하는 데 사용합니다. FTP를 사용하여 파일을 다운로드할 수도 있지만, 웹 기반 다운로드는 대개 HTTP를 통해 처리됩니다.
- POP3(Post Office Protocol 3): POP3는 이메일 클라이언트가 이메일 수신을 허용하는 데 주로 사용하는 세 가지 이메일 프로토콜 중 하나입니다. 이 프로토콜은 메일 관리 및 전달에 TCP를 사용합니다.
- SMTP(Simple Mail Transfer Protocol): SMTP는 이메일 서버를 통해 이메일 클라이언트에서 이메일을 보내는 데 주로 사용되는 세 가지 이메일 프로토콜 중 하나입니다. 이 프로토콜은 메일 관리 및 전송에 TCP를 사용합니다.
- IMAP(Interactive Mail Access Protocol): IMAP은 세 가지 메일 프로토콜 중에서 가장 강력한 프로토콜입니다. IMAP와 이메일 클라이언트를 사용하면, 조직 내 메일 서버의 단일 사서함을 관리할 수 있습니다.
네트워크 보안 프로토콜
네트워크 보안 프로토콜은 네트워크를 지나는 데이터의 보안을 유지 관리할 목적으로 설계되었습니다. 이 프로토콜은 사용자, 서비스 및 애플리케이션 간에 전송 중인 메시지를 암호화합니다.
네트워크 보안 프로토콜은 암호화 및 암호화 원칙을 이용해 메시지를 보호합니다.
보안 네트워크를 구현하려면 자신의 필요에 맞는 보안 프로토콜을 사용해야 합니다. 다음 목록에는 주요 네트워크 보안 프로토콜이 나와 있습니다.
- SSL(Secure Socket Layer): SSL은 표준 암호화 및 보안 프로토콜입니다. 인터넷을 통해 액세스한 대상 서버 또는 디바이스와 컴퓨터 간에 암호화된 보안 연결을 제공합니다.
- TLS(전송 계층 보안): TLS는 SSL의 후속 제품으로 더 강력하고 탄탄한 보안 암호화 프로토콜을 제공합니다. IETF(Internet Engineering Task Force) 표준에 따라 메시지 위조, 변조 및 도청을 중지하는 데 도움이 되며 일반적으로 웹 브라우저 통신, 이메일, VoIP 및 인스턴트 메시징을 보호하는 데 사용됩니다. 최근에는 TLS를 사용하지만, 대체 보안 프로토콜은 여전히 SSL이라고 합니다.
- HTTPS(Hypertext Transfer Protocol Secure): HTTPS는 TLS 또는 SSL 암호화 표준을 사용하여 더욱 안전한 버전의 표준 HTTP 프로토콜을 제공합니다. 이 프로토콜 조합을 이용하면 서버와 웹 브라우저 간에 전송되는 모든 데이터를 암호화하고, 도청 또는 데이터 패킷 스니핑을 방지할 수 있습니다. 앞에 나온 POP, SMTP, IMAP 프로토콜에 동일한 보안 원칙을 적용하여 POPS, SMTPS, IMAPS라는 안전한 버전을 생성합니다.
- SSH(Secure Shell): SSH는 네트워크를 통한 안전한 데이터 연결을 제공하는 암호화 네트워크 보안 프로토콜입니다. SSH는 서버에 대한 원격 인증을 포함하는, 지침의 명령줄 실행을 지원하도록 설계되었습니다. FTP는 다양한 SSH 기능을 사용하여 안전한 파일 전송 메커니즘을 제공합니다.
- Kerberos: 이 유효성 검사 프로토콜은 비밀 키 암호화를 통해 클라이언트 서버 기반 애플리케이션에 강력한 인증을 제공합니다. Kerberos는 네트워크에 있는 모든 끝점이 안전하지 않다고 가정합니다. 모든 통신 및 데이터에 지속적으로 강력한 암호화를 적용합니다.
네트워크 관리 프로토콜
네트워크에서는 다양한 프로토콜을 동시에 실행해도 됩니다. 앞에서 통신 및 보안 프로토콜에 대해 살펴보았습니다. 네트워크가 매일 성공적으로 운영되고 작동하려면, 관리 프로토콜도 못지않게 중요합니다. 이 프로토콜 유형의 핵심 목적은 결함과 성능을 확인하여 네트워크의 지속 가능성을 확보하는 것입니다.
네트워크 관리자는 네트워크와 네트워크에 연결된 모든 디바이스를 모니터링해야 합니다. 네트워크의 각 디바이스는 디바이스의 상태에 관한 몇 가지 지표를 제공합니다. 네트워크 관리자 도구는 이러한 지표를 요청하고 모니터링 및 보고에 사용합니다.
두 가지 네트워크 관리 프로토콜을 이용할 수 있습니다.
- SNMP(Simple Network Management Protocol) SNMP는 네트워크 상의 디바이스에서 데이터를 수집하고 디바이스를 관리할 수 있게 하는 인터넷 프로토콜입니다. SNMP를 지원하는 디바이스만 정보를 수집할 수 있습니다. SNMP를 지원하는 대표적인 디바이스는 스위치, 라우터, 서버, 노트북, 데스크톱, 프린터입니다.
- ICMP(Internet Control Message Protocol): ICMP는 IPS(인터넷 프로토콜 모음)에 속하는 프로토콜입니다. ICMP를 이용하면 네트워크에 연결된 디바이스는 경고 및 오류 메시지를 전송할 수 있으며, 연결 요청 성공 여부에 대한 작업 정보나 서비스 사용 불가 알림도 함께 보낼 수 있습니다. UDP 및 TCP와 같은 다른 네트워크 전송 프로토콜과 달리, ICMP는 네트워크의 디바이스에서 데이터를 보내거나 받는 데 사용되지 않습니다.
포트
포트는 들어오는 메시지를 특정 프로세스로 라우팅하는 논리 구문입니다. 각각의 IPS 유형에 맞는 특정한 포트가 존재합니다. 포트는 0~65535 범위의 부호 없는 16비트 숫자이며, 포트 번호라고 부르기도 합니다. 사용되는 통신 프로토콜에 따라 송신 TCP 또는 UDP 계층은 포트를 할당합니다.
각각의 서비스에는 예약된 특정 포트 번호가 있습니다. 잘 알려진 포트 번호라고 하는 첫 번째 1,024 포트는 자주 사용하는 서비스용으로 예약되어 있습니다. 삭제 포트라고 하는 높은 번호의 포트는 예약되지 않으며, 전용 애플리케이션에서 사용합니다.
모든 포트는 특정 서비스 또는 통신 프로토콜에 연결됩니다. 이는 대상 네트워크 디바이스, 즉 서버가 각 포트에서 여러 요청을 수신하고 충돌 없이도 각 서비스를 처리할 수 있음을 의미합니다.
잘 알려진 포트 번호
IP 주소가 클래스로 분할되는 방식과 거의 같은 방식으로 포트도 분할됩니다. 포트에는 잘 알려진 포트, 등록된 포트, 동적/프라이빗 포트라는 세 가지 범위가 있습니다.
IANA(Internet Assigned Numbers Authority)는 포트 번호 할당, IP 주소의 지역 할당, DNS(Domain Name System) 루트 영역의 할당을 관리합니다. 또한 IANA는 프로토콜 이름용 리포지토리와, 인터넷 프로토콜에서 사용하는 레지스트리를 관리하는 역할도 합니다.
아래 표에는 더욱 일반적이며 잘 알려진 포트 번호가 나와 있습니다.
| 포트 번호 | 할당 |
|---|---|
| 20 | 데이터 전송용 파일 전송 프로토콜 |
| 21 | 명령 제어용 파일 전송 프로토콜 |
| 22 | 보안 인증용 Secure Shell |
| 23 | 암호화되지 않은 문자 메시지용 텔넷 원격 인증 서비스 |
| 25 | 메일 라우팅용 Simple Mail Transfer Protocol |
| 53 | Domain Name System 서비스 |
| 80 | 웹에서 사용하는 File Transfer Protocol |
| 110 | Post Office 프로토콜 |
| 119 | NNTP(Network News Transfer Protocol) |
| 123 | NTP(Network Time Protocol) |
| 143 | 디지털 메일 관리용 Internet Message Access Protocol |
| 161 | 간단한 네트워크 관리 프로토콜 |
| 194 | IRC(Internet Relay Chat) |
| 443 | TLS/SSL을 통한 HTTP Secure HTTP |
인터넷 프로토콜 도구 모음
인터넷 프로토콜 도구 모음은 프로토콜 스택이라고도 하는 통신 프로토콜의 컬렉션입니다. TCP와 IP가 모두 이 제품군에서 사용되는 기본 프로토콜이기 때문에 TCP/IP 프로토콜 제품군이라고 할 수 있습니다.
IPS는 추상적이며 계층화된 네트워킹 참조 모델입니다. IPS는 인터넷 및 인터넷과 유사한 네트워크에서 데이터를 주고받는 데 사용하는 다양한 계층 프로토콜을 설명합니다.
IPS 모델은 3~7개의 계층을 갖는 여러 유사한 네트워킹 모델 중 하나입니다. 가장 잘 알려진 모델은 OSI(Open Systems Interconnection) 네트워킹 참조 모델입니다. 여기서는 OSI 모델을 다루지 않지만 개방형 시스템 간 상호 연결 모델에서 자세한 내용을 확인할 수 있습니다.
- 애플리케이션 계층: 이 스택의 최상위 계층으로, 애플리케이션 또는 프로세스 통신과 관련됩니다. 애플리케이션 계층은 전송되는 메시지 유형을 바탕으로 사용할 통신 프로토콜을 결정합니다. 예를 들어 메시지가 메일 콘텐츠라면, 이 계층은 POP, SMTP 또는 IMAP 같은 올바른 메일 프로토콜을 할당합니다.
- 전송 계층: 이 계층은 네트워크에서의 호스트 간 통신을 담당합니다. 이 계층과 연결된 프로토콜은 TCP 및 UDP입니다. TCP는 흐름 제어를 담당합니다. UDP는 데이터그램 서비스 제공을 담당합니다.
- 인터넷 계층: 이 계층은 데이터그램 교환을 담당합니다. 데이터그램은 전송 계층에서 보내는 데이터를 포함하며, 원본 및 수신자 IP 주소를 추가합니다. 이 계층과 관련된 프로토콜은 IP, ICMP 및 IPsec(Internet Protocol Security) 모음입니다.
- 네트워크 액세스 계층: 이 스택의 최하위 계층으로, 네트워크를 통한 데이터 전송 방법을 정의하는 역할을 합니다. 이 계층과 연결된 프로토콜은 ARP, MAC, 이더넷, DSL 및 ISDN입니다.
Azure에서의 네트워크 모니터링
네트워크 상태를 유지 및 관리하는 작업은 네트워크 위치와 관계없이 모든 네트워크에서 동일합니다. 예를 들어 로컬 조직의 네트워크는 Azure 기반 네트워크와 동일한 네트워크 표준 및 프로토콜을 사용합니다.
Azure에는 네트워크 상태를 유지 및 관리하는 데 도움이 되는 세 가지 네트워크 모니터링 도구를 제공합니다. 일부 모니터링 기능을 온-프레미스 네트워크로 확장할 수도 있습니다.
- Azure Network Watcher: Network Watcher를 사용하면 이용 중인 Azure 서비스에서 패킷 데이터를 캡처할 수 있습니다. 또한 네트워크 트래픽 패턴의 데이터 흐름을 이해하고 사용 중인 네트워크의 네트워크 관련 문제를 해결할 수도 있습니다.
- NPM(네트워크 성능 모니터): 네트워크 성능 모니터는 네트워크 상태를 모니터링 및 보고하고, 네트워크 성능에 대한 유익한 정보를 제공하며, 애플리케이션 간의 연결 상태를 보고합니다. 네트워크 성능 모니터는 클라우드 기반이지만 클라우드 및 온-프레미스 네트워크를 모두 모니터링하는 하이브리드 서비스를 제공합니다.
- 성능 모니터: 성능 모니터는 네트워크 성능 모니터에서 제공하는 기능입니다. 온-프레미스 또는 클라우드 기반인 전 지역에서 네트워크 연결을 모니터링하도록 설계되어, 네트워크 문제가 발생 시 이를 보고합니다. 성능 모니터는 모든 네트워크 경로와 중복 경로를 모니터링하고, 어떤 문제도 보고할 수 있습니다. 네트워크 성능을 저하하는 특정 네트워크 세그먼트를 식별할 수 있습니다. 성능 모니터는 SNMP를 사용하지 않고도 네트워크 상태를 보고할 수 있습니다.
지식 점검
피드백
이 페이지가 도움이 되었나요?
No
이 항목에 대한 도움이 필요하세요?
Ask Learn을 사용하여 이 주제를 명확히 설명하거나 안내하고 싶으신가요?