본문 바로가기

CS 전공지식/네트워크

[네트워크] OSI 7계층

OSI 7계층

- OSI(Open System Interconnection)

컴퓨터 사이에서 통신이 발생할 때 표준 프로토콜을 사용할 수 있도록 ISO(국제 표준화 기구)에서 개발한 개념적인 모델입니다.

여기서 프로토콜이란 통신을 할 때 데이터의 형식, 데이터의 전송 방식 등을 정의한 규약으로, 일종의 약속이라고 생각하면 됩니다.

 

총 7계층으로 구분되며, 1~3계층을 하위 계층, 4~7계층을 상위계층이라고 합니다.

통신이 일어나는 과정을 단계별로 파악할 수 있고, 문제 발생 시 해당 단계만 수정하면 된다는 장점이 있습니다.

 


- 통신이 발생할 때의 과정

송신하는 컴퓨터의 응용 계층에서 데이터를 보내면 각 계층을 거칠 때마다 헤더(포트 번호, 컴퓨터 주소 등)가 붙습니다. 물리 계층에 도착하면 통신 케이블 등을 통해서 실제로 데이터가 전송되어 수신하는 컴퓨터의 물리 계층에 도착하게 됩니다. 수신하는 컴퓨터의 물리 계층을 시작으로 각 계층마다 헤더를 제거하면서 응용 계층에 도착하게 됩니다.

OSI 7계층 - 통신이 발생할 때의 과정

 

 

택배를 보내는 과정을 예로 들어보겠습니다.

A가 B에게 책을 보낼 때, 상자에 보내는 사람 정보, 받는 사람 정보를 표기합니다. 택배사에서는 운송장 번호나 요금 등의 추가 정보를 택배 상자에 표기하고, 해당 정보를 이용해 B에게 택배를 전달합니다.

먼저 "상자에 보내는 사람 정보, 받는 사람 정보를 적어야 한다"가 택배를 보낼 때의 약속 즉, 프로토콜입니다. 정해진 형식이 아닌 다른 정보를 적거나 정보를 적지 않으면 택배를 보낼 수 없습니다. 또한 "택배 상자 속 책"이 데이터이고, 상자에 적혀있는 "여러 가지 정보"가 헤더입니다.

A가 택배를 보내는 단계에서는 책(=데이터) 뿐만 아니라 보내는 사람과 받는 사람의 정보(=헤더)를 적어야 합니다. 택배사 단계에서는 이전 정보에다가 추가로 운송장 번호나 요금(=헤더) 등을 적어야 합니다. B는 책을 얻기 위해 상자를 제거해야 하는데 이것이 수신하는 컴퓨터에서 헤더를 제거하는 과정이라고 생각할 수 있습니다.

 


- PDU

같은 계층 간에 전송되는 데이터의 단위를 PDU(Protocol Data Unit)라고 합니다.

계층을 거칠 때마다 헤더가 붙기 때문에 계층별로 PDU는 다르며 비트, 프레임, 패킷, 세그먼트, 데이터그램, 데이터, 메세지로 다양하게 불립니다. 

위의 예시에서는 "책", "정보가 적힌 상자" 등을 PDU라고 할 수 있습니다.

 

송신할 때 각 계층에서는 상위 계층의 PDU를 받아 헤더를 추가하여 해당 계층의 PDU로 만든 뒤 다음 계층에 전달합니다. 헤더를 추가하는 과정을 캡슐화라고 합니다.

 


- 7계층

계층 이름 단위(PDU) 대표적인 프로토콜
1 물리 계층 비트 RS-232, X.21
2 데이터 링크 계층 프레임 Ethernet, HDLC, PPP
3 네트워크 계층 패킷 IP, RIP
4 전송 계층 세그먼트/데이터그램 TCP, UDP
5 세션 계층 데이터 또는 메세지 SSH
6 표현 계층 데이터 또는 메세지 JPEG, MPEG
7 응용 계층 데이터 또는 메세지 HTTP, FTP, DNS

위의 표는 각 계층을 정리한 것이고, 아래는 각 계층에 대한 간략한 설명입니다.

 

1) 물리 계층(Physical Layer)

데이터를 전기적인 신호로 변환해서 주고받는 기능을 하는 계층입니다. 즉, 데이터를 전송하는 역할만 합니다.

장비는 허브, 리피터 등이 있습니다.

 

2) 데이터 링크 계층(Data Link Layer)

물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할을 합니다.

Mac 주소(물리적인 주소)를 통해 통신하며 프레임에 Mac 주소가 포함되어 있고 에러 검출, 재전송, 흐름 제어를 진행합니다.

장비는 스위치 등이 있습니다.

 

3) 네트워크 계층(Network Layer)

데이터를 목적지까지 가장 빠르게 전달하는 역할을 담당합니다.

라우터를 통해 이동할 경로를 선택하여 해당 경로에 따라 패킷을 전달해주고, 전달된 패킷은 수신하는 컴퓨터의 IP주소(논리적인 주소)에 도착하게 됩니다. 이를 라우팅이라고 하고, 장비는 라우터 등이 있습니다.

 

4) 전송 계층(Transport Layer)

통신을 활성화하고 포트를 열어두고 프로그램들이 전송할 수 있도록 제공합니다.

   

5) 세션 계층(Session Layer)

데이터가 통신하기 위한 논리적 연결을 담당합니다.

 

6) 표현 계층(Presentation Layer)

데이터 표현에 대한 독립성을 제공하고 암호화하는 역할을 담당합니다.

파일 인코딩, 명령어 포장, 압축, 암호화를 합니다.

 

7) 응용 계층(Application Layer)

최종 목적지로, 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행합니다.

사용자 인터페이스, 전자우편, 데이터베이스 관리 등의 서비스를 제공합니다.

 


지금까지 OSI 7계층에 대한 전반적인 내용을 다뤄봤습니다.

다음시간에는 OSI의 각 계층을 좀 더 자세하게 설명할 계획입니다!