Layer # | Layer Name | Protocol | Protocol Data Unit | Addressing |
---|---|---|---|---|
5 | Application | HTTP, SMTP, etc. | Messages | n/a |
4 | Transport | TCP/UDP | Segments/Datagrams | Port #s |
3 | Network or Internet | IP | Packets | IP Address |
2 | Data Link | Ethernet, Wi-Fi | Frames | MAC Address |
1 | Physical | 10 Base T, 802.11 | Bits | n/a |
Layer | Device Type |
---|---|
Application | L7 스위치 |
Transport | L4 스위치 |
Network | 라우터, L3 스위치 |
Data Link | L2 스위치, 브리지 |
Physical | NIC, 리피터, AP |
IP 주소를 기반
으로 네트워크 트래픽을 관리하며 인터넷 연결을 제공하는 주요 장치사용자와 네트워크 간의 인터페이스 역할을 수행 (사용자가 직접 상호작용하는 애플리케이션)
HTTP, SMTP, FTP 등이 있으며 웹 브라우저, 이메일 클라이언트 등과 같은 애플리케이션을 포함
데이터의 형식화, 전소으 제어, 동기화를 담당
로드 밸런서(Layer 7 Load Balancer)는 애플리케이션 계층에서 작동하며 트래픽을 여러 서버에 효율적으로 분배하여 시스템의 성능과 안정성을 향상시키는 장치임
주요 역할
1. 트래픽 분배
- 사용자 요청을 여러 서버에 분산시켜 서버 부하를 줄이고
시스템 전체의 성능을 향상시킴
- 라운드 로빈, 최소 연결, IP 해시 등 다양한 로드 밸런싱 알고리즘을 사용
2. 세션 유지 (Sticky Session)
- 동일한 클라이언트의 요청을 항상 동일한 서버로 전달하여 세션 정보를 유지
- 주로 쇼핑 카트와 같은 상태 정보를 유지해야 하는 웹 애플리케이션에서 사용
3. SSL 종료 (SSL Termination)
- SSL/TLS 암호화를 처리하여 백엔드 서버의 부담을 줄임
- 로드 밸런서가 SSL 연결을 종료하고 이후 트래픽은 평문으로 내부 서버에 전달
4. 내용 기반 라우팅 (Content-based Routing)
- URL, 쿠키, 헤더 등 요청의 내용을 분석하여 특정 서버 또는 서버 그룹으로 트래픽을 라우팅
- 예를들어, 특정 URL 패턴에 대한 요청을 특정 서버로 보내는 기능을 수행
5. 애플리케이션 가속
- 캐싱, 압축, 연결 풀링 등의 기능을 제공하여 애플리케이션 응답 시간을 단축
- 정적 컨텐츠를 캐시하여 서버의 부하를 줄이고 응답 시간을 개선
6. 보안 강화
- 웹 애플리케이션 방화벽(WAF) 기능을 통합하여 SQL 인젝션, 크로스 사이트 스크립팅(XSS) 등의 공격으로부터 애플리케이션을 보호
- DDos 공격 방어, IP 필터링 등의 추가 보안 기능을 제공
7. 헬스 체크 (Health Check)
- 백엔드 서버의 상태를 주기적으로 확인하여 정상 작동 여부를 모니터링
- 비정상 서버를 자동으로 트래픽 분배 대상에서 제외하여 가용성과 안정성을 높임
- HTTP 상태 코드, TCP 연결 상태, 응답 시간 등을 체크
8. 모니터링 및 로깅
- 트래픽 패턴, 서버 상태 등을 모니터링하고 로그를 기록하여 시스템 성능과 문제를 분석 할 수 있게 함
- 실시간 대시보드를 통해 트래픽 흐름과 서버 상태를 확인할 수 있음
<AWS>
ALB(Application Load Balancer) 컴포넌트 - L7 스위치
NLB(Network Load Balancer) 컴포넌트 - L4 스위치
AWS Load Balancer 예시
애플리케이션 계층과 네트워크 계층 사이에서 데이터 전송을 관리
이 계층의 주요 역할은 데이터 전송의 신뢰성과 정확성을 보장
TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)가 주요 프로토콜
TCP는 연결 지향적 프로토콜로 데이터의 신뢰성을 보장
하며 UDP는 비연결 지향적 프로토콜로 빠른 전송이 필요한 애플리케이션에서 사용
주요 역할
1. 프로토콜 기반 분배
- TCP 및 UDP 트래픽을 처리 함
- 포트 번호와 IP 주소를 기반으로 트래픽을 분배
2. 고성능 처리
- 높은 처리량을 제공하며 초당 수백만 개의 요청을 효율적으로 처리할 수 있음
- 패킷 레벨에서 동작하므로 오버헤드가 적어 빠른 응답 시간을 제공 함
3. 고정 IP 주소
- 클라이언트가 연결할 수 있는 정적 IP 주소를 제공
- 이를 통해 네트워크 연결의 안정성을 보장
4. TLS 종료
- TLS(Transport Layer Security) 트래픽을 로드 밸런서에서 종료하여 백엔드 서버의 부하를 줄임
- 로드 밸런서가 암호화 및 복호화를 처리하여 서버의 성능을 최적화함
5. 단일 연결 유지 (Single Connection)
- 클라이언트와 백엔드 서버 간의 단일 TCP 연결을 유지하여 연결 성정 오버헤드를 줄임
6. 유연한 트래픽 분배
- 특정 포트 번호와 프로토콜에 기반한 트래픽 분배를 지원
- 다양한 분배 알고리즘 사용
7. 헬스 체크 (Health Check)
- 백엔드 서버의 상태를 주기적으로 확인하여 정상 작동 여부를 모니터링 함
- 비정상적인 서버를 자동으로 트래픽 분배 대상에서 제외하여 가용성을 높임
- TCP 연결 상태, 응답 시간 등을 체크
L4 로드 밸런서의 사용 사례
데이터 패킷의 전달과 라우팅을 담당
네트워크 간의 데이터 전송 경로를 결정하고 데이터 패킷을 최종 목적지까지 전달하는 역할을 수행
주요 프로토콜로는 IP(Internet Protocol)가 있으며 라우터와 같은 장치가 이 계층에서 동작
패킷의 논리적 주소(IP 주소)를 사용하여 데이터를 전달
네트워크 계층에서 동작하는 장치로 서로 다른 네트워크 간의 데이터 패킷을 전달하고 경로를 결정하는 역할을 함
네트워크 토폴로지 정보를 사용하여 최적의 경로를 선택하고 데이터 패킷을 목적지 네트워크로 라우팅 함
거리 벡터 라우팅 프로토콜
의 하나로 네트워크 내 라우터들이 정기적으로 라우팅 정보를 교환하여 최적 경로를 결정링크 상태 라우팅 프로토콜
의 하나로 라우터들이 자신과 직접 연결된 네트워크 상태를 교환하여 전체 네트워크 토폴로지를 파악다익스트라 알고리즘을 사용
하여 최단 경로를 계산하며 대규모 네트워크에서 효율적으로 동작물리 계층과 네트워크 계층 사이에서 데이터 프레임의 전송을 관리
데이터의 물리적 전송을 위한 오류 검출 및 수정
, 데이터 프레임의 순서 제어를 담당
Ethernet, Wi-Fi 등의 프로토콜이 이 계층에 속하며 스위치, 브리지와 같은 장치가 사용
MAC 주소를 사용하여 네트워크 내에서 프레임을 전달
프레임
을 전달하며 네트워크 내의 여러 장치를 연결하는 데 사용세그먼트
를 연결하여 하나의 네트워크로 동작하게 함실제 데이터 전송 매체를 통해 비트를 전송
NIC(Network Interface Card)
, 리피터(증폭기)
, AP(Access Point, 패킷 복사)
와 같은 장치가 포함