- 네트워크 통신이 일어나는 과정을 7단계로 나눈 것을 말합니다.
왜 나누냐?
- 스프링과 웹을 MVC로 나누면 디버깅이 수월한 것 처럼, 각 통신 과정을 계층화 하여 어떤 계층에서 문제가 발생했는지 한눈에 보기 위함입니다. 각 계층의 역할이 다르기 때문입니다.
1. 물리계층(Physical Layer)
- 전송 단위 : 비트(Bits)
- 대표 장비 : 케이블, 허브, 리피터 등
- 주요 프로토콜 : Fiber
2. 데이터 링크계층(DataLink Layer)
- 전송 단위 : 프레임(Frame)
- 대표 장비 : 브리지, 스위치 등
- 주요 프로토콜 : 이더넷(Ethernet)
3. 네트워크 계층(Network Layer)
- 전송 단위 : 패킷(Packet)
- 대표 장비 : 라우터 등
- 주요 프로토콜 : IP, IPSec
라우팅? 어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택해 가장 빠르게 데이터를 보내는 방법. 전화 통신망, 전자 정보 통신망, 교통망 등 여러 종류의 네트워크에서 사용된다.
4. 전송 계층(Transport Layer)
- 전송 단위 : 세그먼트(Segment), Datagram(UDP의 경우)
- 대표 장비 : 게이트웨이
- 주요 프로토콜 : TCP, UDP
5. 세션 계층(Session Layer)
- 주요 프로토콜 : RPC, Socket, Various APIS
통신의 일을 책임지고 있는 계층입니다. 2대의 기기, 컴퓨터 또는 서버 간에 통신을 하기 위해서는 세션(session)을 만들어야 하는데 이 작업이 여기서 처리됩니다.
네트워크 연결을 성립(Establishment), 제어와 운영(Manage and Control), 연결의 종료(Terminate)를 책임지며, 각각의 알맞은 Application으로 Data를 보내기 위해서 Application으로부터 들어오는 Data들을 분리해서 유지해 주는 기능을 수행합니다.
OS(Operating System)가 이 계층에 속합니다.
6. 표현 계층(Presentation Layer)
- 주요 프로토콜 : SSL(Secure Socket Layer), FTP, SSH, ASCII, MPEG, JPEG, MIDI
표현 계층은 data의 Format(형식)을 정의합니다.
예를 들면, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔 주는 것, 해당 데이터가 TEXT인지, 그림인지, GIF인지 JPG인지의 구분 등이 표현 계층의 몫입니다.
7. 응용 계층(Application Layer)
- 주요 프로토콜 : HTTP, FTP, WWW, Telnet, SMTP, POP, DNS