# OSI 7계층

## #️⃣OSI 7계층이란?

네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델

<figure><img src="https://4014191804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzgNOAUEcIFE2NFMtAT48%2Fuploads%2Ff9fQXUKLrdq2IcFNQ0rU%2Fimage.png?alt=media&#x26;token=ddbb3874-3a7a-4327-b105-a4831757c33d" alt="OSI 7 Layers" width="375"><figcaption><p>OSI 7계층</p></figcaption></figure>



### ❇️OSI 7계층이 생긴 이유&#x20;

(초기) 네트워크 생긴 지 얼마 안 되었을 때, 사용자도 별로 없음 호완되지 않아도 문제가 되지 않았다.

(1980년대 초) 개인용 컴퓨터 보급, 사용자 급증 \
네트워크 형성을 위해 각 단계 구분하기  시작했다. (표준화)\
⇒ OSI 7계층: 서로 다른 시스템이 잘 연결(호완)될 수 있게 하는 표준안

(현재) <mark style="color:purple;">TCP/IP 4계층</mark> → 실무 적용 응용 / 전송 / 인터넷 / 네트워크 엑세스

***

### 1. 물리 계층(Physical layer)

주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하는 물리적인 장비

* 단지 데이터 전기적인 신호(0,1)로 변환해서 주고받는 기능만 있을 뿐\
  데이터가 무엇인지, 어떤 에러가 있는지 등에 대해서는 신경쓰지 않는다.
* 전송 단위 : **비트**(Bit) / 이것은 1과 0으로 나타내어지는, 즉 전기적으로 On, Off 상태
* 장비 : 통신 케이블, 리피터, 허브 등

### 2. 데이터 링크 계층(Data link layer)

물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 통신의 흐름 관리

* 프레임에 물리적 주소(MAC address)를 부여하고 에러검출, 재전송, 흐름제어 수행
* 포인트 투 포인트(Point to Point)간 신뢰성 있는 전송을 보장하기 위한 계층으로 \*CRC 기반의 오류 제어와 흐름 제어 필요
* 전송 단위  : 프레임(Frame)
* 장비 : 브리지, 스위치, 이더넷 등(여기서 MAC주소를 사용)

→ 브릿지나 스위치를 통해 MAC 주소로 물리계층에서 받은 정보를 전달한다.

\*CRC(순환 중복 검사): CRC는 네트워크 등을 통하여 데이터를 전송할 때 전송된 데이터에 오류가 있는지를 확인하기 위한 체크값을 결정하는 방식

### 3. 네트워크 계층(Network layer)

데이터를 목적지까지 가장 안전하고 빠르게 전달

* 라우터(Router)를 통해 경로를 선택하고 주소를 정하고(IP) 경로(Route)에 따라 패킷 전달 \
  (IP 헤더에 붙여)
* 전송 단위 : 패킷(Packet/Datagram)
* 장비 : 라우터

### 4. 전송 계층(Transport layer)

두 지점 간의 신뢰성 있는 데이터를 주고 받게 해주는 역할

* 오류검출 및 복구, 흐름제어와 중복검사 등을 수행
* 데이터 전송에 **port** 번호 사용
* 전송방식(TCP/UDP) 결정 > TCP 헤더 붙음음
* 대표 프로토콜
  * **TCP** : 신뢰성, 연결지향적
  * **UDP** : 비신뢰성, 비연결성, 실시간
* 신호를 분산하고 다시 합치는 과정을 통해서 에러와 경로를 제어
* 전송 단위 : 세그먼트(Segment)

### 5. 세션 계층(Session Layer)

응용 프로세스가 통신을 관리하기 위한 방법을 정의

* 이 계층은 TCP/IP 세션을 만들고 없애는 역할
* 주 지점 간의 프로세스 및 통신하는 호스트 간의 연결 유지
* TCP/IP 세션 체결, 포트번호를 기반으로 통신 세션 구성
* API, Socket

### 6. 표현 계층(Presentation Layer) <a href="#id-6-presentation-layer" id="id-6-presentation-layer"></a>

전송하는 데이터의 표현방식 결정 (ex. 데이터 변환, 압축, 암호화 등)

* 기능: 파일 인코딩, 명령어를 포장, 압축, 암호화&복호화,  응용 계층 데이터 부호화(데이터 해석 위해)
* JPEG, MPEG, GIF, ASCII 등

### 7. 응용 계층(Application layer)

최종 목적지로, 응용 프로세스와 직접 관계하여 일반적인 응용 서비스 수행 (ex. explore, chrome 등)

* 사용자와 가장 가까운 계층&#x20;
* 프로토콜: HTTP, FTP, SMTP, POP3, IMAP, Telnet 등

***

참고 자료

[OSI 7계층 모델 - 핵심 총정리](https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-OSI-7%EA%B3%84%EC%B8%B5-%EC%A0%95%EB%A6%AC)

[\[N/W\] OSI 7계층이란? - OSI 계층별 특징, TCP/IP 4계층](https://lxxyeon.tistory.com/155)

그림으로 쉽게 이해하는 웹/HTTP/네트워크(BOOK)
