[Network] OSI 7계층

Jay Mild Lee·2022년 12월 1일
0

web programming

목록 보기
8/9

I. 개요

1. 탄생 배경

OSI(Open System Interconnection Reference Model)은 국제표준화기구(ISO)에서 개발한 모델로, 서로 다른 네트워크 간의 호환을 위해 제정되었다. 통신 단계를 7단계로 나눈 주된 이유는 다음과 같다.

  1. 통신이 일어나는 과정을 단계별로 파악할 수 있다.
  2. 통신 과정 중 발생한 문제를 다른 장비 혹은 소프트웨어와 독립된 상황에서 해결할 수 있다.

예를 들어, PC - 공유기 - Switch - B/B Switch - AR(Access Router) - CR(Core Router로 구성된 네트워크가 있다고 가정해보자. PC에서 네트워크 오류가 발생 했을 때, 네트워크 관리자는 네트워크를 구성하는 각 장비의 장애를 의심하겠지만 무턱대고 모든 장비를 점검하진 않는다. 왜냐하면 장비들은 역할에 따라 OSI 7계층 중 해당되는 기능을 제공하며, 독립적인 상황에서 문제가 생긴 장비를 정비하는 것 만으로 네트워크 오류를 해결할 수 있기 때문이다.

이처럼 OSI는 네트워크의 설계에 대한 표준을 제공할 뿐만 아니라, 통신 장애를 단계적으로 진단하고 해결하는 데에도 큰 도움을 준다.

2. OSI 7계층의 구조

1) 물리 계층(Physical Layer)

실제 장비를 연결하기 위한 전기적, 물리적 세부 사항을 정의한 계층이다. 물리 계층은 데이터에 대한 어떤 가공도 하지 않으며, 단순하게 데이터의 신호를 주고 받을 뿐이다.

  • UTP Cable, 주파수 등

물리 계층을 사용하여 네트워크 상에 장비들 사이에 정보를 전달하는 계층. 데이터 링크 계층은 MAC Addresss를 통해 전달되는 데이터의 오류와 흐름을 관리하여 보다 안전하게 데이터를 전송할 수 있도록 한다.

  • Bridge, Switch 등

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

네트워크 계층의 주된 기능은 RoutingIP 주소 설정이라고 할 수 있다.

3-1) Routing

한 네트워크 안에서 데이터를 전송하는 최적의 경로를 선택하는 과정. 최적의 경로는 벤더에 따라 최소 시간 혹은 최소 거리가 될 수 있으며, 다양한 라우팅 알고리즘이 존재한다.

3-2) 주소 부여

같은 네트워크 안에서는 MAC Address를 통해 통신이 가능하지만, 서로 다른 네트워크 간에 통신을 하기 위해서는 IP 주소가 필요하다. 네트워크 계층에서는 전달받은 프레임에 IP 주소를 포함해 패킷의 형태로 송신하거나, 전달 받은 패킷을 프레임의 형태로 송신한다.

  • Router, L3 Switch

4) 전송 계층(Transport Layer)

통신을 활성화하기 위한 계층으로 포트를 열어서 응용프로그램들이 전송할 수 있도록 한다. 만약 데이터를 송신하게되면, 4계층에서 데이터들을 하나로 합쳐서 5계층에 보낸다.

TCP, three way handshaking

  • TCP, UDP

1~4의 하위 계층들은 운영체제 내부에서 구현되어 사용된다. 이에 비해 상위 세 계층은 사용자 프로그램을 구현하는데 사용된다.

5) 세션 계층(Session Layer)

세션 계층은 상위 계층에 제공하는 서비스로 세션 연결 설정과 해제, 세션 메세지 전송등을 통해 동작한다. 세션 계층은 크게 동기 기능데이터 전송 기능을 수행한다.

5-1) 동기 기능

통신 양단끼리 서로 동의하는 논리적인 공통 시점인 동기점을 만들어 메세지가 제대로 처리가 되고 있는지 파악한다. 동기점은 오류 복구를 위하여 필수적으로 사용되는데, 동기점 설정 이전까지는 서로 문제없이 처리가 되었음을 합의하는 것을 의미한다. 동기점 이전 과정은 복구가 필요 없으며, 동기점 이후의 과정에 대해 복구를 실시한다.

5-2) 데이터 전송 기능

세션 계층은 큰 데이터를 작은 단위로 나누어 중간중간 동기점을 부여한다. 데이터를 전송할 때 동기점을 통해 원활하게 데이터가 전송되었는지 확인하며, 오류가 발생할 경우 이전 동기점으로 돌아가 다시 전송하는 과정을 반복한다.

6) 표현 계층(Presentation Layer)

데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고 암호화한다. 표현 계층은 코드 간의 번역을 담당하며 사용자 시스템에서 형식상의 차이를 다루는 부담을 응용계층으로 부터 덜어준다. 예를 들면 EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 변환해주는 과정 등이 포함된다.

7) 응용 계층(Application Layer)

최종 목적지로서 HTTP, FTP, SMP, Telnet 등과 같은 프로토콜이 존재한다. 패킷들은 프로토콜에 의해 처리된다. 우리가 흔히 사용하는 브라우저나, 메일 프로그램 등은 이러한 프로토콜들을 보기 쉽게 GUI를 구성하고, 사용하기 쉽게 구성하는 역할을 한다고 할 수 있다.

0개의 댓글