본문 바로가기
Web

[Web] OSI 7 Layer

by DuncanKim 2022. 8. 1.
728x90

[Web] OSI 7 Layer

 

 

 

OSI란, Open System Interconnection으로, 개방형 시스템 상호 연결이라는 뜻을 가지고 있다. 이 모델은 다양한 통신 시스템이 표준 프로토콜을 사용하여 통신할 수 있도록 국제 표준화 기구가 만든 개념 모델이다.

 

사전적 정의이기 때문에 와닿지 않을 수 있다. 그래서 조금 더 이해를 하고자 재정의를 해보면 다음과 같다. 컴퓨터와 컴퓨터가 통신을 시도할 때, 발생하는 과정을 기능별 일곱 가지로 나눈 것이 OSI 7 Layer라고 보면 되겠다. 다시 말해, 통신을 함에 있어서 어떤 일이 일어나는 지를 정리한 것이 OSI이고, 그것이 7단계여서 OSI 7 Layer라고 하는 것이다.

 

OSI의 계층을 나눌 수 있는 이유는 무엇일까? 계층은 섞이지 않는 기준을 가지고 분류해야 한다. 상류층과 중류층이 나뉘는 기준이 있듯... 그리고 독립적이어야 한다. 그래야 계층이라고 할 수 있다. 이것과 같이 OSI의 기능도 모두 '독립적'으로 구성되어 있다. 그렇기 때문에 통신이 이루어지지 않는 장애가 발생한 경우에, 어떤 계층에 문제가 발생했는지를 파악하고, 그 문제만 해결할 수 있는 정비의 간편성도 확보할 수 있다.  

 

아래에서는 각 계층별 정의와 기능, 존재의 이유에 초점을 맞추어서 OSI 7 Layer를 정리할 것이다. 계층 1부터 7까지 차례대로 정리할 것이다. 

 

 

1. 계층 1. Physical Layer

 

1) 계층 1. 정의와 기능

 

0과 1의 나열을 아날로그 신호로 바꿔서 전선으로 흘려보내고(Encoding), 아날로그 신호가 들어오면 0과 1의 나열로 해석해서(Decoding) 물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈. 전기적, 물리적 세부사항들을 정의하는 계층이다. 전기적 신호를 변환시켜 통신을 수행하는 계층이라고 볼 수 있다.

 

 

2) 계층 1. 존재의 이유

 

물리적으로 전기 신호가 왔다갔다 하는 상태를 의미한다. 존재의 이유라기보다는, 처음 시작이 Physical Layer라는 생각을 가져야 할 것이다. 랜선이 꽂혀있는 상태를 생각하면 되겠다. 와이파이와 같은 무선으로 통신하는 첫 단계의 경우도 여기에 해당한다고 볼 수 있다.

 

 

3) 대표 장비

장비 설명
허브(Hub) 여러 대의 컴퓨터를 연결하여 네트워크로 보내거나, 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비
리피터(Repeater) 디지털 신호를 증폭시켜 주는 역할을 하여 신호가 약해지지 않고 컴퓨터로 수신되도록 하는 장비

 

 

2. 계층 2. Data Link Layer

 

1) 계층 1. 정의와 기능

 

링크의 설정과 유지 및 종료를 담당한다. 물리적 연결을 이용해 신뢰성 있는 정보를 전송하려고 동기화, 오류 제어, 흐름 제어, 회선 제어 기능을 수행하는 계층이다.

 

데이터 링크 계층은 네트워크 계층에 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 탐지하고 수정하는 기능을 제공한다.

 

2) 계층 1. 존재의 이유

 

인터넷은 여러 사람들을 연결할 수 있는 수단이다. 그렇지만, 각자 컴퓨터에 직접 네트워크를 하나 하나씩 연결한다면, 굉장히 많은 낭비를 초래하게 된다. 그래서 중앙에 어떤 집중된 허브를 두고, 그 허브에 각 컴퓨터를 연결시키는 방식을 쓰는데, 이 때문에 데이터 링크 계층이 필요하다고 볼 수 있다.

 

누군가가 특정 데이터를 보낸다면, 허브를 통해서 모두에게 전기적 신호로 공유될 것이다. 그런데 특정 컴퓨터에만 데이터를 보내고 싶다면...? 이 기능을 하는 것이 스위치라고 한다. 스위치를 통해서 하나의 허브에 묶여있는 컴퓨터들 중 특정한 컴퓨터에만 정보를 보낼 수 있게 한다. 그럼, 하나의 허브에 묶여있는 컴퓨터와 다른 허브에 묶여있는 컴퓨터가 통신을 하기 위해서는? 라우터가 필요하다. 서로 다른 네트워크에 통신이 가능하게 해주는 것이다. 우리가 흔히 쓰는 '공유기'의 기능을 하는 것이라고 보면 되겠다.

 

계층 구조로 연결되어 하나하나씩 계층이 올라가면서 전세계에 연결되어 있는 것이 '인터넷'이다. 여러 대의 컴퓨터가 통신하기 위해서는 한 대의 컴퓨터에서 여러 대에서 수신한 정보들을 한 번에 수신받을 수도 있어야 한다. 그러기 위해서는 정보를 특정하게 끊어 읽을 수 있어야 한다. 각각의 이미지, 텍스트는 분리되어야 원본의 데이터를 정확하게 얻을 수 있기 때문이다.

 

정리를 하자면, 받는 쪽에서 "끊어 읽기" 좋게 데이터의 처음과 끝을 표시해주는 역할을 하는 것이 2계층이라고 할 수 있다.

 

3) 대표 장비

장비 설명
스위치(Switch) 느린 전송속도의 브리지, 허브의 단점을 개선하기 위해 출발지에서 들어온 프레임을 목적지 MAC 주소 기반으로 빠르게 전송시키는 데이터 링크 계층의 통신 장치
브리지(Bridge) 두 개의 근거리 통신망(LAN)을 서로 연결해주는 통신망 연결 장치

 

3. 계층 3. Network Layer

 

1) 계층 1. 정의와 기능

 

다양한 길이의 패킷을 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질을 위한 수단을 제공한다. 라우팅, 패킷 포워딩, 인터 네트워킹 등을 수행한다. 네트워크 계층은 패킷에 발신지와 목적지의 논리 주소를 추가하고, 패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.

 

2) 계층 1. 존재의 이유

 

각 컴퓨터 들이 가지고 있는 IP 주소로 정확히 정보를 전달하기 위해 존재한다. 데이터를 수집하는 허브 즉 라우터가 데이터를 보내려는 컴퓨터가 속해있는 라우터에게 보내는 것에 필요한 과정을 수행하기 위해 3계층이 있다고 보면 된다.

 

수많은 네트워크의 연결이 있는 인터넷 속에서 어딘가에 목적지 컴퓨터로 데이터를 전송하기 위해 IP 주소를 이용해서 길을 찾고, 다음 라우터에게 데이터를 넘겨주기 위한(forwarding) 패킷 처리 등을 담당하기 위해 존재하는 것이다.

 

3) 대표 장비

장비 설명
라우터(Router) - 서로 다른 네트워크 대역에 있는 호스트들 상호 간에 통신할 수 있도록 해주는 네트워크 장비
- 패킷의 위치를 추출하여 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전송시키는 장비이다.
L3 스위치(L3 Switch) 3계층에서 네트워크 단위들을 연결하는 통신 장비로 IP 레이어에서의 스위칭을 수행해서 외부로 전송한다.

 

 

4. 계층 4. Transport Layer

 

1) 계층 1. 정의와 기능

 

상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주면서 종단의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층이다. 순차 번호 기반의 오류 제어 방식을 사용하고, 종단 간 통신을 다루는 최하위 계층으로 종단 간 신뢰성 있고 효율적인 데이터를 전송한다.

 

2) 계층 1. 존재의 이유

 

3계층에서 이제 전 세계의 컴퓨터와 데이터를 주고받는 것이 가능해졌다. 컴퓨터의 프로세스들이 데이터를 받고자 한다면, 포트 번호를 가져야 한다. 포트 번호는 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져야 하는 정수 값이다. 송신자는 데이터를 보낼 때, 수신자 컴퓨터에 있는 프로세스의 포트번호를 붙여서 보내야 한다. 

 

4계층은, 포트 번호를 사용해서 도착지의 컴퓨터의 프로세스까지 데이터를 안전하게 보내기 위한 과정들을 수행해주는 단계인 것이다.

 

 

3) 대표 장비

장비 설명
L4 스위치 - 4계층에서 네트워크 단위들을 연결하는 통신 장비로, TCP/UDP 등 스위칭을 수행한다.
- FTP, HTTP 등을 구분하여 스위칭하는 로드 밸런싱도 가능하다.

 

 

5. 계층 5. Session Layer

 

0) 시작하기 전에

 

계층 5~7은 묶어서 인식이 된다. 현재 데이터 계층은 사실, TCP/IP의 4계층으로 통상 인식되고 있기 때문이다. 그 이유는 시장의 선택이라고 보면 될 것이다.. 아무튼, 5~7 계층은 application Layer로 퉁치기도 하기 때문에, 강학상 나누어 놓은 개념을 약간 살펴보고, 7계층만 조금 더 자세히 알아볼 것이다.

 

1) 계층 1. 정의와 기능

 

세션 계층은 응용 프로그램 간의 대화를 유지하기 위한 구조를 제공하고 이를 처리하기 위해 프로세스들의 논리적 연결을 담당한다. 통신 중 연결이 끊어지지 않도록 유지시켜주는 역할을 수행하기 위해 TCP/IP 세션 연결의 설정과 해제, 세션 메시지 전송 등의 기능을 수행한다.

 

2) 계층 1. 존재의 이유

 

통신 연결이 끊어지지 않게 하기 위해서 존재한다.

 

 

6. 계층 6. Presentation Layer

 

1) 계층 1. 정의와 기능

 

어플리케이션이 다루는 정보를 통신에 알맞은 형태로 만들거나 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만드는 역할을 담당한다. 응용계층 데이터의 부호화 및 변환 수행을 통해 송신 장치로부터 온 데이터를 해석한다.

 

2) 계층 1. 존재의 이유

 

번역 처리를 하는 것이다. 인코딩, 암호화, 복호화 등을 수행하는데, 보안과 관련이 있는 계층이라고 보면 될 것이다.

 

 

7. 계층 7. Application Layer

 

1) 계층 1. 정의와 기능

 

응용 계층(application layer)은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 역할을 담당하는 계층이다. 응용 프로세스가 개방된 형태로 다양한 범주의 정보처리 기능을 수행할 수 있도록 여러 가지 프로토콜 개체에 대하여 사용자 인터페이스를 제공한다.

 

2) 계층 1. 존재의 이유

 

일반적인 응용 서비스를 수행하는 계층이라고 할 수 있다. 우리가 흔히 쓰는 페이지, 크롬, 사파리, 키노트 등의 어플리케이션이 그 예이다. 응용 프로세스 간의 정보 교환, 파일 전송 등을 위해 존재하는 계층이라고 볼 수 있다. 

 

사실, 존재 이유라고 할 것은 없고, 사용자가 쓰는 서비스라고 생각하면 된다. 네트워크를 통해 수신된 정보를 최종적으로 받아들이고, 그 프로세스 안에서 가공이 되어 우리에게 보이는 것이다. 수신된 정보를 최종적으로 받아들이는 곳!이라고 생각하자.(그냥 더 쉽게는 어플리케이션)

 

3) 대표 장비

장비 설명
L7 스위치(L7 Switch) 7계층에 해당하는 어플리케이션 정보를 지능적으로 분석하여 트래픽을 관리하는 네트워크 스위치 장비

 

 

8. 총정리

 

지금까지 7개의 계층을 알아보았다. 전체적으로 계층의 개념에 대해서 알아보고 그 기능을 알아보았는데, 사실 대부분의 책들에 있는 개념이 너무 학문적으로 써놓은 느낌이라 처음에는 이해가 잘 안 가는 부분이 많았다. 그렇지만, '데이터가 송수신되는 과정에 있는 단계들'이 7계층이라는 생각을 가지고 하나하나 개념을 본 결과, 이해가 쉬웠다. 또한 데이터 송수신 과정에서 처리가 어떻게 되는 지도 잘 살펴볼 수 있었다.

 

데이터가 송수신되는 과정을 정리한 것이 OSI 7 Layer이고, 비슷한 개념으로 TCP/IP 4 Layer가 있다는 것. 명심하자!

 

728x90

'Web' 카테고리의 다른 글

[Java] 불변 객체(Immutable Object)  (0) 2022.08.07
[Spring] Framework, Library, API  (0) 2022.08.02
[Web] 인증(Authentication)과 인가(Authorization)  (0) 2022.07.31
[Spring] Servlet Container  (0) 2022.07.29
[Spring] Servlet과 Spring  (0) 2022.07.27

댓글