의견.png

"포트"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(등록된 포트 번호)
6번째 줄: 6번째 줄:
  
 
== 특징 ==
 
== 특징 ==
 +
=== 개념 ===
 +
포트는 크게 두 가지 의미로 나뉜다.
 +
;하드웨어의 경우
 +
컴퓨터나 통신장비에서 주변장치에 물리적으로 접속되는 특정한 연결 부위를 말한다. 여기에는 소켓이나 플러그를 예로 들 수 있다. 정보가 드나드는 출입구로써, 일반적으로 컴퓨터는 하나 이상의 직렬 포트와 한 개의 병렬 포트가 제공된다. 병렬 포트와 직렬 포트로 나뉘는데, 병렬 포트는 센트로닉스처럼 한번에 여러 비트씩 프린터같은 주변 장치로 전송할 수 있는 병렬 전송을 지원하고, 직렬 포트는 RS-232C처럼 한번에 한 비트씩 모뎀 같은 주변 장치로 전송하는 직렬 전송을 지원한다.
 +
 +
;소프트웨어의 경우
 +
두번째는 소프트웨어적인 경우로, 프로그래밍에서 논리적인 접속장소를 뜻한다. 인터넷 프로토콜인 TCP/IP를 사용할 때에는 클라이언트 프로그램이 네트워크 상에서 특정 서버 프로그램을 지정하는데 사용된다. 웹 프로토콜인 HTTP처럼, TCP/IP의 상위 프로토콜을 사용하는 프로그램들은 IANA가 미리 지정한 '잘 알려진 포트 번호'를 갖고 있다. 하지만 다른 응용 프로그램 프로세스들은 매번 접속할 때마다 포트 번호가 동적으로 부여된다. 서버 프로그램이 처음 시작되면 지정된 포트 번호로 바인드되며, 이 서버를 이용하려는 모든 클라이언트 프로그램은 지정된 포트 번호로 바인드해야한다. 바인드가 된 후에는 두 개의 컴퓨터 간 네트워크를 이용한 통신 시 발신지 컴퓨터에서 출발한 사용자 패킷은 TCP/IP의 각 계층을 거쳐, 목적지 주소를 가진 컴퓨터로 도착한다. 패킷을 수신한 컴퓨터는 전송시에 사용되었던 주소 필드를 제거하며, 응용프로그램에는 패킷 내부의 데이터만 넘겨진다.<ref> 미나킴, 〈[https://memoweb.tistory.com/entry/%ED%8F%AC%ED%8A%B8%EC%9D%98-%EA%B0%9C%EB%85%90%EA%B3%BC-%EB%B3%B8%EC%A7%88-port 포트의 개념과 본질 (port)]〉, 《티스토리》, 2011-10-01</ref>
 +
 
=== 표기 ===
 
=== 표기 ===
 
URI 문법으로 사용 및 표기할 수 있다. 다음은 IP 주소와 함께 URL을 표기하는 예시이다.
 
URI 문법으로 사용 및 표기할 수 있다. 다음은 IP 주소와 함께 URL을 표기하는 예시이다.
449번째 줄: 457번째 줄:
  
 
== 참고자료 ==
 
== 참고자료 ==
 +
* 인터넷 할당 번호 관리기관 공식 사이트 - https://www.iana.org/
 
* 포트 위키백과 - https://ko.wikipedia.org/wiki/%ED%8F%AC%ED%8A%B8_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9)
 
* 포트 위키백과 - https://ko.wikipedia.org/wiki/%ED%8F%AC%ED%8A%B8_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9)
 
* TCP/UDP의 포트 목록 위키백과 - https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D
 
* TCP/UDP의 포트 목록 위키백과 - https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D
 
* 포트 네이버 지식백과 - https://terms.naver.com/entry.nhn?docId=1213147&cid=40942&categoryId=32848
 
* 포트 네이버 지식백과 - https://terms.naver.com/entry.nhn?docId=1213147&cid=40942&categoryId=32848
 +
  
 
== 같이 보기 ==
 
== 같이 보기 ==

2020년 7월 30일 (목) 17:42 판

포트(port)란 컴퓨터끼리 정보를 교환하기 위해 사용하는 가상의 논리적 접속 위치이다. 널리 알려진 포트 번호에는 20번(FTP), 22번(SSH), 23번(telnet), 25번(SMTP), 53번(DNS), 80번(http), 110번(POP3), 143번(IMAP), 194번(IRC), 443번(https) 등이 있다.

개요

포트는 크게 각각 하드웨어와 소프트웨어로 두 가지 의미로 나뉜다. 첫번째는 컴퓨터의 주변장치를 접속하기 위해 사용되는 연결 부분이다. 소켓이나 플러그를 예로 들 수 있다. 정보가 드나드는 출입구로써, 병렬 포트와 직렬 포트로 나뉘는데, 병렬 포트에는 주로 프린터를 접속하기 위한 센트로닉스를, 직렬 포트는 주변장치를 접속하기 위한 RS-232C를 예로 들 수 있다. 두번째 의미는 프로그래밍에서 의미로, 논리적인 접속장소를 뜻한다. 네트워크 서비스나 특정 프로세스를 식별하는 논리 단위이다. 인터넷 프로토콜 스위트에서 운영 체제 통신의 종단점을 맡고 있다. 예를 들어 TCP/IP를 사용할 때는, 클라이언트 프로그램이 네트워크 상의 특정 서버 프로그램을 지정하는 식으로 사용된다. 따라서 TCP/IP의 상위 프로토콜을 사용하는 응용프로그램에서는 인터넷 번호 할당 허가위원회에의해서 미리 지정된 포트 번호들을 가지고 있다. 포트 번호는 '잘 알려진 포트'(0번 ~ 1023번), '알려진 포트'(1024번 ~ 49151번), '종적 포트'(49152 번 ~ 65535번)로 나뉜다.[1]주로 포트를 사용하는 계층을 전송 계층 프로토콜이라고 하고, 그 예로 전송 제어 프로토콜(TCP)과 사용자 데이터그램 프로토콜(UDP)가 있다. 각 포트를 구별하는 번호를 포트 번호라고 부르며, 포트 번호는 IP주소와 함께 프로토콜에 사용된다.[2]

특징

개념

포트는 크게 두 가지 의미로 나뉜다.

하드웨어의 경우

컴퓨터나 통신장비에서 주변장치에 물리적으로 접속되는 특정한 연결 부위를 말한다. 여기에는 소켓이나 플러그를 예로 들 수 있다. 정보가 드나드는 출입구로써, 일반적으로 컴퓨터는 하나 이상의 직렬 포트와 한 개의 병렬 포트가 제공된다. 병렬 포트와 직렬 포트로 나뉘는데, 병렬 포트는 센트로닉스처럼 한번에 여러 비트씩 프린터같은 주변 장치로 전송할 수 있는 병렬 전송을 지원하고, 직렬 포트는 RS-232C처럼 한번에 한 비트씩 모뎀 같은 주변 장치로 전송하는 직렬 전송을 지원한다.

소프트웨어의 경우

두번째는 소프트웨어적인 경우로, 프로그래밍에서 논리적인 접속장소를 뜻한다. 인터넷 프로토콜인 TCP/IP를 사용할 때에는 클라이언트 프로그램이 네트워크 상에서 특정 서버 프로그램을 지정하는데 사용된다. 웹 프로토콜인 HTTP처럼, TCP/IP의 상위 프로토콜을 사용하는 프로그램들은 IANA가 미리 지정한 '잘 알려진 포트 번호'를 갖고 있다. 하지만 다른 응용 프로그램 프로세스들은 매번 접속할 때마다 포트 번호가 동적으로 부여된다. 서버 프로그램이 처음 시작되면 지정된 포트 번호로 바인드되며, 이 서버를 이용하려는 모든 클라이언트 프로그램은 지정된 포트 번호로 바인드해야한다. 바인드가 된 후에는 두 개의 컴퓨터 간 네트워크를 이용한 통신 시 발신지 컴퓨터에서 출발한 사용자 패킷은 TCP/IP의 각 계층을 거쳐, 목적지 주소를 가진 컴퓨터로 도착한다. 패킷을 수신한 컴퓨터는 전송시에 사용되었던 주소 필드를 제거하며, 응용프로그램에는 패킷 내부의 데이터만 넘겨진다.[3]

표기

URI 문법으로 사용 및 표기할 수 있다. 다음은 IP 주소와 함께 URL을 표기하는 예시이다.

ftp://000.000.000.000:21

위 표기에서 ftp://는 URI 스킴과 구분 기호를, 000.000.000.000은 IP 주소를 의미하며 ' : ' 다음의 21은 포트 번호이다. 다음은 포트 번호를 생략 가능한 경우의 예시이다.

http://000.000.000.000

위와 같은 같은 월드 와이드 웹 URL은 기본적으로 80번 포트를 사용하기때문에, 웹 브라우저는 자동적으로 다음과 같은 형태로 처리한다.

http://000.000.000.000:80

포트 번호

잘 알려진 포트 번호

잘 알려진 포트(well-known port)는 0번부터 1023번까지의 포트 번호이다. 잘 알려진 포트라고도 부른다. 인터넷 할당 번호 관리기관(IANA)에서 할당하며 대부분의 시스템에서 시스템 프로세서나 권한이 있는 사용자가 실행한 프로그램만 사용할 수 있다. 할당된 포트는 가능한 포트 번호의 작은 부분을 사용한다. 수년 동안 할당된 포트의 범위는 0번에서 255번 내에 있었으나, 최근에 IANA에서 관리하는 할당 포트의 범위가 0번에서 1023번으로 확장되었다. 포트는 장기간 대화를 수행하는 논리 연결의 끝을 나타내기 위해 TCP에서 사용되며, 알 수 없는 호출자에게 서비스를 제공할 목적으로 서비스 연결 포트가 정의된다.[4]

잘 알려진 포트
포트 TCP UDP 설명 상태
0 UDP 예약됨; 사용하지 않음 공식
1 TCP TCPMUX (TCP 포트 서비스 멀티플렉서) 공식
7 TCP UDP ECHO 프로토콜 공식
9 TCP UDP DISCARD 프로토콜 공식
13 TCP UDP DAYTIME 프로토콜 공식
17 TCP QOTD (Quote of the Day) 프로토콜 공식
19 TCP UDP CHARGEN (Character Generator) 프로토콜 - 원격 오류 수정 공식
20 TCP FTP (파일 전송 프로토콜) - 데이터 포트 공식
21 TCP FTP - 제어 포트 공식
22 TCP SSH (Secure Shell) - ssh scp, sftp같은 프로토콜 및 포트 포워딩 공식
23 TCP 텔넷 프로토콜 - 암호화되지 않은 텍스트 통신 공식
24 TCP 개인메일 시스템 공식
25 TCP SMTP (Simple Mail Transfer Protocol) - 이메일 전송에 사용 공식
37 TCP UDP TIME 프로토콜 공식
49 UDP TACACS 프로토콜 공식
53 TCP UDP DNS (Domain Name System) 공식
67 UDP BOOTP (부트스트랩 프로토콜) 서버. DHCP로도 사용 공식
68 UDP BOOTP (부트스트랩 프로토콜) 클라이언트. DHCP로도 사용 공식
69 UDP TFTP 공식
70 TCP 고퍼 프로토콜 공식
79 TCP Finger 프로토콜 공식
80 TCP UDP HTTP - 웹 페이지 전송 공식
88 TCP 커베로스 - 인증 에이전트 공식
109 TCP POP2 (Post Office Protocol version 2) - 전자우편 가져오기에 사용 공식
110 TCP POP3 (Post Office Protocol version 3) - 전자우편 가져오기에 사용 공식
111 TCP UDP RPC (Remote Procedure Call) 공식
113 TCP ident - 예전 서버 인증 시스템, 현재는 IRC 서버에서 사용자 인증에 사용 공식
119 TCP NNTP (Network News Transfer Protocol) - 뉴스 그룹 메시지 가져오기에 사용 공식
123 UDP NTP (Network Time Protocol) - 시간 동기화 공식
139 TCP 넷바이오스 공식
143 TCP IMAP4 (인터넷 메시지 접근 프로토콜 4) - 이메일 가져오기에 사용 공식
161 UDP SNMP (Simple Network Management Protocol) - Agent 포트 공식
162 UDP SNMP - Manager 포트 공식
179 TCP BGP (Border Gateway Protocol) 공식
194 TCP IRC (Internet Relay Chat) 공식
389 TCP LDAP (Lightweight Directory Access Protocol) 공식
443 TCP HTTPS - SSL 위의 HTTP (암호화 전송) 공식
445 TCP Microsoft-DS (액티브 디렉터리, 윈도 공유, Sasser-worm, Agobot, Zobotworm) 공식
445 UDP Microsoft-DS SMB 파일 공유 공식
465 TCP SSL 위의 SMTP - Cisco 프로토콜과 충돌 비공식, 충돌
514 UDP syslog 프로토콜 - 시스템 로그 작성 공식
515 TCP LPD 프로토콜 - 라인 프린터 데몬 서비스 공식
540 TCP UUCP (Unix-to-Unix Copy Protocol) 공식
542 TCP UDP 상용 (Commerce Applications) (RFC maintained by: Randy Epstein [repstein at host.net]) 공식
587 TCP email message submission (SMTP) (RFC 2476) 공식
591 TCP 파일메이커 6.0 Web Sharing (HTTP Alternate, see port 80) 공식
631 TCP 인터넷 프린팅 프로토콜 공식
636 TCP SSL 위의 LDAP (암호화된 전송) 공식
666 TCP id 소프트웨어의 둠 멀티플레이어 게임 공식
873 TCP rsync 파일 동기화 프로토콜 공식
981 TCP SofaWare Technologies Checkpoint Firewall-1 소프트웨어 내장 방화벽의 원격 HTTPS 관리 비공식
990 TCP SSL 위의 FTP (암호화 전송) 공식
992 TCP SSL 위의 Telnet (암호화 전송) 공식
993 TCP SSL 위의 IMAP4 (암호화 전송) 공식
995 TCP SSL 위의 POP3 (암호화 전송) 공식

등록된 포트 번호

등록된 포트(registered port)는 1024번부터 49151번까지의 포트 번호이다. RFC6335에 따라 인터넷 할당 번호 관리기관에 등록한다. 이 구간의 포트들은 시스템에서 슈퍼유저 권한이 없어도 사용할 수 있다.[4] ICANN에 등록되어 있지만 통제되지는 않는다.

등록된 포트
포트 TCP UDP 설명 상태
1080 TCP UDP SOCKS 프록시 공식
1194 TCP UDP OpenVPN 공식
1900 TCP UDP Simple Service Discovery Protocol (SSDP), UPnP 장치 검출 서비스 공식
3306 TCP MySQL 공식
3479 TCP UDP 플레이스테이션 네트워크 공식
3480 TCP UDP 플레이스테이션 네트워크 공식
3690 TCP UDP Subversion 공식
5228 TCP UDP HP Virtual Room Service 공식
TCP UDP 구글 안드로이드 메시징 프로토콜 비공식
5353 UDP Multicast DNS 공식
6379 TCP Redis 서비스 공식
9100 TCP 네트워크 프린팅 프로토콜 비공식
17500 TCP UDP Dropbox LanSync 프로토콜, LAN 상에서 Dropbox 클라이언트끼리 파일목록을 동기화 함 공식

동적 포트 번호

동적 포트(dynamic port)는 49152번부터 65535번까지의 포트 번호이다.

각주

참고자료


같이 보기


  의견.png 이 포트 문서는 인터넷에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.