OSI 7 계층
OSI는 ' 개방 시스템 상호 연결 (Open Systems Inter-connection)'의 약자이다
이는 통신 기기 간 혹은 기기 내부 등 각종 네트워크 영역에서 이루어지는 통신 절차를 7층으로 계층화함으로써 네트워크에서 발생하는 문제를 쉽게 표준화할 수 있고, 그로 인해 네트워크 흐름 또한 쉽게 이해할 수 있다는 장점이 있다.
분류는 1~7 계층 순으로, 물리 - 데이터 링크 - 네트워크 - 전송 - 세션 - 표현 - 애플리케이션(응용)으로 나뉜다.
응용 계층에서 물리 계층의 Top-down 순으로 메시지가 생성되어 전송되고, 메시지 수신은 그 역순으로 진행된다.
- 데이터 전송 : 응용 ~> 물리
- 데이터 수신 : 물리 ~> 응용
OSI 계층 별 특징
응용
응용 계층(Application Layer)은 OSI 모델의 최상위 계층으로, 사용자가 네트워크에 접근할 때 사용하는 애플리케이션과 직접 상호작용하는 계층이다. 이 계층에서는 네트워크 서비스의 end-to-end 관리가 이뤄지며, 웹 브라우징, 이메일 전송, 파일 전송 같은 데이터 교환을 담당한다.
주요 사례 - 웹 브라우징
- 작동 방식
i. 사용자가 웹 브라우저를 통해 URL을 입력할 때, 브라우저는 이 URL에 해당하는 웹 서버에 HTTP 요청을 보낸다.
ii. 웹 서버가 요청을 처리하고 HTML, CSS, Javascript 파일 등을 포함한 응답을 브라우저로 재전송한다.
iii. 브라우저는 이 파일들을 해석하여 사용자에게 웹 페이지로 표시한다.
- 보안 이슈 및 관리 방법
* 보안 이슈 : XSS, CSRF, SQL Injection
* 관리 방법
i. WAF를 통해 악의적인 웹 트래픽과 공격을 차단한다.
ii. SSL/TLS로 HTTP를 암호화한 HTTPS를 사용한다.
표현
표현 계층(Presentation Layer)은 데이터의 변환 / 압축 / 암호화를 담당하는 계층이다..
1. 데이터 변환 : 서로 다른 시스템 간의 정보 교환을 위해 데이터를 일반적인 형식으로 변환한다.
데이터의 압축 / 해제와 문자열 인코딩 변환이 해당 계층에서 수행된다.
2. 암호화 / 복호화 : 데이터 보안을 위해 정보를 암호화하고 수신 측에서 이를 복호화한다.
이를 통해 민감한 데이터가 네트워크를 통해 안전하게 전송될 수 있도록 보장한다.
세션
세션 계층(Session Layer)은 세션의 생성과 관리를 담당하는 계층이다.
1. 세션 관리 : 애플리케이션 간의 통신을 관리하고, 통신 세션을 구축 / 유지 / 종료한다.
세션 계층은 두 애플리케이션 간의 대화를 조율하여 데이터가 연속적으로 흐르도록 돕는다.
2. 동기화 : 대규모 데이터 전송 시, 중단점을 설정하여 데이터 전송에 문제가 발생했을 때 중단점부터 재전송한다.
주요 사례
1. 멀티미디어 데이터 스트리밍
멀티미디어 데이터(ex. 비디오, 오디오) 스트리밍은 주로 세션 계층에서의 세션 관리 기능을 통해 이뤄진다. 스트리밍 프로토콜(ex. RTSP, 실시간 스트리밍 프로토콜)은 세션 계층에서 작동하여 미디어 스트림을 제어하고, 표현 계층에서 데이터를 적절한 형식으로 변환 / 압축하여 효율적인 전송을 가능하게 한다.
2. VPN (Virtual Private Network)
VPN은 인터넷 같은 공중망 네트워크에 표현 계층의 암호화 기술을 도입하여 안전한 데이터 전송을 보장하는 기술이다. VPN 클라이언트와 서버 간에는 암호화된 터널이 구성되어 모든 통신 데이터가 이 터널을 통해 전송된다. 세션 계층에서는 이 터널을 통한 세션의 구축, 유지 및 종료를 관리한다.
전송
전송 계층(Transport Layer)은 애플리케이션 계층 데이터의 전송을 책임지며, TCP와 UDP가 대표적인 프로토콜이다.
TCP(Transfer Control Protocol)는 1) 연결 지향적이며, 2) 신뢰성 있는 데이터 전송을 보장하는 3) 바이트 스트림 서비스다.
1. 연결 지향형
- TCP는 데이터 전송을 시작하기 전에 목적지와 연결을 설정하는 3-way handshake 과정을 거친다.
- 이는 데이터 전송의 신뢰성을 보장한다.
2. 신뢰성 있는 데이터 전송
- TCP는 패킷 손실이 발생할 경우 재전송을 요청한다.
- 데이터의 순서 보장과 흐름 제어를 통해 네트워크의 혼잡을 관리한다.
3. 바이트 스트림 서비스
- TCP는 연속적인 바이트 스트림으로 데이터를 전송한다.
- 이는 송수신자 간의 바이트 경계를 명확히 구분하지 않는다
UDP는 1) 비연결형이며, 2) 데이터 전송 시 신뢰성을 보장하지 않는 3) 메시지 지향 서비스다.
1. 비연결형
- UDP는 연결 설정 없이 데이터를 전송한다.
- 이는 TCP보다 초기 설정 시간이 단축되어 빠른 데이터 전송이 가능하다
2. 비신뢰성
- UDP는 패킷의 손실에 대해 재전송을 하지 않고, 순서도 보장하지 않는다.
3. 메시지 지향 서비스
- 각 UDP 메시지는 독립적으로 처리되며, 메시지 경계가 유지된다.
네트워크
네트워크 계층(Network Layer)은 다양한 네트워크를 통한 데이터 패킷의 전달 및 라우팅을 담당한다.
기본 데이터 단위는 패킷이며, 주요 기능은 1) 라우팅, 2) 데이터 흐름 제어, 그리고 3) 경로 결정이다.
네트워크 계층은 데이터가 소스에서 목적지까지의 최적 경로를 통해 효과적으로 전송되도록 보장하는 역할을 수행한다.
라우팅 알고리즘
라우팅 알고리즘은 네트워크 내의 라우터들이 데이터 패킷을 효율적으로 전송하기 위해 사용하는 방법론이다.
라우터는 이 알고리즘을 사용하여 입력 정보를 기반으로 최적의 경로를 결정하고, 해당 경로를 라우팅 테이블에 저장한다.
주요 라우팅 알고리즘은 다음과 같다.
1. 정적 라우팅 (Static Routing)
- 관리자가 수동으로 경로를 설정한다.
- 네트워크 변경이 거의 없는 작은 네트워크에 적합하다.
2. 동적 라우팅 (Dynamic Routing)
- 라우터가 네트워크 상태를 주기적으로 학습하고, 자동으로 최적의 라우팅 경로를 결정한다.
- 대표적인 프로토콜로는 RIP, OSPF, BGP가 있다.
IP 주소
IP(Internet Protocol) 주소는 각 네트워크 장치에 할당된 고유한 주소이다.
네트워크와 호스트 주소로 구분되며, 라우터는 이 주소를 사용하여 데이터 패킷이 올바른 목적지로 전송될 수 있도록 한다.
데이터 링크
데이터 링크 계층은 동일한 네트워크에 있는 두 기기 간 데이터(프레임)의 오류와 흐름을 제어한다.
데이터 링크 계층이 단일 네트워크 내부에서 이루어지는 통신을 다룬다면, 네트워크 계층은 서로 다른 네트워크 간의 통신에 대한 흐름/오류 제어를 담당한다.
스위치와 브리지가 대표적이며, 이들은 네트워크 내부에서 오고 가는 프레임에 대해 Learning, Flooding, Filtering, Forwarding, Aging의 5가지 기능을 수행한다.
MAC 주소
각 네트워크 장치는 고유의 MAC(Media Access Control) 주소를 가지고 있다.
이 주소는 데이터 링크 계층에서 프레임이 정확한 목적지로 전달될 수 있도록 하는 중요한 역할을 한다.
MAC 주소를 통해 네트워크 상의 각 장치를 구별하고, 올바른 장치로 데이터를 라우팅한다.
물리
물리 계층은 주로 물리적/기계적/기능적 특성을 활용하여 통신 케이블을 통해 통신을 수행하는 방식이다.
기본 단위는 비트 스트림이며, 광케이블 같은 통신 케이블과 허브, 리피터가 대표적인 네트워크 기기다.
OSI 모델과 TCP/IP 모델 비교
OSI 모델 | TCP/IP 모델 | |
계층 구조 | - 7계층 구조 - 계층의 명확한 기능과 역할 정의 - 상하 계층 간의 인터페이스와 서비스만 정의 |
- 4계층 모델 > 네트워크 액세스, 인터넷, 전송, 응용 - 실제 인터넷 구조와 밀접하게 연관됨 |
실용성 / 구현 | 이론적이고 모듈화된 접근 방식을 제공하지만 실제 네트워크 프로토콜 구현에는 비효율적임 |
인터넷의 발전과 함께 자연스럽게 발전됨 실제 네트워크 환경 구현과 효율성에 집중 |
출처
'리팩토링' 카테고리의 다른 글
리팩토링 6주차. OSI 계층별 프로토콜 특징 (2) (1) | 2024.07.22 |
---|---|
리팩토링 5주차. OSI 계층 별 프로토콜 특징 (1) (1) | 2024.07.15 |
리팩토링 4주차. OSI 계층별 네트워크 장비 특징 (2) | 2024.07.02 |
리팩토링 3주차. TCP와 UDP의 특징과 차이점 (1) | 2024.06.18 |
리팩토링 1주차. 제로 트러스트(Zero Trust)에 대해 (1) | 2024.06.03 |