국제 표준 기구인 ISO(International Organization for Standardization)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 7개의 계층으로 나누어 설명한 것을 말한다.
OSI 7 계층을 나눈 이유
1980년대 네트워크 통신망이 확산되면서 다양한 통신망이 혼재된 상태였고, 이에 따라 네트워크 유형에 관계없이 상호 통신이 가능한 지침이 필요했었다.
OSI 7 계층이 등장한 후로, 통신이 일어나는 과정을 크게 구분하여 단계별로 파악할 수 있었고 네트워크의 구성을 예측 이해할 수 있게 되었다. 또한 각 계층은 독립적이기 때문에 계층들 중 특정한 곳에 문제가 발생하면 해당 계층만 고치면 되었고 용이성과 유지관리 차원에서도 수월하게 되었다.TCP/IP 4계층 모델은 OSI 참조 모델을 기반으로 좀 더 실무적으로 이용할 수 있도록 단순화한 것이라고 보면 된다.
OSI 1~3 계층은 하드웨어 영역으로써, 각 층마다 매칭되는 하드웨어 장치가 존재한다. 이는 디버깅이 용이하고 모듈간 교체 및 확장 등이 자유롭다는 장점이 존재한다.
OSI 4~7 계층은 소프트웨어 영역이며 4~6 계층은 OS(운영체제)가, 7계층은 우리가 사용하는 응용프로그램이 해당 계층의 역할을 흔히 수행한다.
위 그림과 같이 송신자가 수신자에게 데이터를 보내는 과정에서 데이터는 각 계층을 내려갈 때마다 해당하는 그 계층에 대한 정보를 헤더(Header)에 기록하고 이를 데이터에 붙인다. 우리가 이메일을 보낸다고 가정할 때 처음 응용 계층에서 헤더를 붙이고 하위 계층인 표현 계층에 넘겨주게 된다. 이렇게 해당 계층의 정보를 헤더에 붙이는 과정을 '인캡슐레이션(Encapsulation)'이라고 부른다.
이렇게 물리 계층까지 내려오게 되면 이때부터는 0과 1의 이진 비트 형태로 바뀌어 전송 매체(동축케이블, 광섬유 등)를 통해 수신자의 물리 계층까지 전달되게 된다.
반대로 수신자 측에서 물리 계층에서부터 응용 계층까지 거치면서 헤더의 정보를 확인하고 떼어내게 되는데 이 과정을 '디캡슐레이션(Decapsulation)'이라고 부른다. 이 과정에서 어떤 헤더가 붙었느냐에 따라 데이터의 단위를 지칭하는 단위가 달라지게 된다.
물리 계층은 주로 전기적, 기계적인 특성을 이용해서 통신 케이블로 데이터를 디지털 신호에서 아날로그적인 전기 신호로 변환하여 물리적인 전송을 하게 된다. 주소의 개념이 없이 단순히 물리적으로 연결된 노드 간에 신호를 주고 받는 것에 중점을 두는 계층이다.
- 단위 : 비트(bit)
- 주요 장비 : 허브(Hub), 리피터(Repeater), 네트워크 카드(NIC : Network Interface Card) 등
데이터 링크 계층은 포인트 투 포인트(Point to Point)간 신뢰성 있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어 그리고 회신 제어가 필요하다. 주소 값은 물리적으로 할당 받는다. 네트워크 카드가 만들어질 때부터 MAC(Media Access address) 주소가 정해져 있으며, 이를 통해 목적지를 찾아간다. 네트워크 브릿지(Network Bridge)나 스위치(Switch) 등이 이 계층에서 동작하며, 직접 이어진 곳에만 연결할 수 있다.
- 단위 : 프레임(Frame)
- 주요 프로토콜 : Ethernet, HDLC, DFFI 등
- 주요 장비 : 브릿지(Bridge), L2 스위치(L2 Switch)
네트워크 계층은 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층으로, 간단히 말하면 종단간 전송을 위한 경로 설정을 담당해주는 End-To-End 역할을 하는 계층이다. 네트워크 계층은 라우팅, 흐름 제어(Flow Control), 세그멘테이션(Segmentation), 오류 제어 등을 수행하며 호스트로 도달하기 위한 최적의 경로를 라우팅 알고리즘을 통해 선택하고 제어한다. 이로 인해 데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능케 하는 계층이기도 하다. 논리적인 주소 구조(IP 주소), 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적(hierarhical)이다.
- 단위 : 패킷(Packet)
- 주요 프로토콜 : IP , ARP 등
- 주요 장비 : 라우터(Router), L3 Switch
전송 계층은 종단간(End-To-End) 통신을 다루는 최하위 계층으로, 종단의 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있도록 해주는 역할을 한다. 따라서 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다. 종단(Host)의 구체적인 목적지(Process)까지 데이터가 도달할 수 있도록 해주고(Process-to-Process Communication), Process를 특정하기 위한 주소로 포트 번호(Port Number)를 이용한다.
신뢰성 있는 데이터 전송을 위해 시퀀스 넘버(Sequence Number) 기반의 방식으로 분할과 재조합, 연결 제어, 흐름 제어, 오류 제어, 혼잡 제어를 수행한다.
- 단위 : 세그먼트(Segment)
- 주요 프로토콜 : TCP, UDP
세션 계층은 TCP/IP 세션을 만들고 없애는 책임을 지는 계층으로 응용프로그램의 논리적인 연결(세션) 생성 및 제어를 담당한다.(주로 운영체제가 관리함.)
- 단위 : 데이터(Data) 또는 메세지(Message)
표현 계층은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 표현 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어 준다. MIME 인코딩/디코딩이나 암호화/복호화 등의 동작이 주로 이 계층에서 이루어진다. 예를 들어, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔 주는 것이 표현 계층의 몫이다.
응용 계층은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다. 일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공한다. 예를 들어, 가상 터미널이나 인터넷, 전자메일, 동영상 플레이어 등이 여기에 해당된다.
- 단위 : 데이터(Data)
- 주요 프로토콜 : HTTP, FTP, SMTP 등
Link
https://ko.wikipedia.org/wiki/OSI_%EB%AA%A8%ED%98%95,
https://velog.io/@cgotjh/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-OSI-7-%EA%B3%84%EC%B8%B5-OSI-7-LAYER-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-%EA%B0%81-%EA%B3%84%EC%B8%B5-%EC%84%A4%EB%AA%85,
https://reakwon.tistory.com/59,
https://itwiki.kr/w/OSI_7%EA%B3%84%EC%B8%B5,