애플리케이션 계층과 데이터 플로 계층
복잡한 데이터 전송 과정을 OSI 7계층으로 나누어 보면 이해하기 쉽다. 계층별로 표준화된 프로토콜 템플릿을 통해 네트워크 프로토콜을 전부 개발하는 대신 계층별로 프로토콜을 개발해 네트워크 구성 요소들을 모듈화할 수 있으며, 모듈화된 요소는 기존에 개발된 프로토콜과 연동해 사용할 수 있다.
OSI 7계층은 다시 아래의 두 가지 계층으로 나눌 수 있다.
- 하위 계층: 컴퓨터를 위한 계층. 데이터를 잘 쪼개 보내거나 받는 역할
- 상위 계층: 사용자를 위한 계층. 데이터를 생성. 소프트웨어 형태로 구현되는 것들
각 계층의 역할
앞에서 설명했듯이 각 계층은 계층별로 프로토콜을 개발해 모듈화할 수 있게 되어있다.
계층(Layer) | 기본 용어 | 역할 |
---|---|---|
7 | 애플리케이션 계층 | UI부분이나 사용자의 입/출력 정의 |
6 | 프리젠테이션 계층 (표현 계층) | 번역기/변환기 역할 ex) MIME 인코딩, 암호화, 압축, 코환 변환 |
5 | 세션 계층 | 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 완료 후에는 연결을 끊음 |
4 | 트랜스포트 계층 (전송 계층) | 데이터들이 정상적으로 잘 보내지도록함 ex) 로드밸런서, 방화벽, 포트번호, 시퀀스와 ACK 번호 |
3 | 네트워크 계층 | 물리적인 MAC주소와는 달리 사용자가 변경할 수 있는 논리적인 IP주소가 정의됨 |
2 | 데이터 링크 계층 | 데이터를 어디로 보낼지 결정(MAC주소로 알아봄) ex) 스위치, LAN 카드 |
1 | 피지컬 계층 (물리 계층) | 전기 신호를 잘 전달 |
이렇게 계층을 분류하는 이유는 계층의 역할을 나누기 위함이다. 각 계층별로 개발자가 있고 다른 계층을 신경쓰지 않고 해당 계층만 집중할 수 있다.
개발자마다 네크워크를 바라보는 기준이 다르다.
- 애플리케이션 개발자: 하향식(Top-Down) 형식
- 네트워크 개발자: 상향식(Bottom-Up) 형식
ref
IT 엔지니어를 위한 네트워크 입문(고재성, 이상훈 지음)을 읽고 정리한 포스트입니다.
Next
‘[Network] 인캡슐레이션, 디캡슐레이션’ -> Next