서버 운영/APM 서버 구축

네트워크 포트에 대한 개관과 알려진 주요 포트 목록

씨실과 날실 2021. 4. 16. 09:00

포트란?

지극히 간단히 설명하자면 컴퓨터가 각종 신호 또는 정보 등을 주고 받을 수 있도록 해주는 통신 통로입니다.

이 포트는 컴퓨터의 하드웨어 간 통신을 책임지는 물리적 단자와 네트워크 IP 내 특정 네트워크 서비스 또는 프로세스 등이 정보를 주고 받는 논리적 단위로 나눌 수 있습니다.

 

물리적 단자로서의 포트는 다시 메인보드에 구성된, 컴퓨터의 핵심 부품 간 통신을 위한 내부 포트와, 케이스의 바깥 부분과 연결되어과 사용자와 컴퓨터 간 정보으 입출력을 담당하는 이른바 컴퓨터 주변기기를 위한 외부 포트로 나뉘게 됩니다.

물리적 단자(포트)의 종류에 대해서는 위 링크를 참고하시기 바랍니다.

 

네트워크의 포트는 전송 제어 프로토콜(TCP)와 사용자 데이터그램 프로토콜(UDP)에서 각 어플리케이션이 사용하는 정보 전송 통로로 번호로 구분합니다.

 

 http://127.0.0.1:80

이 포트 번호는 위 예시와 같이 통신 프로토콜과 IP 주소 뒤에 구분자인 :(쌍점)을 붙이고 나서 바로 그 옆에 붙여 사용합니다.

http:// = 80, https:// = 443

위 예시같이 특정 통신 프로토콜에서는 특정 포트 번호만을 정보 전송 통로로 사용하기로 약속하여 굳이 통신 포트를 적지 않아도 되는 경우도 있습니다.

물론 서버 관리자는 보안상의 이유로 약속된 포트 번호를 사용하지 않고 임의의 번호를 정보 전송 통로로 사용하는 경우도 있습니다. 이러한 경우 서버 관리자가 리다이렉트 설정을 해주지 않는 한 포트번호도 정확히 적어 주어야 네트워크 서비스 등을 정상적으로 이용활 수 있습니다.

 

포트 번호

포트 번호는 잘 알려진 포트(well-known port), 등록된 포트(registered port), 동적 포트(dynamic port)크게 3계층으로 나뉘어 있습니다.

 

아래에 작성한 포트들은 널리 사용되고 있는 수많은 포트들 중 네트워크, 서버 등에 발을 들인지 얼마 안되는 초심자 분들이 자주 접하게 될 번호들만 뽑은 것입니다.

 

잘 알려진 포트(well-known port) - 0번 ~1023번(0 ~ 2의 1승-1)

포트번호

프로토콜

설명

비고

관련 링크

20

TCP

파일 전송 프로토콜(FTP, File Transfer Protocol)의 데이터 포트

21번 포트로 들어온 전송 제어 신호에 따라 요구한 파일을 전송합니다.

 

21

TCP

파일 전송 프로토콜(FTP, File Transfer Protocol)의 제어 포트

일반적으로 방화벽 설정이 서버로 들어오는 포트에 대해서 제어를 하고(Allow IN) 나가는 포트에 대해서는 제어를 하지 않습니다.
따라서  서버로 들어오는 제어 신호의 통로가 되는 21번 포트만 설정하여도 ftp를 저앙적으로 이용할 수 있습니다.

 

22

TCP

시큐어 셸 (SSH, Secure SHell) 프로토콜 포트

보안 로그인, SFTP, SCP용 파일 전송에 쓰입니다.
파일 송수신 시 가능하면 일반 FTP 대신 SFTP 등을 쓰는 것을 강력히 권장합니다.

 

23

TCP

텔넷 프로토콜 (Telnet Protocol)의 포트

원격에서 터미널에 접속하고자 하는 경우 보안을 위해 가능하면 SSH 프로토콜을 사용하는 것을 강력히 권장합니다.

 

25

TCP

SMTP(Simple Mail Transfer Protocol) - 이메일 전송 프로토콜 포트

일반적으로 이메일을 전송할 때 사용됩니다.

 

80

TCP/UDP

HTTP (HyperText Transfer Protocol) - 웹 페이지 전송 프로토콜 포트

근래는 http:// 프로토콜로 접속하더라도 https:// 프로토콜로 리다이렉트하는 경우가 대부분입니다.

 

110

TCP

POP3(Post Office Protocol version 3) - 전자우편 가져오기에 사용하는 포트

타사의 이메일 서버에서 자신의 이메일을 가져올 때 사용하는 포트입니다.

 

443

TCP

HTTPS - 보안 소켓 레이어(SSL, Secure Socket Layer)에서 쓰이는 포트

전통적으로 http:// 프로토콜이 웹페이지 전송 경로였으나 현재는 보안이 강화된 https:// 프로토콜이 주로 사용되고 있습니다.

 

 

 

 

 

 

이상의 번호들 뿐만 아니라 지면상의 이유로 생략된 여러 잘 알려진 포트(well-known port)별로 할당된 쓰임은 IANA의 권고안입니다. 따라서 강제 사항은 아니며 보안 등 여러 이유로 해당 쓰임의 포트를 다른 용도로 사용하거나 잘 알려진 포트에 할당된 기능을 등록된 포트 또는 동적 포트에 할당해 사용하고는 합니다.

 

등록된 포트(registered port) - 1024번 ~ 49151번(2의 10승 ~ 2의 14승-1)

포트번호

프로토콜

설명

비고

관련 링크

3306

TCP

MySQL/MariaDB 데이터 전송 프로토콜 포트 전통적으로 관계형 데이터베이스 관리 시스템(DBMS) 중 하나인 MySQL의 정보 전송 통로이며 이 MySQL을 포크해 개발한 MariaDB도 호환성 등을 이ㅠ로 이 포트를 사용합니다.

 

6379

TCP

Redis 데이터 전송 프로토콜 포트 Redis는 비관계형 데이터베이스 관리 시스템(DBMS)입니다.

 

       

 

이 구간의 포트들은 RFC6335에 따라 인터넷 할당 번호 관리기관에 등록합니다.

일반적으로 이 구간의 포트들은 시스템에서 슈퍼 유저 권한이 없어도 사용 가능합니다.

 

서버 관리자는 각 서비스별로 전통적으로 할당된 포트 기본값을 임의의 포트로 바꾸는 것과 일반 서비스 사용자들의 편의성 사이에서 고민할 필요가 있습니다.

 

동적 포트(dynamic port) - 49152번 ~ 65535번(2의 14승 ~ 2의 16승-1)

동적 포트는 위의 두 포트 범위에서 사용되는 쓰임새 외에 시스템이나 네트워크 서비스 또는 각종 어플리케이션이 통신 작업을 수행할 필요할 때 사용자가 미리 지정하지 않아도 프로그램 등이 임의로 할당하여 사용되는 포트를 의미합니다.

 

보다 자세한 각 포트 번호별 쓰임과 특징 등은 위 링크를 참고하시기 바랍니다.