개방형 시스템 상호 연결( OSI ) 모델은 표준 프로토콜을 사용해 다양한 통신 시스템이 통신할 수 있도록 국제표준화기구에서 만든 개념 모델이다. 쉽게 말하면 OSI는 상이한 컴퓨터 시스템이 서로 통신할 수 있는 표준을 제공한다.
OSI 모델은 컴퓨터 네트워킹의 범용 언어로 볼 수 있다.
이 모델은 통신 시스템을 7개의 추상적 계층으로 나누고, 각 계층은 다음 계층 위에 스택된다.
OS 모델의 각 계층은 특정 작업을 처리하고 그 위와 아래의 계층과 통신한다.
7. 응용 프로그램 계층 ( 애플리케이션 계층 )
이 계층은 사용자의 데이터와 직접 상호 작용하는 유일한 계층이다.
웹 브라우저 및 이메일 클라와 같은 소프트웨어 앱은 통신을 개시하기 위해 애플리케이션 계층에 의지한다.
다만, 앞서 언급한 앱들은 애플리케이션 계층의 일부가 아니라는 점을 알아야한다.
애플리케이션 계층은 소프트웨어가 사용자에게 의미 있는 데이터를 제공하기 위해 프로토콜과
데이터를 조작하는 역할을 한다는 점을 알고 있어야한다.
애플리케이션 계층에는 HTTP, FTP, SMTP, Telnet 등과 같은 프로토콜이 포함된다.
6. 프레젠테이션 계층 ( 표현 계층 )
이 계층은 주로 데이터를 준비하는 역할을 하고, 애플리케이션 계층이 이를 사용할 수 있게 한다.
다시말해, 계층 6은 애플리케이션이 소비할 수 있도록 데이터를 프레젠테이션한다.
프레젠테이션 계층을 데이터의 변환, 암호화, 압축을 담당한다.
서로 통신하는 두 개의 통신 장치는 서로 다른 인코딩 방법을 사용할 수 있어서, 계층 6은 수신 장치의 애플리케이션 계층이 이해할 수 잇는 구문으로 수신 데이터를 변환하는 일을 담당한다. 예를 들면, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩 된 파일로 바꿔주는 작업 등을 말한다.
장치가 암호화된 연결을 통해 통신하는 경우, 계층 6은 최종 송신자에게 암호화를 추가할 뿐만 아니라 최종 수신자에게 암호화를 디코딩하여 암호화되지 않은 읽기 쉬운 데이터로 애플리케이션 계층을 제시할 수 있도록 하는 역할을 한다.
마지막으로, 프레젠테이션 계층은 애플리케이션 계층에서 수신한 데이터를 계층 5로 전송하기 전에 압축하는 일도 담당합니다. 전송할 데이터의 양을 최소화함으로써 통신의 속도와 효율을 높이는 데 도움이 된다.
5. 세션 계층
두 기기 사이의 통신을 시작하고 종료하는 일을 담당하는 계층이다. 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라 한다. 세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 오랫동안 세션을 개방한 다음 리소스를 낭비하지 않기 위해 세션을 즉시 닫을 수 있도록 보장한다.
또한 세션 계층은 데이터 전송을 체크포인트와 동기화한다. 예를 들어, 100MB의 파일이 전송되는 경우 세션 계층이 5MB마다 체크포인트를 설정할 수 있다. 52MB가 전송 된 후 연결이 끊어 지거나 충돌이 발생하면 마지막 체크 포인트에서 세션을 재개하는 것이 가능하다. 즉, 50MB의 데이터만 더 전송하면 된다. 체크 포인트가 없으면 전체 전송을 처음부터 다시 시작해야 한다.
4. 전송 계층
계층 4는 두 기기 간의 종단 간 통신을 담당한다. 여기에는 세션 계층에서 데이터를 가져와서 계층 3으로 보내기 전에 세그먼트라고하는 조각으로 분할하는 일이 포함된다. 수신 기기의 전송 계층은 세그먼트를 세션 계층이 이용할 수 있는 데이터로 재조립해야 한다.
전송 계층은 또한 흐름 제어 및 오류 제어 기능의 역할을 한다. 흐름 제어는 연결 속도가 빠른 송신자가 연결 속도가 느린 수신자를 압도하지 않도록 최적의 전송 속도를 결정한다. 전송 계층은 수신된 데이터가 완료되었는지 확인하고 수신되지 않은 경우 재전송을 요청하여 최종 수신자에 대해 오류 제어를 수행한다.
전송 계층 프로토콜에는 TCP 및 UDP 가 있다.
3. 네트워크 계층
네트워크 계층은 서로 다른 두 네트워크 간 데이터 전송을 용이하게 하는 역할을 한다. 서로 통신하는 두 장치가 동일한 네트워크에 있는 경우에는 네트워크 계층이 필요하지 않다. 네트워크 계층은 전송 계층의 세그먼트를 송신자의 장치에 패킷이라고 불리는 더 작은 단위로 세분화하여 수신 장치에서 이러한 패킷을 다시 조립한다. 또한, 네트워크 계층은 데이터가 표적에 도달하기 위한 최상의 물리적 경로를 찾는데 이를 라우팅이라 한다.
네트워크 계층 프로토콜에는 IP, ICMP 등이 있다.
2. 데이터 연결 계층
데이터 연결 계층은 네트워크 계층과 매우 비슷하지만, 데이터 연결 계층은 동일한 네트워크에 있는 두 개의 장치 간 데이터 전송을 용이하게 한다. 데이터 연결 계층은 네트워크 계층에서 패킷을 가져와서 프레임이라고 불리는 더 작은 조각으로 세분화한다. 네트워크 계층과 마찬가지로 데이터 연결 계층도 인트라 네트워크 통신에서 흐름 제어 및 오류 제어를 담당한다.(전송 계층은 네트워크 간 통신에 대해서만 흐름 제어 및 오류 제어만을 담당함).
대표적인 장비로 스위치가 있다.
1. 물리 계층
이 계층에는 케이블, 스위치 등 데이터 전송과 관련된 물리적 장비가 포함된다.
주로 전기적, 기계적, 기능적인 특성을 이용해 통신 케이블로 데이터를 전송하게 된다.
이 계층에서는 단지 데이터를 전달만 할뿐 전송하려거나 받으려는 데이터가 무엇인지, 어떤 에러가 있는지
등에는 전혀 신경쓰지 않는다.
이 계층은 또한 1과 0의 문자열인 비트 스트림으로 변환되는 계층이다.
뿐만 아니라 두 장치의 물리적 계층은 신호 규칙에 동의해서 두 장치의 1이 0과 구별될 수 있어야 한다.
대표적인 장비로는 통신 케이블, 리피, 허브 등이 있다.
참고 : https://www.cloudflare.com/ko-kr/learning/ddos/glossary/open-systems-interconnection-model-osi/
'네트워크' 카테고리의 다른 글
[네트워크] 웹 서버, 웹 어플리케이션 서버 (0) | 2024.08.27 |
---|---|
[네트워크] 웹과 HTTP 동작 방식 (1) | 2024.08.27 |