본문 바로가기
lesson/network programming

네트워크 프로그래밍 01. 네트워크와 소켓 프로그래밍

by Peter Choi 2024. 1. 4.
반응형

인터넷 통신 수행 개체는 호스트와 라우터로 구성된다.

 

이 때 따라야 하는 규칙이 있다. 이를 통신 프로토콜이라고 한다.

여기서 흔히 L1 ~ L7 스위치라고 부르는 장비들의 명칭이 유래한다.

 

여기서 각 계층 별로 프로토콜의 구조가 다양하게 존재하는데,

 

응용 계층 -> TELNET, FTP, HTTP, SMTP...

전송 계층 -> TCP / UDP

인터넷 계층 -> IP

네트워크 접근 계층 -> 장치 드라이버, 네트워크 하드웨어

 

로 구성된다.

 

TCP와 UDP에 대한 차이점도 꼭 집고 갈만한 주제이다.

TCP(Transmission Control Protocol)  UDP(User Datagram Protocol) 
연결형 프로토콜
- 연결이 설정된 후 통신이 가능하다. 
 비연결형 프로토콜
- 연결 없이 통신 가능하다.
데이터 경계를 구분하지 않음
- 바이트 스트림 서비스 
 데이터 경계를 구분한다.
- 데이터그램 서비스
 신뢰성 있는 데이터 전송
- 데이터를 재전송한다.
 비신뢰적인 데이터 전송
- 데이터를 재전송하지 않음
 1대 1 통신(unicast) 1대 1 통신(unicast)
1대 다 통신(broadcast)
대략적인 개념

포트 번호는 프로세스를 식별하는 단위를 나타낸다. 16비트 정수 범위에서 표현되는데, 0번부터 65535번까지 존재한다.

 

그러나 모든 번호를 자유자재로 사용할 수 있는 것은 아니다. 

 

'잘 알려진 포트'(0번~1023번), '알려진 포트'(1024번~49151번), '동적 포트'(49152번~65535번)로 나눈 번호이다.

 

잘 알려진 포트
포트 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 공식
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 (암호화 전송) 공식

 

 

반응형

댓글