두 시스템간의 복잡한 통신과정을 여러개의 프로토콜로 나누어 동시에 수행하도록 제안한 컴퓨터 통신 아키텍쳐이다. 프로토콜의 계층화는 상위 계층이 하위 계층의 서비스를 제공받는다는 원리에 근거하며, 계층별로 작업을 분산시킴은 물론, 각 계층이 독립적으로 구현될 수 있도록 해준다.
OSI Reference Model
Layer 7 | Application |
Layer 6 | Presentation |
Layer 5 | Session |
Layer 4 | Transport |
Layer 3 | Network |
Layer 2 | Data Link |
Layer 1 | Physical |
* OSI : Open System Interconnection
■ Physical Layer (물리 계층)
1과 0의 연속으로 이루어진 비트의 전송에 관여하며, 다음의 4가지 사항에 관한 규정을 다룬다.
□ 기계명세 (mechanical specification) : 통신 장비의 모양 및 치수를 정의
□ 전기적 특성 (electrical characteristic) : 비트 1은 -3V 이하의 전압을, 비트 0은 +3V 이상의 전압을 규정하는 것과 같은 전기적인 성질을 정의
□ 기능명세 (functional specification) : 접속 회로에 데이터, 제어, 타이밍, 접지 등의 의미를 부여
□ 절차명세 (procedural specification) : 기능명세에 근거하여 데이터 전송에 필요한 사건의 순서를 정의
X.21, RS-232C, RS-449/422-A/423-A 등이 물리계층 프로토콜의 예이다.
■ Data Link Layer
통신 경로상의 지점간 (link-to-link)의 오류없는 데이터 전송에 관한 프로토콜이다.
전송되는 비트의 열을 일정 크기 단위의 프레임으로 잘라 전송하고, 전송 도중 잡음으로 인한 오류 여부를 검사하며, 수신측 버퍼의 용량 및 양측의 속도 차이로 인한 데이터 손실이 발생하지 않도록 하는 흐름제어 등을 한다.
HDLC, CSMA/CD, ADCCP, LAP-B 등이 데이터 링크 계층 프로토콜의 예이다.
■ Network Layer
패킷이 송신측으로부터 수신측에 이르기까지의 경로를 설정해주는 기능과 너무 많은 패킷이 한쪽 노드에 집중되는 병목 현상을 방지하기 위한 밀집제어 (Congest control) 기능을 수행한다. 또한 이질적인 네트워크를 연결하는 데서 발생하는 프레임의 크기나 주소 지정방식이 다른 데서 발생하는 문제를 극복해 주는 기능을 수행한다.
IP, X.25 등이 네트워크 계층 프로토콜의 예이다.
■ Transport Layer
수신측에 전달되는 데이터에 오류가 없고 데이터의 순서가 수신측에 그대로 보존되도록 보장하는 연결 서비스 (Connection oriented service) 의 역할을 하는 종단간 (end-to-end) 서비스 계층이다. 한편, 패킷의 순서에 무관하게 수신되며, 에러 처리도 하지 않는 비연결 서비스 (Connectionless service) 와 다중 목적지에 메시지를 전송하는 서비스도 있다.
TCP 와 UDP 는 각각 연결지향 및 비연결지향 트랜스포트 프로토콜의 예이다.
■ Session Layer
두 응용프로그램 (Applications) 간의 연결설정, 이용 및 연결해제 등 대화를 유지하기 위한 구조를 제공한다. 또한 분실 데이터의 복원을 위한 동기화 지점 (sync poing) 을 두어 상위 계층의 오류로 인한 데이터 손실을 회복할 수 있도록 한다.
LU6.2는 잘 알려진 세션 계층 프로토콜이다.
■ Presentation Layer
전송되는 정보의 구문 (syntax) 및 의미 (semantics)에 관여하는 계층으로, 부호화 (encoding), 데이터 압축 (compression), 암호화 (cryptography) 등 3가지 주요 동작을 수행한다.
ANSI.1, XDR 등이 프로토콜의 예이다.
■ Application Layer
네트워크 이용자의 상위 레벨 영역으로, 화면배치, escape sequence 등을 정의하는 네트워크 가상 터미널 (network virtual terminal), 파일전송, 전자우편, 디렉토리 서비스 등 하나의 유용한 작업을 할 수 있도록 한다.
FTAM, TELNET, FTP, SMTP 등이 응용계층 프로토콜의 예이다.OSI 모델에서의 데이터 전송
송신 측의 프로세스는 전송 데이터를 애플리케이션 계층에 보내고 애플리케이션 계층에서는 여기에 헤더 (null 이 될 수 있다)를 맨 앞에 첨가하여 다시 프레젠테이션 계층에 전달한다. 이때 프레젠테이션 계층에서는 애플리케이션 계층으로부터 보내진 데이터의 어떤 부분이 헤더이고 어떤 부분이 데이터 인지를 알 필요가 없다.
데이터가 물리계층에 도달할 때까지 이러한 과정이 되풀이 되며, 물리계층에서 실제로 수신장치에 데이터가 전송된다. 수신측에서는 전송 데이터가 맨 위의 수신 프로세스에 도달 될 때까지 여러가지 헤더 정보가 하나씩 벗겨져 나가는 과정을 거치게 된다.
다음의 예는 미국에 있는 친구에게 편지 보내는 일을 OSI 7 Layer를 적용시켜서 설명한 것이다. 미국에 있는 친구는 불행하게도 한국어를 모르며, 편지를 보내는 나 또한 영어를 모른다(이 예제는 대학교 시험에 나왔던 문제이기도 하다).
|
|
|
|
|
|
|
|
OSI 모델 계층 구조
OSI 계층 |
정의 |
기능 |
Application Layer |
사용자가 OSI 환경을 억세스 할 수 있는 능력을 제공 |
응용 프로세스간의 정보교환 |
Presentation Layer |
데이터 표현에 차이가 있는 응용 프로세스들에게 연결 제공 |
정보의 형식설정과 코드변환 |
Session Layer |
응용간 통신에 대한 제어구조를 제공 |
응용 프로세스간의 송신권 및 동기제어 |
Transport Layer |
노드 대 노드 간의 신뢰성있고 투명한 데이터 전송 제공 |
송수신 시스템간의 논리적인 접속과 균일한 서비스 제공 |
Network Layer |
상위 계층에게 시스템을 연결하는데 필요한 데이터 전송과 교환 기능 제공 |
정보교환과 중계기능 |
Data link Layer |
물리적인 링크를 통하여 신뢰성 있는 정보를 전송하는 기능 제공 |
인접장치간의 정보전송 |
Physical Layer |
구조화되지 않는 비트스트림을 물리적 매체를 통하여 전송 |
전송매체로의 전기적 신호전송 |