OSI7

용어정리

이 카테고리는 비전공자로서 개발자로써 공부하며, 평소 이해하지 못한 단어를 제방식대로 정리하는 카테고리입니다.
제방식대로 풀어 쓴것이므로 오류가 있을 수 있습니다.
오류가 있을시 댓글로 남겨주시면 참고하도록 하겠습니다.


OSI 7계층

면접을 보다보면, OSI 7계층에 대해 물어보는 곳이 꽤나있다.
그렇게 접하게 된 OSI 7계층에 대해 네트워크 데이터 통신 책을 보며 간략히 정리를 해보았다.

OSI7계층

OSI 7계층은
국제표준화 단체 ISO(International Standard Organization)에서 정한 네트워크 연결 시스템이다
네트워크에 연결된 호스트들은 7개층으로 모듈화된 통신기능을 갖추어야한다.
먼저 HTTP프로토콜을 이용하여, 데이터를 요청하게되면, 응용계층부터 위에서 밑으로 차례로 물리계층까지 전달된다.
또 데이터를 받는 과정은 반대로 물리계층부터 응용계층까지 순차적으로 밑에서부터 위로 전달된다.
OSI7계층은 그림처럼

  • 응용계층
  • 표현계층
  • 세션계층
  • 전송계층
  • 네트워크계층
  • 데이터링크계층
  • 물리계층
    이렇게 7개의 계층으로 나누어져 있습니다.

이제부터 각각 계층별로 하는 역할에 대해 알아보겠다.

응용계층

응용계층은 최상위 계층으로 응용환경에서 공통적으로 필요한 기능을 다룹니다.
응용환경은 범위가 매우 방대하지만 예를 들면 FTP등이 있습니다..

표현계층

계층5까지(세션계층~물리계층)까지는 데이터 전송에 관한 내용을 다룹니다.
하지만 표현계층은 데이터의 의미와 표현방법을 처리합니다. 통신 양단에서 서로 이해할 수 있는 표준방식으로 데이터를 코딩하는 문제를 다룹니다.

호스트의 데이터 표현방법이 서로 다를수 있는데, 이러한 데이터를 이해할 수 있도록 적절하게 변환합니다.
또 보안시 중요시 되고 있는 데이터를 암소화하는 기술,
영상정보같은 대용량의 데이터크기를 압축하는 기능도 표현계층에서 처리합니다.

세션계층

세션계층의 기능은 전송계층과 매우 유사합니다. 하지만 사용자가 원격파일을 전송하거나 원격 로그인등과 같은 상위적 연결개념인 세션기능을 제공하는 부분입니다.
또한 송수신 호스트 사이 대화 제어등의 동작을 제어하기 위한 토큰제어,
그리고 일시적인 전송장애를 해결하는 동기화기능을 제공합니다.

전송계층

전송계층은 송수신 프로세스간 직접연결하는 통신기능을 합니다.
전송계층의 하위계층(네트워크계층&데이터링크계층)은 호스트와 호스트사이에 데이터 전송과정에서 발생하는 문제들을 다루지만,
전송계층은 컴퓨터내부의 구축되는 통신당사자인 프로세스사이의 통신문제를 다룹니다.
또한 사용자의 서비스 요구유형에 대한 고려, 전송 오류율, 전송속도등에대한 흐름제어기능도 제공합니다.

네트워크계층

송신호스트가 전송한 데이터가 어떤경로를 통해 수신 호스트에 전달되는지를 결정하는 라우팅 문제를 다룹니다.
라우팅이란 간단하게 표현하면, 데이터가 지나갈 경로를 선택해서 이동하는것을 말합니다.(경로설정)
네트워크 계층에서의 전송데이터를 패킷이라 부르며,
네트워크를 이용해 지나치게 많은 패킷이 전송되면, 전송속도가 떨어질수있으므로, 이를 제어하는 혼잡제어 기능도 담당합니다.

데이터 링크 계층

데이터의 물리적 전송 오류를 해결합니다.
상위의 네트워크 계층에 신뢰성 있는 패킷전송을 보장하여, 전송오류에 대한 부담을 줄여주고, 두 호스트간에 일대일로 직접 연결된 환경에서만 데이터를 전송합니다.
이때 전송되는 데이터를 프레임이라고 부릅니다.
프레임헤더에 표시되는 송수신 호스트 정보에는 LAN카드에 내장된 송수신 호스트의 MAC주소가 기록됩니다.
또한 송수신 호스트사이의 전송속도 차이를 고려한 흐름제어기능도 제공합니다.
그리고 물리적 오류를 감지하는 기능을 담당하며, 오류(데이터 분실 or 내용의 파손)를 감지하면 송신자가 원래데이터를 재전송으로 일반적으로 처리합니다.

물리계층

물리적인 인터페이스에 관한 사항을 기술합니다.
물리계층은 하드웨어 시스템으로 구현되고, 계층2 이상(응용계층~데이터링크계층)은 소프트웨어적으로 구현됩니다.
물리계층에서 다루는 전송 매체의 특성은 데이터의 전송속도, 송수신 호스트사이의 클록의 동기화 방법, 물리적인 연결 형태등이 있습니다.

이처럼 네트워크 통신과정에서는 HTTP프로토콜을 이용하여 HTTP헤더에 정보를 통해, 데이터를 송수신할때 OSI7계층을 통해 데이터가 전송됨을 알 수 있다.
밑에사진 HTTP프로토콜의 HTTP헤더 예시이미지 입니다.

HTTP헤더

댓글