OSI모델은 오픈 시스템 상호 연결 모델이라는 뜻으로
이름만 들어봐도 대충 오픈된 시스템끼리의 상호 연결을 하기위한 모델정도로 해석이 가능하지 않을까 싶다만...
개념을 정리해보면
네트워크 통신 기능을 7개의 계층으로 나누는 개념적 프레임워크(틀)
컴퓨터 네트워킹을 위한 범용 언어를 제공하여 다양한 기술이 표준 프로토콜 또는 통신 규칙을 사용하여 통신할 수 있다.
상위 계층에서는 구현 세부 사항에 걱정할 필요 없이 하위 수준에 있는 기술들을 모두 사용할 수 있으므로 추상화의 이점이 있다.
라고 하는데,
즉 어떤 시스템과 시스템간의 통신을 하기 위해서는 서로 정보를 공유해야할 필요가 있다. 이때 사용하는 기본적인 틀이라는 느낌이다.
틀이 정해져있다면 우리는 해당 틀에 맞게끔 짜면되기때문에 복잡한 시스템을 더 빠르게 개발하거나 이를 쉽게 표준화 할 수 있다.
OSI모델의 통신 방식은
1.발신자의 애플리케이션 계층은 데이터 통신을 다음 하위 계층으로 전달합니다.
2.각 계층은 데이터를 전달하기 전에 데이터에 고유한 헤더와 주소 지정을 추가합니다.
3.데이터 통신은 결국 물리적 매체를 통해 전송될 때까지 계층 아래로 이동합니다.
4.매체의 다른 쪽 끝에서는 각 계층이 해당 수준의 관련 헤더에 따라 데이터를 처리합니다.
5.수신자 측의 데이터는 계층 위로 이동하고 다른 쪽 끝에 있는 애플리케이션이 데이터를 수신할 때까지 점진적으로 압축 해제됩니다.
OSI 모델에 세부적으로 들어가게 되면 총 7개의 계층으로 나뉘게 되는데
각각 물리,데이터 링크,네트워크,전송,세션,프레젠테이션,애플리케이션 계층이 있다.
1.물리 계층
물리 계층에서는 물리적인 전송(?)이 일어난다.
여기서 물리적인 전송은 케이블과 케이블 같이 현실세계에서 직접 있는 물리적 채널을 이용하여 디지털 및 전자 신호를 전송하는 것이다.
그렇기에 전송 속도는 해당 물리적 채널의 속도가 얼마나 빠른지에 따라서 달라지게 된다.
예시를 들어보면 광섬유 케이블 같은 경우엔 약 205,000Km/sec의 속도가 나온다고 하는데 1초마다 20만 km를 가게되니 얼마나 빠른걸까나
2.데이터 링크 계층
이 기술은 물리 계층에 의존적이다.
물리 계층이 이미 존재하는 네트워크를 통해서 두 시스템을 연결하는데 사용되기 때문이다.
데이터 링크 계층의 특징은 연결된 두 시스템의 데이터의 흐름 제어와 오류 제어다.
3.네트워크 계층
별개의 네트워크 간에 데이터 패킷을 주고받으면서 만들어지는 인터넷 통신 프로세스의 일부(연결)이다.
데이터 패킷이 취할 경로를 설정하거나 다른 네트워크 서버가 가동중인지 확인하고 IP 패킷에 주소를 붙이는 등 다양한 일들을 한다.
이때 패킷은 데이터 조각 모음이라고 볼 수 있는데 출발지,목적지 등과 같은 데이터들을 담아서 보내기 위해 만들어지는 것이다.
각 패킷마다 헤더가 달려있는데 받은 쪽에서 그 헤더를 통해서 패킷을 처리한다.
4.전송 계층
계층 구조의 네트워크 구성요소와 프로토콜 내에서 송신자와 수신자를 연결하는 통신 서비스를 제공한다.
데이터 링크 계층과 하는일이 비슷해보여도 전송 계층은 논리적인 연결을 담당하게 되는데 프로세스간 통신을 담당하게 된다.
5.세션 계층
한 세션에서 서로 다른 두 애플리케이션 간의 네트워크 조정을 담당한다.
세션 연결의 설정과 해제, 세션 메시지 전송 등의 기능을 하게되는데
여기서 세션이란
반영구적이고 상호작용적인 정보 교환을 전제하는 둘 이상의 통신 장치나 컴퓨터와 사용자 간의 대화나 송수신 연결상태를 의미하는 보안적인 다이얼로그 및 시간대를 가리킨다.
연결을 오래 유지하는 것보다 안정적인 연결을 하는 것을 중요시 여기며 해당 애플리케이션들 간의 연결을 설정,해제하고 연결되었는지 등을 확인하는 계층이다.
6.프레젠테이션 계층
프레젠테이션 계층은 주로 애플리케이션에서 전송하고 소비하는 데이터 자체의 구문과 관련이 있다. 예를 들어 하이퍼텍스트 마크업 언어(HTML), JavaScript 객체 표기법(JSON), 쉼표로 구분된 값(CSV)은 모두 프레젠테이션 계층의 데이터 구조를 설명하는 모델링 언어이다.
7.애플리케이션 계층
특정 유형의 애플리케이션 자체와 표준화된 통신 방법과 관련이 있다.
브라우저의 경우엔 하이퍼텍스트 전송 프로토콜 보안(HTTPS)를 사용하여 통신할 수 있는 등과 같이 통신 방법에 연관이 있는데,
이는 Client-Server구조와 Peer to Peer(P2P)구조로 나뉘게 된다.
이렇게 복잡한 절차를 거치지 않더라도
TCP/IP를 이용하여 7,6,5계층 / 1,2계층을 각각 하나로 통합하여 4계층으로 표현한 모델도 존재한다.
기존의 OSI모델을 통합하였기에 더 간소해 보이게 되었다.
그렇지만 이는 업데이트가 되면서 링크 계층이 다시 분리되어 5계층으로 나뉘게 되었다.
특징이라고 한다면 OSI모델과는 다르게 실질적으로 네트워크에 연결하기 위하여 설계되었고 그렇기에 네트워크 연결을 위한 표준 프로토콜을 사용하거나 연결지향/연결이 없는 네트워크 트래픽을 모두 지원하는 등 장점이 있다.