OSI 7 Layer / OSI 7계층

짱쫑·2021년 12월 21일
0

OSI ( Open System Interconnection )

OSI 참조 모델이라고도 하며 시스템 상호 연결에 있어 개방(열림, 표준)의 모델을 뜻한다.

누구나 참조해서 장치를 만들거나 추가하는 것이 가능하다.

국제표준화기구 (ISO)에서 개발한 모델로 네트워크 프로토콜 디자인과 통신을 계층으로 나눠 설명한 것이다.

컴퓨팅 장치나 네트워킹 장치를 만들 때 OSI를 참조해서 모든 통신장치를 만들게 된다.

구조

  • 1계층 : 물리층(Physical Layer) - 실제로 장치들을 연결하기 위한 물리적인 사항을 정의
  • 2계층 : 데이터 링크층(Data Link Layer) - 두 지점 간의 신뢰성 있는 전송을 보장
  • 3계층 : 네트워크층(Network Later) - 여러 개의 지점을 거칠 때 경로를 찾아줌
  • 4계층 : 전송층(Transport Layer) - 양 끝단의 사용자들이 송수신에 있어서 신뢰성을 보장
  • 5계층 : 세션층(Session Layer) - 양 끝단의 프로세스가 통신을 관리하기 위한 방법을 제공
  • 6계층 : 표현층(Presentation Layer) - 인코딩 및 데이터의 형식 차이를 조절
  • 7계층 : 응용층(Application Layer) - 응용 프로그램에서 서비스를 수행

1계층 물리계층

주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하게 된다.
사용되는 통신단위는 비트이며 이것은 1과 0으로 나타낸다.
단지 데이터를 전달만 할뿐 전송하거나 받으려는 데이터가 무엇인지, 어떤 에러가 있는지 등은 전혀 신경쓰지 않는다.
데이터를 전기적인 신호로 변환해서 주고받는 기능만 할 뿐이다.

단위 : 비트(Bit)
장비 : 통신 케이블, 허브, 리피터

2계층 데이터 링크층

물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할
통신에서의 오류도 찾아주고 재전송 하는 기능도 가지고 있다
이 계층에서는 맥 주소를 가지고 통신하게 된다. 네트워크 카드가 만들어질 때부터 맥 주소가 정해져 있다.

※ 맥주소 (MAC, Media Access Control Address) - 네트워크 세그먼트의 데이터 링크 계층에서 통신을 위한 네트워크
인터페이스에 할당된 고유 식별자

주소 체계는 계층이 없는 단일 구조이며 이 계층에서 제일 잘 알려진 것은 이더넷이다.
그 외에도 HDLC나 ADCCP 같은 포인트 투 포인트 프로토콜이나 패킷 스위칭 네트워크, LLC, ALOHA와 같은 근거리 네트워크용 프로토콜이 있다.네트워크 브릿지나 스위치 등이 이 계층에서 동작하며 직접 이어진 곳에만 연결할 수 있다.

단위 : 프레임(Frame)
장비 : 브릿지, 스위치

3계층 네트워크 계층

목적지까지 안전하고 빠르게 데이터를 보내는 라우팅이 핵심 기능이다.
이 계층은 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 역할이다.
여러개의 노드를 거칠때마다 경로를 찾아주고, 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질을 제공하기 위한 기능적, 절차적 수단을 제공한다.

라우팅, 흐름제어, 세그멘테이션(segmentation/desegmentation), 오류제어, 인터네트워킹(Internetworking)등을 수행하는데, 라우터가 이 계층에서 동작하고 스위치가 있다. 데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만들어주는 계층이다. 논리적인 주소 구조(IP) 즉, 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며 계층적(Hierarchical)이다.

단위 : 패킷(Packet)
장비 : 라우터, L3 스위치

4계층 전송 계층

TCP프로토콜을 이용하며 포트를 열어서 응용프로그램들이 전송할 수 있게 한다.
데이터들을 하나로 합쳐서 5계층으로 전달한다

양끝단(종단, End-to-End)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해주고, 상위 계층들이 데이터 전달의 유효성이나 효율성에 대해 신경쓰지않게 해준다. 스퀀스 넘버 기반의 오류제어 방식을 사용하고 특정 연결의 유효성을 제어하며 일부 프로토콜은 상태 개념(Stateful)이 있는데 이는 연결기반(Connection Oriented)이다.

전송 계층이 패킷들의 전송이 유요한지 확인하고 전송 실패한 패킷들을 다시 전송하는걸 말한다.

양끝단 동신을 다루는 최하위 계층으로 신뢰성있고 효율적인 데이터를 전송하고 기능은 오류검출 및 복구와 흐름제어, 중복검사 등을 수행한다.

단위 : 세그먼트(Segment)
장비 : L4 스위치

5계층 세션 계층

데이터가 통신하기 위한 논리적인 연결이다.
하지만 4계층에서도 연결을 맺고 끊을 수 있기 때문에 어느 계층에서 통신이 끊겼는지 알기 힘들다.
그러므로 세션 계층은 전송 계층과 무관하게 응용프로그램의 관점에서 봐야한다.
세션 설정, 유지, 종료, 전송 중단 시 복구 등의 기능이 있다.

※ 세션(Session)은 프로세스들 사이에 메시지 교환을 통해 서로를 인식한 이후부터 통신을 끝낼때까지의 논리적 연결이다. 예를들어 한 사용자의 로그인 후부터 로그아웃할 때까지의 연결을 세션이라 볼 수 있다.

세션 계층은 유저와 애플리케이션 사이의 세션을 관리하고 Opening/Closing 매커니즘을 제공한다.

단위 : 데이터(Data)

6계층 표현 계층

코드 간의 번역을 담당하며 Syntax Layer라고도 한다.
네트워크 형식으로 변환하거나 네트워크 형식을 응용프로그램 형식으로 변환하는 역할을 한다.
즉, 응용 프로그램이나 네트워크를 위해 데이터를 표현하는 것인데, 데이터 포맷 방법을 규정하는 표현 계층의 프로토콜 표준이 있다. 예로 데이터를 안전하게 전송하기 위해 암호화, 복호화, MIME 인코딩 동작 등이 계층에서 처리된다.

응용 계층에서 data를 이해할 수 있게 응용 프로그램에 맞춰 변환하고 JPEG, TIFF, GIF, MPEG 등을 구별을 수행한다.
또한, 문서 파일을 ASCII로 인코딩된 파일로 바꿔주는 것도 수행한다.

단위 : 데이터(Data)

7계층 응용 계층

최종 목적지로 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다.
해당 통신 패킷들은 방금 나열한 프로토콜에 의해 모두 처리되고 우리가 사용하는 브라우저, 메일 프로그램은 프로토콜을 보다 쉽게 사용하게 해주는 응용 프로그램이다. 통신의 양 끝단은 HTTP와 같은 프로토콜이지 응용 프로그램이 아니다.

이 계층은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.

일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공한다.

단위 : 데이터(Data)

각 계층별 프로토콜 기능

-분할 : 큰 용량의 데이터를 전송하기 위해 데이터를 나누는 기능
-재조립 : 분할된 데이터를 사용하기 위해 재조립하는 기능
-캡슐화 : 각 계층을 거칠때마다 각 계층의 헤더가 계층별로 붙으며, 캡슐화를 진행
-순서 제어 : 전송되는 데이터의 순서를 조율하고 이를 통해 데이터가 중복되거나 유실되는지 체크
-흐름 제어 : 송신되어 데이터의 양과 전송률을 제한하느 기능
-오류 제어 : 데이터가 올바르게 수신되었는지 에러 검출 코드를 통해 체크하는 기능

profile
不怕慢, 只怕站

0개의 댓글