서버
서버 통신 프로토콜
덕배김
2024. 3. 26. 09:35
서버 간 통신 프로토콜이란?
서버 간 통신 프로토콜은 서버와 클라이언트 간에 데이터를 주고받는 데 사용되는 특별한 규칙과 절차의 모음입니다. 이러한 프로토콜은 네트워크에서 데이터를 안전하게 전송하고 효율적으로 통신하기 위한 것입니다. 각 프로토콜은 특정 목적을 수행하기 위해 설계되었으며, 다양한 기능과 보안 수준을 제공합니다. 여기에는 몇 가지 일반적인 서버 통신 프로토콜에 대한 설명이 포함되어 있습니다.
①② 사용자가 웹 브라우저를 통해 찾고 싶은 웹 페이지의 URL 주소를 입력함.
③ 사용자가 입력한 URL 주소 중에서 도메인 네임(domain name) 부분을 DNS 서버에서 검색함.
④ DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달함.
⑤⑥ 웹 페이지 URL 정보와 전달받은 IP 주소는 HTTP 프로토콜을 사용하여 HTTP 요청 메시지를 생성함.
이렇게 생성된 HTTP 요청 메시지는 TCP 프로토콜을 사용하여 인터넷을 거쳐 해당 IP 주소의 컴퓨터로 전송됨.
⑦ 이렇게 도착한 HTTP 요청 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 URL 정보로 변환됨.
⑧ 웹 서버는 도착한 웹 페이지 URL 정보에 해당하는 데이터를 검색함.
⑨⑩ 검색된 웹 페이지 데이터는 또 다시 HTTP 프로토콜을 사용하여 HTTP 응답 메시지를 생성함.
이렇게 생성된 HTTP 응답 메시지는 TCP 프로토콜을 사용하여 인터넷을 거쳐 원래 컴퓨터로 전송됨.
⑪ 도착한 HTTP 응답 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 데이터로 변환됨.
⑫ 변환된 웹 페이지 데이터는 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 됨.
출처 : http://tcpschool.com/webbasic/works
IP (Internet Protocol)
네트워크에서 데이터를 라우팅하는 데 사용되는 프로토콜로, 주소 지정 및 패킷 전달을 담당합니다.IP 주소는 네트워크 상에서 장치를 식별하기 위해 사용됩니다.
UDP (User Datagram Protocol)
TCP와 유사한 프로토콜로 데이터를 전송하는 데 사용됩니다. 그러나 TCP와 달리 연결 지향적이지 않고, 데이터 전송의 신뢰성이 낮습니다.신속한 데이터 전송이 필요한 응용 프로그램에 주로 사용됩니다. 예를 들어, 실시간 멀티미디어 스트리밍, DNS 등에 사용됩니다.
TCP (Transmission Control Protocol)
TCP는 인터넷 상에서 데이터를 안정적으로 전송하기 위한 프로토콜입니다.연결 지향적이며 신뢰성 있는 전송을 보장합니다. 데이터가 손실되거나 손상되지 않도록 패킷의 전송과 수신을 확인하고, 필요하다면 재전송합니다.TCP는 패킷의 순서를 보장하며 흐름 제어 및 혼잡 제어 기능을 제공하여 네트워크의 혼잡을 방지합니다.주로 웹 브라우징, 이메일, 파일 전송 등에 사용됩니다.
TCP는 프로토콜 자체가 하나의 레이어이므로 특정 포트를 사용하지 않습니다. TCP는 다른 프로토콜(예: HTTP, FTP, SSH 등)이나 응용 프로그램에서 사용될 수 있는 전송 계층 프로토콜입니다.
HTTP (Hypertext Transfer Protocol)
웹 서버 간 통신을 위해 설계된 프로토콜로, 주로 HTML 문서, 이미지, 동영상 등의 리소스를 주고 받습니다.요청(Request)과 응답(Response)으로 이루어져 있으며, 클라이언트가 서버에 요청을 보내면 서버가 해당 요청을 처리하고 결과를 클라이언트에게 보내줍니다.
기본 포트: 80번
보안(HTTP의 SSL/TLS 버전) 포트: 443번
HTTPS (Hypertext Transfer Protocol Secure)
HTTP의 보안 버전으로, 데이터의 암호화를 통해 안전한 통신을 제공합니다.SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 프로토콜을 사용하여 통신을 보호합니다.
기본 포트: 443번
SSL (Secure Sockets Layer)
SSL은 1990년대에 처음 개발되었으며, 인터넷에서 정보를 안전하게 전송하기 위한 표준 보안 프로토콜 중 하나였습니다.데이터를 전송하기 전에 암호화하여 보안을 유지하고, 클라이언트 및 서버 간의 통신을 인증합니다.SSL은 버전에 따라 취약점이 발견되었고, 이후에는 더 안전한 프로토콜인 TLS로 대체되었습니다.
기본 포트: 443번(HTTPS와 동일)
TLS (Transport Layer Security)
TLS는 SSL의 후속 버전으로서, 더욱 강력한 보안 기능과 알고리즘을 제공합니다.TLS는 데이터를 전송하기 전에 안전한 연결을 설정하고, 데이터를 암호화하여 중간에서의 감청을 방지합니다.TLS는 SSL의 보안 취약점을 보완하고, 더 나은 보안 및 호환성을 제공합니다.현재 대부분의 웹 브라우저 및 웹 서버는 TLS를 지원하며, HTTPS를 통해 웹사이트의 보안 통신을 확보하는 데 사용됩니다.
기본 포트: 443번(HTTPS와 동일)
FTP (File Transfer Protocol)
FTP는 네트워크를 통해 파일을 전송하기 위한 표준 프로토콜입니다.TCP를 기반으로 동작하며, 클라이언트와 서버 간에 명령(command) 및 데이터(data) 연결을 설정하여 파일을 전송합니다.보안상의 이유로 데이터 전송이 암호화되지 않기 때문에, 보안이 요구되는 환경에서는 FTPS 또는 SFTP를 사용하는 것이 일반적입니다.
제어 연결(Control connection) 포트: 21번
데이터 연결(Data connection) 포트: 20번
SFTP (SSH File Transfer Protocol)
SFTP는 SSH를 기반으로 한 파일 전송 프로토콜로, 파일을 안전하게 전송하기 위해 사용됩니다.SSH를 통해 암호화된 터널을 설정하고 파일 전송을 수행합니다.일반적으로 FTP 보다 보안이 뛰어나므로, 외부에서 민감한 데이터를 전송할 때 많이 사용됩니다.
기본 포트: 22번 (SSH와 동일)
SSH (Secure Shell)
SSH는 네트워크 프로토콜 중 하나로, 안전하게 원격 컴퓨터에 접속하고 안전하게 데이터를 전송하기 위해 사용됩니다.암호화 기술을 사용하여 통신을 보호합니다. 기본적으로 SSH는 TCP를 기반으로 작동합니다.주로 원격 서버 관리, 파일 전송, 터널링 등에 사용됩니다.
기본 포트: 22번
SMTP (Simple Mail Transfer Protocol)
이메일을 전송하기 위한 프로토콜로, 메일 서버 간의 통신에 사용됩니다. 수신자의 메일 서버에 메일을 전송하고, 수신자의 메일 서버는 POP3 또는 IMAP을 사용하여 이메일을 수신합니다.
기본 포트: 25번
보안 포트(SSL/TLS): 465번 또는 587번
POP3 (Post Office Protocol version 3)
이메일을 수신하기 위한 프로토콜로, 메일 서버에서 이메일을 클라이언트로 가져옵니다.일반적으로 이메일을 서버에서 가져와서 클라이언트의 로컬 디바이스에 저장합니다.
기본 포트: 110번
보안 포트(SSL/TLS): 995번
IMAP (Internet Message Access Protocol)
이메일을 관리하고 원격 서버에 저장된 이메일을 클라이언트로 가져오는 데 사용되는 프로토콜입니다.이메일을 서버에 남겨두고 여러 디바이스에서 동기화하여 사용할 수 있습니다.
기본 포트: 143번
보안 포트(SSL/TLS): 993번
DNS (Domain Name System)
도메인 이름을 IP 주소로 변환하는 프로토콜로, 인터넷에서 서버의 위치를 찾는 데 사용됩니다.클라이언트가 도메인 이름을 입력하면 DNS 서버가 해당 도메인 이름을 해당하는 IP 주소로 해석하여 클라이언트에게 전달합니다.
기본 포트: 53번
TELNET
TELNET은 원격 컴퓨터에 로그인하여 명령을 실행하기 위한 프로토콜입니다.TCP를 기반으로 동작하며, 암호화되지 않은 텍스트 통신을 제공합니다.보안 취약점이 있기 때문에 SSH와 같은 보안 프로토콜로 대체되고 있습니다. TELNET은 주로 보안이 크게 신경 쓰이지 않는 내부 네트워크에서 사용됩니다.
기본 포트: 23번