4계층 프로토콜
- 전송 계층이라고 부름
- 송신자의 프로세스와 수신자의 프로세스를 연결하는 통신 서비스 제공
- 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 다중화와 같은 편리한 서비스 제공
- 연결 지향 전송 방식을 사용하는 전송 제어 프로토콜(TCP)
- 단순한 전송에 사용되는 사용자 데이터그램 프로토콜(UDP)
- TCP / UDP의 프로토콜 구조에 대해서는 따로 정리
포트 번호
- 특정 프로세스와 하나의 프로세스가 통신을 하기 위해 사용
- 하나의 포트는 하나의 프로세스만 사용 가능
- 하나의 프로세스가 여러 개의 포트를 사용할 수는 있음
- 포트 번호는 일반적인 번호가 정해져있지만 반드시 지켜야하는 것은 아님
- 대표적으로 3가지로 분류된다.
Well-Known 포트
서비스 이름 |
포트 번호 |
FTP |
20, 21번 |
SSH |
22번 |
TELNET |
23번 |
DNS |
53번 |
DHCP |
67, 68번 |
TFTP |
69번 |
HTTP |
80번 |
HTTPS |
443번 |
- 세계적으로 유명하게 알려진 포트 번호
- 각 포트는 해당 서비스들로 가장 많이 사용된다.
Resitered 포트
서비스 이름 |
포트 번호 |
오라클 DB 서버 |
1521번 |
MySQL 서버 |
3306번 |
MS 원격 데스크탑 |
3389번 |
- 어느정도 공신력있는 프로그램의 포트 번호
- 이 외에도 여러 유명 프로그램의 포트 번호가 이에 해당한다.
Dynamic 포트
시작 포트 번호 |
마지막 포트 번호 |
49152 |
65535 |
- 사용자들이 활용할 수 있는 포트 번호
- 보통 상대방 프로그램에 연결할 때 사용하게 된다.
프로그램의 연결 정보
netstat -ano
명령어를 통해 어떤 프로그램이 어떤 상태로 연결되어 있는지 알 수 있다.
참고 : https://www.youtube.com/watch?v=tG0ldt4sBzY&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=16