
인터넷을 사용할 때 우리가 접속하는 웹사이트, 이메일 서비스, 파일 전송 등은 모두 특정한 프로토콜(protocol) 에 의해 작동합니다. 그리고 이러한 프로토콜이 정상적으로 작동하려면 특정한 포트번호(port number) 가 필요합니다. 이번 글에서는 프로토콜과 포트번호의 개념, 역할, 관계를 깊이 있게 살펴보겠습니다.
프로토콜(Protocol) 이해하기
프로토콜이란?
프로토콜(Protocol) 은 컴퓨터나 네트워크 장치 간의 데이터 통신을 위한 규칙과 절차를 정의한 것입니다. 마치 사람들이 서로 소통하기 위해 언어를 사용하는 것과 같이, 네트워크에서는 프로토콜이 있어야 서로 데이터를 주고받을 수 있습니다.
프로토콜은 크게 전송 계층(Transport Layer) 과 응용 계층(Application Layer) 으로 나눌 수 있습니다.
주요 프로토콜 종류
프로토콜 | 설명 | 기본 포트번호 |
---|---|---|
HTTP | 웹페이지 데이터를 요청하고 주고받을 때 사용 | 80 |
HTTPS | 암호화된 보안 웹 통신 | 443 |
FTP | 파일 전송 프로토콜 | 21 |
SFTP | 보안 파일 전송 프로토콜 (SSH 기반) | 22 |
SMTP | 이메일을 전송하는 프로토콜 | 25 |
IMAP | 이메일을 서버에서 직접 읽는 프로토콜 | 143 |
POP3 | 이메일을 다운로드하여 읽는 프로토콜 | 110 |
DNS | 도메인 이름을 IP 주소로 변환 | 53 |
DHCP | 동적으로 IP 주소를 할당하는 프로토콜 | 67, 68 |
SSH | 원격 접속을 위한 보안 프로토콜 | 22 |
RDP | 원격 데스크톱 접속 | 3389 |
이처럼 네트워크 통신을 위한 다양한 프로토콜이 있으며, 각 프로토콜은 고유한 역할을 수행합니다.
포트번호(Port Number)란?
포트번호의 개념
포트번호(Port Number) 는 네트워크에서 특정 서비스나 애플리케이션을 식별하는 역할을 합니다. 컴퓨터는 하나의 IP 주소 를 가지지만, 동시에 여러 개의 서비스를 제공할 수 있습니다. 포트번호를 사용하면 하나의 IP 주소에서 여러 개의 프로토콜을 구별할 수 있습니다.
포트번호의 범위
포트번호는 0~65535까지 존재하며, 크게 세 가지 범위로 나뉩니다:
-
잘 알려진 포트(Well-Known Ports, 0~1023)
-
HTTP(80), HTTPS(443), FTP(21)처럼 널리 사용되는 표준 프로토콜에 할당됨.
-
-
등록된 포트(Registered Ports, 1024~49151)
-
특정 애플리케이션이 사용할 수 있도록 등록된 포트번호.
-
예: 게임 서버, 비표준 웹 서버 등이 사용.
-
-
동적/사설 포트(Dynamic/Private Ports, 49152~65535)
-
클라이언트가 임시로 사용하는 포트번호.
-
예: 웹 브라우저가 웹 서버에 접속할 때 동적으로 할당되는 포트.
-
프로토콜과 포트번호의 관계
프로토콜과 포트번호의 매칭
일반적으로 특정한 프로토콜은 특정한 포트번호를 사용하지만, 경우에 따라 포트번호를 변경하여 사용할 수도 있습니다.
예를 들어:
-
웹사이트 접속 → 기본적으로 HTTP(80) 또는 HTTPS(443)
-
파일 전송 → 기본적으로 FTP(21), 보안 파일 전송은 SFTP(22)
-
이메일 송수신 → SMTP(25), IMAP(143), POP3(110)
-
DNS 조회 → 53번 포트
한 프로토콜이 여러 개의 포트를 사용할 수도 있음
일부 프로토콜은 다양한 용도로 여러 개의 포트번호를 사용할 수도 있습니다. 예를 들어, FTP는 제어 채널(21번 포트) 과 데이터 전송 채널(20번 포트, 혹은 임의 포트) 을 따로 사용합니다.
방화벽과 포트 차단
네트워크 보안 강화를 위해 방화벽(Firewall) 을 사용하여 특정 포트번호를 차단하거나 허용할 수 있습니다. 예를 들어, 회사 네트워크에서 직원들의 원격 접속을 막기 위해 SSH(22번 포트) 를 차단할 수 있습니다.
포트포워딩(Port Forwarding)과 포트 변경
포트포워딩이란?
포트포워딩(Port Forwarding) 은 특정 포트로 들어오는 데이터를 내부 네트워크의 다른 장치나 포트로 전달하는 기술입니다. 예를 들어:
-
집에서 원격 데스크톱(RDP, 3389번 포트) 에 접속하고 싶다면, 공유기에서 해당 포트를 열어야 함.
-
웹 서버를 운영할 때 80번 포트 를 내부 서버로 전달하도록 설정 가능.
보안을 위한 포트 변경
기본 포트번호를 그대로 사용하면 보안 위협이 증가할 수 있기 때문에, 포트번호를 변경하여 보안을 강화하는 경우가 많습니다.
예를 들어:
-
SSH(22번 포트) 를 22022 와 같이 변경하면 공격자가 쉽게 접근하지 못함.
-
원격 데스크톱(RDP, 3389번 포트) 를 50000번대 포트 로 변경하면 보안 강화 가능.
정리
✔ 프로토콜(Protocol) 은 네트워크에서 데이터를 주고받는 규칙이며, 포트번호(Port Number) 는 특정 서비스를 식별하는 번호입니다.
✔ 특정 프로토콜은 기본적으로 특정한 포트번호를 사용하지만, 필요에 따라 변경할 수 있습니다.
✔ 포트포워딩 을 활용하면 외부에서 내부 네트워크 장치에 접속할 수 있습니다.
✔ 보안 강화를 위해 기본 포트번호를 변경 하는 것이 효과적입니다.
✔ 방화벽(Firewall)을 통해 불필요한 포트를 차단하면 네트워크 보안성이 향상됩니다.
RDDoS (Reflected Distributed Denial of Service) 공격이란?
1 thought on “프로토콜과 포트번호”