
TCP/IP 4계층
| TCP/IP 계층 | 계층 이름 (Layer Name) | 주요 역할 및 프로토콜 | OSI 7계층 |
| 4계층 | 응용 (Application) | 사용자와 직접 상호작용하며 데이터를 주고받는다. | 응용(7) 표현(6) 세션(5) |
| 3계층 | 전송 (Transport) | 프로세스 간 데이터 전송을 담당한다. 데이터의 신뢰성(오류 복구) 및 흐름 제어(속도 조절)을 수행한다. |
전송(4) |
| 2계층 | 인터넷 (Internet) | 패킷을 목적지까지 경로 지정(라우팅)하고 전달한다. 논리적 주소(IP 주소)를 사용한다. |
네트워크(3) |
| 1계층 | 네트워크 전송 (Network Access) |
물리 매체(케이블, 무선 등)를 통해 데이터를 전송한다. 물리적 주소(MAC 주소)를 사용한다. |
데이터 링크(2) 물리 (1) |
이론 상으로는 OSI 7계층, 실세계 반영으론 TCP/IP 4계층이 적용된다.
그렇다고 장비를 TCP/IP 4계층에 기반하여 1~4 계층으로 부르지 않고, OSI 7계층에 맞춰 2, 3, 4, 7 계층 장비로 불린다는 것에 유의해야 한다.
OSI 7계층 장비 사용
대부분의 중소규모 기업들은 L7 장비들을 사용하고, 기업의 규모가 커질 수록 L4, L3, L2 장비로 내려간다.
이는 장비의 계층이 내려갈 수록 할 수 있는 것이 많아지고, 장비 하나가 처리할 수 있는 양(패킷)이 줄어드는 것이다.
사용자에게 가까워 질 수록 할 수 있는 양이 적어진다.
일례로, L7 장비는 10GB도 처리하지 못하지만 L2 장비는 초당 400GB까지 처리할 수 있다. 그리고 낮은 계층의 장비를 다룰 수록 돈이 절약된다.
그래서 가장 중요한 데이터들은 대부분 L3에서 처리된다.
※ 하지만 계층이 낮아질 수록 버그가 발생할 확률도 높다.
1024번 이전의 Known Ports 프로토콜
Known Ports (또는 Well-Known Ports)는 IANA(Internet Assigned Numbers Authority)에 의해 특정 서비스에 공식적으로 할당된 포트 번호이며, 그 범위는 0번부터 1023번까지다.
이 포트들은 일반적으로 운영체제에서 Root 혹은 Administrator 권한이 있어야 사용할 수 있도록 보안상 제한되어 있다.
아래는 널리 사용되는 Known Port 프로토콜이다.
| 포트 번호 | 프로토콜 이름 | 프로토콜 (TCP/UDP) | 주요 역할 |
| 20,21 | FTP (File Transfer) | TCP | 파일 전송 (21: 제어 연결, 20: 데이터 연결) |
| 22 | SSH (Secure SHell) | TCP | 원격 보안 쉘 접속 및 터널링 |
| 23 | Telnet | TCP | 암호화되지 않은 원격 터미널 접속 |
| 25 | SMTP (Simple Mail Transfer Protocol) | TCP | 이메일 전송 및 발송 |
| 53 | DNS (Domain Name System) | UDP/TCP | 도메인 이름을 IP 주소로 변환 |
| 67,68 | DHCP (Dynamic Host Configuration Protocol) |
UDP | IP 주소 및 네트워크 설정 자동 할당 |
| 80 | HTTP (Hypertext Transfer Protocol) | TCP | 웹 페이지 접속 및 전송 |
| 110 | POP3 (Post Office Protocol version 3) | TCP | 이메일 수신 (서버에서 이메일을 다운로드) |
| 143 | IMAP (Internet Message Access Protocol) | TCP | 이메일 수신 (이메일을 서버에 보관하며 관리) |
| 443 | HTTPS (HTTP Secure) | TCP | 보안 웹 통신 (HTTP + HTTP + TLS/SSL) |
참고 자료
- https://hahahoho5915.tistory.com/15
- DNS over TLS : https://en.wikipedia.org/wiki/DNS_over_TLS
- DNS : https://en.wikipedia.org/wiki/Domain_Name_System#DNS_over_QUIC_(DoQ)
'Backend' 카테고리의 다른 글
| [Backend] Pub-Sub 패턴: 경쟁적 소비 모델 vs. Broadcast (0) | 2025.10.10 |
|---|---|
| [Backend] volatile 키워드, 언제 쓰고 왜 쓰는가? (2) | 2025.10.04 |
| [Backend] Concurrent Collections (동시성 컬렉션) (1) | 2025.09.25 |
| [Backend] Pub/Sub Pattern (1) | 2025.09.24 |
| [Backend] ThreadLocal과 Atomic (1) | 2025.09.22 |