OSI Model
in Communication on Network
OSI Model
OSI(Open System Interconnection Reference Model)은 국제표준화기구(ISO)에서 개발한 모델로,
컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 일반적으로 OSI 7 Layer라고 한다.
Physical Layer
물리 계층은 네트워크의 기본 네트워크 하드웨어 전송 기술을 이룬다.
네트워크의 높은 수준의 논리 데이터 구조를 기초로 하는 필수 계층이다.
다양한 특징의 하드웨어 기술이 접목되어 있기에 OSI 아키텍처에서 가장 복잡한 계층으로 간주된다.
Switch 이전에 사용되던 Hub와, Cabling 등이 물리 계층이다.
Cable
Cable은 두 종류로 나누어 진다.
- Fiber
- Copper
Fiber는 일명 광케이블로 빛을 전송하는 한개 혹은 여러개의 optical fibers(광섬유)로 구성된다.
Fiber optics는 전송속도가 빠르고 이동간 에너지 손실이 없기 때문에 원거리 통신에 사용가능하다. 또한 전파 간섭이 없기 때문에 간섭을 통한 신호 에러도 피할 수 있다.
하지만 광섬유를 통한 광신호를 전자 신호로 변화하여 사용해야 하며,
제조 물성이 한정적이며, 공정 다양성이 상대적으로 적고 제조가 까다롭다.
Copper은 Fiber cable의 단점이 장점이나,
Fiber의 가격이 내려감에 따라 Copper Cable의 사용도가 낮아졌다.
Datalink Layer
데이터 링크 계층은 포인트 투 포인트 간 신뢰성 있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름제어가 필요하다. 네트워크 위의 개체들간 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 찾아 내고, 수정하는 데 필요한 기능적, 절차적 수단을 제공한다. 주소 값은 물리적으로 할당 받는 MAC 주소를 사용한다.
MAC 주소는 네트워크 카드가 만들어질때 설정되는 고유한 물리 주소이다.
데이터 링크 계층의 예는 이더넷이다. 이 외에도 HDLC나 ADCCP 같은 포인트 투 포인트 프로토콜이나
패킷 스위칭 네트워크 LLC, ALOHA 같은 근거리 네트워크용 프로토콜이 있다.
네트워크 Bridge(브릿지) 나 Switch(스위치) 등이 이 계층에서 동작한다.
Network Layer
네트워크 계층은 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층이다. 다양한 길이의 데이터를 네트워크를 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)를
제공하기 위한 기능적, 절차적 수단을 제공한다.
네트워크 계층은
- Routing
- 흐름 제어
- 세그멘테이션(segmentation/desegmentation)
- 오류 제어
- 인터네트워킹(Internetworking) 등을 수행한다. Router가 이 계층에서 동작하고 이 계층에서 동작하는 Switch도 있다. IP(Internet Protocol) 이 Network Layer 프로토콜이다.
Transport Layer
전송 계층은 양 끝단 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해주며, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다.
시퀀스 넘버 기반의 오류 제어 방식을 사용한다. 전송 계층은 특정 연결의 유효성을 제어하고,
일부 프로토콜은 상태 개념이 있고, 연결 기반이다. 이는 전송 계층이 패킷들의 전송이 유효한지 확인하고
전송 실패한 패킷들을 다시 전송한다는 것을 뜻한다. TCP(Transmission Control Protocol) 과 UDP(User Datagram Protocl) 가 전송 계층의 프로토콜이다.
Session Layer
세션 계층은 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다.
- Duplex
- Half-duplex
- Full-duplex 의 통신과 함께 체크 포인팅과 유휴, 종류, 다시 시작 과정 등을 수행한다.
이 계층은 TCP/IP 세션을 만들고 없애는 책임을 진다. 통신하는 사용자들을 동기화하고 오류복구 명령들을 일괄적으로 다룬다. - 통신을 하기 위한 세션을 확립/유지/중단 (운영체제가 처리)
Presentation Layer
표현 계층은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을
응용 계층으로 부터 덜어준다. MIME 인코딩이나 암호화 등의 동작이 표현 계층에서 이루어진다.
예로 EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꾸어주는 것이 표현 계층의 역할이다
- 사용자의 명령어를 완성 및 결과 표현
- 포장/압축/암호화
Application Layer
응용 계층은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다. 일반적인 응용 서비스는
관련된 응용 프로세스들 사이의 전환을 제공한다. 응용 서비스의 예로, 가성 터미널 등이 있다.
- 네트워크 소프트웨어 UI
- 사용자의 입출력