Backend/Network

OSI MODEL

petitCoding 2012. 4. 12. 11:22

OSI Model (OSI 7 Layer)

 

지난 포스팅에 간단히 기술했었는데,

오늘 보다가 다시 정리.

 

OSI(Open Systems Interconnection) Model은 총 7계층이며, 각 계층의 기능은 다음과 같다.

 

1. Physical (물리적 계층)

말 그대로 물리적인 계층을 의미한다. 이 물리적 계층에서는 데이터를 물리적인 매개체를 이용하여 (예 케이블, 허브 등) 다른 시스템으로 전송한다. 비트 스트림을 다루는 계층으로 서킷 교환, 패킷 교환 등의 방식을 통해 데이터를 주고받는다.

이 계층에서 사용되는 프로토콜은 주로 기계적 구조나 배치 등을 명시하고 있으며 다음과 같은 프로토콜이 물리적 계층에 속한다. - EIA/TIA, HSSL, SONET, SCSI 등등..

 

2. Data Link (데이터 링크 계층)

이 계층에서는 데이터를 서로 주고받는데 있어서 신뢰성을 보장하기 위한 프로토콜들이 사용된다.  LLC, MAC 등의 개념이 바로 이 계층에 속한다.

 

3. Network Packet/Dirgram (네트워크 계층)

이 계층에서는 데이터를 패킷 단위로 구분한다. 대표적인 프로토콜로 IP를 들 수 있다. 이 계층은 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층으로 (라우터가 떠오를 것이다!) 라우팅, 흐름 제어, 세그멘테이션, 오류 제어 등을 실행하게 된다. 이때 논리적인 주소 곧 IP가 필요하다.

 

4. Transport (전송 계층)

전송 계층에서는 사용자들이 (신뢰성 있는) 데이터를 주고 받을 수 있도록 해 준다.  대표적으로 알려진 프로토콜에는 TCP, UDP가 있다. 이 프로토콜을 생각하면 이해가 빠를 것이다.

 

5. Session (세션 계층)

통신을 위한 세션이 생성되는 계층이다. 이 세션을 통해 데이터를 주고 받게 되며, 이 세션을 어떻게 관리하느냐가 이 계층이 가지는 역할이 된다. 대표적으로 SSL을 들 수 있는데, 이 SSL은 전송계층에서 이루어진 TCP통신에 대한 보안 세션을 수립하고 데이터를 안전하게 전송할 수 있도록 관리하는 프로토콜이다.

 

6. presentation (표현 계층)

표현 계층에서는 세션에서 주고받은 데이터를 어플리케이션에 표현하기 위해 (또는 반대로.) 인코딩 또는 디코딩이 이루어지는 계층이다.  예로 ASCII 인코딩 이라던가,  데이터 압축(Compression) 또는  데이터 암호화 및 복호화 등을 들 수 있다.

 

7. Application (응용 계층)

응용 계층에서는 프로세스를 통해 데이터를 가공하고 사용자에게 보여주게 하는 계층이라고 할 수 있다.  이 계층에서 사용되는 대표적인 프로토콜로 HTTP, FTP, TELNET, SSH, POP3... 등등등등이 있다.

 

 

<데이터 전송의 예시>

 

네트워크 7계층을 아주 쉽게 이해하기 위해서, 다음과 같은 예시를 들어 보려 한다.

만약 틀린부분 있다면 지적바람..

 

응용 프로그램: 인터넷 전화를 켜고 전화를 건다.

표현 계층 : 인터넷 전화로 흘러가는 음성 데이터를 압축 및 암호화 한다.

세션 계층 : SSL 세션을 열어 암호화 연결을 시도한다.

전송 계층 : TCP 프로토콜을 사용해 상대방과의 연결을 시도한다.

네트워크 계층 : IP를 할당한다. 이 할당된 IP를 통해 TCP연결을 수립한다.

데이터 링크 계층 : IP에 해당되는 MAC 주소를 매핑하고 해당 랜카드를 통해 데이터를 전송한다.

물리 계층 : 데이터를 비트 단위로 상대방에게 전송한다.

 

반응형

'Backend > Network' 카테고리의 다른 글

ICMP  (0) 2012.04.12
TLS 프로토콜 정리.  (0) 2012.04.12
NAT  (0) 2012.04.12
서브넷  (0) 2012.04.12
TCP Handshake  (0) 2012.04.12