프로토콜과 포트번호

프로토콜과 포트번호

인터넷을 사용할 때 우리가 접속하는 웹사이트, 이메일 서비스, 파일 전송 등은 모두 특정한 프로토콜(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까지 존재하며, 크게 세 가지 범위로 나뉩니다:

  1. 잘 알려진 포트(Well-Known Ports, 0~1023)

    • HTTP(80), HTTPS(443), FTP(21)처럼 널리 사용되는 표준 프로토콜에 할당됨.

  2. 등록된 포트(Registered Ports, 1024~49151)

    • 특정 애플리케이션이 사용할 수 있도록 등록된 포트번호.

    • 예: 게임 서버, 비표준 웹 서버 등이 사용.

  3. 동적/사설 포트(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 “프로토콜과 포트번호”

Leave a Comment