반응형

이전 포스팅에서 IP 체계를 다룰 때 단점 중 하나는 "하나의 IP를 가지고 있는 서버에서 두 개 이상의 애플리케이션을 다루고 있다면 이를 구분할 수 없다."라고 했습니다. 이를 해결하기 위한 방법이 바로 포트를 이용해 애플리케이션을 구분하는 방법입니다.

 

이와 같이 TCP 세그먼트에는 출발지 포트와 목적지 포트의 정보가 있어 하나의 IP만을 사용하더라도 애플리케이션을 구분할 수 있습니다. 예를 들면 다음과 같습니다.

 

 

서비스 플랫폼 IP로 접근한 후 영상을 이용하기 위해 클릭하면 11000번 포트에서 출발해 10000번 포트로 도착합니다. 이를 통해 영상 시청이 가능합니다. 이러한 원리로 여러 애플리케이션을 한 곳에서 운영할 수 있게 됩니다.

 

 

포트 번호

포트 번호는 0~65535까지 값을 가지고 있으며, 구성은 크게 다음과 같습니다.

  • 0~1023: Well-known port
  • 1024~40151: Registered port
  • 40152~65535: Dynamic port

Well-known port는 직역하면 잘 알려진 포트를 뜻합니다. 일반적으로 잘 알려진 80번(HTTP), 443번(HTTPS)와 같은 포트를 뜻합니다. Registered port는 Well-known port처럼 많이 사용되지는 않지만 특정 소프트웨어나 애플리케이션이 필요로 할 때 사용되는 포트입니다. 나머지는 일반적으로 자주 사용되지 않기 때문에 임시로 사용하는 용도로 쓰이기도 합니다.

 

이렇게 구분하는 포트가 겹치게 되면 어느 서비스 포트로 데이터를 보내야할지 명확하지 않아 데이터 손실이 발생하기 때문입니다. IP도 마찬가지로 동일한 IP값이 할당되면 주소 충돌이 발생해 패킷이 올바르게 라우팅 되지 않습니다. 때문에 잘 알려진 포트인 0~1023번까지는 사용하지 않는 것이 좋습니다.

 

그렇다면 잘알려진 포트 중 우리가 알아둬야 할 중요한 포트들은 무엇이 있을까요?

굳이 다 암기할 필요는 없지만 알아두면 좋을 포트들을 정리했습니다. 앞으로 개발이나 클라우드 업계에서 공부하다 보면 자주 접하실 겁니다.

포트 번호
TCP
UDP
설명
7
O
O
ECHO 프로토콜
20
O
 
파일 전송 프로토콜 (FTP, File Transfer Protocol) - 데이터 포트
21
O
 
파일 전송 프로토콜 (FTP, File Transfer Protocol) - 제어 포트
22
O
 
시큐어 셀 (SSH, Secure SHell) - ssh, scp, sftp같은 프로토콜 및 포트 포워딩
23
O
 
텔넷 프로토콜(Telnet Protocol) - 암호화되지 않은 텍스트 통신
25
O
 
SMTP (Simple Mail Transfer Protocol) - 이메일 전송에 사용
53
O
O
도메인 네임 시스템 (DNS, Domain Name System)
67
   O
BOOTP(부트스트랩 프로토콜) 서버, DHCP로도 사용
68
 
O
BOOTP(부트스트랩 프로토콜) 클라이언트, DHCP로도 사용
80
O
O
HTTP (HyperText Transfer Protocol) - 웹페이지 전송
110
O
 
POP3(Post Office Protocol version 3) - 전자우편 가져오기에 사용
143
O
 
인터넷 메시지 접속 프로토콜 4 (IMAP4, Internet Message Access Protocol 4) - 이메일 가져오기에 사용
139
O
 
넷바이오스 (NetBIOS, Network Basic Input/Output System)
445
 
O
Microsoft-DS SMB 파일 공유
993
O
 
SSL 위의 IMAP4 (암호화 전송)
995
O
 
SSL 위의 POP3 (암호화 전송)
443
O
 
HTTPS - 보안 소켓 레이어 (SSL, Secure Socket Layer) 위에 HTTP (암호화 전송)

 

더 다양한 포트 목록은 wiki에 잘 정리돼 있으니 확인해 보셔도 좋을 것 같습니다!

반응형