OSI(Open Systems Interconnection) 모델은 기본 내부 구조 및 기술에 관계없이, 통신 또는 컴퓨팅 시스템의 통신 기능을 특성화하고 표준화하는 개념적 모델이다. 그 목표는 표준 프로토콜과 다양한 통신 시스템의 상호 운용성이다.
데이터 발신자 측에선 응용계층부터 하위계층에 데이터를 넘겨줄 때 각 계층의 헤더를 붙여 데이터를 넘겨준다. 이 헤더에는 그 계층에 대한 정보가 기록되어 있으며, 이런 과정을 Encapsulation
이라고 한다. 데이터를 받은 수신자는 거꾸로 물리계층부터 시작하여 헤더의 정보를 확인하고 떼어낸 후 상위 계층으로 데이터를 전달한다. 이렇게 헤더를 떼어내는 과정을 Decapsulation
이라고 한다.
각 계층은 하위 계층의 기능을 사용해서 통신을 처리하고 상위 계층에 제공하며 OSI 모델은 다음과 같은 일곱개의 레이어를 정의하고 있다.
물리 계층은 7계층 중 최하위 계층이다. 주로 전기적, 기계적, 기능적 특성을 이용해 데이터를 전송한다. 즉 컴퓨터를 연결하는 물리적 요소간 통신을 말한다. 데이터는 0과 1인 비트를 전송하며 물리계층은 단지 데이터를 전달하기만 한다.
데이터링크 계층은 물리적인 네트워크를 통해 데이터를 전송하는 수단을 제공한다. 1홉 통신
을 담당한다고도 말하며 홉(hop)
은 컴퓨터 네트워크에서 노드에서 다음 노드로 가는 경로를 말한다. 즉, 한 라우터에서 그 다음 라우터까지의 통신을 담당한다.
데이터링크 계층은 Point-To-Point 간 신뢰성 있는 전송을 보장하기 위한 계층으로 MAC 주소
를 갖고 있으며 데이터의 오류제어와 흐름제어를 제공한다. 이 계층에서의 데이터 단위는 프레임(Frame)
이라고 한다.
네트워크 계층에서는 2홉 이상의 통신(멀티 홉 통신)을 담당한다. 실제 네트워크 간에 데이터 라우팅을 담당한다. 라우팅
이란 네트워크 안에서 목적지까지 가장 안전하고 빠르게 데이터를 보낼 최적의 경로를 선택하는 과정을 을 말한다.
네트워크 계층은 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation), 오류 제어, 인터네트워킹(Internetworking) 등을 수행한다.
전송 계층은 양 끝단의 사용자들이 신뢰성 있는 데이터를 주고받게 해 주는 역할을 한다. 송신자와 수신자간의 신뢰성 있고 효율적인 데이터를 전송하기 위해 오류검출 및 복구, 흐름제어와 중복 검사 등을 수행한다.
세션 계층에서는 두 컴퓨터 간의 대화나 세션을 관리하며, 포트연결이라고도 한다.
즉 이 계층에서는 TCP/IP 세션을 만들고 없애고 통신하는 사용자들을 동기화하고 오류 복구 명령들을 일괄적으로 다루며 통신을 하기 위한 세션을 확립, 유지, 중단하는 작업을 수행한다.
표현 계층은 데이터를 어떻게 표현할지 정하는 역할을 한다. 응용 계층으로 전송받거나 전달해야 할 데이터의 인코딩과 디코딩이나 암호화, 복호화 작업도 이 계층에서 이루어진다.
응용 계층은 최상위 계층으로 사용자가 네트워크 자원에 접근하는 방법을 제공한다. 즉 사용자가 실행하는 응용 프로그램들이 계층 7에 속한다고 보면 된다. 사용자와 직접 상호작용하며 인터페이스 역할을 수행한다.
http://wiki.hash.kr/index.php/OSI_7_%EA%B3%84%EC%B8%B5
https://velog.io/@raejoonee/OSI-%EC%B0%B8%EC%A1%B0-%EB%AA%A8%EB%8D%B8-%EC%99%84%EC%A0%84%ED%9E%88-%ED%8C%8C%ED%97%A4%EC%B9%98%EA%B8%B0
https://reakwon.tistory.com/59