서버 개발에 대한 경험이 있는 분이시라면 IP와 Port를 통해 기본적으로 서버구축을 하게 될 겁니다.

(처음 접할때는 보통 자신의 루프백 주소인 localhost로 하겠죠?ㅎㅎ)

이 때, Port란 것에 대해 간단히 살펴보겠습니다.


- 포트는 "논리적인 접속장소"이며, 특히 인터넷 프로토콜인 TCP/IP를 사용할 때에는 클라이언트 프로그램이 네트워크 상의 특정 서버 프로그램을 지정하는 방법으로 사용이 됩니다

웹 프로토콜인 HTTP와 같이, TCP/IP의 상위 프로토콜을 사용하는 응용프로그램에서는 미리 지정된 포트번호 들을 가지고 있으며, 이런 것들은 IANA(Internet Assigned Numbers Authority)에 의해 지정되었으며, "잘 알려진 포트들"이라고 불리워 집니다.

다른 응용프로그램 프로세스들은 매번 접속할 때마다 포트번호가 동적으로 부여됩니다. 서버 프로그램이 처음 시작되면, 지정된 포트번호로 바인드되는데, 이 서버를 사용하려는 모든 클라이언트 프로그램들은 지정된 포트번호에 바인드해야만 합니다.

 

바인드가 되면 두 개의 컴퓨터간 네트워크를 이용한 통신 시, 발신지 컴퓨터에서 출발한 사용자 데이터(패킷)TCP/IP의 각 계층을 거치면서 최종적으로 목적지 주소(IP)를 가지고 있는 컴퓨터에 도착하게 됩니다. 패킷을 수신한 컴퓨터는 전송 시에 사용되었던 주소필드를 제거하고, 패킷 안에 있는 데이터만을 응용프로그램에 넘겨주게 됩니다.

 

결국 데이터를 넘겨줄 컴퓨터에는 FTP, Mail, Telnet, SSH, Web 등 다양한 종류의 응용프로그램이 기동하고 있을 것인데, 수신측 컴퓨터가 인터넷 계층에서 패킷을 수신한 후 응용계층으로 데이터를 전달하려고 할 때, 컴퓨터 내에 사용중인 많은 응용프로그램들 중 누구에게 데이터를 전달해야 하는지 구분하기 위하여 운영체제는 응용프로그램의 논리적인 주소인 Port 번호라는 것을 이용합니다. 즉 각각의 응용프로그램 (서비스)에 유일한 논리적 주소인 Port 번호를 할당하여, 전송계층에서 응용프로그램을 구분할 수 있도록 합니다.

 

(IP Address, Port) -> IP Address는 컴퓨터를 찾을 때 필요한 주소를 나타내며, Port는 컴퓨터 안에서 프로그램을 찾을 때 를 나타내는 것입니다.

, 두 개를 이용하여 특정 컴퓨터의 프로그램을 이용 할 수 있게 됩니다.


#PORT - (0~1023)

: 0번 포트에서 1023포트 까지 -> Well-known port number 라고 하며 미리 특수용도로 지정되어 있기 때문에 가급적 개인적으로 테스트용 프로그램을 개발 시에는 0~1023사이의 포트번호는 피하는 것이 좋습니다.

(Well-known port의 종류)

21: FTP

22: SSH

23: TELNET

-> 인터넷을 통하여 원격지의 호스트 컴퓨터에 접속할 때 지원되는 인터넷 표준 프로토콜

25: SMTP[Simple Mail Transfer Protocol]

-> 인터넷에서 전자우편을 보낼 때 이용하게 되는 표준 통신 규약을 말합니다.

53: DNS

61: SNMP[Simple Network Management Protocol]

-> 네트워크 장비를 관리 감시하기 위한 목적으로 TCP/IP 상에 정의된 응용 계층 표준 프로토콜

80: HTTP [hypertext transfer protocol]

-> 인터넷에서, 웹 서버와 사용자의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약

110: POP3 [Post Office Protocol version 3]

-> 인터넷에서 전자 우편을 가져오기 위한 프로토콜

115: SFTP

135: RPC

139: NetBIOS

143: IMAP [internet messaging access protocol]

-> 인터넷 메일 서버에서, 메일을 읽기 위한 인터넷 표준 통신 규약의 한가지. POP3보다도 유연하고 뛰어난 성능

194: IRC

443: HTTPS(SSL) [Hypertext Transfer Protocol over Secure Socket Layer]

-> 월드 와이드 웹 통신 프로토콜인 HTTP의 보안이 강화된 버전

445: SMB

3389: 원격데스크탑 연결


WRITTEN BY
SiriusJ

,