728x90
반응형
포트 번호는 컴퓨터에서 네트워크 서비스를 구분하기 위해 사용되는 숫자입니다. IP 주소는 네트워크 상의 장치(컴퓨터)를 식별하지만, 포트 번호는 그 장치 내에서 어떤 서비스로 통신을 할지를 결정하는 역할을 합니다.
예를 들어, 하나의 컴퓨터가 여러 네트워크 서비스를 제공할 수 있습니다. 웹 서버, 이메일 서버, FTP 서버 등 여러 서비스가 동일한 컴퓨터에서 동작할 수 있지만, 각각의 서비스는 다른 포트 번호를 통해 구분됩니다.
포트 번호의 구조
- 16비트 크기로 표현되며, 0부터 65535까지의 범위를 가집니다.
- TCP와 UDP 같은 전송 프로토콜에 따라 구분됩니다.
- TCP 포트: 신뢰성 있는 연결을 위한 포트.
- UDP 포트: 빠르고 비연결성 통신을 위한 포트.
포트 번호의 범위
- 0 ~ 1023: 잘 알려진 포트 (Well-known Ports)
- 0부터 1023번까지의 포트 번호는 일반적으로 알려진 서비스를 위한 포트입니다.
- 이 포트들은 IANA(Internet Assigned Numbers Authority)에서 관리하며, 특정 서비스에 표준적으로 할당되어 있습니다.
- 예시:
- HTTP (웹): 80번
- HTTPS (보안 웹): 443번
- FTP (파일 전송): 21번
- SSH (원격 접속): 22번
- SMTP (이메일 전송): 25번
- DNS (도메인 이름 시스템): 53번
- 1024 ~ 49151: 등록된 포트 (Registered Ports)
- 1024번부터 49151번까지의 포트는 등록된 서비스에 할당됩니다. 특정 애플리케이션이나 서비스를 위해 예약되었지만, 모든 사용자가 사용할 수 있습니다.
- 이 포트들은 공용으로 사용할 수 있으며, 특정 애플리케이션이 등록되어 있지 않은 경우 사용자 정의 애플리케이션에 사용될 수 있습니다.
- 예시:
- MySQL 데이터베이스: 3306번
- PostgreSQL 데이터베이스: 5432번
- MSSQL: 1433번
- 49152 ~ 65535: 동적 포트/사설 포트 (Dynamic/Private Ports)
- 49152번부터 65535번까지의 포트는 동적으로 할당됩니다. 클라이언트 측에서 임시로 사용되며, 특정 서비스에 할당되지 않고 임의로 사용됩니다.
- 클라이언트가 서버와 통신할 때, 임시적으로 할당되는 포트 번호입니다.
- 예시:
- 사용자 정의 애플리케이션.
- 클라이언트 소켓의 포트 번호로 사용.
주요 포트 번호 예시
HTTP (웹 통신)
- 포트 번호: 80 (TCP)
- 설명: HTTP는 웹 브라우저와 웹 서버가 비암호화된 데이터를 교환할 때 사용하는 프로토콜입니다.
HTTPS (보안 웹 통신)
- 포트 번호: 443 (TCP)
- 설명: HTTPS는 SSL/TLS 암호화를 사용하여 보안된 웹 통신을 제공합니다. 대부분의 웹사이트가 HTTPS를 사용해 데이터를 암호화합니다.
FTP (파일 전송 프로토콜)
- 포트 번호: 21 (TCP)
- 설명: FTP는 파일을 전송할 때 사용하는 프로토콜로, 클라이언트와 서버 간의 파일 송수신을 담당합니다.
SSH (보안 원격 접속)
- 포트 번호: 22 (TCP)
- 설명: SSH는 원격 접속을 통해 데이터를 암호화하여 안전하게 통신하는 프로토콜입니다. 주로 원격 서버 관리에 사용됩니다.
SMTP (이메일 전송)
- 포트 번호: 25 (TCP)
- 설명: SMTP는 이메일을 전송할 때 사용하는 프로토콜입니다.
DNS (도메인 이름 시스템)
- 포트 번호: 53 (TCP/UDP)
- 설명: DNS는 도메인 이름을 IP 주소로 변환하는 프로토콜입니다.
Telnet (원격 접속)
- 포트 번호: 23 (TCP)
- 설명: Telnet은 원격 서버에 접속하는 프로토콜로, 보안이 제공되지 않으며 현재는 SSH로 많이 대체되었습니다.
MySQL (데이터베이스)
- 포트 번호: 3306 (TCP)
- 설명: MySQL 데이터베이스 서버와의 통신에 사용되는 포트입니다.
RDP (Remote Desktop Protocol)
- 포트 번호: 3389 (TCP)
- 설명: RDP는 원격 데스크톱 연결을 통해 원격 컴퓨터를 제어할 때 사용하는 프로토콜입니다.
DHCP (Dynamic Host Configuration Protocol)
- 포트 번호: 67 (서버, UDP), 68 (클라이언트, UDP)
- 설명: DHCP는 IP 주소를 동적으로 할당하기 위해 사용하는 프로토콜입니다.
포트 번호 사용 예시
- 웹 브라우징:
- 브라우저가 http://example.com을 요청할 때, 80번 포트로 서버에 접속하여 데이터를 요청합니다.
- https://example.com은 443번 포트를 사용하여 암호화된 데이터를 요청합니다.
- 파일 전송:
- FTP 클라이언트가 서버에 파일을 업로드하거나 다운로드할 때 21번 포트를 사용하여 통신합니다.
- 원격 서버 접속:
- SSH 클라이언트를 사용해 원격 서버에 접속할 때 22번 포트를 사용하여 안전한 원격 연결을 수행합니다.
- 이메일 전송:
- 이메일 클라이언트가 SMTP 서버로 이메일을 전송할 때 25번 포트를 통해 연결합니다.
포트 번호 정리
| 20, 21 | FTP | 파일 전송 프로토콜 |
| 22 | SSH | 원격 접속 프로토콜, 암호화된 통신 |
| 23 | Telnet | 보안 없는 원격 접속 |
| 25 | SMTP | 이메일 전송 프로토콜 |
| 53 | DNS | 도메인 이름을 IP 주소로 변환 |
| 67, 68 | DHCP | 동적 IP 주소 할당 |
| 80 | HTTP | 비암호화된 웹 통신 |
| 110 | POP3 | 이메일 수신 프로토콜 |
| 143 | IMAP | 이메일 수신 및 관리 |
| 443 | HTTPS | 암호화된 웹 통신 |
| 3306 | MySQL | MySQL 데이터베이스 통신 |
| 3389 | RDP | 원격 데스크톱 프로토콜 |
'Category > 정보처리기사' 카테고리의 다른 글
| 상속 관계에서 생성자 호출 순서 (0) | 2024.10.10 |
|---|---|
| 이진수를 십진수로 변환하는 방법 (0) | 2024.10.10 |
| 네트워크 전송 기술과 주요 프로토콜 정리 (3) | 2024.10.10 |
| 웜 (Worm), 트로이 목마 (Trojan Horse), 바이러스 (Virus) (0) | 2024.10.10 |
| SSH(Secure Shell)이란? (0) | 2024.10.10 |