OSI 7 layer이란?
네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여, 각 계층간 상호 작동하는 방식을 정해 놓은 것이다.

통신이 일어나는 과정을 단계별로 파악할 수 있고, 통신 과정 중에 특정한 곳에 이상이 생길 경우 다른 단계의 장비 및 소프트웨어 등을 건드리지 않고 통신 장애를 이르킨 단계에서 해결할 수 있다.
1계층 '물리' 계층
실제 장치를 연결하기 위한 전기적 및 물리적 세부 사항을 정의한 계층이다. 인터넷 케이블, 라우터 스위치 등의 전기적 신호가 물리적인 장치에 의해 왔다 갔다 하는 통신 계층이다. 이 계층에서는 데이터를 전달만 할 뿐 전송하려는 데이터가 무엇인지, 어떤 에러가 있는지 전혀 신경 쓰지 않고 단지 데이터 전기적인 신호(0,1)로 변환해서 주고받는 기능만 있을 뿐이다.

물리 계층 흐름 과정
0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘러 보내고, (encoding)
그 아날로그 신호가 들어오면 0과 1의 나열로 해석하여 (decoding)
서로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고 받을 수 있게 해주는 모듈이다.
2계층 '데이터 링크' 계층
서로간의 통신 연결이 아니라 여러 대의 컴퓨터가 통신을 하려면?
전선 꽂을 구멍도 많이 필요하고, 전선도 많이 필요하다 (즉, 통신하려는 컴퓨터가 많아 질수록) => 비용 증가! => 이때 이용되는 계층이 '데이터 링크' 계층이다.
같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해 필요한 모듈이다.
해당 계층은 장치 간 신호를 전달하는 물리계층을 이용하여 네트워크 상의 주변 장치들 간의 데이터를 전송하는 역할을 한다.
물리계층을 통해서 송수신되는 정보의 오류와 흐름을 관리해 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 하는 것.
데이터 링크 계층에서 전송되는 단위를 프레임이라고 하고, 대표적인 장비로는 브리지, 스위치 등이 있다.

여러 대의 컴퓨터가 통신하기 위해서는 '스위치'라는 상자가 메시지의 목적지를 확인해, 통신을 보내고 싶은 컴퓨터에
직접적으로 데이터를 보내주는 역할을 하며
이와 같이 스위치와 스위치를 연결해 서로 다른 네트워크에 속한 컴퓨터끼리 통신을 가능하게 해주는 장비를
라우터 라고 한다.
3계층 '네트워크' 계층
여러 개의 노드를 거칠때마다 그 경로를 찾아주는 역할을 하는 계층이다. 다양한 길이의 데이터를 네트워크를 통해 전달하고, 그 과정속에서 전송 계층이 요구하는 서비스 품질을 제공하기 위한 기능적, 절차적 수단을 제공한다. 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 역할이다.
대표적으로 라우터가 있으며 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다.
논리적인 주소 구조, 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적으로 이루어져있다.

즉, 수많은 네트워크들의 연결로 이루어지는 inter-network 속에서 어딘가에 있는 목적지 컴퓨터로 데이터를 전송하기 위해, IP 주소를 이용해 길을 찾고(route) 자신 다음의 라우터에게 데이터를 넘겨 주는것(forwarding)이다.
4계층 '전송' 계층

Port Number : 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져야하는 정수 값을 의미한다.
전송계층은 통신을 활성화하기 위한 계층이며, TCP 프로토콜을 이용하며, 포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다.
데이터가 왔다면 해당 데이터를 하나로 통합하여 5계층으로 전달한다. 양 끝단의 사용자가 신뢰성 있는 데이터를 주고받게 하여
상위 계층이 데이터 전달의 유효성이나 효율성을 신경 쓰지 않게 해주는 계층이며, 시퀸스 넘버 기반의 오류 제어 방식을 사용한다.

송신자는 데이터를 보낼 때 데이터를 받는 수신자 컴퓨터에 있는 프로세스의 포트 번호를 붙여서 보낸다.
포트 번호를 사용하여, 도착지 컴퓨터의 최종 도착지인 프로세스까지 데이터가 도달하게 하는 모듈을 의미한다.
가장 잘 알려진 전송 계층의 예는 TCP이다.
5계층 '세션' 계층
포트번호를 기반으로 통신 세션을 구성해 양 끝단의 응용 프로세스가 통신을 관리하는 방법을 제공하는 계층이다.
* 세션 : 일정 시간 동안 같은 사용자로부터 들어오는 요구를 하나의 상태로 보고 그 상태를 일정하게 유지하는 기술을 의미한다.
즉, 통신이 시작될 때부터 종료될 때까지의 상태를 하나의 단위로 보고 세션이라고 부른다.
주로 TCP/IP 세션을 만들고 유지하며, 통신 연결이 종료되거나 전송이 중단될 시 연결 복구 시도가 가능하며, 연결 시도중 장시간 연결이 되지 않았다면 세션 계층의 프로토콜이 연결을 닫고 다시 연결을 시도한다.
6계층 '표현' 계층
데이터의 표현방식(데이터변환, 압축, 암호화 등)을 결정한다. 코드 간 번역을 담당하는 계층이다.
데이터 표현에서 독립적인 부분을 나타내고 일반적으로 응용프로그램 형식을 네트워크 형식으로 변환하거나, 네트워크 형식을 응용프로그램 형식으로 변환하는 것이다.
즉, 네트워크를 위해 데이터를 "표현"하는 것이다. 예로 인코딩된 문서 파일을 ASCII로 인코딩 된 파일로 바꿔주거나, 해당 데이터가 Text, Image, GiF/JPG인지 구분하는 것이 표현 계층의 몫이다.
서로 다른 통신 기기 간에 다른 인코딩을 사용할 수 있기 때문에 해당 계층에서 변환이 이루어진다.
cf. TCP/IP와 OSI 7계층이 점유율 싸움에서 TCP가 이기고 5, 6계층이 업데이트 되어서 현재 TCP update model에서는 바로 7계층인 응용계층으로 병합되었음
7계층 '응용 프로그램' 계층

응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행(chrome, explore)하는 계층이다. 최상위 계층으로 사용자에게 직접적으로 보이는 부분이며, 메일 전송, 인터넷 접속 등의 작업을 수행할 수 있다.
대표적인 예시로 HTTP, FTP, SMTP등과 같은 프로토콜이 있다.
참고자료
https://lxxyeon.tistory.com/155
https://www.youtube.com/watch?v=1pfTxp25MA8
http://wiki.hash.kr/index.php/OSI_7_계층
'주니어 개발자의 Desire! > NetWork' 카테고리의 다른 글
| TCP 대기(지연) 시간 및 패킷 손실 (0) | 2023.04.14 |
|---|---|
| 3, 4-way handshake / 패킷 교환 방식 (0) | 2023.04.08 |
| TCP/IP 4 Layer 응용 계층 (0) | 2023.03.25 |