Front-End/Web & 표준 & ETC

[Network] OSI 7계층

Voyage_dev 2022. 2. 26. 01:48

OSI 7계층 참조 모델이란?

OSI (Open System Inerconnection) 7계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말하며, 다른 시스템 간의 원활한 통신을 위해 ISO (International Organization for Standardization)에서 제안한 통신 규약 네트워크 모델입니다

이렇게 계층을 7단계로 나눈 이유는 통신이 일어나는 과정이 단계별로 파악하기 위함이다. 또한, 통신 과정 중에 특별한 곳에 이상이 생길 경우에 다른 단계의 장비 및 소프트웨어 등을 건드리지 않고 통신 장애를 일으킨 단계에서 해결할 수 있다

OSI 참조 모델의 기본원칙

  • 적절한 수의 계층으로 나누어 시스템의 복잡도를 최소화
  • 서비스 접점의 경계를 두어 상호 작용이 적어질 수 있도록 한다
  • 프로세스나 기술적인 면에서 명백히 다른 기능을 처리하도록 계층을 분리
  • 비슷한 기능은 하나의 계층으로 모아서 관리
  • 인접한 상하위 계층간에는 인터페이스를 둔다
  • 한계층을 수정할 때 다른 계층에 영향을 주지 않도록 한다

 

OSI 7계층 단계

1계층 - 물리계층 (Physical Layer)

물리계층은 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의하며 인터넷 케이블, 라우터 스위치 등의 전기적 신호가 물리적인 장치에 의해 통신하는 계층이다

이 계층에서 사용되는 통신 단위는 0과 1으로 나타내어지는 비트이며, 단지 데이터를 전달만 할뿐 전송하려는 (또는 받으려는) 데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다 단지 데이터 전기적인 신호로 변환해서 주고받는 기능만 할 뿐이다

 

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

데이터 링크계층은 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 두개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적이며 안전한 정보의 전달을 수행할 수 있도록 도와준다

데이터 링크 계층(Data link layer)은 포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어가 필요하다. 네트워크 위의 개체들 간 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 찾아 내고, 수정하는 데 필요한 기능적, 절차적 수단을 제공한다.

 

  • 송신측과 수신측의 속도 차이를 해결하기 위한 흐름제어 기능을 한다
  • 프레임의 시작과 끝을 구분하기 위한 프레임의 동기화 기능을 한다
  • 오류의 검출과 회복을 위한 오류 제어 기능을 한다
  • 프레임의 순서적 전송을 위한 순서 제어 기능을 한다
  • HDLC, LAPB, LLC, MAC, LAPD, PPP등의 표준이 있다

 

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

네트워크 계층은 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 한다

이 계층에서 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다. 여기에 사용되는 프로토콜의 종류도 다양하고, 라우팅하는 기술도 다양하다

계층은 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 역할이다. 대표적인 장비는 라우터 이며, 요즘은 2계층의 장비 중 스위치라는 장비에 라우팅 기능을 장착한 Layer 3 스위치도 있다

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

 

4계층 전송 계층 (Transport Layer)

전송 계층은 통신을 활성화하기 위한 계층이며, 보통 TCP 프로토콜을 이용한다. 포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다. 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐 5계층에 던져 준다

  • OSI 7계층 중 하위 3계층과 상위 3계층의 인터페이스르 담당한다
  • 종단 시스템(End to End)간의 전송 연결 설정, 데이터 전송, 연결 해제 기능을 한다
  • 주소 설정, 다중화(분할 및 재조립), 오류 제어, 흐름 제어를 수행한다
  • TCP, UDP등의 표준이 있다

 

5계층 세션 계층 (Session Layer)

세션 계층은 송, 수신 측 간의 관령성을 유지하고 대화 제어를 담당하며 응용 프로세스가 통신을 관리하는 방법을 제공하는 계칭이다. 쉽게 말해, 통신을 하기위한 대문이라고 보면 된다

  • 대화(회화) 구성 및 동기제어, 데이터 교환 관리 기능을 한다
  • 송, 수신 측 간의 대화(회화) 동기를 위해 전송하는 정보의 일정한 부분에 체크점을 두어 정보의 수신 상태를 체크하며, 이때의 체크점을 동기점이라고 한다
  • 동기점은 오류가 있는 데이터의 회복을 위해 사용하는 것으로, 종류에는 소동기점과 대동기점이 있다
  • 세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있다
  • 동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex) 의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행
    • 이 계층은 TCP/IP 세션을 만들고 없애는 책임 을 진다

6단계 표현 계층 (Presentation Layer)

표현계층은 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환하고, 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환하는 기능을 한다

코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어 준다. MIME 인코딩이나 암호화 등의 동작이 이 계층에서 이루어진다. 예시로, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔 주는 것, 해당 데이터가 TEXT인지, 그림인지, GIF인지 JPG인지의 구분 등이 표현 계층의 몫이다.

  • 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층
  • 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식(포맷) 변환, 문맥 관리 기능을 한다
  • 데이터 표현이 상이한 응용 프로세스의 독립성을 제공, 암호화 한다

 

7단계 응용 계층 (Application Layer)

응용 계층은 사용자(응용 프로그램)이 OSI환경에 접근할 수 있도록 서비스를 제공하며 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다. 응용 프로세스 간의 정보 교환, 전자 사서함, 파일 전송, 가상 터미널 등의 서비스를 제공

  • 최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다
  • 모든 통신의 양 끝단은 HTTP와 같은 프로토콜이지 응용프로그램이 아니다

 

출처 : 아래의 사이트들을 보면서 큰 공부 하였습니다

https://onecoin-life.com/19

https://shlee0882.tistory.com/110

https://coding-factory.tistory.com/347