CS스터디
[네트워크] OSI 7계층
Codult
2024. 1. 28. 18:57
728x90
OSI 7계층
= 네트워크 통신이 일어나는 과정을 7단계로 나눈 것
- 통신 과정 중 문제가 생길 경우, 해당 단계를 확인하고 해결하기 위함이다.
- 계층 별로 프로토콜을 개발하여, 네트워크 구성 요소들을 모듈화 할 수 있다는 장점이 있다.
- 상하 구조로, 하위 모든 계층에 문제가 없어야 상위 계층의 프로토콜이 제대로 작동할 수 있다.

- 데이터 플로 계층 (Data Flow Layer) / 하위 계층 (Lower Layer)
: 1~4 계층으로, 데이터를 잘 쪼개어 전달하고 받는 것이 핵심 - 애플리케이션 계층 (Application Layer) / 상위 계층 (Upper Layer)
: 5~7계층으로, 데이터를 잘 표현하는 것이 핵심 - PDU (Process Data Unit)
: 각 계층에서 전송되는 단위.
OSI 7계층 모델의 전체적인 통신 플로우

- 발신 측) 응용 계층부터 시작하여, 각 계층마다 헤더를 붙여 캡슐화 진행
- 수신 측) 물리 계층부터 시작하여, 올라가면서 헤더를 떼어 내는 디캡슐레이션 진행하여, 데이터 식별
: ex. 데이터가 목적지로 이동할 때, 네트워크 계층에서 IP헤더에 있는 프로토콜 정보를 이용하여 데이터가 TCP인지 UDP인지 식별함 → 그에 다른 처리를 전송 계층에서 수행함
제 1 계층, 물리 계층 (Physical Layer)

- 상위 계층(데이터 링크)에서 전송된 데이터를 물리적인 전송 매체를 통해 다른 시스템에 전기적 신호를 전송한다.
- 데이터를 전달할 뿐, 데이터가 무엇인지, 어떤 에러가 있는지 등에 대하여 전혀 신경 쓰지 않는다.
- 주소의 개념이 없으므로, 들어온 포트를 제외한 모든 포트에 같은 전기 신호를 전송한다.
- 전송 단위(PDU): BIT
- 대표 프로토콜: Coax, Fiber, Wireless
- 주요 장비: 허브, 리피터, 허브
제 2 계층, 데이터 링크 계층 (Data Link)

- 전기 신호를 모아, 우리가 알아볼 수 있는 데이터 형태로 처리한다.
- 물리 계층을 통해 송수신되는 데이터의 오류를 감지한다.
- 같은 LAN 안의 연결된 컴퓨터들끼리 MAC주소(물리적 주소)로 통신이 가능하도록 한다.
- 전송 단위: 프레임
- 대표 프로토콜: Ethernet, MAC, PPP, ATM, LAN, Wifi
- 주요 장비: 스위치, 브리지
제 3계층, 네트워크 계층 (Network Layer)

- 라우팅 기능: IP주소(논리적 주소)를 이용하여 송수신자 간의 최적 경로를 찾아 패킷을 전달한다.
- 즉, 목적지 네트워크 주소(IP 주소)를 정하고, 그에 따른 경로(route)를 선택하고, 경로에 따라 패킷을 전달하는 역할을 한다.
- 송신자 호스트에서 여러 중간 노드를 거쳐 목적지 호스트에 도달하기 까지의 각 패킷 전달에 대한 책임을 지고 전송한다.
- 전송 단위: 패킷
- 대표 프로토콜: IP, IPSec, ICMP, IGMP
- 주요 장비: 라우터, L3 스위치
제 4계층, 전송 계층 (Transport Layer)

- 네트워크 양 끝에서 통신을 수행하는 당사자 간의 단대단 연결을 제공한다.
- 물리적으로 1:1 연결된 호스트 사이의 전송을 의미하는 데이터 계층과 달리, 전송 계층은 논리적으로 1:1 연결된 (네트워크) 호스트 사이의 전송이다.
- 신뢰성 있는 데이터를 주고받을 수 있도록 한다.
: 오류 검출 및 복구, 흐름제어, 중복검사 등을 수행함 - 포트 넘버를 이용하여, 장치 내 많은 애플리케이션 중 데이터 전달이 필요한 것을 구분할 수 있다.
- 연결형 통신(TCP)과 비연결형 통신(UDP)으로 나뉨
- 전송 단위: 세그먼트
- 대표 프로토콜: TCP, UDP, ENC, SCTP, DDCP
- 주요 장비: 로드 밸랜서, 방화벽(부하를 분산하거나 보안 정책을 수립하여 패킷을 통과, 차단함)
제 5계층, 세션 계층 (Session Layer)

- 양 끝의 프로세스 간 연결 성립 / 안정적으로 연결 유지 / 작업 완료 후 연결 끊음
- 동기 기능
: 통신 양단끼리 서로 동의하는 논리적인 공통 시점인 '동기점'을 만들어, 메세지가 제대로 처리되고 있는지 파악한다.
: 오류 복구를 위해 필수적으로 사용된다. - 대화 기능
: 데이터 전송 과정으로, 시간 경과에 따른 순차적 동기점을 부여하여, 신뢰성을 보장하는 기능을 단계적으로 구현한다.
: 따라서, 일시정지 후 나중에 이어서 작업을 진행할 수 있다 - 두 응용 프로그램의 대화를 관리하기 위해, 토큰(=특정 권리를 배타적으로 소유함을 의미)이라는 특수 메시지를 사용한다.
1) 데이터 토큰: 데이터를 전송할 수 있는 권한
2) 해제 토큰: 통신 양단 사이의 연결 해제를 제어
3) 동기 토큰: 동기 처리가 필요한 시점에 사용 - 전송 단위: 데이터
- 대표 프로토콜: VARIOUS API'S, SOCKETS
제 6계층, 표현 계층 (Presentation Layer)

- 표현 방식이 다른 애플리케이션 시스템 간의 통신을 돕기 위해, 하나의 통일된 데이터 형식으로 변환한다.
- 수신 측 컴퓨터에서 이해하는 추상 문법(=각 컴퓨터에서 사용하는 데이터 표현 규칙) 형태로 다시 변환해야 한다.
- 전송 문법(=네트워크 전체에서 일관성을 가지는 새로운 표현 규칙)
:특정 컴퓨터에서 독립적이면서 네트워크 전체에서 일관성을 가지는 새로운 표현 규칙을 이용하여 전송해야 한다. - 압축 기능
: 대용량 데이터를 압축하여 크기를 줄여 전송하는 것이 속도 측면에서 유리하다. (중복이 많을수록 압축률 높음)
: 동일 패턴이 반복되는 환경에는 유리하지만, 반복이 없는 환경에서는 오히려 압축으로 인해 데이터가 커질 수 있다. - 보안 기능
: 전송 데이터의 내용을 해석하지 못하도록 하기 위해 사용한다. - 전송 단위: 데이터
- 대표 프로토콜: SSL, FTP, IMAP, SSH
제 7계층, 응용 계층 (Application Layer)

- 응용 프로그램과 통신 프로그램 간의 인터페이스를 제공한다.
- 응용 계층 프로세스들 사이의 통신은 표현 계층이 제공하는 서비스를 통해 이루어진다.
(데이터의 형식을 정하고(format), 부호화하고(code), 암호화하고(encrypt), 압축하는 서비스) - 사용자와 바로 연결되어 있다.
: 사용자로부터 정보를 입력받아 하위 계층으로 전달 & 하위 계층으로부터 받은 데이터를 사용자에게 전달 - 소프트웨어의 UI 부분이나 사용자 입출력 부분을 정의한다.
- 전송 단위: 데이터
- 대표 프로토콜: HTTP, FTP, IRC, SSH, DNS
출처
728x90