Socket / Port
Socket
엔드 포인트( End-Point )란 아이피 주소와 포트 번호의 조합( ex-127.0.0.1:80 )을 의미합니다. 모든 TCP 연결은 2개의 앤드 포인트로 유일하게 식별되어질 수 있습니다. 소켓이란 이러한 네트워크 상에서 돌아가는 두 개의 프로그램 간 양방향 통신의 끝 부분인 엔드포인트를 의미합니다.
port
네트워크 관점 – 트래픽 분산을 위한 논리적인 할당
프로그램 관점 – 논리적인 접속장소
즉 포트란 논리적인 접속 공간입니다. 프로토콜에서는 포트를 네트워크 상의 특정 서버 프로그램을 지정하는 방법으로 사용이 됩니다. 대표적인 예로 HTTP의 웹 응용 프로그램 접속을 위해 클라이언트에서는 80 포트번호를 사용합니다.
--
예로 http://www.naver.com:80으로 접근하면 DNS에 의해 202.43.54.222 IP가 반환되고 HTTP 프로토콜을 이용하여 반환된 203.43.54.222 IP의 80포트에 매핑된 웹 서비스에 접근을 시도하게 됩니다.
이때
http://202.43.54.222:80 = Socket
80 = Port Number
즉 Socket은 TCP/IP에서 데이터를 통신하기 위해 필요한 것이고, Port는 데이터 패킷이 들어오는 / 나가는 곳이 됩니다.
+ WebSocket?
HTTP의 단점을 보완하기 위하여 등장한 기술. HTTP는 서버/클라이언트 간 접속을 유지하지 않으며, 한번에 한 방향으로만 통신이 가능한 half-duplex입니다. 또한 헤더에 지나치게 많은 데이터를 가지고 있어 성능저하를 피할 수 없었습니다. HTML5에 포함 되 있는 WebSocket은 이러한 단점을 보완하여 ActiveX를 사용하지 않고도 TCP/IP 소켓통신을 구현할 수 있고, 네트워크의 과부하를 줄일 수 있습니다. 통신의 처음, HTTP로 연결을 완료한 뒤에 HTTP가 내려가고 WebSocket이 올라가 통신을 수행하는 방식으로 동작하여 애플리케이션의 반응성을 높일 수 있게 됩니다.
+ Well-Known Port?
필요에 따라 자주 쓰이는 포트번호들은 IANA(Internet Assigned Numbers Authority)에 의해 약속으로 지정되어 있으며 ‘잘 알려진 포트’라고 하여 ‘Well-Known Port’라고 불립니다. Well-Known Port를 사용하지 않는 프로그램들은 매번 접속할 때마다 포트번호가 동적으로 부여됩니다. Well-known port number는 0번부터 1023번까지 지정되어 있으며 공석 또한 존재합니다. 특수용도를 위한 지정포트이기 때문에 개인적인 테스트 진행 시 해당 범위의 포트는 사용하지 않는 것이 바람직합니다.
포트 |
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 (HyperText Transfer Protocol) - 웹 페이지 전송 |
공식 |
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 - HTTP over SSL (암호화 전송) |
공식 |
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) |
공식 |
636 |
TCP |
|
SSL 위의 LDAP (암호화된 전송) |
공식 |
666 |
TCP |
|
id 소프트웨어의 둠 멀티플레이어 게임 |
공식 |
873 |
TCP |
|
rsync 파일 동기화 프로토콜 |
공식 |
981 |
TCP |
|
SofaWare Technologies Checkpoint Firewall-1 소프트웨어 내장 방화벽의 원격 HTTPS 관리 |
비공식 |
990 |
TCP |
|
SSL 위의 FTP (암호화 전송) |
공식 |
993 |
TCP |
|
SSL 위의 IMAP4 (암호화 전송) |
공식 |
995 |
TCP |
|
SSL 위의 POP3 (암호화 전송) |
공식 |
출처 https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D
'이론 정리' 카테고리의 다른 글
한글 인코딩 (0) | 2019.06.04 |
---|---|
가상화 ( IO ) (0) | 2018.02.11 |
가상화 ( 서버 ) (0) | 2018.02.11 |
TCP/IP (0) | 2018.02.10 |
DNS (0) | 2018.02.08 |