OSI 모형?
국제표준화기구에서 개발한 모델로, 컴퓨터 네트워크 프로토콜과 통신을 계층으로 나눠 설명한 것이다.
일반적으로 OSI 7계층이라 표현한다.
통신시 각 계층간의 관계는 아래와 같다.
"각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게는 기능을 제공한다."
송신 및 수신시, 각 계층에 전달되는 데이터의 형태는 아래와 같다.
각 계층별 특징
1 Layer (Physical Layer = 물리계층)
- 데이터 형태: 비트(0 or 1) 스트림
- 주소 정보가 없어 목적지 인식이 없다.
- 비트 전송을 위해 전송속도, 신호의 레벨, 전송 메체, 신호 동기 등을 규정한다.
2 Layer (DataLink Layer = 데이터링크 계층)
- 데이터 형태: 프레임
- Node to Node
- 물리적 주소인 MAC 주소 할당, MAC 주소를 통해 목적지를 찾아서 데이터를 전송한다.
- 흐름제어, 오류제어, 순서 제어 기능이 있다.
- LAN 등 Ethernet 내에서 일어나는 통신에서 사용된다.
- 대표적 장비: 스위치(L2), 랜카드
3 Layer (Network Layer = 네트워크 계층)
- 데이터형태: 패킷
- Node to Node
- 논리적 주소인 IP를 할당, IP 주소를 통해 목적지를 찾아서 데이터를 전송한다.
- 송신측에서 수신측 사이의 라우팅을 담당한다.
- 대표적 장비: 라우터
* 라우팅?
- 패킷에 포함된 정보를 이용하여 목적지까지 데이터를 전달하는 경로를 선택하는 과정
- 경로를 찾아주는 프로토콜(라우팅 프로토콜)을 사용하여 선택된 경로를 라우트라 한다.
4 Layer (Transport Layer = 전송 계층)
- 데이터의 형태: 세그먼트(TCP) or 데이터그램(UDP)
- Process to Process
- Port를 할당, Port를 통해 Process를 찾아서 데이터 전송한다.
TCP
- 연결시, 3-way handshake 방식 사용 / 연결 종료시, 4-way handshake 방식을 사용한다.
- 신뢰성있는 통신을 보장한다. 이를 위해 전송 순서 / 수신 여부 등을 체크하며, 오류시 데이터를 재전송 한다.
- 패킷 교환 방식: 가상회선 방식 사용
- 통신 방식: 1:1 통신
UDP
- IP에 PORT만 붙은 형태의 데이터 구조를 가지며, TCP에 비해 데이터 전송이 빠르다.
- 패킷 교환 방식: 데이터그램 방식 사용
- 통신 방식: 1:1 or 1:N or N:M 통신
- 스트리밍 등 사용 (전송 순서가 중요치 않은)
TCP / UDP 비교 정리
5 Layer (Session Layer = 세션 계층)
- 어플리케이션 간의 논리적인 연결인 세션의 생성, 관리, 종료를 담당 (OS가 진행)
6 Layer (Presentation Layer = 표현 계층)
- 송수신자가 보낸 데이터를 이해할 수 있도록 표현 방식을 변경한다.
이를 통해 데이터의 인증/암복호화/무결성 보장 등의 기능을 제공하며, 인코딩/디코딩/암호화/복호화 등을 수행한다.
7 Layer (Application Layer = 응용 계층)
- 사용자가 네트워크에 접근할 수 있도록 인터페이스를 담당한다.
- HTTP(port 80 / HTML 문서 송수신),
SMTP(port 25 / 이메일 송수신),
FTP(port 20/21 / 파일 송수신),
SSH(port 22 / 원격제어)
등의 프로토콜을 지원한다.