본문 바로가기
Programming/CS

OSI 7 Layer

by Bam_t 2021. 11. 27.
728x90

네트워크 통신을 다루다보면 반드시 등장하는 개념인 OSI 7계층에 대해 포스팅을 하려고 합니다.


1. OSI 7 Layer

OSI 7 Layer(혹은 OSI 모형, Open Systems Interconnection Reference Model)은 국제표준화기구에서 발표한 모델입니다. 이 모델은 네트워크의 프로토콜 디자인과 통신을 7개의 계층(Layer)로 나누어 설명하는 모델입니다.

통신 과정을 7개의 계층으로 나누었기 때문에 통신 과정을 층별로 파악하기 쉽고, 이해하기 쉬운 등의 여러가지 이유로 널리 알려지고 사용되는 모델입니다. 또한 층별로 나누었다는 장점 덕에 특정 층에서 문제가 발생했음을 감지할 수 있다면 다른 구조는 냅두고 해당 층에서만 문제를 해결할 수 있다는 장점도 가지고 있습니다.

OSI 7 Layer를 한 눈에 보자면 그림은 아래와 같습니다.

사진 출처 - https://www.bmc.com/blogs/osi-model-7-layers/

 

 

 

2. OSI 7 Layer의 각 층 소개

2-1. 제 1계층 물리층, Physical

물리층은 가장 아래에 위치한 층으로 물리적인 전송 매체를 통해 전자기 신호(0과 1로 이루어진 전기적 신호)를 윗층으로 전송하게 됩니다. 더 쉽게 말하자면 컴퓨터에 랜선(혹은 무선 인터넷 등)을 연결하는 것을 의미하는 층입니다. 이 예시도 어디까지나 쉬운 이해를 위한 예시지 반드시 랜선만을 이용한 네트워크 통신만을 의미하는 것은 아닙니다.

우리가 인터넷 연결이 갑자기 끊긴다면 우선적으로 랜선이 잘 꼽혔는지, 무선 인터넷의 모뎀에 신호나 선이 잘 잡혀있는 지 확인하는 등의 행동이 이 물리층의 오류를 해결하는 방식이라고 할 수 있습니다.

네트워크에서 통신을 위해 데이터를 포함한 다양한 정보를 가진 데이터블록을 패킷이라고 부릅니다. 물리층에서는 이 패킷의 교환은 일어나지 않습니다.

 

2-2. 제 2계층 데이터 링크층, Data link

데이터 링크층은 물리층에서 송수신된 데이터의 에러, 흐름, 접근을 제어하고 관리하여, 데이터가 안전하게 송수신을 수행하도록 하는 층입니다. 

  • 에러 제어: 비트에 대해 에러를 검출하거나 복구한다.
  • 흐름 제어: 장치의 송수신능력을 초과해서 비트들이 흐르지 않도록 제어한다.
  • 접근 제어: 여러 장치들이 동일한 링크를 통해 충돌이 생기지 않도록 조정한다.

데이터 통신 과정에서 거쳐가는 지점을 노드라고 하는데, 데이터 링크층에서는 노드와 노드의 1:1연결 통신을 실시하며, 이때 패킷을 프레임이라고 부릅니다.

 

2-3. 제 3계층 네트워크층, Network

네트워크 층에서는 노드를 방문할 때 마다 다음 이동 경로를 찾아주는 역할을 합니다. 이때 패킷을 최종 수신지까지 안전하고 빠르게 보내는 경로 설정 과정인 라우팅을 진행합니다. 즉, 통신 과정에서 가장 중요하다고 말할 수 있는 계층이라고 봐도 무방할 정도로 중요한 역할을 수행하고 있습니다.

우리가 주소라고 생각하면 잘 떠올리는 IP 주소가 네트워크 계층에 포함되어 이용됩니다.

 

2-4. 제 4계층 전송층, Transport

전송 계층도 바로 아래층인 네트워크층에 못지 않게 중요한 역할을 합니다. 전송 계층은 양 끝단의 사용자들이 신뢰성 있는 데이터를 주고받을 수 있게 해주는 계층입니다. 신뢰정을 전송층에서 보장하게 된다면 이후의 상위 계층에서 따로 검증과정을 거칠 필요가 없기 때문에 상위 계층의 부담을 덜 수 있습니다. 주로 신뢰성을 위해 에러 제어, 흐름 제어, 중복 검사를 수행합니다.

전송층에서 데이터 전송단위는 세그먼트(Sagment)라고 불립니다. 이 데이터 전송을 위해서 포트 번호를 이용합니다.

 

2-5. 제 5계층 세션층, Session

세션층은 양 끝단의 응용 프로세스가 통신을 관리하는 방법을 제공하는 층입니다. 전송층이 양 끝단 통신에서 구체적이고 논리적인 설정을 한다면, 세션층은 효율적인 통신을 위한 추가적인 설정들을 제공하는 층입니다.

 

2-6. 제 6계층 표현층, Presentation

표현층은 데이터를 번역해 표현하는 방식을 결정하는 층입니다. 예를 들면 이미지파일의 세부적인 형식차이를 .jpg, .png 등으로 통일된 형식으로 표현합니다. 이렇게 통일시키면 응용층의 데이터 형식 차이로인한 부담을 덜어줄 수 있습니다.

표현층은 데이터의 번역 이외에도 데이터를 압축하고 암호화/복호화 하는 역할도 수행합니다.

 

2-7. 제 7계층 응용층, Applicaion

가장 상위 층인 응용층은 우리가 직접 사용하는 서비스가 동작하는 층으로, 사용자와 가장 가까운 계층입니다. 주로 사용자와 응용 프로그램 등 사이에 데이터 교환을 수행하게 해줍니다.


참조

https://www.bmc.com/blogs/osi-model-7-layers/

 

OSI Model: The 7 Layers of Network Architecture

 

www.bmc.com

728x90

'Programming > CS' 카테고리의 다른 글

명령형 프로그래밍과 선언형 프로그래밍  (0) 2021.12.31
SPA, Single Page Application  (0) 2021.12.09
쿠키와 세션  (0) 2021.11.03
JSON  (0) 2021.11.02
HTTP - HyperText Transfer Protocol  (0) 2021.10.28

댓글