네트워크
- 여러 컴퓨터나 장치들이 데이터를 주고받으며 서로 연결된 통신망
네트워크의 핵심 요소
- 노드 : 연결된 장치(컴퓨터, 스마트폰, 서버, 프린터 등)
- 링크 : 노드들을 연결하는 통신 매체(유선 케이블, 무선 신호 등)
- 프로토콜 : 데이터 통신을 위한 규칙과 약속 (TCP/IP)
네트워크의 목적
- 자원 공유: 프린터, 파일, 저장장치, CPU 등 물리적/논리적 자원을 공유
- 정보 교환: 파일, 이메일, 영상, 문서 등 다양한 데이터를 주고받음
- 협업 및 통신: 원격으로 협업하고 소통
네트워크 계층화 이유
- 복잡성 관리 : 네트워크 통신의 복잡한 과정을 단계별로 분리
- 표준화 : 각 계층별 표준 프로토콜 정의 가능
- 모듈화 : 특정 계층의 변경이 다른 계층에 영향을 주지 않음
- 문제 해결 : 계층별로 문제를 분리하여 디버깅 용이
OSI 7계층 요약
| 계층 | 이름 | 역할 | 예시 |
|---|
| L7 | 응용 | 사용자와 직접 상호작용 | HTTP, HTTPS, FTP |
| L6 | 표현 | 인코딩, 암호화 | TLS/SSL |
| L5 | 세션 | 연결 유지/복구 | 세션 관리 |
| L4 | 전송 | 포트, 신뢰성 | TCP, UDP |
| L3 | 네트워크 | IP, 라우팅 | IP, ICMP |
| L2 | 데이터링크 | MAC, 프레임 | Ethernet |
| L1 | 물리 | 전기적 신호 | 케이블 |
Port
- 하나의 서버에서 여러 서비스를 구분하기 위한 논리적 번호
- SSH : 22
- HTTP : 80
- HTTPS : 443
- MySQL : 3306
- Redis : 6379
로드 밸런서
- 클라이언트의 요청을 여러 대의 서버에 균등하게 분산
- 특정 서버의 부하를 줄이고, 시스템 전체의 성능, 안정성 및 가용성을 높이는 장치 또는 기술
L4 Load Balancer
- TCP/UDP 기반
- IP + Port 기준 분산
- 빠르고 단순
L7 Load Balancer
- HTTP/HTTPS 이해
- URL, Header, Cookie 기반 분산
- 인증, 리다이렉션 가능
HTTP서버 TCP서버
- HTTP : 요청/응답 구조 (REST API)
- TCP : 바이트 스트림 처리 (게임, 채팅)
SPOF와 고가용성(High Availability)
SPOF (Single Point Of Failure)
고가용성 (High Availability)
- 서버가 장애 발생 시에도 서비스 중단 시간을 최소화
- 오랜 시간 동안 지속적으로 정상 운영될 수 있는 것
해결 방법
- 로드밸런서로 다중 서버 구성
- Health Check + 자동 장애 조치