표현 계층

표현 계층()은 컴퓨터 망의 7계층 OSI 모형에서 표현 계층()은 6계층이며 네트워크의 데이터 변환기 역할을 한다. 때로는 문법 계층(syntax layer)이라고도 불린다.

설명
OSI 네트워크 아키텍처의 서비스 계층 의미론 내에서 표현 계층은 응용 계층의 서비스 요청에 응답하고 고유한 표현 서비스 접근 지점(PSAP)을 통해 세션 계층에 서비스 요청을 발행한다.

표현 계층은 한 시스템의 응용 계층이 보내는 정보가 다른 시스템의 응용 계층에 의해 읽힐 수 있도록 보장한다. 송신 시스템에서는 표준, 전송 가능한 형식으로 변환하는 역할을 한다. 수신 시스템에서는 처리 또는 표시를 위한 정보의 번역, 형식화 및 전달을 담당한다.http://www.linfo.org/presentation_layer.html Linux Information Project 이론적으로, 이는 최종 사용자 시스템 내의 자료 표현에 있어서 문법적 차이에 대한 응용 계층 프로토콜의 우려를 덜어준다. 표현 서비스의 예는 확장 이진화 십진법 교환 부호(EBCDIC)로 인코딩된 텍스트 컴퓨터 파일을 ASCII로 인코딩된 파일로 변환하는 것이다. 필요한 경우 표현 계층은 공통 형식을 사용하여 여러 데이터 형식 간에 번역할 수 있다.

널리 사용되는 많은 응용 프로그램과 프로토콜에서는 표현 계층과 응용 계층 사이에 실제로 구분이 없다. 예를 들어, 일반적으로 응용 계층 프로토콜로 간주되는 HTTP는 올바른 변환을 위한 문자 인코딩을 식별하는 기능과 같은 표현 계층적 측면을 가지고 있으며, 이는 응용 계층에서 수행된다.

표현 계층은 응용 프로그래머가 단순히 호스트 간에 데이터그램이나 패킷 형태로 데이터를 보내는 대신 자료 구조와 표현을 고려하는 가장 낮은 계층이다. 이 계층은 문자열 표현 문제, 즉 파스칼 방식(정수 길이 필드 뒤에 지정된 바이트 수)을 사용하는지, 또는 C/C++ 방식(널 종료 문자열, 예: "thisisastring\0")을 사용하는지를 다룬다. 아이디어는 응용 계층이 이동할 데이터를 가리킬 수 있어야 하며, 표현 계층이 이를 다른 응용 프로그램과 프로세스가 이해할 수 있는 명령으로 번역한다는 것이다.

복잡한 자료 구조를 평면 바이트 문자열로 직렬화하는 것(예: TLV, XML 또는 JSON과 같은 메커니즘 사용)은 표현 계층의 핵심 기능으로 생각할 수 있다. 구조 표현은 일반적으로 이 수준에서 표준화되며, 종종 XML 또는 JSON을 사용한다. 문자열과 같은 간단한 데이터 조각뿐만 아니라 더 복잡한 것들도 이 계층에서 표준화된다. 두 가지 일반적인 예는 객체 지향 프로그래밍의 '객체'와 스트리밍 비디오가 전송되는 정확한 방식이다.

암호화와 복호화는 일반적으로 이 수준에서도 이루어지지만, 응용, 세션, 전송 또는 네트워크 계층에서도 수행될 수 있으며, 각각 고유한 장단점이 있다. 예를 들어, 은행 계좌 사이트에 로그인할 때 표현 계층은 수신되는 데이터를 복호화한다.

서비스
 데이터 컨버전
 문자 코드 번역
 압축
 암호화 및 복호화
 직렬화

프로토콜
이 수준에서 고려되는 프로토콜(OSI 모델을 엄격하게 따르지는 않을 수 있음)은 다음과 같다.
 애플 파일링 프로토콜 (AFP)
 ICA (Citrix 시스템 핵심 프로토콜)
 Lightweight Presentation Protocol (LPP)
 NetWare Core Protocol (NCP)
 Network Data Representation (NDR)
 톡스, 톡스 프로토콜은 때때로 표현 계층과 응용 계층의 일부로 간주됨
 외부 데이터 표현 (XDR)
 X.25 패킷 어셈블러/디스어셈블러 프로토콜 (PAD)

 같이 보기 
 ASN.1

 각주 

분류:OSI 모형