OSI (Open Systems Interconnection) Model
국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신 계층을 나눈 것
'프로토콜 스택' 혹은 '스택'은 계층들로 구성된 프로토콜 시스템이 구현된 시스템을 가리키며, 하드웨어나 소프트웨어 혹은 둘의 혼합으로 구현될 수 있다.
일반적으로 하위 계층은 하드웨어로, 상위 계층은 소프트웨어로 구현된다.
각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공한다.
통신이 일어나는 과정을 단계별로 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문에 7계층을 나눈다.
1. 물리 계층 (Physical Layer)
데이터를 전기적인 신호로 변환해서 주고받는 기능을 진행하는 계층이다.
- Bit 단위로 데이터를 전송하는 역할만 담당한다.
- PHY 칩 등 하드웨어적으로 구현되어 있다.
- 리피터, 케이블, 허브 등
즉, 0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘려 보내고(encoding),
아날로그 신호가 들어오면 0과 1의 나열로 해석하여(decoding)
물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈(module)
2. 데이터링크 계층 (Data Link Layer)
포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층으로, 물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와준다.
- CRC(Cyclic redundancy check, 순환 중복 검사) 기반의 오류 제어와 흐름제어, 재전송을 진행한다.
- 물리적으로 할당받은 MAC(Media Access Control) 주소를 통해 통신하며, Frame에 MAC 주소를 부여한다.
- 2계층 또한 1계층 처럼 하드웨어적으로 랜카드에 구현되어 있다.
- 브릿지, 스위치, 이더넷 등
3. 네트워크 계층 (Network Layer)
다양한 길이의 데이터를 네트워크를 통해 목적지까지 안전하고 빠르게 전달하는 계층이다.
- 라우터를 통해 이동할 경로의 IP 주소를 지정하고, 해당 경로에 따라 Packet(Datagram)을 전달해준다.
- 데이터 전송 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공한다.
- 라우팅, 흐름제어, 오류제어, 세그먼테이션(Segmentation), 인터네트워킹(Internetworking) 등을 수행한다.
- 계층적(Hierarchial) 구조이다.
- 운영체제의 커널에 소프트웨어적으로 구현되어 있다.
- 라우터, IP
즉, 수많은 네트워크들의 연결로 이루어지는 inter-network 속에서
어딘가에 있는 목적지 컴퓨터로 데이터를 전송하기 위해 IP 주소를 이용해서 길을 찾고(routing), 자신 다음의 라우터에게 데이터를 넘겨주는 것(forwarding)
4. 전송 계층 (Transport Layer)
TCP와 UDP 프로토콜을 통해 통신을 활성화하고, 양 끝단(End to End) 사용자들의 신뢰성있는 데이터 전송을 제공하는 계층이다.
- Packet들의 전송이 유효한지 확인하고 전송 실패한 Packet들을 재전송한다.
- 데이터 전송 단위는 Segment이다.
- 운영체제의 커널에 소프트웨어적으로 구현되어 있다.
- TCP, UDP
즉, Port 번호를 사용하여 도착지 컴퓨터의 최종 도착지인 프로세스까지 데이터가 도달하게 하는 모듈
5. 세션 계층 (Session Layer)
양 끝단의 응용 프로세스가 통신하기 위한 논리적 연결을 담당하는 계층이다.
- 연결이 손실되는 경우 연결 복구를 시도한다.
- 동시 송수신 방식(Duplex), 이중 방식(Full-Duplex, Half-Duplex) 통신과 체크 포인팅의 유휴, 종료 및 재개를 수행한다.
- TCP/IP 세션을 만들고 없애는 책임을 진다.
- API, Socket
6. 표현 계층 (Presentation Layer)
데이터 표현에 대한 독립성을 제공하고 암호화하는 역할을 담당하는 계층이다.
- 코드 간의 번역을 담당하여 사용자 시스템에서 데이터 형식상의 차이를 다루는 부담을 응용 계층으로부터 덜어준다.
- 파일 인코딩, 명령어 포장, 압축, 암호화 등을 수행한다.
- JPEG, MPEG 등
7. 응용 계층 (Application Layer)
최종 목적지로, 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 계층이다.
- 사람이 인식하고 표현 계층과 상호 작용할 수 있는 데이터와 그림을 사용자에게 보여주는 역할을 한다.
- 사용자 인터페이스, 전자우편, 데이터베이스 관리 등을 수행한다.
- HTTP, FTP, DNS 등
요약
OSI 7 계층이란, 통신 접속에서 완료까지의 과정을 7단계로 정의한 국제 통신 표준 규약
- 물리: 데이터를 전송하는데 필요한 기능 제공 (라우터, 케이블, 허브)
- 데이터링크: 송/수신 확인, MAC 주소를 통해 통신 (브릿지, 스위치)
- 네트워크: 네트워크 간의 IP를 통해 패킷 전달 (라우팅)
- 전송: 두 host 시스템으로부터 발생하는 데이터 흐름 제공
- 세션: 통신 시스템 사용자 간의 연결을 유지 및 설정
- 표현: 세션 계층 간의 주고받는 인터페이스를 일관성있게 제공
- 응용: 사용자가 네트워크에 접근할 수 있도록 서비스 제공
[참고]